Файл: Мельник А. Архітектура комп\'ютера.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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, то це потре­бує перетворення всіх процесів, які підлягають виконанню за даним алгоритмом, в послі­довну процедуру переробки і передачі інформації. Більш того, значна частина функціональ­них операторів алгоритму реалізується в такому АЛП з використанням достатньо великого числа елементарних операцій. Разом з цим, просторова передача інформації між вершинами графа повинна бути перетворена в послідовну в часі передачу інформації між АЛП і осно­вною пам'яттю або регістрами процесора. Таким чином, послідовно-паралельний процес виконання алгоритму згідно з його графом, що має просторову структуру, перетвориться в