Микропрограмма операции вычитания
-
РА Р1 V4
КОП
+
РА=Р1 V3
РС=РА+РВ+1 V6
РС=РА+РВ V5
Швых=РС V7
Тпр V8
Л14
АЛУ для выполнения операции умножения над числами с фиксированной точкой,
представленных в прямом коде
Существуют 4 основных подхода для выполнения операции умножения. 1 и 2 подходы
связаны с анализом множителя, начиная с младших разрядов; 3 и 4 – анализ множителя,
начиная со старших разрядов.
1 подход
Метод умножения, начиная с анализа младших разрядов множителя, со сдвигом множимого влево (метод похож на метод ручного умножения).
0101 - множимое
* 0101 - множитель
+ 0 000_
0 0101 - промежуточная сумма
+ 01 01
01 1001
+ 000 0
001 1001
частичных произведений
2 подход
Метод умножения, начиная с анализа младших разрядов множителя, со сдвигом суммы частичных произведений.
* 0101
+ 0010 1 – сдвинутая сумма частичных произведений
0010 1
0001 01
+ 0101
0110 01
0011 001
3 подход
Метод умножения, начиная с анализа старших разрядов множителя, со сдвигом множимого вправо.
* 0101
+ 010 1
0010 1
+ 00 00
0010 10
+ 0 101
0011 001
4 подход
Метод умножения, начиная с анализа старших разрядов множителя, со сдвигом суммы частичных произведений влево.
* 0101
0 000
+ 0101
0 0101
00 101
+ 0000
00 1010
001 010
+ 0101
001 1001
Наиболее экономичным по аппаратуре является 2 метод, так как он требует n-разрядных регистров для представления множимого, множителя и суммы частичных произведений.
Структурная схема АЛУ для выполнения операции умножения над числами с фиксированной точкой, представленных в прямом коде (по 2 методу)
Швх
Р1 Р2 0з101
10з10
|
0010
1 0з10
Р21
СчЦ З
СМ Тзн
РС 0010
Швых
Р1- регистр множимого;
Р2 – регистр множителя;
РВ – регистр суммы частичных произведений (в начале выполняется операции умножения обнуляется);
СМ – выход сумматора (каждый цикл на нем фиксируется суммой частичных произведений до сдвига);
РС – регистр сумматора (на нем фиксируется сумма частичных произведений после сдвига и затем заносится на регистр РВ);
Р21 – предназначен для сдвига множителя вправо, чтобы каждый цикл можно было анализировать очередной младший разряд множителя.
Результат выполнения операции умножения имеет 2n разрядов. Старшая часть образуется
Ра регистре РС, младшая часть образуется на регистре Р21.
Триггер знака предназначен для фиксирования знака выполняемой операции умножения путем выполнения операции сложения по модулю 2 знаковых разрядов операндов.
c=a(+)b
a | b | c |
После этого знаковые разряды операндов обнуляются.
Л 15
0101 -множимое
* 0101 -множитель
+ 0010 1 – сдвинутая сумма частичных произведений
0010 1
0001 01
+ 0101
0110 01
0011 001
n=4– длина разрядной сетки
(n-1)– число значащих разрядов
Швх
Р1 Р2 0з101
10з10
|
0010
1 0з10
Р21
СчЦ З
СМ Тзн
РС 0010
Швых
Обратиться к теме «Микропрограммное УУ».
В зависимости от значения младшего триггера выполняется либо одна ветка, либо другая.
(*) результат
0 0 1 10 0 1 0з сдвинуть вправо на 1 разряд
РС Р21
0 0 0 1 1 0 0 1
РС Р21
Третий этап коррекции результата. Для этого на РАнадо поставить нули, либо в счётчик заносить не (n-1), а n.
Этапы умножения.