
- •Івано-Франківський національний технічний
- •Університет нафти і газу
- •Комп’ютерні системи
- •Конспект лекцій
- •Лекція № 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 Інтерфейси
- •Контрольні запитання
2.4 Закон Амдала
Припустимо,
що алгоритм необхідної до вирішення
обчислювальної задачі, такий, в якого
частка
від загального об'єму обчислень може
бути отримана тільки послідовними
розрахунками, а, відповідно,
частка яка може бути розпаралелена
ідеально (тобто час обчислення буде
обернено пропорційно до числа задіяних
вузлів). Тоді прискорення, яке може бути
отримане на обчислювальній системі з
процесорів, в порівнянні з однопроцесорним
рішенням не перевищуватиме величини:
(2.1)
Таблиця 2.1 показує, в скільки разів швидше виконається програма з часткою послідовних обчислень при використанні процесорів.
Таблиця 2.1 – Прискорення виконання програми з часткою послідовних обчислень при використанні процесорів
|
10 |
100 |
1000 |
0 |
10 |
100 |
1000 |
10% |
5.263 |
9.174 |
9.910 |
25% |
3.077 |
3.883 |
3.988 |
40% |
2.174 |
2.463 |
2.496 |
З
таблиці 2.1 видно, що тільки алгоритм, що
зовсім не містить послідовних обчислень
(
),
дозволяє отримати лінійний приріст
продуктивності із зростанням кількості
обчислювачів в системі. Якщо частка
послідовних обчислень в алгоритмі рівна
25 %, то збільшення числа процесорів до
10 дає прискорення в 3,077 разів, а збільшення
числа процесорів до 1000 дасть прискорення
в 3,988 разів.
Звідси
очевидно, що при частці послідовних
обчислень
загальний приріст продуктивності не
може перевищити
.
Так, якщо половина коду - послідовна, то
загальний приріст ніколи не перевищить
два.
Закон
Амдала показує, що приріст ефективності
обчислень залежить від алгоритму
завдання і обмежений зверху для будь-якого
завдання з
.
Не для всякого завдання має сенс
нарощування числа процесорів в
обчислювальній системі.
Більш того, якщо врахувати час, необхідний для передачі даних між вузлами обчислювальної системи, то залежність часу обчислень від числа вузлів матиме максимум. Це накладає обмеження на масштабованість обчислювальної системи, тобто означає, що з певного моменту додавання нових вузлів в систему збільшуватиме час розрахунку завдання.
Контрольні запитання
1 Чим відрізняються комп’ютерні системи класу SIМD від комп’ютерних систем класу SISD?
2 В чому відмінність мультипроцесорів від мультикомп’ютерів?
3 Комп’ютерні системи типу NOW чи СOW називаються кластерами?
4 Які типові топології схем комунікації процесорів в комп’ютерних системах з паралельною обробкою інформації?
5 Як класифікував комп’ютерні системи М.Флінн?
6 Які є рівні паралелізму?
Лекція №3 Конвеєрні комп’ютерні системи
3.1 Обробка інформації векторним процесором
У засобах векторної обробки під вектором розуміють одновимірний масив однотипних даних (зазвичай у формі з плаваючою комою), впорядкованих і певним чином розміщених в пам'яті КС. Якщо обробці піддаються багатовимірні масиви, їх також розглядають як вектори, адже при розміщенні матриці в пам'яті всі її елементи заносяться в комірки з послідовними адресами, причому дані можуть бути записані рядок за рядком або стовбець за стовбцем (рис.3.1).
Рисунок 3.1 – Обробка векторним процесором багатовимірного масиву
Векторний процесор - це процесор, в якому операндами деяких команд можуть виступати впорядковані масиви даних - вектори.
Векторні комп'ютери маніпулюють масивами схожих даних подібно до того, як скалярні машини обробляють окремі елементи таких масивів. Це робиться за рахунок використання спеціально сконструйованих векторних центральних процесорів. При роботі у векторному режимі векторні процесори обробляють дані практично паралельно, що робить їх у декілька разів швидшими чим при роботі в скалярному режимі.
Розглянемо можливі підходи до архітектури засобів векторної обробки. Найбільш поширені з них зводяться до трьох груп:
- процесор з конвеєрним арифметико-логічним пристроєм;
- процесор з масивом паралельних арифметико-логічних пристроїв;
- масив паралельних процесорів.
Останній варіант є багатопроцесорною системою, відомою як матрична КС. Поняття векторного процесора має відношення до двох перших груп.
У варіанті з конвеєрним АЛП обробка елементів векторів проводиться конвеєрним АЛП для чисел з плаваючою комою. Операції з числами у формі з плаваючою комою достатньо складні, але піддаються розбиттю на окремі кроки. Наприклад, складання двох чисел зводиться до чотирьох етапів:
- порівняння порядків;
- зміщення мантиси меншого з чисел;
- складання мантис;
- нормалізації результату.
Кожен етап може бути реалізований за допомогою окремого ступеня конвеєрного АЛП. Черговий елемент вектора подається на вхід конвеєра, як тільки звільняється перший ступінь (рис.3.2).
П М С Н
|
|
Рисунок 3.2 – Процесор з конвеєрним арифметико-логічним пристроєм