Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
EVM.docx
Скачиваний:
18
Добавлен:
17.04.2015
Размер:
833.51 Кб
Скачать

Стандарт ieee 754

Рекомендуемый для всех ВМ формат представления чисел с плавающей запятой определен стандартом IEEE 754. Этот стандарт был разработан с целью облегчить перенос программ с одного процессора на другие и нашел широкое применение практически во всех процессорах и арифметических сопроцессорах.

Стандарт определяет 32-битовый (одинарный) и 64-битовый (двойной) форматы (рис.24) с 8- и 11-разрядным порядком соответственно. Основанием системы счисления является 2. В дополнение, стандарт предусматривает два расширенных формата, одинарный и двойной, фактический вид которых зависит от конкретной реализации. Расширенные форматы предусматривают дополнительные биты для порядка (увеличенный диапазон) и мантиссы (повышенная точность). Таблица 8 содержит описание основных характеристик всех четырех форматов.

Рис. 24 Основные форматы IEEE 754: а – одинарный; б - двойной

Не все кодовые комбинации в форматах IEEE интерпретируются обычным путем — некоторые комбинации используются для представления специальных значений. Предельные значения порядка, содержащие все нули (0) и все единицы (255 — в одинарном формате и 2047 — в двойном формате), определяют специальные значения.

Описываются следующие классы чисел.

  • Порядки в диапазоне от 1 до 254 для одинарного формата и от 1 до 2036 — для двойного формата, используются для представления ненулевых нормализованных чисел. Порядки смещены так, что их диапазон составляет от -126 до +127 для одинарного формата и от -1022 до +1023 — для двойного формата. Нормализованное число требует, чтобы слева от двоичной запятой был единичный бит. Этот бит подразумевается, благодаря чему обеспечивается эффективная ширина мантиссы, равная 24 битам для одинарного и 53 битам — для двойного форматов.

  • Нулевой порядок совместно с нулевой мантиссой представляют положительный или отрицательный 0, в зависимости от состояния бита знака мантиссы.

  • Порядок, содержащий единицы во всех разрядах, плюс нулевая мантисса соответствуют бесконечности (положительной или отрицательной, в зависимости от состояния бита знака), что позволяет пользователю самому решить, считать ли это ошибкой или продолжать вычисления со значением, равным бесконечности.

  • Нулевой порядок в сочетании с ненулевой мантиссой обозначают ненормализованное число. В этом случае бит слева от двоичной точки равен 0 и фактический порядок равен -126 или -1022. Число является положительным или отрицательным в зависимости от значения знакового бита.

  • Кодовая комбинация, в которой порядок содержит все единицы, а мантисса не равна 0, используется как признак «не числа» (NAN — Not a Number) и служит для предупреждения о различных исключительных ситуациях, например о делении 0/0.

Табл. 8 Параметры форматов стандарта IEEE 754

Параметр

Формат

одинарный

одинарный раширенный

двойной

двойной расширенный

Разрядность слова,бит

32

≥43

64

≥79

Поле порядка, бит

8

≥11

11

≥15

Смещение порядка

127

Не оговорено

1023

Не оговорено

Поле мантиссы, бит

23

≥31

52

≥63

Максимальное значение порядка

127

≥1023

1023

≥16383

Минимальное значение порядка

-126

≤-1022

-1022

≤-16382

Диапазон чисел

10-38, 1038

Не оговорен

10-308,

10308

Не оговорен

Упакованные числа с плавающей запятой

В рамках уже упоминавшейся технологии SSЕ4 имеются команды, служащие для увеличения производительности систем при обработке мультимедийной информации, описываемой числами с ПЗ. Каждая такая команда работает с четырьмя операндами с плавающей запятой одинарной точности или двумя операндами двойной точности. Операнды упаковываются в 128-разрядные группы, как это показано на рис. 25.

Рис. 25 Формат упакованных чисел с плавающей запятой в технологии SSЕ4

Разрядность основных форматов числовых данных

Данные, представляющие в ВМ числовую информацию, могут иметь фиксированную или переменную длину. Операционные устройства вычислительных машин (целочисленные арифметико-логические устройства, блоки обработки чисел с плавающей запятой, устройства десятичной арифметики и т. п.), как правило, рассчитаны на обработку кодов фиксированной длины. Общепринятые величины разрядности кодов чисел: бит, полубайт, байт, слово, двойное слово, счетверенное слово, двойное счетверенное слово.

Наименьшей единицей данных в ВМ служит бит (BIT, Binary digiT — двоичная цифра). В большинстве случаев эта единица информации слишком мала. Однобитовые операционные устройства использовались в ВМ с последовательной обработкой информации, а в современных машинах с параллельной обработкой разрядов они практически не применяются. Побитовую работу с данными скорее можно встретить в многопроцессорных вычислительных системах, построенных из одноразрядных процессоров.

Следующая по величине единица состоит из четырех битов и называется полубайтом или тетрадой, или реже «ниблом» (nibble). Она также редко имеет самостоятельное значение и заслуживает упоминания как единица представления отдельных десятичных цифр при их двоично-десятичной записи.

Реально наименьшей обрабатываемой единицей считается байт (BYTE, BinarY TErm — двоичный элемент), состоящий из восьми битов. На практике эта единица информации также оказывается недостаточной, и значительно чаще применяются числа, представленные двумя (слово — 16 битов), четырьмя (двойное слово — 32 бита), восемью (счетверенное слово — 64 бита) или шестнадцатью (двойное счетверенное слово — 128 битов) байтами.

Блоки операций с плавающей запятой обычно согласованы со стандартом IEEE 754 и рассчитаны на обработку чисел в формате двойной длины (64 бита). В большинстве ВМ реальная разрядность таких блоков даже больше (80 битов). Таким образом, наилучшим вариантом при проведении вычислений с плавающей запятой можно считать формат двойного слова. При выборе формата меньшей длины (32 разряда) вычисления все равно ведутся с большей точностью, после чего результат округляется. Таким образом, использование короткого формата чисел с плавающей запятой, как и в случае целых чисел с фиксированной запятой, помимо экономии памятй никаких иных преимуществ также не дает.

В приложениях, оперирующих десятичными числами, где количество цифр в числе может варьироваться в широком диапазоне, что характерно для задач из области экономики, более удобными оказываются форматы переменной длины. В этом случае числа не переводятся в двоичную систему, а записываются в виде последовательности двоично-кодированных десятичных цифр. Длина подобной цепочки может быть произвольной, а для указания ее границы обычно используют символ-ограничитель, код которого не совпадает с кодами цифр. Длина цифровой последовательности может быть задана явно в виде количества цифр числа и храниться в первом байте записи числа, однако этот прием более характерен для указания длины строки символов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]