Солонина А., Улахович Д. Алгоритмы и процессоры цифровой обработки сигналов (2002) (1095891), страница 37
Текст из файла (страница 37)
Когда значение старшего МЬВ-бита младшего )5Р-слова аккумулятора равно 1 (находится точно на границе между двумя ближайшими), результат округления зависит ог значения округляемой позиции. Если оно равно ! (рис. 4.8, г), происходит округление с избытком, если же оно равно О (рис. 4.8, д) — округление с недостатком. Выполняемая процелура случайного округления приволнт к равновероятному округлению с избытком и с недостатком. Метод назывостя округлением до ближайшего четного потому, )то округленное число всегда будет четным (округляелтая позиция всегда равна О). Искчюченпе систематической ошибки округления означает, что вычисления будут сходиться к правильному результату, поэтому метод округлснвя до ближайшего . Четного часто называют сходяшнмся или канпергентнььи.
Этот метод округления применяется в процессорах фирм Апа!ой Пегйсег и , Мо!ого!а. 4.2. Операции над данными в ЦПОС с плавающей точкой Процессорами с ПТ поддерживается два типа числснных данных — с ФТ и ' ПТ; операции нал данными с ФТ рассмотрены выше, поэтому далее обсуж- даются только особенности операций над данными с ПТ. 4 2.1. умножители В отличие от умножения данных с ФТ, где результат представлен точно, операция умножения данных с ПТ, как правило, пРиводит к потере точпо- Алгоритмы и процессоры цифровой обработки сигналов 191 Глава 4. Операции над данными сти результата.
Это объясняется тем, что в формате "расширенное слово", в котором представляется результат умножения„на длину мантиссы отведено не (2л — 1) битов, как положено для точного результата, а меньше. Например, в процессорах РКР9600х для вычисления точного результата требуется на мантиссу результата умножения отвести 47 битов, в то время как в действительности, на нее отведено только 32 бита (см. главу 3). Тем не менее, обеспечиваемой точности вполне достаточно для реализации большинства алгоритмов НОС. В противном случае существует возможность обработки данных с удвоенной точностью. 4.2.2. Арифметико-логические устройства Архитектура АЛУ в процессорах с ПТ значительно сложнее, чем в процессорах с ФТ. В АЛУ над данными с ПТ выполняются все арифметические операции (кроме умножения), операции преобразования данных, представленных в форме с ПТ, в форму с ФТ и наоборот, а также некоторые специальные операции (табл.
4.1). таблица 4.1. Примеры некоторых специальных операций в процессорах с ПТ Описании Операх(ин Оценка обратной величины Оценка обратной величины 11х — ее приближенное значение; может выбираться в качестве начальной точки при вычисле- нии уточненного значения 1/х методом итераций Оценка значения квадратного корня Оценка значения квадратного карня чх — его приближенное значение; может выбираться в качестве начальной точки при вычислении уточненного значения чх методом итераций Сложение с вычитанием Одновременное вычисление суммы и разности двух величин с сохранением результатов в двух регистрах АЛУ процессоров с ПТ не поллерживает выполнение логических операций и операций бит-манипуляций над данными с ПТ Зги операции могут вы- полняться только с данными, представленными с ФТ.
4.2.3. Сдвигатели В архитектуре процессоров с ПТ для обработки данных с ПТ также преду- смотрены сдвигатели. Они выполняют сдвиги вправо/влево мантиссы ре- зультата для представления его в нормализованном виде (ои. главу 37. Работа подобных сдвигателсй скрыта от пользователя. 4.2.4. Округление данных с плавающей точкой Результаты арифметических операций в процессорах с ПТ автоматически округляются для представдения в формате расширенного слова БЕР или слова ЗР. Согласно стандарту 1ЕЕЕ 754 используются следующие четыре режима округления: С) до ближайшего четного: Д в направлении нуля; Д в направлении —; Д в направлении+ Режим округления определяется состоянием битов режима округления, установка которых, в свою очередь, производится в соответствии с правилами выполнения конкретной команды независимо от пользователя.
Рассмотрим округление чисел с ПТ в каждол1 из режимов, предполагая, что округляемое значение не выходит эа границы диапазона представления в заданном формате, в противном случае имеет место пергивлмение, которое, вместе с другими особыми случаями, обсуждается ниже. Структура форматов слов 5ЕР и БР, в частности, длины мантиссы для этих форматов приведены на рис. 3.26.
Во всех четырех режимах производится округление занглиссы. Лля того, чтобы понять механизм округления в каждом нэ режимов, достаточно его показать на простых примерах округления не двоичной, а десятичной мантиссы до одной значащей десятичной цифры после запятой. В режиме округления до близггайшегв четного мантисса преобраэуетсн цо правилам округления данных с ФТ, а именно, десятичные мантиссы 1.65 и 1,75 автоматически округлятся до 1,6 и 1,8 соответственно. Режим округления в направлении нуля тождесгвенен усечению мантиссы. Мантиссы 1,65, 1,75 и — 1,65 будут усечены до 1,6, 1,7 и -1,6 соответственно. Округленные значения являются для этих чисел ближайшими к нулю.
В Режиме округления в направлении — мантиссы положительных чисел усекаются, а отрицательных — округляются до ближайшего. Например, мантисса 1,65 округлится до 1,6, а мантисса — 1,65 до -1,7. Округленные значения являются длн этих чисел ближайшими к -ээ. В Режиме округления в направлении +<э наоборот, мантиссы отрицательных "исел усекаются, а положительных — округляются до ближайшего. Например, мантисса 1,65 округлитсн до 1,7, а мантисса -1,65 до -1,6. Округленные значения являются для этих чисел ближайшими к +ээ. 194 Глава 5 Адресация Рб бр п-т Слово расюирения Рис. 6.1. Формат команды Апгорипиы и процессоры циСЬрояой об аботни ситноное для точного представления требуется ллина мантиссы значительно больша о бльшая Результат округляется до нуля (независимо от режима округления).
В реги сос стре таяния одновременно устанавливаются биты поте сти и потери точности. потери значимо- Пример 2. Результат умножения двоичных нормализованных чисел (1,О1. 2 сзл) (1 00. 2 гг) = 1,01 2 '4Р =(0,101 2 гз) 2 ~ге является также беск онечно малым и представляется как ненормал число. Его значение можно представить в ф мате ЗР, енормализованное будет неточным (ок гле в армате , однако это значение удет неточным (округленнылс) из-за недостаточной длины манти (24 бссы и- числа равно р .
Неточное (округленное) значение напор ал м изован ного О,ОООООООООООООООООООООО! 2 'гл. Так же, как в приме 1, в г ре, ре истре состояния олновременно устанавливаются биты потери значимости н потери точности. П им 3. р ер . Результат умножения двоичных нормализованных чисел (1,01 2 гл') (1,00. 2 г) = 1,01 2 ыг = (0,101 2 л) 2 'гь О является бесконечно малым и и е а р дст вляется как ненормализованное числа. днако его значение, равное 0,000000!01 2-!гл можно представить в фо В этом сл ае не в формате БР точно, как ненорлсализованн уч т выполнения двух указанных выше условий и . ° б ое число. поте и значи и, поэтому иты р мости и потери точности не устанавливаются.
бита в гис с Особый случай потеря точности отображается устои я установкои соответствующего ига в регистре состояния, если выдается неточнын (округленный) результат. Результаты апе ций в сслсо ра ра тренных примерах могут быть представлены точно в форлсате БЕР если о он поддерживается соответствующей командой. Команда, предназначенная для выполнения операции над данными, содержит кад операции и указание на операнды (исходные данные и результат), : т(дреспцией называется обращение к операнду, указание на который содержится в команде, Операнды, в зависимости от места своего хранения, могут указываться разными способами, которым соответствуют разные типы адресации„или, коротко, разные адресации. В данной главе рассматриваются основные типы адресаций.
Предварительно определим понятие формата команды. Команды размещаются в и-разрялных ячейках памяти программ, их содержимое отображается словами длины н. Различные источники трактуют термин "формат команды" па-разному. В частности, в руководствах пользователя по процессоралт фирмы Апа1ая 1)еч)сел пол этим подразумевают структуру слова команд, а в руководствах по процессорам фирмы Магога)а форматом команды считают ее ассемблерный синтаксис. При описании команд процессоров фирмы Техаз 1пзсгцптепсз термин "формат команды", как правило, не используется. Определим формат команды аналогично формату данных.
сйогзттт комтнды связан с разрядностью ячеек памяти программ, в которых хранятся команды; он определяет возможную длину команды в процессоре. Формат команлы (рис. 5.1) в общем случае представляет собой два слова одинаковой длины и, соответствующие двум соседним н-разрядным ячейкам памяти программ. Первое слово формата будем называть словом компнды (его также называют словом операции), второе — словам рпсширения.