Сделай Сам Свою Работу на 5

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





 

Пусть необходимо построить операционное устройство для выполнения умножения чисел, представленных в форме с фиксированной запятой. Исходные операнды поступают на вход устройства последовательно за два такта по шине DI(0:7) в следующем формате:

 
 

 


Результат должен быть выдан на шину DO(0:7) в таком же формате и сопровождаться выдачей сигнала Ready.

Тогда структурная схема ОУ будет иметь вид.

 

 

 
 

 

 


Напишем микропрограмму и построим операционный автомат умножения чисел с фиксированной запятой.

Можно предложить следующий алгоритм выполнения операции умножения чисел, представленных в форме с фиксированной запятой.

1. Принять операнды по входной шине на регистры А и В.

2. Присвоить счетчику циклов значение 0. Присвоить сумме промежуточных произведений значение 0.

3. Провести анализ на равенство нулю каждого из сомножителей. Если хотя бы один из сомножителей равен нулю, то перейти к п.10.

4. Провести анализ младшего разряда множителя. Если младший разряд множителя равен 0, то перейти к п.6.

5. Выполнить сложение суммы промежуточных произведений и множимого.



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

7. Если содержимое счетчика циклов не рано 0, перейти к п.4.

8. При необходимости произвести округление.

9. Произведению присвоить знак плюс, если знаки сомножителей одинаковы, и знак минус, если знаки сомножителей разные.

10. Выдать результат на выходную шину, сопровождая выдачу сигналом Ready/

11. Конец.

 

Микропрограмма выполнения операции умножения чисел, представленных в форме с фиксированной точкой в прямом коде приведена ниже.

 

 

 


Микропрограмма содержит исходные данные для построения ОУ. На ее основе можно построить операционный и управляющий автоматы, а, следовательно, и все операционное устройство в целом.

Для построения управляющего автомата строится кодированная ГСА и синтез УА проводится одним из ранее рассмотренных методов.

Для построения ОА используются следующие списки:

4. Список слов и их типов, которые были использованы при написании микропрограммы (ее описательная часть). Он имеет следующий вид.



– РгА(0:7) – внутреннее слово с памятью;

– РгВ(0:7) – внутреннее слово с памятью;

– РгС(0:7) – внутреннее слово с памятью;

– Cnt(0:2) – внутреннее слово с памятью;

– DI(0:7) – входное слово без памяти;

– Ready – выходное слово без памяти;

– DO(0:7) – выходное слово без памяти.

5. Список микроопераций.

– y1: РгА:= DI;

– y2: РгС := 0

– y3: РгB:= DI;

– y4: Cnt := 0

– y5: РгС:= РгС + РгА(1:7);

– y6: Cnt:=Cnt+1

– y7: РгС:= R1(0.РгC);

– y8: РгB(1:7):= R1(РгC(7).РгB(1:7));

– y9: РгС:= РгС + 1

– y10: РгС(0):= 1;

– y11: DO := РгС;

– y12: Ready := 1.

 

6. Список логических условий.

– x1 = РгА(1:7)=0;

– x2 = РгB(1:7)=0;

– x3 = РгB(7);

– x4 = Cnt =7;

– x5 = РгВ(1);

– x6 = РгА(0)ÅРгВ(0)

 

Структурная схема ОА будет иметь следующий вид.

 

 

Умножение чисел, представленных в форме с фиксированной запятой в дополнительных кодах

 

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

 

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

 

1. Исходное значение суммы частичных произведений принимается равным нулю.

2. Если анализируемая цифра множителя равна 1, то к сумме частичных произведений прибавляется множимое в том коде, в котором оно представлено; если эта цифра равна 0, прибавление не производится.

3. Сумма частичных произведений сдвигается на один разряд вправо, при этом, если сумма отрицательна, осуществляется модифицированный сдвиг.



4. П.п. 2 и 3 последовательно выполняются для всех цифровых разрядов множителя, начиная с младшего.

5. Если множитель – положителен, то полученный результат представляет собой произведение. Если множитель отрицателен, то для получения произведения к результату прибавляется множимое с обратным знаком.

Прибавление производится с выравниванием складываемых чисел по старшим разрядам.

Если результат размещается в двойном слове, то он предварительно сдвигается на один разряд вправо. Произведение получается в дополнительном коде.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.