Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Представление данных.doc
Скачиваний:
45
Добавлен:
16.04.2015
Размер:
713.73 Кб
Скачать

3.9. Сравнение цпос с фиксированной и плавающей точками

Кроме преимуществ по динамическому диапазону и точности представления данных с ПТ, одним из важнейших достоинств ЦПОС с ПТ является естест­венность представления данных. Все это существенно облегчает работу про-'граммиста, позволяя ему в большинстве случаев не задумываться о проблемах: D масштабирования данных; О их неоднозначной трактовки; D переполнения.

Вместе с тем, архитектура ЦПОС с ПТ значительно сложнее, вследствие чего они, как правило, имеют большие размеры кристалла и стоимость. При выборе ЦПОС с точки зрения представления данных пользователь должен принимать во внимание:

О область его конкретного применения, в частности, требования к динами­ческому диапазону сигналов и точности их обработки;

D специфику программирования конкретных алгоритмов ЦОС, в частно­сти, наличие большого объема вычислительных процедур с вероятностью выхода за границы возможного диапазона представления чисел (пере­полнения) и необходимостью масштабирования промежуточных данных во многих точках программы;

О ограничения на габариты кристалла.

При выборе типа процессора (с ФП или с ПТ) не следует забывать о способах повышения точности в процессорах с ФТ, если снижение скорости обработки останется в рамках заданных требований (дополнительно см. главу 9).

3.10. Организация обработки данных с плавающей точкой в цпос с фт

Кроме рассмотренного выше способа увеличения динамического диапазона и точности представления данных в ЦПОС с ФТ (см. разд. 3.7.12) можно моделировать представление чисел и арифметику с ПТ.

При моделировании формы представления с ПТ для хранения числа требу­ется два слова — одно для мантиссы, другое — для порядка. Как будет пока­зано далее, форма с ПТ может повысить динамический диапазон и точность представления результатов операций, получаемых в формате "двойное слово" либо "расширенное слово", при их сохранении в памяти данных в формате "слово". Платой за это является увеличение вдвое требуемого объема памяти данных.

В архитектуре процессоров предусмотрены специальные операции, позво­ляющие моделировать форму представления чисел с ПТ:

П нормализация числа;

П выделение порядка для блока чисел.

Рассмотрим эффективность представления с ПТ при выполнении этих опе­раций.

Нормализация применяется для представления вещественных чисел в форме с ПТ в нормализованном виде. В ЦПОС с ФТ независимо от типа арифмети­ки (целочисленная или дробная) при выполнении нормализации число сле­дует трактовать как вещественное-. Дробное двоичное число с ФТ в прямом коде считается нормализованным, а первая значащая цифра после запятой отлична от 0. Так как ЦПОС с ФТ оперирует с числами в дополнительно! коде, признаком их нормализованного вида будет первая цифра дробно! части, равная:

П 1 — для положительного числа; ПО — для отрицательного числа.

Отсюда легко формулируется правило, по которому определяют, является двоичное число в дополнительном коде нормализованным: число нормал! зовано, если значения знакового и старшего значащего битов не совпадают!

В табл. 3.12 приведены: исходные числа в форме с ФТ в формате "двоим слово" (длиной 8 битов) и они же, сохраняемые в формате "слово" (длиной бита) в двух вариантах: в первом — в форме с ФТ, во втором — с ПТ. видно из этих примеров, эффект увеличения динамического диапазона] точности при переходе к форме с ПТ достигается, когда исходное двоичное число не было уже нормализованным.

Таблица 3.12. Нормализованные и ненормализованные двоичные числа!

Двоичное число с ФТ

Нормализованное число с ПТ

Эффективность представления с ПТ (есть/нет) ]

Формат

Двойное слово (8 битов)

Слово (4 бита)

Слово (4 бита) (мантисса + знак)

0,0000101

0,000

0,101 -2~4

Есть |

0,0010011

0,001

о.юо • г~2

Есть 1

0,0011101

0,001

0,111 • 2~2

Есть 1

0,0001111

0,000

0,111 • 2~3

Есть 1

1,1100110

1,110

1,001 -2~2

Есть Я

Таблица 3.12 (окончание)

Двоичное число с ФТ

Нормализованное число с ПТ

Эффективность представления с ПТ (есть/нет)

Формат

Двойное слово (8 битов)

Слово (4 бита)

Слово (4 бита) (мантисса + знак)

1,1111000

1,111

1 ,000 • 2~4

Есть

1,1110101

1,111

1,010 -2~3

Есть

1,1101010

1,110

1,010-2~2

Есть

0,1010101

0,101

0,101 -2е-

Нет

0,1110011

0,111

0,111 '2°

Нет

1,0011010

1,001

1,001 • 2°

Нет

1,0110011

1,011 .

1,011 -2°

Нет

Для нормализации чисел в процессорах с ФТ предусмотрена команда norm, в соответствии с которой производятся необходимые сдвиги числа влево с одновременным запоминанием количества сдвигов в специально отводимом регистре.

Возможность представления числа с порядком используется для организа­ции так называемой блочной плавающей точки. Принцип представления чи­сел с блочной плавающей точкой состоит в следующем:

П числа объединяются в группы из нескольких чисел — блоки; О внутри блока выделяется самое большое (по модулю) число;

П это число представляется в форме с ПТ; порядок числа (максимальный в блоке) сохраняется в специальном регистре;

П остальные числа блока представляются в форме с ПТ при том же значе­нии порядка.

Операция определения единого порядка для блока данных поддерживается в процессорах фирмы Analog Devices. Вся процедура осуществляется с помощью аппаратно реализованного цикла по специальной команде expadj, называе­мой "выделение порядка блока". Блоки чисел, имеющих в форме с ПТ одина­ковый порядок, в последующем могут обрабатываться с помощью программно организованной блочной арифметики.

Блочная плавающая точка эффективна для представления данных с малыми (по модулю) значениями и с незначительным разбросом этих значений. В табл. 3.13 даны примеры эффективной и неэффективной организаций

блочной плавающей точки в блоках размером 4 числа; жирным шрифтом выделено наибольшее (по модулю) число в блоке.

В заключение отметим, что моделировать представление данных и арифме­тику с ПТ имеет смысл только, если объем подобных вычислений невелик в противном случае целесообразно выбрать процессор с ПТ.

Таблица 3.13. Блочная плавающая точки

Блок

Двоичное число

Блочная ПТ

Эффективность представления с блочной ПТ (есть/нет)

Формат

Двойное слово (16 битов)

Слово (8 битов) (мантисса + знак)

Порядок

1

0,000111011001010

0,0111011

Есть

0,001011000100100

0,1011000

0110

0,000010100100011

0,0010100

0,001011010100110

0,1011010

2

0,00111011001010

0,0011101

Нет

0,101011000100100

0,1010110

0000

0,111010100100011

0,1110101

0,000101101010011

0,0001011