Файл: Мельник А. Архітектура комп\'ютера.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.12.2021

Просмотров: 6769

Скачиваний: 22

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Розділ 12

Паралельні комп'ютерні системи

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

У цьому розділі будуть розглянуті питання подальшого підвищення продуктивності комп'ютерів шляхом створення паралельних комп'ютерних систем. До таких систем на­лежать як багатопроцесорні комп'ютерні системи, в яких використовується паралелізм розподілу задач на велику кількість вузлів обробки, так і комп'ютерні мережі, які мають іншу форму паралелізму - мережу структурно автономних комп'ютерів. Деякі з розгля­нутих підходів уже знайшли місце в сучасних комп'ютерах. Інші підходи розглядаються як основа для покращення характеристик перспективних комп'ютерів.

12.1. Використання принципів паралельної обробки інформації в архітектурі комп'ютера

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

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


423

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

Паралельна пам'ять та паралельна арифметика. Всі найперші комп'ютери (EDSAC, EDVAC, UNIVAC) мали послідовну пам'ять, із якої слова зчитувалися послідовно біт за бітом. Першим комерційно доступним комп'ютером, що використовував паралель­ну пам'ять і паралельну арифметику, став комп'ютер IBM 701, який поступив на ринок у 1953 році. В більш популярній моделі IBM 704, що поступила на ринок у 1955 році, крім названого, була вперше застосована пам'ять на феритових сердечниках і апаратний арифметичний пристрій з рухомою комою.

Незалежні процесори введення-виведення. В перших комп'ютерах процесори не лише обробляли інформацію, а й керували введенням-виведенням. Проте швидкість роботи найшвидшого зовнішнього пристрою, а в ті часи це була магнітна стрічка, була в 1000 разів меншою швидкості процесора, тому під час операцій введення/виведення процесор фактично простоював. У 1958 р. до комп'ютера IBM 704 приєднали 6 неза­лежних процесорів введення/виведення, що після одержання команд від центрального процесора могли працювати паралельно з ним, а сам комп'ютер перейменували в IBM 709. Дана модель була досить вдалою, підтвердженням чого є те, що було продано біля 400 її екземплярів, які знаходились в експлуатації близько 20 років.

Передбачення та розшарування пам'яті. У 1961 році фірма IBM закінчила розробку комп'ютера STRETCH, що мав дві принципово важливі особливості: передбачення для вибірки команд і розшарування пам'яті на два блоки для узгодження низької швидкості вибірки з пам'яті та швидкості виконання операцій.

Конвеєр команд. Вперше конвеєрний принцип виконання команд був використа­ний у комп'ютері ATLAS, розробленому в Манчестерському університеті в 1962 році. Виконання команд розбито на 4 стадії: вибірка команди, обчислення адреси операнда, вибірка операнда і виконання операції. Конвеєризація дозволила зменшити час вико­нання команд із 6 мкс до 1,6 мкс. Створення даного комп'ютера зробило величезний вплив як на подальший розвиток архітектури комп'ютера, так і на розвиток системного програмного забезпечення: у ньому вперше використана мультипрограмна операційна система, що використовувала віртуальну пам'ять і систему переривань.

Незалежні операційні пристрої. В 1964 році фірма Control Data Corporation (CDC) при особистій участі одного з її фундаторів Сеймура Крея випускає комп'ютер CDC-6600 - перший комп'ютер, у якому використовувалося декілька незалежних операційних пристроїв. Для порівняння із сьогоднішнім днем приведемо деякі характеристики цього комп'ютера:

  • час такту рівний 100 нс;

  • продуктивність рівна 2-3 млн операцій за секунду;

  • основна пам'ять розбита на 32 блоки по 4096 60-розрядних слів;

  • цикл пам'яті рівний 1 мкс;

  • 10 незалежних операційних пристроїв.


Комп'ютер CDC-6600 мав великий успіх на ринку, суттєво потіснивши комп'ютери фірми IBM.

Конвеєрні незалежні операційні пристрої. В 1969 році фірма CDC випускає комп'ю­тер CDC-7600 із вісьмома незалежними конвеєрними операційними пристроями, тим


424

самим забезпечивши поєднання паралельної та конвеєрної обробки даних. Основні ха­рактеристики цього комп'ютера:

  • такт рівний 27,5 нс;

  • продуктивність рівна 10-15 млн операцій за секунду;

  • 8 конвеєрних операційних пристроїв;

  • дворівнева пам'ять.

Матричні процесори. В 1967 році були розпочаті роботи над створенням матрично­го процесора ILLIAC IV, проект якого передбачав досягнення наступних характеристик: 256 процесорних елементів (ПЕ) - 4 квадранти по 64 ПЕ, з можливістю реконфігурацїї на 2 квадранти по 128 ПЕ, або на 1 квадрант із 256 ПЕ, такт рівний 40 нс, продуктив­ність рівна 1 млрд. операцій з рухомою комою за секунду. В якості пристрою керування був використаний універсальний комп'ютер із невеликою продуктивністю. Кожний ПЕ мав власний АЛП з повним набором команд та пам'ять ємністю 2К 64-розрядних слів з циклом 350 нс. Комп'ютер був введений в експлуатацію у 1974 році в складі лише 1 квадранта, такт 80 нс, реальна продуктивність наблизилась до 50 млн операцій з рухо­мою комою за секунду. Однак даний проект суттєво вплинув на архітектуру наступних комп'ютерів, побудованих за схожим принципом, які дістали назву масивно-паралель­них комп'ютерів із розподіленою пам'яттю. Ідея побудови комп'ютерів цього класу на­ступна: беруться серійні мікропроцесори зі своєю локальною пам'яттю та з'єднуються за допомогою деякого комунікаційного середовища. Переваги такої архітектури наступні: якщо потрібно підвищити продуктивність, то збільшується кількість процесорів, якщо обмежені фінанси або заздалегідь відома необхідна продуктивність, то легко підібрати оптимальну конфігурацію і т. п.

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

За цим принципом були побудовані комп'ютери PEPE, BSP, ICL DAP. До даного класу можна також віднести комп'ютери Intel Paragon, IBM SP1, Parsytec, у якійсь мірі IBM SP2 і CRAY T3D/T3E. До цього ж класу можна віднести і мережі комп'ютерів.

Векторно-конвеєрні комп'ютери. У 1972 році С. Крей залишає фірму CDC і засно­вує власну компанію Cray Research, що у 1976 р. випускає перший векторно-конвеєр­ний комп'ютер CRAY-1 з наступними характеристиками: час такту рівний 12,5 нс, 12 конвеєрних операційних пристроїв, пікова продуктивність - 160 мільйонів операцій за секунду, основна пам'ять до 1Мслова (слова 64-розрядні), цикл пам'яті рівний 50 нс. Го­ловним нововведенням є використання векторних команд, що працюють із масивами цілих чисел і дозволяють ефективно використовувати конвеєрні операційні пристрої, а також ієрархія пам'яті. Ієрархія пам'яті прямого відношення до паралелізму не має, про­те, безумовно, належать до тих особливостей архітектури комп'ютерів, що мають велике значення для підвищення їхньої продуктивності (згладжування різниці між тактом ро­боти процесора і часом вибірки з пам'яті). Основні рівні: регістри, кеш пам'ять, основна пам'ять, дискова пам'ять. Час вибірки по рівнях пам'яті від дискової до регістрів змен­шується, вартість у перерахунку на 1 слово (байт) росте. В даний час подібна ієрархія підтримується і на персональних комп'ютерах.


425

Паралельні комп'ютери із спільною пам'яттю. З розвитком архітектур та техноло­гій виробництва компонентів комп'ютера, в тому числі пам'яті, з'явився новий клас комп'ютерів - паралельні комп'ютери із спільною пам'яттю. Вся основна пам'ять таких комп'ютерів розділяється декількома однаковими процесорами. Хоча кількість процесо­рів, що мають доступ до спільної пам'яті, за чисто технічними причинами не можна зро­бити великим, до даного напрямку входить багато сучасних багатопроцесорних систем, наприклад, комп'ютери HP Exemplar і Sun StarFire.

Зрозуміло, що в багатьох випадках у комп'ютерах використовується комбінація описаних технічних рішень. З декількох процесорів (традиційних або векторно-конвеєрних) і спільної для них пам'яті формується обчислювальний вузол. Якщо отриманої обчислювальної потуж­ності недостатньо, то об'єднується декілька таких вузлів швидкісними каналами зв'язку. Подібну архітектуру називають кластерною, і за таким принципом побудовані комп'ютери CRAY SV1, HP Exemplar, Sun StarFire, NEC SX-5, останні моделі IBM SP2 й інші.

Системи з масовою паралельною обробкою інформації. Після початкового доміну­вання систем, що використовували повільні процесори з складною системою команд та розшаровану пам'ять, фірми Sun, HP, DEC, SGI, NCR/ATT, Tandem, Pyramid, IBM та CRI

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

Суперкомп'ютер Intel Parag­on. На рис. 12.1. подано органі­зацію суперкомп'ютера Intel Par­agon із так званою архітектурою на основі пересилання повідо­млень. Суперкомп'ютер побудо­вано як тривимірне об'єднання множини окремих вузлів (топо­логія гіперкуба). Кожен вузол містить два або більше процесо­рів i860, які утворюють систему з спільною пам'яттю, та вбудовану підтримку зовнішньої мережі із швидкодією обміну з мережею 175 MB за секунду. Кожен вузол має ще індивідуальний зв'язок із власною підсистемою пам'яті з використанням прямого доступу та шини кеш пам'яті. Це дозволяє ефективно пересилати великі па­кети інформації від кожного вузла до мережі та зворотно. Продук-