ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6852
Скачиваний: 22
241
n2i більше. Тобто, при використанні цього способу АЛП характеризується малою швидкодією. Разом з тим, він знаходить досить широке застосування при проектуванні малогабаритних комп'ютерів завдяки малим витратам обладнання на побудову таких АЛП.
В паралельних АЛП операції виконуються одночасно над всіма розрядами операн-дів, як це показано на рис. 7.3.
Тут на вході АЛП є регістри Рг1 та Рг2, з яких дані паралельно поступають на обробку. Результат також паралельно поступає в вихідний регістр РгЗ. Оскільки обробка здійснюється паралельно, вона виконується протягом лише одного такту незалежно від розрядності операндів. Тобто АЛП з паралельним способом обробки даних характеризується високою швидкодією, що і є причиною його широкого використання. Разом з тим, такий АЛП характеризується великими витратами обладнання на його побудову.
Послідовно-паралельний спосіб обробки даних є проміжним стосовно швидкодії та затрат обладнання в порівнянні з вище розглянутими послідовним та паралельним способами. Тут одне з вхідних даних може поступати на обробку в АЛП паралельно, а інше послідовно з видачею проміжного результату в паралельному коді, як це показано на рис. 7.4 а, або вхідні дані можуть поступати в АЛП групами по k і m розрядів, як це показано на рис. 7.4 b, та подаватись в вихідний регістр паралельно, або також групами.
7.3. Елементарні операції арифметико-логічного пристрою
Складні операції в АЛП реалізуються як послідовність елементарних, тому АЛП будується на основі комбінаційних схем КС, які виконують елементарні операції. До типових елементарних операцій належать:
■ зсув - зміщення кодів, які зберігаються в регістрі, вліво або вправо на задане число розрядів;
242
■ додавання до слова 1 або -1 - операція рахунку;
-
дешифрування перетворення слів в сигнали (однорядний код);
-
шифрування перетворення однорядного коду в двійковий;
-
порівняння визначення відношення старшинства двох слів або їх рівності
-
порозрядне доповнення формування оберненого коду;
-
порозрядне логічне множення і додавання двох слів " порозрядне додавання двох слів по модулю;
-
сума двох чисел
Елементарні операції є основою для виконання більш складних операцій процесора. Алгоритми виконання цих операцій представляються як послідовність елементарних, які називаються мікрокомандами, а набір мікрокоманд мікропрограмами Більше того, в більшості сучасних комп'ютерів елементарні операції входять до складу їх системи команд, не дивлячись на наявність в складі системи команд складних операцій, які вимагають виконання великої кількості елементарних, наприклад операцій компресії даних, шифрування даних і т. д. Це пояснюється двома причинами: наявність в складі системи команд комп'ютера команд виконання елементарних операцій забезпечує його універсальність, і, крім того, ці операції виконуються гранично швидко, що дозволяє досягти високих тактових частот роботи процесора
На основі комбінаційних схем для виконання вищеназваних елементарних операцій синтезуються вузли АЛП для виконання складних операцій, що буде показано далі
Арифметико логічний пристрій для виконання елементарних операцій наявний в кожному універсальному комп'ютері Розглянемо побудову стандартного 4-розрядного АЛП, функціональне позначення та входи виходи якого показано на рис. 7.5. Інтерфейс АЛП включає дві вхідних (А і В) та одну вихідну 4-розрядні шини даних. Дані з вхідних шин обробляються в АЛП відповідно до значення двійкового коду на входах керування М та S0-S3. Результат обробки поступає на вихідну шину F.
Для нарощування розрядності такі АЛП об'єднуються шляхом відповідного з'єднання входів переносу С. та С . Основою АЛП служить суматор, що виконує операцію додавання двох чисел, схема якого доповнюється відповідними логічними елементами для розширення функцій та забезпечення переключення з однієї операції на іншу. Вхід
243
M (mode) задає тип виконуваної операції: логічна (М=1) чи арифметико-логічна (М=0). Виходи G і Н задають функції генерації і прозорості, які використовуються для організації паралельних переносів при нарощуванні розрядності АЛП з використанням схем прискореного переносу. Вихід А=В є виходом порівняння кодів А та В на збіжність. Перелік операцій, виконуваних описаним АЛП, приведено в табл. 7.1.
В таблиці прийняті наступні позначення: OR - операція диз'юнкції, AND - операція кон'юнкції, XOR - операція нерівнозначності,"+" - операція додавання,"-" - операція віднімання. Позначенням 1 та 0 в таблиці відповідають двійкові коди відповідно 1111 та 0000. Вхідний перенос поступає в молодший розряд слова, тобто до слова додається код 000С.
7.4. Складні операції арифметико-логічного пристрою
Крім вище перерахованих елементарних операцій, в АЛП виконується велика кількість складних операцій, тобто таких, які реалізуються на основі елементарних. Можна виділити наступний перелік складних операцій АЛП, сформований на основі аналізу системи команд сучасних комп'ютерів:
-
логічні операції (логічне множення, логічне додавання, інверсія і т. д.) над двійковими числами;
-
операції зсуву (вправо, вліво) на задану кількість розрядів, причому в одному такті зсув може бути здійснено як на один розряд, так і на декілька розрядів;
-
арифметичні операції (додавання, віднімання, множення та ділення) над двійковими числами;
-
операції відношення: менше, більше, рівне, менше-рівне, більше-рівне;
-
операції обчислення елементарних функцій типу ехр X, ln X, Sin X, Cos X, Sh X, Ch X, піднесення до степеня Аm; arctg y/x;
-
операції обробки символів та рядків символів.
244
Потрібно відзначити, що розглянуті в розділі 4 операції перетворення даних (перетворення із формату з фіксованою в формат з рухомою комою і навпаки, перетворення з двійково-десяткового коду в двійковий та навпаки і т. д.), так само як операції реорганізації масивів і визначення їх параметрів: сортування, пошук максимуму або мінімуму, вибір заданого масиву, зсув елементів масиву, стиск масиву, а також операції пошуку символу, зсув, заміна символів в рядку, пакування рядків символів, порівняння рядків символів виконуються в процесорі на основі елементарних та основних арифметичних і логічних операцій. Разом з тим, в останніх комп'ютерах з метою підвищення продуктивності та в зв'язку з широким використанням засобів телекомунікацій та мультимедіа до складу АЛП вводяться окремі блоки для виконання вищеназваних складних операцій, а також операцій типу кодування, компресії, шифрування даних і т. д.
Розглянемо питання реалізації в АЛП складних операцій більш детально.
7.5. Використання графа алгоритму при побудові арифметико-логічного пристрою
Щоб виявити ефективні підходи до реалізації алгоритму виконання складної операції в АЛП, необхідно представити його в формі, яка розкриває його базові обчислювальні та структурні характеристики. Обчислювальні характеристики описуються повним набором функціональних операторів алгоритму і відповідними їм обчислювальними затримками. Структурні характеристики описуються зв'язками між функціональними операторами алгоритму і 'їх взаємозалежністю.
Однією із можливих форм представлення алгоритму є графічна. На рис. 7.6а представлений граф деякого алгоритму.
Кожна вершина графа представляє функціональний оператор алгоритму, кожна дуга - зв'язок між функціональними операторами. Вершина, яка відповідає функціональному оператору Фі, з'єднується з вершиною, яка відповідає функціональному оператору
245
Фj, тільки в тому випадку, коли результат, одержаний після виконання оператора Фі, є одним із аргументів для оператора Фj. Описана графічна форма представлення алгоритму дозволяє оцінити його обчислювальні характеристики, тому широко використовується при синтезі АЛП.
Представлення графа алгоритму в такому вигляді не дозволяє в повній мірі оцінити його структурні характеристики, а значить і можливості його розпаралелення та способи апаратурної реалізації.
Виявити в алгоритмі паралелізм і навіть керувати ним, забезпечуючи тим самим можливість знаходження компромісних просторово-часових співвідношень, що є головним при виборі структури обчислювального пристрою, дозволяє представлення графа алгоритму в потоковій (ярусно-паралельній) формі. Таке представлення графа означає розділення всіх його вершин по ярусах таким чином, що в і-му ярусі розміщені тільки функціональні оператори, які залежать хоча б від одного функціонального оператора (і-І)-го яруса і не залежать від функціональних операторів, які не входять в яруси з меншими ніж і номерами. Всередині яруса функціональні оператори між собою не мають з'єднань. Описаний граф називають потоковим графом (ПГ) алгоритму. На рис. 7.6b представлено ПГ раніше розглянутого алгоритму, де штриховими лініями розділені яруси графа.
ПГ алгоритму характеризується набором функціональних операторів Фі] (і=1, 2,...,Р; j=l,2,...,Li), де і - номер яруса, Р - кількість ярусів, j - номер функціонального оператора в ярусі, Li - їх кількість в ярусі, а також набором каналів Kij зв'язку між функціональними операторами.
При розгляді питань проектування пристрою для виконання деякого алгоритму у вигляді надвеликої інтегральної схеми (НВІС), використовують його конкретизований потоковий граф. В конкретизованому потоковому графі алгоритму всі функціональні оператори входять до бібліотеки функціональних елементів НВІС, на- базі якої реалізується алгоритм. Тобто кожному функціональному оператору алгоритму може бути поставленигї у відповідність як мінімум один функціональний елемент із бібліотеки функціональних елементів НВІС. Таке представлення алгоритму забезпечує можливість пошуку найефективнішого варіанту його апаратурної реалізації.
7.6. Виконання складних операцій в арифметико-логічному пристрої
Виконання деякої операції можна здійснити цілим рядом способів, для яких характерна єдина семантична основа, що визначається графом алгоритму цієї операції, тобто одні і ті ж операції можуть виконуватися по різному та з різним ступенем розпаралелювання.
Якщо використовувати для виконання графа алгоритму багатофункціональний АЛП, який виконує елементарні операції, наприклад, відповідно до табл. 7.1, то це потребує перетворення всіх процесів, які підлягають виконанню за даним алгоритмом, в послідовну процедуру переробки і передачі інформації. Більш того, значна частина функціональних операторів алгоритму реалізується в такому АЛП з використанням достатньо великого числа елементарних операцій. Разом з цим, просторова передача інформації між вершинами графа повинна бути перетворена в послідовну в часі передачу інформації між АЛП і основною пам'яттю або регістрами процесора. Таким чином, послідовно-паралельний процес виконання алгоритму згідно з його графом, що має просторову структуру, перетвориться в