Смекни!
smekni.com

Трансп’ютери – елементна база ММПС (стр. 1 из 2)

Трансп'ютери - елементна база ММПС


Зміст

Вступ

1. Основні визначення

2. Архітектура сімейства Т-2, Т-4, Т-8

2.1 Структура центрального процесора

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

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

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

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

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

2.7 Очікування сигналів від блоку подій, таймера, блоку помилок

2.8 Ініціалізація системи після включення живлення

Література

Вступ

Тема реферату "Трансп’ютери - елементна база ММПС" з дисципліни "Мультимікропроцесори".

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

Трансп’ютер - це мікрокомп'ютер із власною внутрішньою пам'яттю й лінками (каналами) для з'єднання з іншими трансп’ютерами.

1. Основні визначення

Трансп’ютер - транзистор і комп'ютер - це об'єднання слів відбиває основну область застосування даного класу мікроконтролерів, а саме - масово-паралельні обчислювальні системи, у яких трансп’ютер відіграє роль базового обчислювального елемента.

Деякі фахівці трактують даний термін як найменування конкретного продукту фірми Inmos, інші як узагальнене найменування мікропроцесорів з вбудованими міжпроцесорними інтерфейсами.

Перший трансп’ютер Т414 був розроблений фірмою Inmos в 1983 році.

У цей час, крім трансп’ютерів фірми Inmos, серійно випускаються трансп’ютероподібні МП TMS320, З4Х и ADSP2106X.

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

Малюнок 1. Структура трансп’ютера Т800

2. Архітектура сімейства Т-2, Т-4, Т-8

Трансп’ютери ставляться до класу RISC процесорів. Система команд орієнтована на мову високого рівня ОККАМ (OCCAM). Це мова паралельного програмування, що дозволяє задавати паралельні обчислення відповідно до моделі взаємодіючих послідовних процесів (CSP). Програма мовою ОККАМ являє собою сукупність асинхронних, що спільно протікають взаємодіючих процесів. Взаємодія між процесорами реалізується шляхом обміну даними за принципом " рандеву". Ця модель обчислень підтримується завдяки апаратному диспетчерові, що забезпечує виконання паралельних процесів у режимі квантування часу. Причому кількість одночасно виконуваних процесів не обмежена.

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

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

трансп'ютер мікрокомп'ютер процесор канал

2.1 Структура центрального процесора

Малюнок 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 і адреса переданих даних, після чого керування передається диспетчерові для планування виконання інших процесів.