Рефераты. Выполнение операций умножения и деления в ЭВМ

С=0,1100

Таким образом, цифры частного получаются как инверсное значение знаковых разрядов текущего остатка, которые принимают значение 00 или 11. Однако при сдвиге остатка влево в знаковых разрядах может возникнуть сочетание 01. В некоторых случаях, для того чтобы цифры частного формировались как прямое значение знакового разряда текущего остатка, деление выполняют с инверсными знаками. При этом делимое передается в сумматор не прямым, а инверсным кодом, а на нулевом шаге выполняется операция «+В», вместо операции «--В».

5.2 Деление без восстановления остатков

Рассмотренный способ деления с восстановлением остатков является аритмичным процессом с переменным числом шагов того или иного вида в каждом конкретном случае (3 шага при 2Ri < В и 2 шага при 2Ri>B). Для ритмизации процесса на каждую цифру частного необходимо затратить по 3 шага, в результате чего увеличивается время выполнения операции. Вместе с тем, операцию можно упростить и получить каждую цифру частного за 2 шага.

Рассмотрим случай, когда Ri <0. В предыдущем способе в этом случае выполнялись следующие операции.

Восстановление остатка:

R'і= 2 Rі +|В|=2 Rі-1-|B|+|B|=2 Rі-1

Сдвиг восстановленного остатка влево:

R'i = 2 R'i = 2 Ri-1 х 2 = 4 Ri-1.

Вычитание модуля делителя из восстановленного и сдвинутого влево остатка для определения следующего остатка:

Rі+1 =4 Rі-1-|B|

Если не восстанавливать остаток, а сразу сдвинуть отрицательный Rі на один разряд влево, то получим

R'і+1= 2 Rі =2(2 Rі-1-|B|)=4Rі-1 - 2 |B|.

Результат в данном случае отличается от действительного на величину + |B|. Поэтому в качестве второго шага необходимо произвести коррекцию результата на эту величину:

Rі+1 =4 Rі-1-2|B|+|B=4 Rі-1-|B|

В результате получаем требуемую величину последующего остатка Rі+1 , за 2 шага.

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

Пример

Заданы А=0,101; В=0,110 [-B]доп= 11,010; |В|= 0,110

1. Определение знака частного: 00=0 2. Определения модуля частного

№ цикла

№ такта

Наименование операции

Действие

Разряды частного

0

Вычит. делит.

А

00

101

из делимого

[-B]д

11

010

R0

11

111

0,

1

1

0

0

1

1

Сдвиг остатка

R0

11

110

2

Прибавление

00

110

формирование

R1 1

00

100

разряда частн.

2

1

Сдвиг остатка

R1

01

000

2

Вычит. делит

[-B]д

11

010

формирование

R2 1

00

010

разряда частн.

3

1

Сдвиг остатка

R2

00

100

2

Вычит. делит.

[-B]д

11

010

формирование

R3

11

110

разряда частн.

4

1

Сдвиг остатка

R3

11

100

2

Прибавл. дел.

+B

00

110

формирование

00

010

разряда частн.

С=0,1100

В настоящее время во всех ЭВМ деление производится по способу без восстановления остатков. Это, во-первых, упрощает схему управления процессом деления и, во-вторых, увеличивает быстродействие ЭВМ, так как длительность операции деления без восстановления остатков равна минимальной длительности операции деления с восстановлением остатков.

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

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

2) деление без восстановления остатков со сдвигом остатка влево.

Для реализации второго варианта необходимы: n-разрядный регистр делителя; (n+ 1)-разрядный регистр частного со сдвигом влево; n- или (n + 1)-разрядный сумматор со сдвигом влево и схема управления. Анализ обеих схем показывает, что второй вариант примерно на 40 % экономичнее по оборудованию по сравнению с первым. Выбор типа длительного устройства при проектировании машины обычно не является самостоятельной задачей. Поэтому на практике вначале по заданным техническим условиям выбирается схема множительного устройства вследствие того, что умножение является примерно в 10 раз более частой операцией. После этого выбирается наиболее совместимая с устройством умножения схема делительного блока. Однако при проектировании специализированных ЭВМ может быть принят другой порядок выбора структур отдельных устройств. Если сравнивать приведенные схемы деления со схемами множительных устройств, то оказывается, что схема первого варианта деления во многом совпадает с четвертой схемой умножения. Второй вариант схемы деления хорошо совместим с третьей схемой умножения.

6. Способы ускоренного деления

Необходимость ускорения деления следует из наличия весьма эффективных методов ускорения умножения. Способы ускоренного деления делятся на две группы: для первой группы в каждом цикле формируется одна или несколько цифр частного и новый остаток; вторая группа предполагает выполнение деления через умножение или с использованием другой процедуры.

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

Во втором случае нужно вначале произвести вычитание делителя из остатка, затем разность сдвинуть на k разрядов влево, после чего к полученному числу прибавить делитель. При этом в частное записывается k единиц.

7. Деление чисел в машинах с плавающей запятой

Если числа А и В заданы в нормальной форме, то их частное будет равно:

С =a:b=(a:b) 2 (mа-mb)

где а и b - мантиссы, а ma и mb-- порядки соответственно чисел А и В. Отсюда следует, что операция деления в машинах с плавающей запятой выполняется в пять этапов.

1-й этап. Определение знака частного путем сложения по модулю 2 знаковых цифр мантисс операндов.

2-й этап. Деление модулей мантисс операндов по правилам деления чисел с фиксированной запятой.

3-й этап. Определение порядка частного путем вычитания порядка делителя из порядка делимого.

4-й этап. Нормализация результата и его округление.

5-й этап. Присвоение знака мантиссе результата.

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

При делении нормализованных чисел денормализация результата возможна только влево и только на один разряд. Это обусловлено тем, что мантисса любого нормализованного числа лежит в пределах

2-1 |а|< 1-- 2-n

Тогда наименьшая и наибольшая возможные величины мантиссы частного равны соответственно

т. е. мантисса частного лежит в пределах 2-1 |y|< 2.

Поэтому на четвертом этапе может возникнуть необходимость нормализации мантиссы частного путем ее сдвига вправо на один разряд и увеличения порядка частного на единицу. Если же перед делением сдвинуть делимое на один разряд вправо, то на 4-м этапе может потребоваться нормализация результатов влево на 1 разряд.

При выполнении третьего (определение порядка) этапа порядок частного может оказаться больше допустимого, т. е. произойдет переполнение разрядной сетки, которое расценивается как аварийная ситуация. Может быть также получен порядок частного, который меньше допустимого. Если на втором этапе вычислено частное |y| > 1, то на четвертом этапе при сдвиге частного вправо его порядок должен быть увеличен на единицу. При этом становится окончательно ясно, во-первых, возникло ли переполнение разрядной сетки порядка или нет, во-вторых, будет ли порядок частного меньше допустимого значения. Если имеет место исчезновение порядка, то результат деления по указанию программиста заменяется машинным нулем.

Выводы

В процессе написания реферата мы ознакомились с:

- выполнением операций умножения в ЭВМ;

- умножением чисел, представленных в форме с плавающей запятой;

- методами ускорения операции умножения;

- матричным методом умножения;

- выполнением операций деления в ЭВМ;

- делением чисел с восстановлением остатков;

- делением без восстановления остатков;

- способами ускоренного деления;

- делением чисел в машинах с плавающей запятой.

Литература

1. Самофалов К.Г., Романкевич А.М., и др. Прикладная теория цифровых автоматов. - Киев. “Вища школа” 1987.

2. Соловьев Г.Н. Арифметические устройства ЭВМ. - М. “Энергия”. 1978.

3. Савельев А.Я. Прикладная теория цифровых автоматов - М. “Высшая школа”. 1987.

4. Каган Б.М. Электронные вычислительные машины и системы. - М. Энергоатомиздат. 1985.

5. Лысиков Б.Г. Арифметические и логические основы цифровых автоматов. Минск. “Вышэйшая школа”. 1980.

Страницы: 1, 2, 3, 4



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.