Реферат: Трансп’ютери – елементна база ММПС

Малюнок 2. Структура центрального процесора

Апаратний планувальник (диспетчер) ЦП організує одночасне (у режимі поділу часу) виконання декількох процесів. Кожному процесу в момент його створення в адресному просторі трансп’ютера, виділяється вирівняна по границі слова робоча область пам'яті й установлюється пріоритет. Існує дворівнева система пріоритетів: 0 - високий пріоритет; 1 - низький пріоритет. Об'єднання адреси робочої області й пріоритету утворить дескриптор процесу

Центральний процесор містить два регістри - таймера, один для низько, інший для високопріоритетних процесів. Високопріоритетний регістр збільшується через 1 μs, низькопріоритетний - через 64 μs.

Регістр W трансп’ютера вказує на робочу область процесу, а в регістрі-покажчику команди I перебуває адреса наступної виконуваної команди.

Регістри загального призначення А, В, С утворять регістровий стек SS (пам'ять із дисципліною доступу FIFO). АЛУ виконує логічні й арифметичні операції над операндами, що втримуються в регістровому стеці. Операнди містяться в стек через його вершину - регістр А. При завантаженні даних в А його вміст переноситься в В, вміст В в С, а вміст останнього губиться. Результати операцій також формуються в регістрі А, при цьому вміст регістра С виштовхується в регістр В и стає невизначеним.

2.2 Система команд трансп’ютера і їхнє виконання

Всі команди трансп’ютера однобайтні й виконуються за один такт процесора. Старші 4 біти команди - код команди, молодші 4 біти використаються для формування операнда команди або коду команди в регістрі операнда О. Операції, реалізовані командами трансп’ютера, підрозділяються на первинні й вторинні. Команди вибираються з пам'яті трансп’ютера й містяться в буфер команд центрального процесора. За один такт вибирається дві команди в Т-414 і 4 команди в Т-800. У випадку наявності в трансп’ютера вбудованого співпроцесора, що виконує операції із плаваючою крапкою, розпізнавання команд і передача їх на виконання здійснюється апаратно в центральному процесорі, там же виконується обчислення адреси операндів і завантаження їх у регістри FPU.

Модуль операцій із плаваючою крапкою складається із двох блоків - блоку мантиси й блоку порядку зі своїм набором регістрів (дві регістрових стеки). Всі команди із плаваючою крапкою підрозділяються на два класи - повністю самостійні команди (не впливають на стан центрального процесора), і команди, пересилаючі результат виконання операції в центральний процесор.

Після передачі команди на виконання в співпроцесор центральний процесор продовжує виконання потоку команд, якщо ця команда ставиться до першого класу, або очікує одержання результату, якщо це команда другого класу.

Шина адреси 32-розрядна, тому адресувати можна до 4 Гбайт пам'яті. Особливістю адресації є початок адрес в області негативних значень. Молодша адреса в додатковому коді відповідає значенню 80000000Н.

Структурно вся пам'ять підрозділяється на внутрішньокристальну й зовнішню. Обсяг внутрішньокристальної пам'яті становить 4 (2) Кбайт (залежно від виконання трансп’ютера). Архітектурно вся пам'ять, як зовнішня так і внутрішня рівнодоступна й має єдину адресацію. Внутрішньокристальній пам'яті відповідають молодші адреси, а зовнішньої пам'яті - старші.

2.3 Організація пам'яті трансп’ютера

Малюнок 3. Структура пам’яті трансп’ютера

2.4 Диспетчеризація процесів

Кожний із процесів у конкретний момент часу може бути виконуваним, активним (готовим до виконання в черзі відповідного пріоритету), що очікує сигналу таймера (у черзі до таймера відповідного пріоритету), що очікує вводу-виводу.

Для виконуваного процесу регістр I містить адресу наступної команди, регістр W містить його дескриптор.

Для організації черги процесів на виконання (черга активних процесів) у диспетчері використаються пари регістрів Fptr0, Bptr0, Fptr1, Bptr1, що вказують на початок і кінець черги високо - і низькоприорітетних процесів відповідно. Як елементи черг використаються робочі області процесів, що містять крім даних процесу, керуючу інформацію, що використається для збереження й відновлення стану процесів на етапі диспетчеризації (у тому числі посилання на робочу область наступного процесу в черзі).

Низькопріоритетні процеси виконуються протягом не більш ніж 32 періоду низкопріоритетного таймера, після чого процес, якщо він ще здатний до виконання, міститься в кінець черги активних низькопріоритетних процесів, а диспетчер планує виконання наступного процесу. Спочатку проглядається черга високопріоритетних процесів, потім - низькопріоритетних.

Високопріоритетний процес не переривається й виконується доти, поки це можливо (до завершення або до моменту очікування вводу-виводу, сигналу таймера, сигналу зовнішньої події, видаваного блоком Event). Якщо Високопріритетний процес стає активним (наприклад одержує сигнал таймера) у момент виконання процесу з низьким пріоритетом, останній переривається, його стан зберігається в області зарезервованих адрес пам'яті трансп’ютера й ініціюється виконання що перервало високопріоритетного процесу. Після його виконання відновляється перерваний низькопріоритетний процес.

2.5 Організація вводу-виводу

Ввід-вивід для процесорів у трансп’ютері організується однаковим образом, як у випадку апаратних лінків (зовнішній ввод/вивод), так і у випадку використання віртуального лінка (обмін між процесами одного трансп’ютера). В обміні завжди беруть участь тільки два процеси - один уводить дані, інший виводить.

У момент виконання команди опису каналу й після завершення кожного обміну слово стану каналу (ССК) ініціалізується константою MinInt. Процес, першу виконуючу команду обміну, припиняється й перевіряється вміст каналу. Якщо воно дорівнює константі, то в ССК заноситься дескриптор процесу, а в робочу область процесу містяться значення W і адреса переданих даних, після чого керування передається диспетчерові для планування виконання інших процесів.

Якщо вміст ССК не дорівнює константі, значить даний процес є в процесі обміну другим. У цьому випадку вміст ССК - дескриптор процесу, використовуючи який перебувають дані у випадку уведення або буфер для даних у випадку виводу.

Обмін по лінкам здійснюється аналогічно, з тією різницею, що ССК мають фіксовані адреси в пам'яті й у процесі обміну дані не пересилаються між областями пам'яті, а передаються по лініях зв'язку в стартостопному режимі із квітирування байтів.

При виконанні вводу/виводу від центрального процесора потрібно лише ініціалізація обміну. По команді вводу-виводу вся необхідна інформація про операції обміну (адреса й довжина даних) міститься у внутрішні регістри лінка, після чого центральний процесор звільняється для подальших обчислень, а лінк трансп’ютера самостійно управляє обміном даних.

2.6 Протокол передачи даних по лінку

Взаємодія між трансп’ютерами здійснюється за допомогою обміну повідомленнями, що складаються з послідовностей байтів. Дані передаються по одному проводу пари проводів. По іншому проводу пари передаються підтвердження прийому кожного байта.

Байт передається в обрамленні службових бітів, починаючи зі стартового, потім іде 8 інформаційних, керуючий і стоповий біти. Протокол аналогічний асинхронному обміну звичайних мікропроцесорних систем. Після передачі байта відправник чекає підтвердження, що складається зі стартового й керуючого біта. Причому, якщо при передачі інформаційного байта керуючий біт дорівнює 1, то в підтвердженні він дорівнює 0. Байти даних, а також підтвердження для переданих у протилежному напрямку, байтів даних передаються по одному провіднику. Підтвердження мають пріоритет перед байтами даних. Можна встановити режим, при якому підтвердження починають передаватися відразу після одержання стартового й керуючого бітів, що приводить до передачі байтів без затримки між ними.

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

При ініціалізації передачі першого байта повідомлення існує затримка на настроювання каналів прямого доступу в передавальному й прийомному трансп’ютерах, що спричиняється різну швидкість при передачі коротких (від одиниць до декількох десятків байт) і довгих (кілька тисяч байт) повідомлень. У першому випадку швидкість становить 2-4 Мбіт. /с, у другому - максимально можливу 10-20 Мбіт/з, залежно від настроювання передавального й приймаючого трансп’ютерів.

К-во Просмотров: 164
Бесплатно скачать Реферат: Трансп’ютери – елементна база ММПС