Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебно-метод_пособие_ПЗ.doc
Скачиваний:
43
Добавлен:
07.11.2018
Размер:
8.14 Mб
Скачать

6.3. Алгоритм работы алу при сложении n двоичных чисел с фиксированной запятой в дополнительном коде

По командам процессора двоичные коды чисел выбираются из ОЗУ и поступают на шину данных (ЩД) в прямых кодах. Предварительно командой «Сброс» производится очистка регистров АЛУ.

АЛУ готовится к приёму операндов. В СчТ заносится N – количество тактов сложения. Операнды, поступающие с ЩД в АЛУ, вступают в операцию сложения в прямом коде, если знаки операндов положительные, если отрицательные – в дополнительном коде.

В АЛУ выполняются следующие микрооперации, представленные на рис.6.3.

  1. По управляющему сигналу Y30 осуществляется засылка в СчТ число тактов СчТ: = N.

  2. С ШД осуществляется приём операнда в Рг1: Рг1: = ЩД.

В УУ выдаётся сигнал Х1 для анализа знака операнда.

  1. Пересылка операнда в Рг3.

Если Х1 = 1, то вырабатываются сигналы Y1; Y3; Y16; Y19; Y14;Y15; по которым осуществляется пересылка отрицательного операнда в Рг3 в дополнительном коде, т.е.

.СМ:=Рг1+1+0; Рг3:=СМ.

При сложении Рг3 закрыт и на левый вход СМ подаётся 0.

Если Х1 = 0, то вырабатываются сигналы Y1; Y3; Y14; Y15; по которым осуществляется пересылка положительного операнда в прямом коде:

СМ:=Рг1+0; Рг3:=СМ.

  1. Приём очередного операнда в Рг1 и формирование Х1.

  2. Сложение операндов .

Если Х1=1, то по сигналам Y1; Y3; Y16; Y19; Y5;Y6;Y14; Y15; сложение двух операндов и засылка результата в Рг3:

СМ:=Рг1+1+Рг3; Рг3:=СМ

При выполнении сложения схемами формирования признаков результата и анализа на 0 выдаются сигналы r1:r4. УУ определяет наличие перевыполнения. При его отсутствии осуществляется переход к следующей микрооперации.

6. Анализ счетчика. СчТ=?

По Y31 выполняется микрооперация Сч:=Сч-1 и формируется сигнал Х4.Если содержимое Сч≠0, т. е. Х4=1, то УУ осуществляет переход к микрооперации приёма операнда (п.4.).

Если содержимое Сч=0, т.е. Х4=0, осуществляется выдача результата на ЩД в прямом коде. На этом заканчивается операция сложения операндов.

а) б)

Рис. 6.3. Схемы алгоритмов выполнения операций сложения и умножения в АЛУ с сумматором накапливающего типа.

6.4. Алгоритм работы алу при умножении чисел с фиксированной запятой

В зависимости от способа формирования суммы частичных произведений различают несколько методов выполнения умножения и соответствующие им структуры АЛУ. В данном АЛУ используется умножение, начиная с младших разрядов (мл.р.) множителя, со сдвигом суммы частичных произведений вправо и при неподвижном множимом (рис.6.4).

Рг множителя (Рг2)

→ Сумматор

частных произведений

Рг множимого (Рг1)

Рис. 6.4. Схема выполнения умножения

Регистр множителя и сумматор частичных произведений имеют цепи сдвига вправо. Последовательность действий в каждом цикле выполнения умножения определяется младшим разрядом регистра множителя. Этот разряд анализируется УУ. Согласно значению разряда (0 или I) вырабатывается соответствующее управляющее воздействие. Если мл.р. равен I, осуществляется сложение СМ + Рг1, а затем сдвиг частичного произведения на I разряд вправо. Если мл.р. равен 0, то происходит просто сдвиг частичного произведения на I разряд вправо. При сдвиге множителя вправо старшие разряды Рг2 осво­бождаются и на их место поступают младшие разряды, вытесняемые при сдвиге из СМ. После выполнения умножения старшие разряды произведения находятся в РгЗ (выполняющего роль Pr сумматора, где накапливаются частичные произведения), младшие – в Рг2.

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

В АЛУ при умножении выполняются следующие микрооперации:

I. В РгЗ засылается множимое, в Рг1 - множитель (рис. 5.5) Производится анализ их знаковых разрядов.

Если X1=Х2, то по сигналу Y8; Рг [ Зн] : = 0

Если X1 не равно X2,то по Y7;Y8; Рг1 [Зн]: = 1;

В Рг1 [ Зн] - хранится знак произведения.

Рис. 6.5. Схема пересылок в АЛУ при умножении

  1. Засылка значащих разрядов множителя в Рг2: по Y3; Y12; Рг2 [ I -n]: = Рг1 [I - n].

  2. Засылка значащих разрядов множимого в Рг1: по Y6; Y9;Pr1[1-n]: = РгЗ [ I - n] :

4. Установка начального значения суммы частичных произведений: по Y14; Y15; РгЗ: = 0.

5. Засылка в счетчик тактов числа циклов умножения: по Y30; СчТ:=n.

6. Умножение модулей операндов начинается с анализа мл.р. множителя Рг2.

Если Х3= I, то по Y3; Y5; Y6; Y14; Y15; выпол­няется суммирование: РгЗ: = РгЗ + Рг1 (1-n) ; после чего организуется сдвиг суммы частичных произведений и множителя на I разряд вправо; _

по y4; y20A ; y12; Рг2 [ I -n ] : = Рг2 [1 - n] ;

по Y5; Y6; T20; Y14; Y15; РгЗ: = Рг3.

Вытесненный старший разряд [n] суммы частичных произведений при сдвиге из сдвигателя СД [ n + I ] переходит на место младшего разряда в Рг2 по Y11;

Если X3=0, то выполняется только сдвиг суммы частичных произведений и множителя на I разряд вправо.

7. После выполнения цикла умножения производится анализ счетчика:

по Y31; СчТ: = СчТ - I; СчТ = 0 ?

Если СчТ=0, осуществляется очередной цикл умножения. Если СчТ=0, осуществляется переход к следующим микроопе­рациям.

8. Результату умножения присваивается знак: по Y1;Y14; РгЗ [Зн] : - Рг1[3н] .

В РгЗ хранятся старшие разряды произведения, а в Рг2 -младшие.

9. После выполнения операции умножения содержимое регист­ров РгЗ и Рг2 выдается на шину данных.

Задание для работы на занятии

  1. Изучить структуру АЛУ, алгоритм его работы при выполнении различных операций.

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

  3. Составить структурные схемы алгоритмов сложения и умножения двух чисел с учетом схемотехники АЛУ и его характеристик. Записать последовательности управляющих сигналов для операторов каждого из алгоритмов.

  4. Произвести анализ результатов, сделать выводы.

№ варианта

"Х"

"Y"

1

12

-33

2

-14

22

3

7

-38

4

-18

12

5

21

-14

6

-15

7

7

32

-18

8

-41

21

9

26

-15

10

-9

32

11

8

-41

12

-17

26

13

25

-9

14

-27

8

15

29

-17

16

-23

25

17

34

-27

18

-35

29

19

37

-23

20

-39

34

21

40

-35