
- •Івано-Франківський національний технічний
- •Університет нафти і газу
- •Комп’ютерні системи
- •Конспект лекцій
- •Лекція № 1
- •1.1 Архітектура комп’ютерних систем
- •1.2 Паралельна обробка інформації
- •Контрольні запитання
- •Лекція №2 Основи теорії комп’ютерних систем
- •2.1 Класифікація комп’ютерних систем
- •Рисинук 2.2 - Класи комп’ютерних систем
- •2.2 Паралельні алгоритми
- •2.3 Характеристика типових схем комунікації в багатопроцесорних комп’ютерних системах
- •2.4 Закон Амдала
- •Контрольні запитання
- •Лекція №3 Конвеєрні комп’ютерні системи
- •3.1 Обробка інформації векторним процесором
- •3.2 Процесор з паралельним алп
- •3.3 Структура векторного процесора
- •3.4 Векторно-конвеєрні комп’ютерні системи
- •Контрольні запитання
- •Лекція №4 Матричні комп’ютерні системи
- •4.1 Матричний процесор
- •4.2 Матрична комп’ютерна система
- •If a (умова a) then do в
- •4.3 Архітектура матричних комп’ютерних систем
- •4.4 Структура процесорного елементу
- •4.5 Підключення і відключення процесорних елементів.
- •Контрольні запитання
- •Лекція № 5 Комп’ютерні системи класу simd
- •Контрольні запитання
- •Лекція № 6 Мультипроцесорні комп’ютерні системи
- •6.1 Загальна характеристика мультипроцесорних комп’ютерних систем
- •6.2 Мультипроцесори типу numa
- •6.3 Мультипроцесори типу coma
- •6.4 Мультипроцесорна комп’ютерна система Sun Enterprise 10000:
- •Контрольні запитання
- •Лекція №7 Мультикомп’ютерні комп’ютерні системи
- •7.1 Загальна характеристика мультикомп’ютерних комп’ютерних систем
- •Мультикомп’ютерна кс
- •7.2 Рівні комплексування у кс
- •7.3 Кластери
- •7.4 Топологія кластерних пар
- •7.5 Кластер Beowulf
- •7.6 Кластер ac3 Velocity Cluster
- •7.7 Кластер ncsa nt Supercluster
- •Контрольні запитання
- •Лекція № 8 Комп’ютерні системи з нетрадиційною архітектурою
- •8.1 Асоціативні кс
- •8.2 Систолічні кс
- •8.3 Класифікація структур систол
- •8.4 Кс з наддовгими командами (vliw)
- •8.5 Комп’ютерні системи з явним паралелізмом команд
- •8.6 Кс з обробкою за принципом хвильового фронту
- •8.7 Кс на базі трансп'ютерів і з неоднорідним доступом до пам'яті
- •Контрольні запитання
- •Лекція № 9 Організація пам’яті у комп’ютерних системах
- •9.1 Запам’ятовувальні пристрої комп'ютера
- •9.2 Системи із загальною і розподіленою пам'яттю
- •9.3 Багаторівнева організація загальної пам'яті
- •9.4 Пам'ять з чергуванням адрес
- •9.5 Асоціативна пам'ять
- •Контрольні запитання
- •Лекція № 10 Системи введення-виведення
- •10.1 Мережева базова система введення-виведення netbios
- •10.2 Пристрої для зберігання bios
- •10.3 Виробники bios
- •10.4 Принцип роботи bios
- •Контрольні запитання
- •Лекція № 11 Інтерфейси
- •Контрольні запитання
Контрольні запитання
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).