Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем

.pdf
Скачиваний:
2028
Добавлен:
02.05.2014
Размер:
22.66 Mб
Скачать

3 6 0 Глава 7. Операционные устройства вычислительных машин

на последнем шаге форма представления частного меняется, переходят к представ­ в стандартной двоичной системе.

Встандартном алгоритме деления без восстановления остатка помимо сдвига

вкаждой итерации выполняется операция сложения или вычитания. В варианте SRT, в зависимости от кодов операндов в отдельных итерациях, достаточно толь­ ко сдвига, что, безусловно, ускоряет процесс деления. Согласно статистическим данным, в среднем число сложений и вычитаний при использовании этого алго­ ритма сокращается в 2,67 раза.

Деление в избыточных системах счисления

Наиболее распространенные методы ускорения операции деления основаны на применении алгоритмов, где частное представляется в системе счисления, отлич­ ной от двоичной. Это означает, что цифры частного могут иметь больше, чем два значения, например {-1,0,1}, как это было в алгоритме умножения Бута, или {-2, -1,0,1,2}. В таких системах одно и то же число может быть записано несколькими способами, из-за чего системы называют избыточными. Очередная цифра частного

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

вчастности надстраивается логика определения операции, выполняемой в очеред­ ной итерации. Для этой цели в состав устройства деления включается специаль­ ная память, хранящая таблицу, определяющую необходимые действия, в зависи­ мости от текущей комбинации цифр в частичном остатке и делителе. Тем не менее выигрыш в быстродействии оказывается решающим моментом. Так, в микропро­ цессорах Pentium при делении мантисс чисел с плавающей запятой используется алгоритм SRT с базой 4, то есть частное сначала вычисляется с использованием цифр -2, - 1 , 0, 1, 2 с последующим преобразованием результата к стандартному двоичному представлению. В этом варианте выбор очередной цифры частного про­ изводится с помощью таблицы, состоящей из отдельных секций. Конкретную секцию определяют четыре старшие цифры делителя (после его нормализации). Входом в секцию служат шесть старших цифр частичного остатка. Ч0 в каждой итерации сдвигается не на один, а на два разряда, то есть число итераций сокраща­ ется вдвое. Известны варианты делителей, где берется еще большее основание си­ стемы счисления, в частности 8 и 16. В этом случае логика работы устройства су­ щественно усложняется.

Операционные устройства с плавающей запятой

Операции над числами в формате с плавающей запятой (ПЗ) имеют существен­ ные отличия от аналогичных операций целочисленной арифметики, поэтому их обычно реализуют с помощью самостоятельного операционного устройства. Как и целочисленное ОПУ, операционное устройство для чисел в формате ПЗ как ми-

38 2 Гл"ава 7. Операционные устройства вычислительных машин

Заключительный этап

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

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

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

Взавершение мантисса результата округляется и, если это предусмотрено фор­ матом ПЗ, из нее удаляется скрытый разряд.

Впоследней фазе осуществляется "упаковка" всех составляющих результата (знака, порядка и мантиссы), после чего сформированный результат заносится

ввыходной регистр ОПУ.

Сложение и вычитание

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

1.Подготовительный этап.

2.Определение операнда, имеющего меньший порядок, и сдвиг его мантиссы впра­ во на число разрядов, равное разности порядков операндов.

3.Приравнивание порядка результата большему из порядков операндов.

4.Сложение или вычитание мантисс и определение знака результата.

5.Проверку на переполнение.

6.Заключительный этап.

Операции предшествует вышеописанный подготовительный этап, в ходе кото­ рого операнды «распаковываются» и помещаются в регистры ОПУ,

Сложение и вычитание выполняются идентично, но в случае вычитания необ­ ходимо изменить знак второго операнда на противоположный. Далее производит­ ся проверка с целью выяснения, не равен ли нулю один из операндов. Если это имеет место, в качестве результата сразу берется другой операнд.