logo
AOM / Мельник А

7.12. Конвеєрний операційний пристрій

Конвеєрний принцип обробки передбачає суміщення в часі виконання операторів алгоритму над різними даними. Одним із можливих підходів тут є конвеєризація одно-тактових ОП, структура яких базується на апаратному відображенні потокового графа виконуваного алгоритму. На рис. 7.16 показано структуру конвеєрного операційного пристрою, який реалізує потоковий граф алгоритму, наведений на рис. 7.6.

Як ми вже вияснили, потоковим графом алгоритму називають таке представлення графа, яке передбачає розділення всіх його вершин по ярусах таким чином, що в і-му

256

ярусі розміщені тільки функціональні оператори, які залежать хоча б від одного функці­онального оператора (і-1)-го яруса і не залежать від функціональних операторів, які не входять в яруси з меншими ніж і номерами. Всередині яруса функціональні оператори між собою не мають з'єднань. На рис. 7.16а штриховими лініями розділені яруси графа. При побудові конвеєрного операційного пристрою кожному функціональному опера­тору алгоритму поставлена у відповідність комбінаційна схема КС, яка його виконує, і, крім того, комбінаційні схеми, які виконують функціональні оператори ярусів пото­кового графа алгоритму, розділяються конвеєрними регістрами КР, як це показано на рис. 7.16b.

Таким чином, апаратне відображення алгоритму означає послідовне з'єднання ком­бінаційних схем, кожна з яких виконує операції одного яруса алгоритму. В конвеєрному операційному пристрої комбінаційні схеми з'єднані між собою через конвеєрні регістри.

Заданий алгоритм виконується над вхідними даними при їх однократному прохо­дженні через конвеєрний операційний пристрій.

Найбільша довжина конвеєра такого конвеєрного операційного пристрою дорівнює кількості Р ярусів алгоритму. Такий конвеєрний операційний пристрій має найвищу частоту, яка може бути досягнута при апаратній реалізації заданого конкретизованого ПГ алгоритму.

Узагальнена структура конвеєрного операційного пристрою наведена на рис. 7.17.

Тут Хі - входи поступлення даних (і = 1, 2 ,..., r),r- кількість входів, Yj- виходи ре­зультатів обчислень (j= 1, 2 ,..., s),s- кількість виходів, КРД і КРК - конвеєрні регістри відповідно до даних Д і команд К, m- кількість ярусів ПГ алгоритму, п - кількість ярусів конвеєра конвеєрного операційного пристрою. Якщо структура конвеєрного операцій­ного пристрою орієнтована на реалізацію алгоритму, який обчислює одну функцію, він називається однофункціональним, групу функцій - багатофункціональним. В багато­функціональному конвеєрному операційному пристрої програмуються канали передачі

257

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

В однофункціональному конвеєрному операційному пристрої вихідні дані Y = у1, у2s однозначно визначаються вхідними даними X = х1,x2r і функцією Ф, зашитою в його структурі: Y = Ф(Х). В загальному випадку Y = {Ykf}, X = {Xjf}, тобто обробці під­лягають матриці даних. При цьому k = 1, 2,.., s; j = 1, 2,..., r; f = 1, 2,..., N, де r, s - кількість входів і виходів конвеєрного операційного пристрою, N - кількість груп чисел, які по­ступають в конвеєрний операційний пристрій. Для кожного яруса однофункціонально-го конвеєрного операційного пристрою можна записати А = Ф (Аі), де Аі - вмістиме ре­гістрів і-го яруса, Ф - операція, що визначається функціональними операторами (і+1)-го яруса ПГ алгоритму і виконується в (і+1)-му ярусі конвеєрного операційного пристрою. Так як А0 = X; А1 = Ф1(A0); А2 = Ф2(A1) і т. д., то Y = Фm(Ф(...(Ф1(Х))...)), тобто функція Ф виконується над даними, які надходять в конвеєрний операційний пристрій, при їх про­ходженні через всі яруси конвеєра

Нехай в конвеєрному операційному пристрої обробляється масив чисел X = {X1, X2 ,..., Xr}, r = 1, 2,..., N. В першому такті тактовим імпульсом Т в регістр КРД. записується значення X1 . Над ним в комбінаційній схемі KC1 першого яруса виконується операція Ф1 . Другим тактовим імпульсом результати цієї операції перепишуться в регістр КРД2, а в регістр KPД2 запишеться значення Х2 В комбінаційних схемах КС1 КС2 над значення­ми, що зберігаються відповідно в регістрах КРД] і КРД2 виконуються операції Ф1 і Ф2. В третьому такті результати із КС2 запишуться в КРД3 і т. д. На регістри ярусів конвеєра, котрі звільняються, в кожному такті засилаються нові дані оброблюваного масиву, над якими виконуються ті ж операції. При повній загрузці конвеєра одночасно виконують­ся оператори всіх m ярусів алгоритму. Стан конвеєрного операційного пристрою в і-му такті його роботи при обробці N чисел визначається вектором A(t) = |A0(t)A1(t)...Am(t)|, де t = 1, 2,..., (m + N). При цьому Am (t) = Yt, тобто в кожному такті на виході конвеєрного операційного пристрою з являється результат обчислення, крім перших m тактів, коли заповнюється конвеєр

Регістри ярусів мають розрядність, рівну розрядності вихідної інформації і-го яруса ПГ алгоритму

Кожний багатофункціональний конвеєрний операційний пристрій повинен мати деяку кількість елементів, призначених для забезпечення налаштування на задану опе­рацію. Зокрема, комбінаційні схеми КС ярусів можуть вміщувати комутатори прямих зв язків, з допомогою яких під дією керуючих сигналів виконується налаштування КС на виконання необхідних операцій. Відміна структури багатофункціонального конвеєрно­го ОП від однофункціонального заключається також в наявності конвеєрних регістрів команд КРК, що зберігають код операції, а також зв язків для налаштування на потрібну операцію комбінаційних схем ярусів конвеєрного операційного пристрою. Тут по кон­веєру синхронно з даними під керуванням тих же тактових імпульсів Т по регістрах ко­манд КРК просуваються і команди. Команда з виходу відповідного регістра налаштовує комбінаційні схеми цього яруса на виконання необхідної операції. Для ярусів конвеєра в цьому випадку можна записати: Аi+1 = Фi(Ai,К\i), де Кi. - вмістиме регістра КРК і-го яруса конвеєра. Виконувані в такому конвеєрному операційному пристрої перетворення над вхідними даними X можна записати виразом

у = фmmmmm (...,Ф(К,Х)...))).

258