Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекцій_КС_2012_10_28.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.73 Mб
Скачать

Контрольні запитання

1 Чим відрізняється прінстонська архітектура комп’ютерних систем від гарвардської?

2 Які є форми паралельних обчислень?

3 За якими критеріями класифікують архітектури комп’ютерних систем?

4 Які методи досягнення паралельності?

5 Багатозадачний режим виконання незалежних частин програм є паралельним чи псевдопаралельним?

Лекція №2 Основи теорії комп’ютерних систем

2.1 Класифікація комп’ютерних систем

У 1966 р. М.Флінн (Flynn) запропонував класифікацію архітектури обчислювальних систем, яка з часом набула широкого визнання (рис.2.1). За основу класифікації ним було взято поняття «потоку». Під «потоком» розуміється послідовність елементів, команд або даних, оброблювана процесором. Відповідна система класифікації заснована на розгляді числа потоків інструкцій і потоків даних і описує чотири архітектурні класи:

  • SISD - single instruction stream, single data stream (одиночний потік команд і одиночний потік даних);

  • MISD - multiple instruction stream, single data stream (множинний потік команд і одиночний потік даних);

  • SIMD - single instruction stream, multiple data stream (одиночний потік команд і множинний потік даних);

  • MIMD - multiple instruction stream, multiple data stream (множинний потік команд і множинний потік даних)

а) 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).