А) SISD б)SIMD

В) MISD г) MIMD

Рисунок 2.1 - Класи комп’ютерних систем за класифікацією Флінна

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

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

Системи SIMD зазвичай мають велику кількість процесорів, від 1024 до 16384, які можуть виконувати одну і ту ж інструкцію відносно різних даних в жорсткій конфігурації. Єдина інструкція паралельно виконується над багатьма елементами даних.

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

Велика різноманітність систем, що потрапляють в даний клас, робить класифікацію Фліннна не повністю адекватною. Дійсно, і чотирипроцесорний SX-5 компанії NEC, і тисячепроцессорний Cray T3E потрапляють в цей клас.

У КС класу SISD входять однопроцесорні послідовні комп'ютери типа VAX 11/780. Проте в цей клас можна включити і векторно-конвеєрні КС, якщо розглядати вектор як одні неподільні дані для відповідної команди. У такому разі в цей клас потраплять і такі системи, як CRAY-1, CYBER 205, машини сімейства FACOM VP і багато інших.

Представниками класу SIMD також вважаються матриці процесорів: ILLIAC IV, ICL DAP, Goodyear Aerospace MPP, Connection Machine 1 і т.п. У таких системах єдиний пристрій, що управляє, контролює безліч процесорних елементів. Кожен процесорний елемент отримує від пристрою управління в кожен фіксований момент часу однакову команду і виконує її над своїми локальними даними.

Клас MIMD надзвичайно широкий, оскільки включає рзноманітні мультипроцесорні системи: CRAY Y-MP, Denelcor HEP,BBN Butterfly, Intel Paragon, CRAY T3D і багато інших. Якщо конвеєрну обробку даних розглядати як виконання безлічі команд (операцій ступенів конвеєра) не над одиночним векторним потоком даних, а над множинним скалярним потоком, то всі розглянуті вище векторно-конвеєрні комп'ютери можна розташувати і в даному класі.

Запропонована схема класифікації аж до теперішнього часу є основною при початковій характеристиці тої або іншої комп’ютерної системи. Якщо сказати, що КС належить класу SIMD або MIMD, то відразу стає зрозумілим базовий принцип її роботи, і в деяких випадках цього буває достатньо. Проте в даної класифікації є і недоліки. Зокрема, архітектура dataflow і векторно-конвеєрні машини не можливо однозначно вписати в дану класифікацію. Інший недолік - це надмірно заповнений клас MIMD. Необхідний засіб, що більш вибірково систематизує архітектуру, яка по Фліннну потрапляє в один клас, але має абсолютно різні характеристики по числу процесорів, природі і топології зв'язку між ними, за способом організації пам'яті і, звичайно ж, за технологією програмування.

Наявність фактично незаповненого класу (MISD) не вважається недоліком класифікації. Такий клас, на думку деяких дослідників в області класифікації архітектури КС, може стати надзвичайно корисними для розробки принципово нових концепцій в теорії і практиці побудови КС.

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

Рисинук 2.2 - Клас и комп ’ ютерних систем

Клас КС SIMD розділяють на дві підгрупи. У першу підгрупу потрапляють численні суперкомп'ютери і інші машини, які оперують векторами, виконуючи одну і ту ж операцію над кожним елементом вектора. У другу підгрупу потрапляють машини типа ILLIAC IV, в яких головний блок управління посилає команди декільком незалежним АЛП.

Клас КС MIMD розділяють на мультипроцесори (машини з пам'яттю сумісного використання) і мультикомп’ютеры (машини з передачею повідомлень). Існує три типи мультипроцесорів. Вони відрізняються один від одного за способом реалізації пам'яті сумісного використання. Вони називаються UMA (Uniform Memory Access - архітектура з однорідним доступом до пам'яті), NUMA (NonUniform Memory Access - архітектура з неоднорідним доступом до пам'яті) і СОМА (Cache Only Memory Access - архітектура з доступом тільки до кеш-пам'яті).

У машинах UMА кожен процесор має один і той же час доступу до будь-якого модуля пам'яті (найшвидші звернення сповільнюються, щоб відповідати найповільнішим). Це і означає «однорідний». Така однорідність робить продуктивність передбаченою, а цей чинник дуже важливий для написання ефективної програми.

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

У другу підкатегорію класу КС MIMD потрапляють мультикомп’ютери, які на відміну від мультипроцесорів не мають пам'яті сумісного використання на архітектурному рівні. Іншими словами, операційна система в процесорі мультикомп’ютера не може дістати доступ до пам'яті, що відноситься до іншого процесора, просто шляхом виконання команди LOAD. Йому доводиться відправляти повідомлення і чекати відповіді. Саме здатність операційної системи прочитувати слово з віддаленого модуля пам'яті за допомогою команди LOAD відрізняє мультипроцесори від мультикомп’ютеров. В мультикомп’ютері призначені для користувача програми можуть звертатися до інших модулів пам'яті за допомогою команд LOAD і STORE, але цю ілюзію створює операційна система, а не апаратне забезпечення. Різниця незначна, але дуже важлива. Оскільки мультикомп’ютеры не мають прямого доступу до віддалених модулів пам'яті, вони іноді називаються машинами NORMA (NO Remote Memory Access - без доступу до віддалених модулів пам'яті).

Мультикомп’ютери можна розділити на дві категорії. Перша категорія містить процесори МРР (Massively Parallel Processors - процесори з масовим паралелізмом) - дорогі суперкомп'ютери, які складаються з великої кількості процесорів, зв'язаних високошвидкісною комунікаційною мережею. Як приклади можна назвати Cray T3E і IBM SP/2.

Друга категорія мультикомп’ютерів включає робочі станції, які зв'язуються за допомогою вже наявної технології з'єднання. Ці примітивні машини називаються NOW (Network of Workstations - мережа робочих станцій) і COW (ClusterofWorkstattions - кластер робочих станцій).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: