Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Організація трансп’ютерів





Кожен канал трансп’ютера складається із двох різнонаправлених одно розрядних каналів, які називаються linkin, link.out. всі канали працюють незалежно один від одного.

В ЦП використовується 6 регістрів 32-розрядних:

1. вказівник області для локальних змінних в програмі;

2. вказівник наступної команди;

3. регістр операндів, де формуються операнди та команди.

Регістри А, В, С формують обчислювальний стек. Вся система команд та АЛП трансп’ютера формується по стековому принципу LIFO (рис. 23).

 

Регістри Список планувань Команди

Рис. 23. Регістрова будова трансп’ютера

Наявність обчислювального стеку відкидає необхідність задання в командах явних операндів. Наприклад, команда ADD додає числа в регістрах A і B, результат записує в регістр A, а значення регістру С в B.

В трансп’ютері крім обчислювального стеку для цілочисельної арифметики присутній стек для роботи із числами з плаваючою комою в регістрах AF, BF, CF.

Список команд трансп’ютера включає 110 команд, вони діляться на три групи:

1. із прямою адресацією, 1 байт;

2. із непрямою адресацією, 2 і більше байт.

Трансп’ютер може одночасно обробляти будь-яку кількість паралельних процесів. Він має спеціальний розподілювач, що розділяє час між процесорами. В будь-який момент часу процеси діляться на 2 класи:

- активні процеси, які виконуються або готові до виконання;

- не активні процеси.

Активні процеси, що очікують виконання розміщуються в список планування, що є списком робочих областей цих активних процесів в пам’яті. Він задається значеннями двох регістрів: перший вказує на перший процес, а другий – на останній процес в списку. Стан процесу готового до виконання зберігається в його робочій області. Стан визначається двома словами: поточними значеннями вказівника інструкцій та вказівником на робочу область наступного процесу.

На рис. 23 P, Q, R, S – деякі процеси. Кожен із яких має вказівник на команду і наступну робочу область. Процес S – в даний момент виконується, а P,Q,R – очікують виконання.

Команда трансп’ютера start process створює новий активний процес додаючи його в кінець списку планувань. Дана команда дозволяє новому паралельному процесу виконуватись разом із іншими процесами, які трансп’ютер обробляє в даний момент часу.

Команда end process закінчує поточний процес та забирає його із списку планувань.

При обробці паралельних процесів насправді існує не один список планувань, а два: список із високим рівнем пріоритету і список із низьким рівнем пріоритету. Процеси із низьким рівнем пріоритету виконуються тільки тоді, коли список високо пріоритетних команд пустий. Процеси із високим пріоритетом вводяться для забезпечення системи в реальному часі.

Комутації між паралельними процесами реалізуються через канали при чому існують так звані внутрішні канали, для обміну даними між процесами в середині одного трансп’ютера та зовнішніми каналами для зв’язку іщ процесами на інших трансп’ютерах.

Не дивлячись на принципові відмінності в реалізації внутрішніх та зовнішніх каналів команди обміну однакові і різняться лише адресами. Це дозволяє реалізувати компіляцію програми незалежно від способу реалізації каналів, а отже і не залежно від конфігурації обчислювальної системи в цілому.

Розглянемо передачу даних по зовнішньому каналі. Команда передачі даних направляє автономному канальному інтерфейсу задачу на передачі даних і призупиняє виконання процесу. Після закінчення передачі даних канальний інтерфейс розміщує цей процес в список планування. Під час виконання передачі даних обидва процеси, що обмінюються даними стають не активними. Це дозволяє трансп’ютеру продовжити обробку інших процесів під час пересилки через більш повільні конали. Кожен канальний інтерфейс використовує три свої регістри в які він записує вказівник на робочу область процесу, адресу даних, що передаються і кількість байт, що будуть передаватися. Для передачі даних використовують простий протокол який не залежить від розрядності трансп’ютера. Це дозволяє об’єднувати трансп’ютери різних типів. Повідомлення передаються у вигляді окремих пакетів кожне із яких містить 1 байт даних. Після відправки пакету даних трансп’ютер очікує отримання пакета підтвердження від приймаючої сторони. Тільки після цього передається наступний байт.

 

Date: 2015-07-17; view: 359; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию