- •Лекція № 12 Комп’ютерні системи класу sisd
- •13.1 Матричний процесор
- •13.2 Матрична комп’ютерна система
- •If a (умова a) then do в
- •13.3 Архітектура матричних комп’ютерних систем
- •13.4 Структура процесорного елементу в матричній кс
- •13.5 Підключення і відключення процесорних елементів в матричних кс
- •13.6 Мережі взаємозв’язків процесорних елементів в матричних кс
- •13.7 Матрична комп’ютерна система illiac IV
- •13.8 Обробка інформації векторним процесором
- •13.9 Структура векторного процесора
- •13.10 Асоціативні кс
- •Контрольні запитання
- •Лекція №14 Конвеєрні комп’ютерні системи
- •14.1 Конвеєрні алп
- •Vliw-конвеєр
- •Суперконвеєр
- •Суперскалярний суперконвеєр
- •Лекція № 15 комп’ютерні системи класу miмd: мультипроцесорні, мультикомп’ютерні, системи з неоднорідним доступом до оперативної пам’яті (numa системи), кластерні системи, grid системи
- •15.1 Мультипроцесорні комп’ютерні системи
- •15.2 Мультипроцесорні кс типу numa
- •15.3 Мультикомп’ютерні комп’ютерні системи
- •Мультикомп’ютерна кс
- •15.4 Кластерні кс
- •15.5 Grid системи
- •Grid технологія створення розподіленої обчислювальної інфраструктури
- •Grid-системи як засіб групового використання ресурсів
- •Grid обчислень
- •Grid даних
- •Grid інструментальних засобів
- •Grid додатків
- •Напрямки використання grid
- •Розвиток і впровадження grid-технологій
- •Контрольні запитання
- •Лекція № 16 Комп’ютерні системи з нетрадиційною архітектурою
- •16.1 Систолічні кс
- •16.2 Класифікація структур систол
- •16.3 Кс з наддовгими командами (vliw)
- •16.4 Комп’ютерні системи з явним паралелізмом команд
- •16.5 Кс з обробкою за принципом хвильового фронту
- •16.6 Кс на базі трансп’ютерів і з неоднорідним доступом до пам’яті
- •Контрольні запитання
- •Лекція № 17 структури комп’ютерних систем з фіксованою системою зв’язків
- •17.1 Системи з фіксованою структурою з серійних мікропроцесорів
- •17.2 Спеціалізовані системи з фіксованою структурою
- •Контрольні запитання
- •Лекція № 19 системи введення-виведення даних в кс
- •19.1 Мережева базова система введення-виведення netbios
- •19.2 Периферійні пристрої для введення-виведення даних в кс
- •19.3 Клавішні пристрої
- •19.4 Сканери
- •19.5 Засоби відображення інформації
- •19.6 Пристрої друкування
- •19.7 Плотери
- •Контрольні запитання
- •Лекція № 20 інтерфейси комп’ютерних систем
- •20.1 Графі́чний інтерфе́йс користувача
- •20.2 Послідовний інтерфейс rs-232c
- •20.3 Паралельні інтерфейси
- •20.4 Шина usb
- •20.5 Пристрої введення (виведення) аналогової інформації в еом (аналого-цифрові інтерфейси)
- •Лекція № 22 структурні аспекти побудови відмовостійких комп’ютерних систем
- •Перелік рекомендованих джерел
- •Литература
Vliw-конвеєр
- пропускна здатність = п ІРС (=3 ІРС на малюнку)
- тривалість стадії = 1 цикл
- необхідний (максимальний) ступінь паралелізму = п команд (=3 на малюнку)
З рис. легко бачити, що базові параметри УЬІ\¥-конвеєра повністю збігаються з такими для суперскалярного конвеєра (хоча що стосується реальних, а не теоретичних, показників ІРС, то вважається що спеціальні інструменти УЬ^-процесорів для виявлення схованого паралелізму послідовних програм є оптимістичнішими, аніж суперскалярний підхід). УЬІ\У- процесори апаратурно є набагато простішими, аніж суперскалярними, і це можна бачити з конфігурації конвеєра. Тут підготовка до виконання цілого комплексу команд, упакованих в довге командне слово, на стадії ЕХ відбувається одночасно (пакування відбувається ще на етапі компіляції програми), тоді як в звичайному суперскалярному процесорі кожна команда проходить усі стадії окремо.
Суперконвеєр
Припустимо, що деякі з вказаних нами етапів типового 5-стадійного конвеєра в свою чергу також допускають розбиття на елементарніші "суперстадії" (на малюнку таке розбиття показане сірими лініями). Тоді стає можливим зменшення тривалості машинного циклу за рахунок того, що кожна з таких "елементарних" стадій може виконуватись швидше аніж "звичайна", а в результаті проміжок часу (вимірюваний одним машинним циклом) між виходом оброблених команд з конвеєра зменшується. В теоретичній моделі з малюнку, де кожна зі "звичайних" стадій розбита на 4 "суперстадії", отримаємо 4-кратний приріст швидкодії за умови, що кількість часу на виконання "звичайної" стадії залишається незмінною. Таким чином, в загальному випадку для (не суперскалярного) суперконвеєра, в якому кожній "звичайній" стадії відповідає т "суперстадій" (елементарних стадій):
- пропускна здатність = 1 ІРС, але тривалість циклу 1/т в порівнянні зі звичайним конвеєром
- тривалість стадії = 1 цикл для "суперстадії", або т циклів для кожної "звичайної стадії"
- необхідний (максимальний) ступінь паралелізму = т команд
Однак нескінченно дрібнити стадії конвеєра та підвищувати таким чином тактову частоту неможливо. Довгі конвеєри стають вкрай неефективними при виконанні команд, які змінюють хід виконання програми (тобто команд умовних та безумовних переходів). Ці команди за певних умов призводять до необхідності повного перезавантаження конвеєра, а чим більше стадій, тим більше часу для цього необхідно.
Суперскалярний суперконвеєр
Поєднання принципів суперскалярного виконання (тобто повністю паралельного виконання декількох команд) та суперконвеєрного виконання (тобто подрібнення базових стадій конвеєра) дає організацію, яка сьогодні досить популярна серед архітекторів швидкодіючих мікропроцесорів. В таких структурах:
- пропускна здатність = п ІРС, але тривалість циклу 1/т в порівнянні зі звичайним конвеєром
- тривалість стадії = 1 цикл для "суперстадії", або т циклів для кожної "звичайної стадії"
- необхідний (максимальний) ступінь паралелізму = т*п команд
Разом з тим у багатьох обчислювальних системах поряд з конвеєром команд використовується і конвеєр даних. Поєднання цих двох конвеєрів дає можливість досягти дуже високої продуктивності систем на певних класах задач, особливо якщо при цьому використовується декілька конвеєрних процесорів, здатних працювати одночасно і незалежно один від одного. Саме так і побудовані самі високопродуктивні системи. Найдоцільніше розглянути принцип конвеєрної обробки на прикладі деяких, найбільш представницьких систем.
До числа ЕОМ, в яких широке застосування знайшов конвеєр команд, відноситься одна з кращих свого часу машин БЕСМ-6. Вона була протягом багатьох років найшвидкодіючою в країні завдяки цілому ряду цікавих рішень, у тому числі і конвеєру команд. Останній забезпечувався використанням восьми незалежних модулів ОЗУ, що працюють в системі чергування адрес, і великого числа швидких регістрів, призначених також і для буферизації командної інформації. Це дозволило отримати на БЕСМ-6 продуктивність 1 млн. операцій в секунду.
Певний інтерес представляє побудова систем ІВМ 360/91, а також більш пізньої і більш сучасної ІВМ 360/195. П'ять основних пристроїв системи: ОЗУ, управління пам'яттю з буферним ОЗУ, процесор команд, операційні пристрої для виконання операцій з плаваючою комою, з фіксованою комою і десяткової арифметики працюють одночасно і незалежно один від одного. Оперативне ЗУ побудовано за багатомодульна принципом (до 32 модулів), пристрій управління пам'яттю працює за принципом конвеєра і забезпечує 8 - або 16-кратне чергування адрес при зверненні процесора і каналів вводу - виводу інформації до ОЗП.
Рис. 2.1. Система STAR-100
Крім конвеєра команд в системах ІВМ 360/91 і ІВМ 370/195 у обох ОУ використовується також і конвеєрна обробка даних. Однак у системі 360/195 конвеєр виходить досить значний: у кожному циклі здійснюється вибірка до 8 команд, розшифровка 16 команд, до 3 операцій над адресами і до 3 процесорних операцій. Всього в системі одночасно може оброблятися до 50 команд.
Істотно більш повно використовується принцип магістральної обробки в системі в STAR-100, розробленої фірмою СDС в 1973 р. Треба сказати, що фірма СОС в більшості розроблюваних і випускаються машин і систем використовує принцип конвеєрному обробки для підвищення продуктивності, проте раніше використовувався тільки командний конвеєр, а в системі ЗІРКА-100 - обидва типи конвеєра. Система містить три конвеєрних процесора (рис. 3.1): ППЗ - процесор, що містить конвеєрні пристрої додавання і множення з плаваючою комою; ППФЗ - процесор, що містить конвеєрне пристрій складання з плаваючою комою, конвеєрне багатоцільове пристрій, що виконує множення з фіксованою комою, ділення і витяг квадратного кореня; СП - спеціальний конвеєрний 16-розрядний процесор, що виконує операції з фіксованою комою і ряд логічних операцій.
Конвеєрні процесори оперують з 64 - або 32-розрядними числами і кожні 40 не видають результати в блок управління потоками даних і буферами. Оперативне ЗУ побудовано за модульним принципом (32-модуля пам'яті) і працює з чергуванням адрес під управлінням пристрої УП (управління пам'яттю). Кожен малий цикл звернення до пам'яті - 40 не. (Повний цикл ОЗУ-1, 28 мке, т. Е. 40x32 не).
Конвеєрний суматор з плаваючою комою складається з чотирьох сегментів - спеціалізованих операційних пристроїв. Тривалість циклу кожного сегмента становить 40 не, таким чином, час виконання операції додавання з плаваючою комою одно 160 не.
Рис. 2.2. Конвеєр системи АSС
Конвеєрний помножувач включає в себе 8 сегментів, тому час виконання операції множення складає 320 не. Але при завантаженні конвеєрних процесорів довгою послідовністю операндів, над якими проводиться одна і та ж операція, результат видається кожні 40 не. Враховуючи, що кожен із двох основних процесорів може видавати по два 32-розрядних результату, неважко підрахувати, що система ЗІРКА-100 може в межі виконувати до 100 млн. операцій в секунду.
Пристрої конвеєрної обробки далеко не завжди виконують з жорсткою настройкою на одну певну операцію. Найчастіше їх роблять багатоцільовими, вводячи в конвеєр сегменти, необхідні для реалізації повного набору операцій, у процесі виконання яких весь тракт налаштовується відповідним чином. На рис. 3,2 представлена структура системи АSС фірми «Техас Iнструментс» і показано, які сегменти універсальної ланцюжка працюють при різних операціях.
Однією з найбільш високопродуктивних обчислювальних систем в світі загальновизнано вважається система Сrау, створена в 1976 р. У цій системі конвеєрний принцип обробки використовується в максимальному ступені: мається і конвеєр команд, і конвеєр арифметичних і логічних операцій. Крім того, в системі широко застосовується поєднана обробка інформації декількома пристроями. Все це дозволило при вирішенні наукових завдань досягти надзвичайно високої продуктивності - до 250 млн. операцій в секунду
Рис. 2.3. Система CRAY
Система CRAY (рис. 2,3) складається з чотирьох секцій: функціональних пристроїв, регістрів, управління програмою, пам'яті і введення - виведення. В системі 12 функціональних пристроїв, що працюють в режимі конвеєра, розбитих на 4 групи: адресну, скалярну, операцій з плаваючою комою і векторну. Число сегментів в кожному функціональному пристрої (зазначено в дужках на схемі) порівняно невелике, воно залежить від складності операцій і коливається в межах від 1 до 14 (обчислення оберненої величини). Таке порівняно невелике число сегментів в кожному магістральному пристрої має певні переваги - вони порівняно швидко заповнюються. Тривалість циклу кожного сегмента становить 12,5 не: це означає, що кожні 12,5 не будь функціональний пристрій може видавати результати.
Оперативна пам'ять системи, виконана на інтегральних схемах, має ємність 1 млн. слів (пізніше була збільшена до 4 млн.) і організована у вигляді 16 блоків пам'яті з незалежним управлінням ємністю по 64 Кслов. Кожен блок включає в себе 72 модуля, причому модуль містить один розряд всіх 64 Кслов. Система працює з 64-розрядними словами, 8 розрядів використовується для корекції одиночних і виявлення подвійних помилок, що забезпечує високу надійність зберігання інформації. Незалежні блоки дають можливість організувати 16- кратне чергування адрес. Цикл звернення до пам'яті - 50 не.
Суттєву роль у досягненні такої високої продуктивності грають швидкі регістри. Вони розділені на 3 групи: адресні - А-регістри, скалярні - 8-регістри і векторні - У-регістрн. Адресні регістри 24-розрядні, їх всього вісім, 64-5-розрядних регістрів також вісім і вісім 64-елементних У-регістрів, причому кожен елемент вектора містить 64-розрядне слово. Час звернення до регістру всього лише 6 не. У системі є ще дві групи проміжних регістрів (між ОЗУ і А-, S-і V- регістрами): 24-розрядні В-регістри і 64-розрядні Т-регістри, на малюнку не показані. Всі ці регістри дозволяють конвеєрним пристроям працювати з максимальною швидкістю без безпосереднього звернення до ОЗУ: всі операнди виходять з регістрів і результати відправляються також в регістри. Завдяки регістрам конвеєрні пристрої зв'язуються в ланцюжки, т. е, потік результатів засилаються у векторний регістр одним пристроєм, одночасно служить вхідним потоком операндів для іншого пристрою; виключаються проміжні звернення до пам'яті. Це є ще однією відмінною особливістю системи Сгау, підвищувальної її продуктивність.
Склад операцій універсальний, тільки замість поділу використовується операція обчислення зворотної величини. Загальне число операцій 128. Команди двох форматів - 16 і 32 розряди. Арифметичні і логічні команди мають 16-розрядний формат 7 розрядів - код операції та по 3 розряду для адрес регістрів операндів і результату, причому 6 розрядів адрес регістрів операндів в сукупності з додатковими 16 розрядами використовуються для звернення до основної пам'яті і командам переходу.
Введення - виведення інформації здійснюється через 24 каналу, згрупованих в 4 групи, причому в кожній групі є або канали введення, або канали виведення інформації. Обмін здійснюється двухбайтного кодами. Для зв'язку із зовнішніми абонентами використовується периферійна ЕОМ.
Висока продуктивність системи CRAY забезпечується й іншими факторами.
Конструкція ЕОМ дуже компактна, завдяки чому час передачі сигналів між пристроями мало, і це дозволяє працювати з тактом 12,5 не.
Використовується гнучка система адресації вибірка з масивів може здійснюватися по рядках, стовпцях і діагоналях з довільним постійним кроком.
До складу системи входить підсистема дискової пам'яті з чотирьох контролерів, кожен з яких керує чотирма накопичувачами загальною ємністю 76 854 млрд. біт.
Система має достатньо сучасне програмне забезпечення, у тому числі: операційну систему, розраховану на пакетну мультипрограммной обробки 63 завдань, оптимізуючий компілятор з Фортрану, автоматично розпізнає цикли, зручні для реалізації векторними командами; макроассемблер, бібліотеку стандартних програм, завантажувач і інші засоби.
Все це в сукупності і дає підставу вважати системи CRAY найбільш високопродуктивними.
