Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Итоговый УМП1_оконч070206.doc
Скачиваний:
17
Добавлен:
23.11.2019
Размер:
8.8 Mб
Скачать

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

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

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

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

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

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

  3. Пересылка операнда в Рг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).

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

→ Сумматор

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

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

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

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

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

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

I. В РгЗ засылается множимое, в Рг1 - множитель (рис. 6.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, осуществляется переход к следующим микроопе­рациям.

  1. Результату умножения присваивается знак: по Y1;Y14; РгЗ [Зн] : = Рг1[3н] .В РгЗ хранятся старшие разряды произведения, а в Рг2 -младшие.

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