Конвеєрні комп’ютерні системи 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Конвеєрні комп’ютерні системи



 

Конвеєрні АЛП

У варіанті з конвеєрним АЛП обробка елементів векторів проводиться конвеєрним АЛП для чисел з плаваючою комою (рис.14.1). Операції з числами у формі з плаваючою комою достатньо складні, але піддаються розбиттю на окремі кроки. Наприклад, складання двох чисел зводиться до чотирьох етапів:

- порівняння порядків;

- зміщення мантиси меншого з чисел;

- складання мантис;

- нормалізації результату.

 

      П            М            С                Н

Рисунок 14.1 – Обробка елементів векторів конвеєрним АЛП для чисел з плаваючою комою Кожен етап може бути реалізований за допомогою окремого ступеня конвеєрного АЛП. Черговий елемент вектора подається на вхід конвеєра, як тільки звільняється перший ступінь (рис.14.2).  

Рисунок 14.2 – Процесор з конвеєрним арифметико-логічним пристроєм

 

Процесор з паралельними конвеєрними АЛП

Якщо паралельно використовуються конвеєрні АЛП, то можливий ще один рівень конвеєризації. Обчислювальні системи, де реалізована ця ідея, називаються векторно-конвеєрними (рис.14.3).

Рисунок 14.3 – Обробка чисел з плаваючою комою векторно-конвеєрними КС Комерційні векторно-конвейєрні КС відомі як суперЕОМ (рис.14.4). Треба відмітити, що в склад даних систем для забезпечення універсальності включений також скалярний процесор.  
 

Рисунок 14.4 – Процесор з масивом паралельних арифметико-логічних пристроїв

 

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

Загальноприйнятим в теорії конвеєрних структур є така послідовність етапів:

- вибірка (instruction fetch, IF) - завантаження нової команди з пам'яті;

- декодування (instruction decode, ID) - інтерпретація та відправка команди у відповідний операційний пристрій в залежності від різновиду операції;

- виконання (execution, ЕХ) - виконання команд та обчислення ефективної адреси пам'яті для результату або операндів, які необхідно завантажити;

- звертання до пам'яті (memory, MEM) - виконання операцій з пам'яттю (для команд завантаження/збереження);

- збереження результату (writeback, WB) - збереження результату обчислень в регістрі.

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

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

Визначимо декілька понять:

- пропускна здатність - максимальна кількість команд, які виконуються за один такт машинного часу (instructions per cycle, ІРС);

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

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

 

Найпростіший (класичний) конвеєр

 

Характеристики пристрою:

- пропускна здатність = 1 ІРС;

- тривалість стадії = 1 цикл;

- необхідний (максимальний) ступінь паралелізму = 1 команда.

 

Суперскалярний конвеєр

Характеристики пристрою:

- пропускна здатність = п ІРС (=3 ІРС на малюнку);

- тривалість стадії = 1 цикл;

- необхідний (максимальний) ступінь паралелізму = п команд (=3 на малюнку).

В тому випадку, коли тривалість всіх стадій є однаковою, пропускна здатність суперскалярного конвеєра в п разів вища за звичайний. Однак для повного завантаження та максимальної ефективності необхідно, щоби на кожному циклі роботи він був завантажений п командами, які можуть виконуватись незалежно одна від одної. Така вимога істотно обмежує ефективність суперскалярного конвеєра, адже ступінь схованого паралелізму звичайних послідовних програм, зазвичай, є не дуже високою і в середньому обмежена числами близько 2.5-3 ІРС, хоча на окремих класах задач може бути істотно вищою. Подальше збільшення рівня паралелізму потребує вже зміни самої парадигми програмування.

 

 

VLIW-конвеєр

- пропускна здатність = п ІРС (=3 ІРС на малюнку)

- тривалість стадії = 1 цикл

- необхідний (максимальний) ступінь паралелізму = п команд (=3 на малюнку)

З рис. легко бачити, що базові параметри УЬІ\¥-конвеєра повністю збігаються з такими для суперскалярного конвеєра (хоча що стосується реальних, а не теоретичних, показників ІРС, то вважається що спеціальні інструменти УЬ^-процесорів для виявлення схованого паралелізму послідовних програм є оптимістичнішими, аніж суперскалярний підхід). УЬІ\У- процесори апаратурно є набагато простішими, аніж суперскалярними, і це можна бачити з конфігурації конвеєра. Тут підготовка до виконання цілого комплексу команд, упакованих в довге командне слово, на стадії ЕХ відбувається одночасно (пакування відбувається ще на етапі компіляції програми), тоді як в звичайному суперскалярному процесорі кожна команда проходить усі стадії окремо.

Суперконвеєр

 

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

- пропускна здатність = 1 ІРС, але тривалість циклу 1/т в порівнянні зі звичайним конвеєром

- тривалість стадії = 1 цикл для "суперстадії", або т циклів для кожної "звичайної стадії"

- необхідний (максимальний) ступінь паралелізму = т команд

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

 

Суперскалярний суперконвеєр

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

- пропускна здатність = п ІРС, але тривалість циклу 1/т в порівнянні зі звичайним конвеєром

- тривалість стадії = 1 цикл для "суперстадії", або т циклів для кожної "звичайної стадії"

- необхідний (максимальний) ступінь паралелізму = т*п команд

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

До числа ЕОМ, в яких широке застосування знайшов конвеєр команд, відноситься одна з кращих свого часу машин БЕСМ-6. Вона була протягом багатьох років найшвидкодіючою в країні завдяки цілому ряду цікавих рішень, у тому числі і конвеєру команд. Останній забезпечувався використанням восьми незалежних модулів ОЗУ, що працюють в системі чергування адрес, і великого числа швидких регістрів, призначених також і для буферизації командної інформації. Це дозволило отримати на БЕСМ-6 продуктивність 1 млн. операцій в секунду.

Певний інтерес представляє побудова систем ІВМ 360/91, а також більш пізньої і більш сучасної ІВМ 360/195. П'ять основних пристроїв системи: ОЗУ, управління пам'яттю з буферним ОЗУ, процесор команд, операційні пристрої для виконання операцій з плаваючою комою, з фіксованою комою і десяткової арифметики працюють одночасно і незалежно один від одного. Оперативне ЗУ побудовано за багатомодульна принципом (до 32 модулів), пристрій управління пам'яттю працює за принципом конвеєра і забезпечує 8 - або 16-кратне чергування адрес при зверненні процесора і каналів вводу - виводу інформації до ОЗП.

Рис. 2.1. Система STAR-100

Крім конвеєра команд в системах ІВМ 360/91 і ІВМ 370/195 у обох ОУ використовується також і конвеєрна обробка даних. Однак у системі 360/195 конвеєр виходить досить значний: у кожному циклі здійснюється вибірка до 8 команд, розшифровка 16 команд, до 3 операцій над адресами і до 3 процесорних операцій. Всього в системі одночасно може оброблятися до 50 команд.

Істотно більш повно використовується принцип магістральної обробки в системі в STAR-100, розробленої фірмою СDС в 1973 р. Треба сказати, що фірма СОС в більшості розроблюваних і випускаються машин і систем використовує принцип конвеєрному обробки для підвищення продуктивності, проте раніше використовувався тільки командний конвеєр, а в системі ЗІРКА-100 - обидва типи конвеєра. Система містить три конвеєрних процесора (рис. 3.1): ППЗ - процесор, що містить конвеєрні пристрої додавання і множення з плаваючою комою; ППФЗ - процесор, що містить конвеєрне пристрій складання з плаваючою комою, конвеєрне багатоцільове пристрій, що виконує множення з фіксованою комою, ділення і витяг квадратного кореня; СП - спеціальний конвеєрний 16-розрядний процесор, що виконує операції з фіксованою комою і ряд логічних операцій.

Конвеєрні процесори оперують з 64 - або 32-розрядними числами і кожні 40 не видають результати в блок управління потоками даних і буферами. Оперативне ЗУ побудовано за модульним принципом (32-модуля пам'яті) і працює з чергуванням адрес під управлінням пристрої УП (управління пам'яттю). Кожен малий цикл звернення до пам'яті - 40 не. (Повний цикл ОЗУ-1, 28 мке, т. Е. 40x32 не).

Конвеєрний суматор з плаваючою комою складається з чотирьох сегментів - спеціалізованих операційних пристроїв. Тривалість циклу кожного сегмента становить 40 не, таким чином, час виконання операції додавання з плаваючою комою одно 160 не.

Рис. 2.2. Конвеєр системи АSС

Конвеєрний помножувач включає в себе 8 сегментів, тому час виконання операції множення складає 320 не. Але при завантаженні конвеєрних процесорів довгою послідовністю операндів, над якими проводиться одна і та ж операція, результат видається кожні 40 не. Враховуючи, що кожен із двох основних процесорів може видавати по два 32-розрядних результату, неважко підрахувати, що система ЗІРКА-100 може в межі виконувати до 100 млн. операцій в секунду.

Пристрої конвеєрної обробки далеко не завжди виконують з жорсткою настройкою на одну певну операцію. Найчастіше їх роблять багатоцільовими, вводячи в конвеєр сегменти, необхідні для реалізації повного набору операцій, у процесі виконання яких весь тракт налаштовується відповідним чином. На рис. 3,2 представлена структура системи АSС фірми «Техас Iнструментс» і показано, які сегменти універсальної ланцюжка працюють при різних операціях.

Однією з найбільш високопродуктивних обчислювальних систем в світі загальновизнано вважається система Сrау, створена в 1976 р. У цій системі конвеєрний принцип обробки використовується в максимальному ступені: мається і конвеєр команд, і конвеєр арифметичних і логічних операцій. Крім того, в системі широко застосовується поєднана обробка інформації декількома пристроями. Все це дозволило при вирішенні наукових завдань досягти надзвичайно високої продуктивності - до 250 млн. операцій в секунду

Рис. 2.3. Система CRAY

Система CRAY (рис. 2,3) складається з чотирьох секцій: функціональних пристроїв, регістрів, управління програмою, пам'яті і введення - виведення. В системі 12 функціональних пристроїв, що працюють в режимі конвеєра, розбитих на 4 групи: адресну, скалярну, операцій з плаваючою комою і векторну. Число сегментів в кожному функціональному пристрої (зазначено в дужках на схемі) порівняно невелике, воно залежить від складності операцій і коливається в межах від 1 до 14 (обчислення оберненої величини). Таке порівняно невелике число сегментів в кожному магістральному пристрої має певні переваги - вони порівняно швидко заповнюються. Тривалість циклу кожного сегмента становить 12,5 не: це означає, що кожні 12,5 не будь функціональний пристрій може видавати результати.

Оперативна пам'ять системи, виконана на інтегральних схемах, має ємність 1 млн. слів (пізніше була збільшена до 4 млн.) і організована у вигляді 16 блоків пам'яті з незалежним управлінням ємністю по 64 Кслов. Кожен блок включає в себе 72 модуля, причому модуль містить один розряд всіх 64 Кслов. Система працює з 64-розрядними словами, 8 розрядів використовується для корекції одиночних і виявлення подвійних помилок, що забезпечує високу надійність зберігання інформації. Незалежні блоки дають можливість організувати 16- кратне чергування адрес. Цикл звернення до пам'яті - 50 не.

Суттєву роль у досягненні такої високої продуктивності грають швидкі регістри. Вони розділені на 3 групи: адресні - А-регістри, скалярні - 8-регістри і векторні - У-регістрн. Адресні регістри 24-розрядні, їх всього вісім, 64-5-розрядних регістрів також вісім і вісім 64-елементних У-регістрів, причому кожен елемент вектора містить 64-розрядне слово. Час звернення до регістру всього лише 6 не. У системі є ще дві групи проміжних регістрів (між ОЗУ і А-, S-і V- регістрами): 24-розрядні В-регістри і 64-розрядні Т-регістри, на малюнку не показані. Всі ці регістри дозволяють конвеєрним пристроям працювати з максимальною швидкістю без безпосереднього звернення до ОЗУ: всі операнди виходять з регістрів і результати відправляються також в регістри. Завдяки регістрам конвеєрні пристрої зв'язуються в ланцюжки, т. е, потік результатів засилаються у векторний регістр одним пристроєм, одночасно служить вхідним потоком операндів для іншого пристрою; виключаються проміжні звернення до пам'яті. Це є ще однією відмінною особливістю системи Сгау, підвищувальної її продуктивність.

Склад операцій універсальний, тільки замість поділу використовується операція обчислення зворотної величини. Загальне число операцій 128. Команди двох форматів - 16 і 32 розряди. Арифметичні і логічні команди мають 16-розрядний формат 7 розрядів - код операції та по 3 розряду для адрес регістрів операндів і результату, причому 6 розрядів адрес регістрів операндів в сукупності з додатковими 16 розрядами використовуються для звернення до основної пам'яті і командам переходу.

Введення - виведення інформації здійснюється через 24 каналу, згрупованих в 4 групи, причому в кожній групі є або канали введення, або канали виведення інформації. Обмін здійснюється двухбайтного кодами. Для зв'язку із зовнішніми абонентами використовується периферійна ЕОМ.

Висока продуктивність системи CRAY забезпечується й іншими факторами.

1. Конструкція ЕОМ дуже компактна, завдяки чому час передачі сигналів між пристроями мало, і це дозволяє працювати з тактом 12,5 не.

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

3. До складу системи входить підсистема дискової пам'яті з чотирьох контролерів, кожен з яких керує чотирма накопичувачами загальною ємністю 76 854 млрд. біт.

4. Система має достатньо сучасне програмне забезпечення, у тому числі: операційну систему, розраховану на пакетну мультипрограммной обробки 63 завдань, оптимізуючий компілятор з Фортрану, автоматично розпізнає цикли, зручні для реалізації векторними командами; макроассемблер, бібліотеку стандартних програм, завантажувач і інші засоби.

Все це в сукупності і дає підставу вважати системи CRAY найбільш високопродуктивними.

 

Лекція № 15



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 236; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.187.233 (0.032 с.)