D.1.3. АЛУ для чисел с плавающей точкой.

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

  1. Находится разность порядков большего и меньшего числа.
  2. Мантисса меньшего числа сдвигается вправо на число бит, равное разности, полученное на шаге 1.

После этого производятся обычные целочисленные операции с мантиссой (см. раздел "Целочисленное АЛУ"). Далее, после получения результата вычислений иногда производится коррекция мантиссы числа с плавающей точкой. Алгоритм коррекции следующий:

  1. Убираются все незначащие нули в левой части мантисса. Для этого осуществляется сдвиг влево мантиссы на n разрядов (n – число незначащих нулей слева.)
  2. После этого число n вычитается из порядка.

Как правило, операцию коррекции вызывают принудительно, а не запускают автоматически.

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

 

Назад...   К оглавлению раздела   Далее...

=== *** === *** === *** ===

В настоящее время проект закрыт (в версии 1.00.3 alpha). Автор приносит извинения за прекрашение разработки.