ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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 даних.