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

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

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

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

Добавлен: 24.12.2021

Просмотров: 6836

Скачиваний: 22

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

275

Параметр р управляє подачею на суматор-віднімач СВЗ констант Сi. Параметр fi управляє суматорами-віднімачами, поступаючи із знакового розряду Yi, або Zi через ко­мутатор КМ1 залежно від коду операції R.

Включивши послідовно n таких пристроїв, де n - кількість ітерацій, одержимо кон­веєрний операційний пристрій виконання алгоритму "цифра за цифрою" (рис. 7.39b). Якщо з описаного пристрою видалити конвеєрні регістри, отримаємо однотактовий операційний пристрій виконання алгоритму "цифра за цифрою".

7.13.5. Пристрої для виконання арифметичних операцій над числами з рухомою комою

7.13.5.1. Пристрої додавання і віднімання чисел з рухомою комою

Як відомо, формат з рухомою комою передбачає наявність двох частин числа - по­рядку (Р) та мантиси (М). Числа представляються у вигляді X = Мх2Рх, Y = Му2ру.

При виконанні додавання та віднімання порядки операндів вирівнюються, а мантиси додаються. Порядки вирівнюються збільшенням порядку меншого операнду до значення порядку більшого операнду. Цей порядок є порядком результату. Щоб при вирівнюванні порядків величина операнда не змінювалася, його мантиса одночасно зменшується. Піс­ля виконання вирівнювання порядків виникають додаткові молодші розряди мантиси, які до, або після додавання, відкидаються або заокруглюються.

Блок-схема додавання та віднімання двійкових чисел з рухомою комою наведена на рис. 7.40.

Детальніший розпис алгоритму додавання та віднімання двійкових чисел з рухомою комою наведено нижче, а структура однотактового операційного пристрою додавання та віднімання двійкових чисел з рухомою комою наведена на рис. 7.41. Послідовність кроків алгоритму та відповідні їм вузли пристрою є наступними:


276

  • Віднімання порядків чисел з метою знаходження їх різниці та визначення, яке з двох чисел є більшим, а яке меншим, для чого в схемі використано віднімач.

  • Зсув праворуч мантиси числа, яке має менший порядок. Для цього знак з віднімача керує мультиплексорами, які пропускають на вхід схеми зсуву відповідну мантису.

  • Додавання іншої мантиси до зсунутої, яке виконується на суматорі.

  • Визначення кількості нулів в старших розрядах отриманої суми з метою визна­чення кількості розрядів зсуву при нормалізації, для чого в пристрій введена відповідна схема.

  • Зсув на схемі зсуву цієї суми вліво на кількість розрядів, рівну кількості нулів в її старших розрядах.

  • Віднімання від більшого порядку числа, рівного кількості нулів в старших розрядах отриманої суми, тобто коригування порядку.

Рис. 7.41. Структура однотактового операційного пристрою додавання та віднімання двійкових чисел з рухомою комою

При необхідності представлений на рис. 7.41 операційний пристрій додавання та віднімання двійкових чисел з рухомою комою може бути конвеєризований шляхом вве­дення конвеєрних регістрів між його ярусами.

7.13.5.2. Пристрої множення та ділення чисел з рухомою комою

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


277

Операції множення та ділення чисел з рухомою комою описуються відповідно ви­разами:

Z = М Y 2 рх. М v 2py = М x M y 2 (Px+Py

X Y X Y

Z = X/Y = Мх 2 Рх / М Y 2 рy = М х Y 2 Px-Py Блок-схеми виконання цих виразів представлено відповідно на рис. 7.42 а) та b).

7.14. Таблично-алгоритмічні операційні пристрої

Арифметичні операції в таблично-алгоритмічних операційних пристроях необхідні для обчислення поправки. Ці обчислення можуть базуватися на використанні різних методів, таких як: дробово-раціональні наближення, ітераційні процеси, розкладання в ряди, наближення поліномами, ланцюговими дробами і т. д. При обчисленні таблич­но-алгоритмічним методом аргумент звичайно розбивається на дві частини. Розбивка аргументу на більшу кількість частин при неконвеєрній реалізації нераціональна через значну кількість додаткових операцій. При конвеєрній же реалізації така розбивка в ряді випадків може виявитися вигідною.

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

Основною проблемою при синтезі таблично-алгоритмічних операційних пристроїв є вибір із всіх існуючих методів обчислення даної функції чи набору функцій найбільш ефективного і визначення оптимальних співвідношень між об'мом ПЗП і витратами об­ладнання на арифметичну частину при забезпеченні потрібної продуктивності.


278

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

Розглянемо принципи побудови таблично-алгоритмічних операційних пристроїв з використанням часткового підходу при обчисленні поправки на прикладі реалізації тригонометричних функцій.

Розбивши аргумент на дві частини Х=Х1+Х2, утворені його старшими і молодшими розрядами, і скориставшись відомими співвідношеннями:

Sin(Xl+X2)=SinXl CosX2+CosXl SinX2;

Cos(Xl+X2)=CosXlCosX2-SinXlSinX2,

можна значно скоротити об'єм ПЗП в порівнянні з табличним методом. Структура одно-тактового операційного пристрою, який реалізує наведений алгоритм, показана на рис. 7.43.

Якщо прийняти, що XI - ціле число градусів з дискретністю 1, а Х2 - дробове числс градусів, з дискретністю 0,01, то неважко підрахувати, що таблиці, котрі зберігають SinXl і CosXl, будуть містити по 90 15-розрядних слів, а таблиці, що зберігають SinX2 і CosXI - по 1000 15-розрядних слів. Загальний об'єм ПЗП складе 5700 бітів, що в 24 рази менше, ніж при обчисленні табличним методом. В якості ПЗП з уже прошитими значеннями три­гонометричних функцій можна використати мікросхеми ДО505РЕ30068-ДО505РЕ30007: ємністю 4 Кбіти кожна. Перші дві мікросхеми містять 8 старших розрядів 512 значень функції SinX у діапазоні 0...П/4, а дві інші мікросхеми містять значення цієї функції в діапазоні П /4... П/2.

Ввівши конвеєрні регістри, включаючи і в перемножувачах ПМ, які також можна пс -будувати за конвеєрним принципом, можна підвищити продуктивність описаного при­строю. Зрозуміло, що зменшивши (об'єми таблиць, тут збільшені затрати обладнання на операційну частину, тобто введені чотири перемножувачі та суматор і віднімач.


279

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

Нехай обробці підлягають нормалізовані числа, представлені у форматі з фіксованою комою. Обчислення елементарних функцій будемо робити на основі методу сегментної апроксимації, відповідно до якого діапазон зміни аргументу [0,5;1] розбивається на ін­тервали з наступним наближенням функції на кожнім інтервалі за допомогою виразу Y = F(X) = А + W (X + В)2. Константи А та В вибираються з умови мінімізації абсолютної похибки, а константа W вибирається рівною ступеню числа 2 (основа системи числен­ня), що дозволяє замінити операцію множення операцією зсуву. На різних інтервалах константи мають різні значення. Кількість інтервалів також визначається з умови міні­мізації абсолютної похибки, причому границі інтервалів визначаються k старшими двій­ковими розрядами аргументу, що полегшує здійснення адресації пам'яті, в яку записані константи. Структура однотактового операційного пристрою, який реалізує наведений вираз, показана на рис. 7.44.

Для реалізації описаного необхідно три блоки постійної пам'яті для збереження ко­ефіцієнтів, схему зсуву і два суматори. Для 12-ти розрядних операндів загальний об'єм ПЗП складає 8960 бітів. Константи A,B,W обчислюють з тим, щоб забезпечити задану точність обчислення. Вихідними даними для реалізації алгоритму розрахунку коефіці­єнтів є: реалізована функція, величина інтервалу зміни аргументу, розрядність функції й аргументу. Після обчислення отримують наступні величини: сумарний об'єм ПЗП, число підінтервалів зміни аргументу, число розрядів, необхідних для кодування номера підінтервалу, значення констант A,B,W. У табл. 7.6 як приклад наведені значення кон­стант, границі підінтервалів і абсолютна похибка обчислень m при обчисленні функції І/Х. Пристрій, що реалізує формулу y=A+W(X+B)2 є багатофункціональним. Для різних функцій константи мають різні значення. Включення конвеєра команд дозволяє обчис­лювати на такому пристрої одночасно k функції від k даних.