Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 методичка. Р-РС-71.doc
Скачиваний:
45
Добавлен:
20.05.2014
Размер:
3.38 Mб
Скачать

5.3.1 Алгоритм операции деления

Деление двоичных чисел осуществляется путём ряда вычитаний и сдвигов. Пусть необходимо вычислить D=X:Y. Для этого старшие разряды Хст делимого Х следует поместить в РР, а младшие разряды Хмл – в ДР. Делитель У подается на входные шины (ШВх) микропроцессора со входного РЕГИСТРА ДАННЫХ при микрокомандном способе операции деления или из ЗУ – при микропрограммном способе. Старшие разряды делимого Х и делителя У являются значимыми. Чтобы не переполнялись РР и ДР, должно выполнятся неравенство У > Хст. После загрузки Х в РР, ДР выполняется начальный сдвиг их содержимого влево на один разряд микрокомандой (PP,ДР)СЦЛРР,ДР.

Процедура деления состоит в следующем.

В каждом цикле Хст (содержимое РР) сравнивается с У(ШВх), для чего используется микрокоманда РР-ШвхШВых. Результаты сравнения можно наблюдать на выходном гнезде МП ПЕРЕНОС АЛУ(ШВых). Если РР<ШВх, то ПВых=0. В этом случае необходимо выполнить циклический сдвиг РР, ДР влево с помощью микрокоманды (PP,ДР)СЦЛРР,ДР. При РР>ШВх получим ПВых=1. Поэтому осуществляется циклический сдвиг влево разности РР-ШВх, размещенной в РР, с содержимым ДР (остатка) путём введения МК (РР-ШВх,ДР)СЦЛРР,ДР, а затем с ШВх в младший разряд ДР заносится единица с помощью МК ШВхVДРДР, то по окончании деления (после 8 циклов) частное D окажется в ДР, а остаток - в РР.

      1. Иллюстрация алгоритма

Принимаем X=0000110011001100 (3276), У=00111111 (63), тогда D=0000000000110100 (остаток равен нулю). Последовательность действий, приводящих к указанному ответу D, сведена в табл. 5.5.

Табл. 5.5

i

M0i

РР ДР

ПВых

М0i+1

00001100 11001100

Сдв.

Сдв.0

00011001 10011000

Сравн.1

1

Сравн.1

11000001

11011010

0

Сдв.1

Сдв.1

00110011 00110000

2

Сравн.2

11000001

11110100

0

Сдв.2

Сдв.2

01100110 01100000

3

Сравн.3

11000001

100100111

1

Выч.+Сдв.3+1

Выч.+Сдв.3+1

01001110 11000001

4

Срвн.4

11000001

100001111

1

Выч.+Сдв.4+1

Выч.+Сдв.4+1

00011111 10000011

5

Сравн.5

11000001

11100000

0

Сдв.5

Сдв.5

00111111 00000110

6

Сравн.6

11000001

100000000

1

Выч.+Сдв.6+1

Выч.+Сдв.6+1

00000000 00001101

7

Сравн.7

11000001

11000001

0

Сдв.7

Сдв.7

00000000 00011010

8

Сравн.8

11000001

11000001

0

Сдв.8

Сдв.8

00000000 00110100

Табл. 5.7

      1. Микрокомандная реализация операции деления

Алгоритм микрокомандного способа деления приведён в табл. 5.6; особенности его реализации показаны на примере в табл. 5.7.

Табл. 5.6

Примечание: операнды на ШВх подаются с выходного РД вместе со следующей МК.