ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6851
Скачиваний: 22
246
послідовну процедуру переробки і передачі інформації в багатофункціональному АЛП. Це призводить до того, що швидкість обчислення складних операцій в АЛП є низькою.
Висока продуктивність обробки даних в сучасних компютерах досягається завдяки використанню просторового і часового паралелізму з урахуванням досягнень інтегральної технології. Серед основних ідей слід виділити конвеєрну організацію обчислень, поєднання обробки на різних рівнях, використання декількох паралельно працюючих АЛП з конвеєрним принципом обробки даних, застосування секцій векторних регістрів в регістровій пам'яті, розшарування пам'яті, застосування найбільш швидкої елементної бази з тією метою, щоб в максимальній мірі забезпечити розпаралелювання виконання операцій. Особливо цікавою в цьому плані є ідея підвищення продуктивності та ефективності за рахунок статичної і динамічної програмної зміни структури системи в цілях її наближення до структури графа алгоритму, тобто її реконфігурація. В основі концепції АЛП з реконфігурованою структурою лежить принцип, згідно з яким структура АЛП, функції його операційних пристроїв, а також способи організації обчислювального процесу повинні відповідати структурі графа виконуваного алгоритму, а не навпаки, як це має місце у традиційних АЛП, коли в цілях реалізації алгоритму в рамках жорсткої структури АЛП алгоритм модифікується так, що йому надається форма, відповідна структурі АЛП. Чим більше адаптована структура АЛП до специфіки вирішуваних задач, тим суттєвіше покращуються його характеристики. Така адаптація досягається шляхом перекладення обчислювальних процедур з програмного забезпечення на апаратну частину, чому сприяють вражаючі успіхи в області інтегральної технології. Це, зокрема, поява програмованих логічних інтегральних схем (ПЛІС), що дозволяє в найкоротші терміни реалізувати на 'їх базі крупні функціональні вузли. Це і можливість створення спеціалізованих НВІС місткістю в десятки і сотні мільйонів транзисторів, що привело до радикальних змін як в області технологічних та інструментальних засобів, так і в принципах проектування.
Таким чином, розглядаючи принципи побудови АЛП, доцільно це робити в тісному зв'язку з графом виконуваного алгоритму, що дозволяє виявити всі форми паралелізму, наявні в ньому. Граф алгоритму а особливо його потокова форма, в наочній формі відображає фундаментальні обмеження, що визначають внутрішню семантику ряду різних алгоритмів для отримання одних і тих же результатів. Найбільш високі параметри досягаються в АЛП, структура яких більше наближена до структури графа виконуваного алгоритму.
7.7. Структура арифметико-логічного пристрою
В більшості комп'ютерів АЛП виконує операції над двома вхідними даними, тобто є двомісним, та видає один вихідний результат, як це показано на рис. 7.7. При цьому спочатку операнди А та В записуються у вхідні регістри Ргі і Рг2, та поступають на входи АЛП через мультиплексори МП1 і МП2, які керуються сигналами Y1 та Y2. Після цього в АЛП виконується задана операція, тип якої задається кодом операції. Результат операції поступає на вихід АЛП та записується у вихідний регістр РгЗ. З виходу вказаного регістра результат поступає в регістровий файл процесора, а крім того, якщо він потрібний для виконання наступної операції, він поступає через мультиплексори МП1 або МП2 на один з входів АЛП, що здійснюється шляхом подання відповідних значень керуючих сигналів находи мультиплексорів.
247
В сучасних комп'ютерах АЛП є багатоблоковими. В них окремі групи операцій над кожним типом операндів виконуються окремими блоками, які називаються операційними пристроями. Це дозволяє підвищити продуктивність АЛП за рахунок паралельного виконання операцій. Узагальнена структура АЛП сучасного комп'ютера представлена на рис. 7.8.
До складу АЛП, крім вищеописаного пристрою для виконання елементарних операцій, входять п операційних пристроїв ОП1, ОП2,..., ОПп, які виконують складні операції. Кількість п цих пристроїв та їх функції визначаються конструкторами комп'ютера залежно від сфери його використання. Входи та виходи операційних пристроїв АЛП підключаються до його інформаційних входів та виходів за допомогою комутуючих мереж, якими керує код виконуваної операції. Цим же кодом вибирається тип виконуваної операції в пристрої для виконання елементарних операцій та в операційному пристрої, якщо він може виконувати декілька операцій.
248
Як приклад АЛП реального комп'ютера, на рис. 7.9 представлено АЛП програмованого процесора NIOS 2.0 фірми Altera. Як бачимо, цей АЛП має наступні блоки: два вхідних регістри RA та RB, два двовходових мультиплексори для подачі даних на обробку або з вхідних регістрів, або з вихідного регістра, операційні пристрої - арифметичний, логічний, зсуву та виділення байтів і слів, а також вихідний мультиплексор, необхідний для підключення до входу вихідного регістра виходу відповідного операційного пристрою, і сам вихідний регістр.
Ще більшу кількість паралельних блоків мають АЛП процесорів UltraSPARC фірми Sun Microsystems та PA-8Q0Q фіріми Huwlett-Packard, структури яких наведено на рис. 7Л0а та рис. 7.10b відповідно.
АЛП процесора UltraSPARC фірми Sun Microsystems має два блоки для виконання елементарних операцій над цілими числами (АШ1 та ALU2), перемножувач та поділь-
249
ник чисел з фіксованою комою (MUL, DIV), два АЛП для обробки даних з рухомою комою (БАШО та БАШІ). АЛП процесора UltraSPARC може виконувати до чотирьох операцій за один такт.
Процесор РА-8000 фірми Huwlett-Packard є суперскалярним процесором з невпо-рядкованим виконанням команд, який може виконувати до чотирьох команд за один такт. Його АЛП включає по два наступних блоки (длоки, розміщені зверху донизу на рис. 7.10b): 64-розрядне АЛП для виконання елементарних операцій над цілочисловими даними, операційний пристрій зсуву та сортування, операційний пристрій множення та накопичення, операційний пристрій ділення та добування квадратного кореня.
Функції пристрою для виконання елементарних операцій раніше було розглянуто. Розглянемо далі організацію роботи операційних пристроїв.
7.8. Типи операційних пристроїв
Залежно від принципів побудови можна провести наступну класифікацію операційних пристроїв:
■ Табличні
операційні пристрої - операційні
пристрої, в яких значення результа
ту
шукається за адресою, рівною значенню
операнда, в наперед сформованій таблиці,
в
ролі
якої використовується пам'ять.
" Алгоритмічні операційні пристрої - операційні пристрої, в яких задана операція виконується шляхом апаратної реалізації алгоритму цієї операції.
■ Таблично-алгоритмічні
операційні пристрої - стиснута в таблиці
(пам'яті) інфор
мація відновлюється
шляхом виконання елементарних та
складних операцій.
Під апаратною реалізацією алгоритму розуміється його виконання без участі програміста (програми, яка зчитується з основної пам'яті). При цьому алгоритмічні та таблично-алгоритмічні операційні пристрої в свою чергу діляться на:
■ Багатотактові
операційні пристрої - операційні
пристрої, в яких задана операція
виконується
шляхом послідовного потактового
виконання функціональних операторів
алгоритму
цієї операції. Потактове виконання
операцій в таких пристроях задається
мі-
кропрограмою, яка складається з
мікрокоманд, що виконують елементарні
операції.
* Однотактові операційні пристрої - операційні пристрої, в яких апаратно відображається граф виконуваного алгоритму і задана операція виконується шляхом одноразового проходження даних через операційні вузли, які виконують функціональні оператори алгоритму цієї операції. Виходячи з принципів побудови, такі пристрої можна назвати граф-алгоритмічними операційними пристроями.
■ Конвеєрні
операційні пристрої - операційні
пристрої, в яких апаратно відобража
ється
потоковий граф виконуваного алгоритму
з розділенням ярусів графа
регістрами.
Виходячи з принципів
побудови, такі пристрої можна назвати
конвеєрними граф-алго
ритмічними
операційними пристроями.
Розглянемо спочатку будову та особливості найпростіших з названих табличних операційних пристроїв, далі принципи побудови багатотактових, однотактових, та конвеєрних операційних пристроїв, основні ідеї, закладені в таблично-алгоритмічних операційних пристроях, а після цього питання організації роботи операційних пристроїв, побудованих за принципами приведеної вище класифікації, для виконання конкретних операцій.
250
7.9. Табличний операційний пристрій
Наявність на ринку швидкодіючих широкорозрядних пристроїв напівпровідникової пам'яті великого об'єму в інтегральному виконанні, та можливість розміщення такої пам'яті на кристалі разом з процесором, зробили реальним (при невисоких вимогах до точності), використання табличного методу виконання операцій. За цим методом значення результату шукається в наперед сформованій таблиці, в ролі якої використовується пам'ять, за адресою, рівною значенню операнда.
Розглянемо принцип формування таблиці на прикладі виконання операції Y=X2. В табл. 7.2 наведені двійкові коди значень операндів X, які одночасно є адресами, та значень операндів Y, які є вмістом відповідних комірок пам'яті.
Таблиця 7.2
Двійкове значення X (адреса) |
Двійкове значення X (вміст комірок пам'яті) |
000 |
000000 |
001 |
000001 |
010 |
000100 |
011 |
001001 |
100 |
010000 |
101 |
011001 |
110 |
100100 |
111 |
110001 |
Тут розрядності X та Y вибрані рівними відповідно 3 та 6 бітам.
Запис у пам'ять необхідної інформації може здійснюватися або розроблювачем цифрового пристрою при використанні оперативних та перепрограмовних постійних запам'ятовуючих пристроїв (ОЗП та ПГТЗП), або виготовлювачем замовних ПЗП. Важливим при цьому є те, що виробництво замовних ПЗП не вимагає від виготовлювача тих великих витрат, з якими звичайно зв'язана розробка і виробництво спеціалізованих НВІС, тому що зводиться до виключення частини елементів заздалегідь розробленої топології типової НВІС. При використанні перепрограмовних ПЗП, що допускають електричний перезапис збереженої інформації, з'являється можливість зміни виконуваних пристроєм функцій без зміни його структури.
Структура табличного операційного пристрою показана на рис. 7.11.