ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6846
Скачиваний: 22
256
ярусі розміщені тільки функціональні оператори, які залежать хоча б від одного функціонального оператора (і-1)-го яруса і не залежать від функціональних операторів, які не входять в яруси з меншими ніж і номерами. Всередині яруса функціональні оператори між собою не мають з'єднань. На рис. 7.16а штриховими лініями розділені яруси графа. При побудові конвеєрного операційного пристрою кожному функціональному оператору алгоритму поставлена у відповідність комбінаційна схема КС, яка його виконує, і, крім того, комбінаційні схеми, які виконують функціональні оператори ярусів потокового графа алгоритму, розділяються конвеєрними регістрами КР, як це показано на рис. 7.16b.
Таким чином, апаратне відображення алгоритму означає послідовне з'єднання комбінаційних схем, кожна з яких виконує операції одного яруса алгоритму. В конвеєрному операційному пристрої комбінаційні схеми з'єднані між собою через конвеєрні регістри.
Заданий алгоритм виконується над вхідними даними при їх однократному проходженні через конвеєрний операційний пристрій.
Найбільша довжина конвеєра такого конвеєрного операційного пристрою дорівнює кількості Р ярусів алгоритму. Такий конвеєрний операційний пристрій має найвищу частоту, яка може бути досягнута при апаратній реалізації заданого конкретизованого ПГ алгоритму.
Узагальнена структура конвеєрного операційного пристрою наведена на рис. 7.17.
Тут Хі - входи поступлення даних (і = 1, 2 ,..., r), r - кількість входів, Yj - виходи результатів обчислень (j = 1, 2 ,..., s), s - кількість виходів, КРД і КРК - конвеєрні регістри відповідно до даних Д і команд К, m - кількість ярусів ПГ алгоритму, п - кількість ярусів конвеєра конвеєрного операційного пристрою. Якщо структура конвеєрного операційного пристрою орієнтована на реалізацію алгоритму, який обчислює одну функцію, він називається однофункціональним, групу функцій - багатофункціональним. В багатофункціональному конвеєрному операційному пристрої програмуються канали передачі
257
інформації та функції, які виконуються комбінаційними схемами відповідно до графа багатофункціонального алгоритму
В однофункціональному конвеєрному операційному пристрої вихідні дані Y = у1, у2 ,уs однозначно визначаються вхідними даними X = х1,x2 ,хr і функцією Ф, зашитою в його структурі: 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 можна записати виразом
у = фm (Кm ,Фm (Кm ,Фm (...,Ф(К,Х)...))).
258
7.13. Алгоритмічні операційні пристрої
7.13.1. Пристрої додавання і віднімання двійкових чисел з фіксованою комою
Пристрій для додавання двійкових чисел називається суматором. Суматор використовується в комп'ютері як складова частина АЛП, а також як елемент інших вузлів комп'ютера. Коротко розглянемо основні питання побудови суматора. На рис. 7.18 представлена схема однотактового алгоритмічного операційного пристрою (АОП) додавання і віднімання чисел з фіксованою комою з послідовною обробкою двійкових чисел.
Тут вхідні операнди 1 та 2 записуються сигналами Y1 та Y2 з пристрою керування до зсувних регістрів ЗРг1 та ЗРг2, виходи молодших розрядів яких з'єднані з входами одно-розрядного суматора CM, вихід суми S. якого з'єднаний з входом старшого розряду зсувного регістра ЗРгЗ. Вихід переносу суматора з'єднаний з входом тригера Тг, який зберігає значення переносу С відповідного розряду протягом одного такту для подачі його на вхід однорозрядного суматора. Перед початком роботи вміст тригера Тг встановлюється в нуль. В кожному такті сигналом зсуву з пристрою керування вміст зсувних регістрів зсувається на один розряд вправо, а в тригер записується значення переносу з чергового розряду суми. Однорозрядний суматор працює відповідно до таблиці істинності з розділу 4 (табл. 4.5). Розряд суми з виходу однорозрядного суматора записується до зсувного регістра ЗРгЗ. Для додавання двох n-розрядних чисел в приведеному пристрої необхідно п тактів. Після цього на виході пристрою керування з'явиться сигнал завершення роботи, а в зсувному регістрі ЗРгЗ буде знаходитись результат операції.
Перевагою такого пристрою є простота та малі затрати обладнання на реалізацію суматора.
Значно частіше в комп'ютерах використовуються однотактові алгоритмічні ОП для додавання та віднімання двійкових чисел (рис. 7.19), в якому всі розряди операндів поступають на паралельний суматор з вхідних регістрів Рг1 та Рг2 одночасно. Тим самим, за рахунок паралельної обробки досягається значно вища швидкодія порівняно з пороз-рядним додаванням операндів.
259
Однотактовий суматор будується шляхом апаратного відображення графа алгоритму додавання двійкових чисел, тобто шляхом заміни функціональних операторів алгоритму відповідними комбінаційними схемами.
Найпростішим з однотактових суматорів є однотактовий суматор, який апаратно відображає граф алгоритму додавання двійкових чисел з послідовним переносом і відповідно називається суматором з послідовним переносом. Схема цього суматора повторює граф відповідного алгоритму n-розрядного додавання двійкових чисел з послідовним переносом (рис. 4.5). Недоліком суматора з послідовним переносом є значна затримка при формуванні переносу, оскільки для отримання останнього розряду суми перенос повинен бути сформованим всіма попередніми однорозрядними суматорами.
Для зменшення кількості операцій, які знаходяться на критичному шляху, створено ряд алгоритмів додавання, в яких скорочено кількість послідовних операцій при формуванні переносу та відповідних структур суматорів. Це, зокрема, суматори з наскрізним, частково груповим і груповим переносами, в яких здійснюється паралельне формування переносів для всіх розрядів, або для груп розрядів. Досить простою та ефективною є реалізація в суматорі алгоритму за методом вибору переносу.
Оскільки питанню побудови ефективних алгоритмів додавання двійкових чисел приділено достатньо уваги в літературі, коротко розглянемо останній з названих вище підходів, тобто реалізацію алгоритму за методом вибору переносу. Розірвавши в довільному місці тракт проходження переносу та сформувавши два тракти його подальшого проходження із значенням вхідного переносу 0 та 1 відповідно, з послідуючим вибором результату за допомогою мультиплексора за значенням реального переносу в місці розриву, отримаємо показану на рис. 7.20 схему суматора.