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

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

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

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

Добавлен: 24.12.2021

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

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

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

436

  • ОКМД - комп'ютерні системи з одиничним потоком команд та множинним по­током даних (SIMD - Single Instruction stream Multiply Data stream).

  • МКМД - комп'ютерні системи з множинним потоком команд та множинним по­током даних (MIMD - Multiply Instruction stream Multiply Data stream).

Розглянемо запропоновану М. Фліном класифікацію детальніше. На поданих нижче рисунках позначено: ПК - пристрій керування, IIP - процесор, ПД - пам'ять даних.

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

Структура комп'ютерної системи з множинним потоком команд та одиничним пото­ком даних показана на рис. 12.14b. Комерційні універсальні комп'ютерні системи цього типу на даний час невідомі, проте вони можуть з'явитися у майбутньому. До цього типу систем з деякими умовностями можна віднести спеціалізовані потокові процесори, зо­крема систолічні, які використовують, наприклад, при обробці зображень.

В комп'ютерній системі з одиничним потоком команд та множинним потоком даних (рис. 12.14 с) одночасно обробляється велика кількість даних. До цього класу, зокрема, належать раніше розглянуті векторні процесори. До комп'ютерних систем з одиничним потоком команд та множинним потоком даних можна віднести також апаратну підсис­тему процесорів Pentium, яка реалізовує технологію ММХ опрацювання даних для гра­фічної операційної системи Windows.

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


437

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

У комп'ютерній системі з множинним потоком команд та множинним потоком да­них кожен процесор оперує із своїм потоком команд та своїм потоком даних (рис. 12. -4d). Як правило, окремі процесори багатопроцесорної системи є серійними пристроями, що дозволяє значно зменшити вартість проекту. У класі МКМД треба відрізняти сильно зв'язані системи, власне багатопроцесорні системи, від мереж комп'ютерів, тобто слабо зв'язаних систем; тобто багатопроцесорні системи та комп'ютерні мережі потрапляють до різних підкласів класу MIMD.

В 1978 році Д. Куком було запропоновано розширення класифікації Фліна. У сво­їй класифікації Д. Кук розділив потоки команд та даних на скалярні та векторні пото­ки. Комбінація цих потоків приводить в підсумку до 16 типів архітектури паралельних комп'ютерних систем.

12.5. Типи архітектур систем ОКМД

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

Між матричними і векторними комп'ютерними системами є істотна різниця.

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

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


Є дві головні конфігурації, які були використані в матричних комп'ютерних сис­темах класу ОКМД. В першій схемі кожен процесор Р має власну локальну пам'ять М (рис. 12.15).


438


Процесори можуть зв'язатися один з одним через комунікаційну мережу. Якщо ко­мунікаційна мережа не забезпечує прямого зв'язку між заданою парою процесорів, то згодом ця пара може обмінятися даними через проміжний процесор. Таку схему зв'язку було використано в комп'ютері ILLIAC IV. Комунікаційна мережа в ILLIAC IV дозволя­ла кожному процесору зв'язуватися безпосередньо з чотирма сусідніми процесорами. В матриці із 8x8 процесорів кожний і-й процесор міг контактувати безпосередньо з (і-1)-м, (і+1)-м, (і-8)-м, і (і+8)-м процесорами.

У другій схемі процесори і модулі пам'яті зв'язуються між собою через комунікацій­ну мережу (рис. 12.16). Два процесори можуть передати дані один одному через проміж­ний модуль пам'яті або, можливо, через проміжний процесор. За такою схемою, напри­клад, побудовано процесор BSP фірми Burroughs.


439

12.6. Типи архітектур систем МКМД

Комп'ютерні системи класу МКМД складаються з багатьох процесорів та багатьох модулів пам'яті, з'єднаних за допомогою комунікаційної мережі. Вони можуть бути по­ділені на дві великі групи: зі спільною пам'яттю та з передачею повідомлень. На рис. 12.17 а та b показано загальну структуру цих двох груп комп'ютерних систем.

В першій групі процесори обмінюються інформацією через їх спільну пам'ять, при­чому кожний процесор має рівні можливості читати та записувати дані до пам'яті, а також однакову швидкість доступу до пам'яті, тому їх часто називають симетричними багатопроцесорними системами. Комерційними прикладами комп'ютерних систем пер­шої групи є багатопроцесорні сервери фірм Sequent Computer's Balance and Symmetry, Sun Microsystems та Silicon Graphics Inc.

У другій групі процесори обмінюються інформацією через комунікаційну мережу. В комп'ютерній системі з передачею повідомлень (також 'їх називають системами з роз­поділеною пам'яттю) зазвичай наявна локальна пам'ять і процесор у кожному вузлі ко­мунікаційної мережі. Тут відсутня спільна пам'ять, тому необхідно переміщувати дані з однієї локальної пам'яті до іншої за допомогою механізму передачі повідомлень. Це, зазвичай, робиться шляхом посилання-отримання кількох команд, які повинні бути вписані в прикладне програмне забезпечення. Комерційними прикладами систем пере­дачі повідомлень є системи nCUBE, iPSC/2 і різні системи, базовані на трансп'ютерах. Ці системи кінець кінцем поступилися системам глобальної мережі Internet, в якій вузли є або серверами, або персональними комп'ютерами.

Архітектуру з розподіленою пам'яттю довелося використовувати із-за переходу до все більших систем. Потрібно відзначити, що програмування в системі зі спільною пам'яттю є простішим, а в системах передачі повідомлень забезпечується масштабова-ність. Тому з'явились комбіновані системи з розподіленою та з спільною пам'яттю, такі як SGI Origin2000, та інші.

12.7. Організація комп'ютерних систем із спільною пам'яттю

12.7.1. Типи комп'ютерних систем із спільною пам'яттю

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