Мета роботи: засвоїти принцип роботи конвеєрних систем, їх характеристики та застосування

Теоретичні відомості:

Класифікація Хендлера.

У основу класифікації В.Хендлер закладає явний опис можливостей паралельної і конвеєрної обробки інформації обчислювальною системою. При цьому він не розглядає різні способи зв'язку між процесорами і блоками пам'яті і вважає, що комунікаційна мережа може бути потрібним чином конфігурована і буде здатна витримати передбачуване навантаження.

Запропонована класифікація базується на відмінності між трьома рівнями обробки даних в процесі виконання програм:

· рівень виконання програми - спираючись на лічильник команд і деякі інші регістри, пристрій управління (ПУ) проводить вибірку і дешифрування команд програми;

· рівень виконання команд - арифметико-логічний пристрій комп'ютера (АЛП) виконує команду, видану йому пристроєм управління;

· рівень бітової обробки - всі елементарні логічні схеми процесора (ЕЛС) розбиваються на групи, необхідні для виконання операцій над одним двійковим розрядом.

Таким чином, подібна схема виділення рівнів припускає, що обчислювальна система включає якесь число процесорів кожен з своїм пристроєм управління. Кожен пристрій управління пов'язаний з декількома арифметико-логічними пристроями, виконуючими одну і ту ж операцію в кожен конкретний момент часу. Потім, кожний АЛП об'єднує декілька елементарних логічних схем, що асоціюються з обробкою одного двійкового розряду, число ЕЛС є довжина машинного слова. Якщо на якийсь час не розглядати можливість конвеєризації, то число пристроїв управління до, число арифметико-логічних пристроїв d в кожному пристрої управління і число елементарних логічних схем w в кожному АЛП складуть трійку для опису даної обчислювальної системи C:

t(C) = (k, d, w)

У таких позначеннях опису деяких добре відомих обчислювальних систем виглядатимуть таким чином:

t( MINIMA ) = (1,1,1);

t( IBM 701 ) = (1,1,36);

t( SOLOMON ) = (1,1024,1);

t( ILLIAC IV ) = (1,64,64);

t( STARAN ) = (1,8192,1) - у повній конфігурації;

t( C.mmp ) = (16,1,16) - основний режим роботи;

t( PRIME ) = (5,1,16);

t( BBN Butterfly GP1000 ) = (256,~1,~32).

Не дивлячись на те, що перерахованим системам властивий паралелізм різного роду, він може бути віднесений до одного з трьох виділених рівнів.

Розширивши можливості опису, допускається можливість конвеєрної обробки на кожному з рівнів. Конвеєрність на самому нижньому рівні, на рівні ЕЛС, це конвеєрність функціональних пристроїв. Якщо функціональний пристрій обробляє w-розрядні слова на кожному з w' ступенів конвеєра, то для характеристики паралелізму даного рівня розглядається w×w'. Знак множення × використовується на кожному рівні щоб відокремити число, що представляє ступінь паралелізму, від числа ступенів в конвеєрі. Комп'ютер TI ASC має чотири конвеєрні пристрої по вісім ступенів в кожному для обробки 64-х розрядних слів, отже, він може бути описаний так:

t( TI ASC ) = (1,4,64×8)

t(CDC 6600) = (1,1×10,~64)

описаний тільки центральний процесор без урахування підсистем, що управляють і периферійних.

Конвеєризація на самому верхньому рівні, відома як макроконвеєр. Потік даних, проходячи через один процесор, поступає на вхід іншому, можливо через деяку буферну пам'ять. Якщо незалежно працюють n процесорів, то в ідеальній ситуації за відсутності конфліктів і повної збалансованості отримуємо прискорення в n разів в порівнянні з використанням тільки одного процесора. Так комп'ютер PEPE, маючи фактично три незалежні системи з 288-ми пристроїв, описується таким чином:

t( PEPE ) = (1×3,288,32)

Після розширення трирівневої моделі паралелізму засобами опису потенційних можливостей конвеєризації кожна трійка

t( PEPE ) = (k×k',d×d',w×w')

інтерпретується так:

· k - число процесорів, кожен з своїм ПУ, що працюють паралельно;

· k' - глибина макроконвеєра з окремих процесорів;

· d - число АЛУ в кожному процесорі, що працюють паралельно;

· d' - число функціональних пристроїв АЛУ у цепі;

· w - число розрядів в слові, що обробляються в АЛУ;

· w' - число ступенів в конвеєрі функціональних пристроїв АЛУ.

На додаток до викладеного способу опису архітектури Хендлер пропонує використовувати три операції, що дозволять описати:

· складні структури з підсистемами введення-виведення, хосткомп’ютером або якимись іншими особливостями;

· можливі режими функціонування обчислювальних систем, підтримувані для оптимальної відповідності структурі програм.

Перша операція (×) в якомусь сенсі відображає конвеєрний принцип обробки і припускає послідовне проходження даних спочатку через перший її аргумент-підсистему, а потім через другий. Опис комп'ютера CDC 6600 можна уточнити таким чином:

t( CDC 6600 ) = (10,1,12) × (1,1×10,64),

де перший аргумент відображає існування десяти 12-ти розрядних периферійних процесорів і той факт, що будь-яка програма повинна спочатку бути оброблена одним з них і лише після цього передана центральному процесору для виконання. Аналогічно можна отримати опис машини PEPE, приймаючи до уваги, що як хосткомп’ютера вона використовує CDC 7600:

t( PEPE ) = t( CDC 7600 ) × (1×3, 288, 32) = = (15, 1, 12) × (1, 1×9, 60) × (1×3, 288, 32)

Потік даних послідовно проходить через три підсистеми, що відображено, при з'єднанні їх знаком «×».

Щоб внести велику ясність, для складних операції конвеєрного виконання, Хендлер вводить операцію паралельного виконання (+), що фіксує можливість незалежного використання процесорів різними завданнями:

t(n,d,w) = [{(1,d,w) + ... + (1,d,w)] {n раз}

У разі CDC 7600 уточнений запис вигляду:

(15,1,12) × (1,1×9,60) = [(1, 1, 12) + … +(1,1,12)]} {15 раз} × (1, 1×9, 60)

говорить про те, що кожне завдання може захопити свій периферійний процесор, а потім одна за однією вони поступатимуть в центральний процесор. Третя операція - операція альтернативи (V), показує можливі альтернативні режими функціонування обчислювальної системи. Чим більше для системи таких режимів, тим більше гнучкою архітектурою, на думку Хендлера, вона володіє. Наприклад, комп'ютер C.mmp може бути запрограмований для використання в трьох принципово різних режимах:

t( C.mmp ) = (16, 1, 16) V (1×16, 1,1 6) V (1, 16, 16).

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

(4.1)

де ts - час проходження однієї стадії конвеєра, tstart - стартовий час конвеєра.

Типовими для сучасних СУПЕРЕОМ є наступні цифри: tstart = 1000нс, ts = 15нс. З графіка цієї функції, приведеного на малюнок 4.1, видно, що при малих довжинах векторів пропускна спроможність може бути значно нижче максимальною. Таким чином, необхідно прагнути до того, щоб довжина векторів була можливо більшою, а стартовий час меншим.

Рис.4.1 Пропускна спроможність, як функція довжини вектора

Наявність стартового часу призводить до того, що векторна обробка виявляється ефективніше скалярною лише починаючи з деякого порогу довжини векторів. Відповідною кількісною мірою може служити коефіцієнт прискорення обчислень як функція довжини вектора, а саме:

(4.2)

де r - введене раніше відношення максимальних пропускних спроможностей при векторному і скалярних режимах відповідно. Звідси знайдемо наближену порогову довжину вектора:

(4.3)

де tscalar - час виконання скалярних операцій.

Хід роботи:

Залежно від варіанту, розрахуйте обчислювальну продуктивність конвеєрної комп'ютерної системи, вказаної у вашому варіанті. Намалювати графік залежності продуктивності даної системи.

На практиці, за допомогою системи Paralab, змоделюйте паралельне виконання задач, за допомогою незалежного використання процесорів.

Таблиця 4.1

Таблиця індивідуального завдання для виконання роботи

 

№ варіанта ts, нс tstart, нс

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

1. Яким чином Хендлер, класифікує комп’ютерні системи?

2. Опишіть можливості конвеєризації.

3. Приведіть приклад СУПЕРЄОМ, з конвеєрною обробкою команд.

4. Яким чином досягається максимальна пропускна спроможність конвеєрної машини?

5. Опишіть конвеєрну обробку, її ступень, довжину конвеєра, та конвеєр команд.

6. Опишіть конвеєр даних, простій конвеєра, конфлікти, що приводить до простою.

7. Від чого залежить ефективність векторної та скалярної обробки?

8. Поясніть принцип операції паралельного виконання.

9. Опишіть комп'ютер TI ASC має чотири конвеєрні пристрої по вісім ступенів в кожному для обробки 64-х розрядних слів, по Хендлеру.

10. На що впливає стартовий час у конвеєрних систем?