Вашкевич Н.П., Захаров А.П. Проектирование и моделирование микропрограммных цифровых устройств с помощью PCAD
.pdf11
Продолжение табл.1
№ |
Наименование МО, условия ее |
Признаки,вырабатываемые |
в |
||||||||
п/п |
выполнения и |
|
представление |
в |
результате |
выполнения |
МО |
и |
|||
|
операторах присваивания |
|
|
комментарии |
|
|
|
||||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|||||||
3 |
Сложение и вычитание исходных |
Сигнал |
|
переполнения |
|||||||
|
чисел без знака по модулю ( для |
разрядной |
сетки |
определяется |
|||||||
|
целых по модулю 2n, для простых |
как в п. 2. При V=0 знак регистра |
|||||||||
|
дробей по модулю 20): |
|
|
сумматора |
определяет |
знак |
|||||
|
- сложение целых чисел и |
результата: |
|
|
|
|
|||||
|
простых дробей |
|
|
|
|
- при РСМ(0)=0 результат |
|||||
|
РСМ:=РСМ+Р1; |
|
|
положительный; |
|
|
|
||||
|
|
|
- при РСМ(0)=1 результат |
||||||||
|
- вычитание |
целых |
чисел |
и |
|||||||
|
простых дробей |
|
|
|
|
отрицательный и |
представлен |
в |
|||
|
|
|
|
|
виде дополнения до модуля (2n |
||||||
|
|
|
|
|
|
|
|||||
|
РСМ:= |
|
+1 |
|
|
или 20) |
|
|
|
|
|
|
РСМ |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|||||
4 |
Получение |
|
отрицательного |
См. комментарий в п.2 |
|
|
|||||
|
результата в прямом виде: |
|
|
|
|
|
|
||||
|
- для целых |
чисел и |
простых |
|
|
|
|
|
|||
|
дробей |
|
|
|
|
|
|
|
|
|
|
|
РСМ:= |
|
+1 |
|
|
|
|
|
|
|
|
|
РСМ |
|
|
|
|
|
|
|
|||
12
Таблица 2
Сложение и вычитание чисел с плавающей точкой
№ |
Наименование МО, условия ее |
Признаки, |
вырабатываемые |
в |
|||||
п/п |
выполнения |
и представление |
в |
результате |
выполнения МО |
и |
|||
|
операторах присваивания |
|
|
|
|
комментарии |
|
||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|||
1 |
Запись исходных |
чисел |
в |
Исходные числа представлены |
|||||
|
регистры мантисс и порядков ОА: |
|
в дополнительном коде |
|
|||||
|
РСМм:=[Mx]2; |
|
|
|
|
|
|
|
|
|
Р1м:=[My]2; |
|
|
|
|
|
|
|
|
|
РСМp:=[Рx]2; |
|
|
|
|
|
|
|
|
|
Р1p:=[Рy]2 |
|
|
|
|
|
|
|
|
2 |
Вычитание |
порядков |
исходных |
При Px - Py=0 выполняется |
|||||
|
чисел: |
|
|
|
|
|
сложение или вычитание мантисс |
||
|
Px - Py=k; |
|
|
|
|
|
без их денормализации. |
|
|
|
|
|
|
|
|
При Px - Py>0 производится |
|||
|
РСМ p : = РСМ p + |
|
p +1 |
||||||
|
P1 |
||||||||
|
|
|
|
|
|
|
денормализация мантиссы My. |
|
|
|
|
|
|
|
|
|
При Px-Py<0 производится |
||
|
|
|
|
|
|
|
денормализация мантиссы Mx |
|
|
13
Продолжение табл.2
№ |
Наименование |
МО, |
|
условия |
ее |
Признаки,вырабатываемые |
в |
||||||||||||
п/п |
выполнения |
и |
представление |
в |
результате |
выполнения |
МО |
и |
|||||||||||
|
операторах присваивания |
|
|
комментарии |
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|||||||||||||
3 |
Завершение |
операции |
сложения |
При сдвиге мантиссы My или |
|||||||||||||||
|
или вычитания при |
|
|
|
|
|
|
|
|
Mx |
вправо при выравнивании |
||||||||
|
Px - Py > Pmax.доп. и |
|
|
|
|
|
|
порядков она выйдет за пределы |
|||||||||||
|
|
|
|
|
|
|
разрядной |
сетки, |
|
поэтому |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
Px - Py < Pmin.доп. : |
|
|
|
|
|
|
результат |
сложения |
или |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вычитания |
будет равен тому |
||||
|
- при Px - Py > Pmax.доп. |
|
|
слагаемому, |
мантисса |
которого |
|||||||||||||
|
результату операции z присваи- |
не должна сдвигаться. Для |
|||||||||||||||||
|
первого условия значения кодов |
||||||||||||||||||
|
вается значение слагаемого x |
|
|
в РСМм и РСМp не изменяются. |
|||||||||||||||
|
Mz := Mx, Pz = Px; |
|
|
|
|
|
|
|
Для |
второго условия |
после |
||||||||
|
|
|
|
|
|
|
|
сброса регистров РСМм |
и РСМp |
||||||||||
|
- при Px - Py < Pmin.доп. |
|
|
в нуль выполняются операции |
|
||||||||||||||
|
|
|
РСМм := РСМм + Р1м ; |
|
|||||||||||||||
|
результату операции |
|
z |
|
присваи- |
РСМp := РСМp + Р1p |
|
|
|||||||||||
|
вается значение слагаемого y |
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||
|
Mz = My, Pz = Py |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|||||||||||
4 |
Сложение |
|
или |
|
|
|
вычитание |
При V=1 возникает нарушение |
|||||||||||
|
мантисс при Px - Py = 0 |
|
|
|
|
|
|
нормализации влево. |
|
|
|
||||||||
|
Mz=Mx+My; |
|
|
|
|
|
|
|
|
|
При |
z0=z1 |
возникает |
||||||
|
РСМм:=РСМм+Р1м; |
|
|
|
|
|
|
нарушение нормализации вправо |
|||||||||||
|
|
|
|
|
+2−n |
и вырабатывается сигнал HR=1 |
|
||||||||||||
|
РСМ |
м |
:= РСМ |
м |
+ |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
Р1 |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
м |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14
Продолжение табл. 2
№ |
Наименование |
МО, |
условия |
ее |
Признаки,вырабатываемые |
в |
|||
п/п |
выполнения |
и |
представление |
в |
результате выполнения |
МО |
и |
||
|
операторах присваивания |
|
|
комментарии |
|
|
|||
|
|
|
|
|
|
||||
|
|
|
|
||||||
5 |
Денормализация слагаемого |
y. |
Результату сложения (вы- |
||||||
|
При Px-Py>0 мантисса My |
читания) присваивается порядок |
|||||||
|
сдвигается вправо на k разрядов |
первого слагаемого Pz = Px. |
В |
||||||
|
M′y:=ARS(My,k). |
|
|
|
|
связи с этим после занесения в |
|||
|
Для реализации k сдвигов в СчТ |
СчТ величины k порядок Px в |
|||||||
|
заносится |
величина |
k = Px - Py, |
РСМp восстанавливается |
путем |
||||
|
СчТ:= РСМp. После каждого сдвига |
выполнения операций: |
|
|
|||||
|
мантиссы |
|
My |
|
вправо |
Px - Py + Py = Px, |
|
|
|
|
Р1м := ARS(Р1м,1), |
из |
СчТ |
РСМp := РСМp + Р1p |
|
|
|||
|
вычитается единица СчТ := CчТ - 1 |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
15
Продолжение табл. 2
№ |
Наименование МО, условия ее |
Признаки,вырабатываемые |
в |
|||
п/п |
выполнения и представление |
в |
результате выполнения |
МО |
и |
|
|
операторах присваивания |
|
комментарии |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
Денормализация слагаемого |
x. |
Результату |
сложения |
(вы- |
|
При Px-Py<0 мантисса Mx читания) присваивается порядок сдвигается вправо на k разрядов второго слагаемого Pz = Py. В M′x:=ARS(Mx,k). связи с этим в РСМp заносится Для реализации k сдвигов в СчТ Py путем выполнения операций:
заносится величина |
k = Px - Py , |
РСМp := 0; |
|||
CчТ : =РСМp. |
После |
|
каждого |
РСМp := РСМp + Р1p |
|
сдвига |
мантиссы Mx |
вправо, |
|
||
РСМм := ARS(РСМм,1) |
в СчТ |
|
|||
прибавляется |
единица, |
т.к. |
|
||
величина |
k |
отрицательная, |
|
||
СчТ := СчТ + 1
7 Сложение |
или |
|
вычитание |
Признаки формируются |
в |
|||||
мантисс |
|
|
слагаемых |
|
|
после |
соответствии с п.4. M′x и M′y - |
|||
денормализации одной из них |
||||||||||
Mz=M′x+M′y; |
|
|
|
|
|
мантиссы слагаемых после |
их |
|||
|
|
|
|
|
денормализации |
|
||||
РСМм:=РСМм+Р1м; |
|
|
+2−n |
|
||||||
РСМ |
|
:= РСМ |
|
+ |
|
|
|
|
||
м |
м |
Р1 |
|
|
||||||
|
|
|
|
|
|
|
м |
|
|
|
16
Продолжение табл. 2
№ |
Наименование МО, условия ее |
Признаки,вырабатываемые |
в |
||||||
п/п |
выполнения |
и представление в |
результате |
выполнения |
МО |
и |
|||
|
операторах присваивания |
комментарии |
|
|
|
||||
8 |
Нормализация |
мантиссы |
Возможны особые случаи: |
|
|||||
|
результата Mz вправо при V=1 и |
- при |
|
Pz>Pmax.доп. |
|||||
|
коррекция его порядка: |
вырабатывается |
сигнал |
пере- |
|||||
|
Pz:=Pz+1; |
|
|
|
полнения порядка OV=1; |
|
|
||
|
|
|
|
- при |
|
Pz<Pmin.доп. |
|||
|
РСМм:=ARS(РСМ,1); |
|
|||||||
|
РСМp:=РСМp+1 |
|
вырабатывается |
|
сигнал |
||||
|
|
антипереполнения порядка Uп=1 |
|||||||
|
|
|
|
|
|||||
|
|
|
|
||||||
9 |
Нормализация |
мантиссы |
Возможны особые случаи как |
||||||
|
результата M |
z |
влево |
при HR=1 и |
в п.8. |
|
|
|
|
|
|
|
|
Вычитание константы |
i |
из |
|||
|
коррекция его порядка: |
||||||||
|
порядка |
результата |
осуще- |
||||||
|
Pz:=Pz-i; |
|
|
|
|||||
|
|
|
|
ствляется за i тактов: в каждом |
|||||
|
РСМм := ALS(РСМм,i); |
такте вычитается по единице; |
|||||||
|
РСМp := РСМp-1 |
|
такты вычитания |
выполняются |
|||||
|
|
|
|
|
до тех пор, пока сигнал HR не |
||||
|
|
|
|
|
станет равным нулю |
|
|
||
|
|
|
|
|
|
|
|
|
|
Таблица 3
|
|
|
|
|
|
|
17 |
|
|
|
Умножение чисел с фиксированной точкой |
|
|
||||
|
|
|
|
|
|
|||
№ |
Наименование МО, условия ее |
Признаки, |
вырабатываемые |
в |
||||
п/п |
выполнения |
и представление |
в |
результате |
выполнения МО |
и |
|
|
|
операторах присваивания |
|
комментарии |
|
|
|||
|
|
|
|
|
|
|
||
1 |
Запись |
исходных |
чисел |
в |
Для чисел в прямом коде в |
|
||
|
регистры ОА: |
|
|
знаковые |
разряды регистров |
|
||
|
- числа в прямом коде (модули |
устанавливаются нули |
|
|
||||
|
чисел) |
|
|
|
|
|
|
|
|
Р1:=|x|, Р2:=|y|; |
|
|
|
|
|
|
|
|
- числа в дополнительном коде |
|
|
|
|
|||
|
Р1:=[x]2, Р2:=[y]2 |
|
|
|
|
|
|
|
2 |
Проверка |
исходных |
чисел |
на |
В результате проверки на нуль |
|
||
|
нуль |
|
|
|
при x=0 или y=0 вырабатывается |
|
||
|
|
|
|
|
сигнал нулевого результата |
|
|
|
|
|
|
|
|||||
3 |
Установка регистров РС и РСМ |
Установка регистров РС и РСМ |
|
|||||
|
в нуль: |
|
|
|
в нуль связана с тем, что в первом |
|
||
|
РС:=0; |
|
|
|
такте умножения осуществляется |
|
||
|
|
|
|
сложение множимого с нулем |
|
|
||
|
РСМ:=0 |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
4 |
Запись в счетчик тактов числа |
|
|
|
|
|||
|
тактов умножения |
|
|
|
|
|
|
|
|
СчТ:=n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18
Продолжение табл. 3
№ |
Наименование |
МО, условия |
ее |
Признаки, |
вырабатываемые |
в |
|||||
п/п |
выполнения |
и |
представление |
в |
результате |
выполнения МО |
и |
||||
|
операторах присваивания |
|
|
комментарии |
|
|
|||||
|
|
|
|
|
|
|
|||||
5 |
Определение |
кода |
знака |
Для |
чисел в |
дополнительном |
|||||
|
произведения и его запись в |
коде код знака частичного и |
|||||||||
|
регистр произведения: |
|
|
окончательного |
произведений |
||||||
|
- для чисел в прямом коде код |
формируется |
автоматически |
||||||||
|
знака частного |
определяется |
по |
после |
каждого |
арифметического |
|||||
|
формуле |
|
|
|
|
|
сдвига |
вправо |
и корректируется |
||
|
|
|
|
|
|
при переполнении в сумматоре: |
|||||
|
z0=x0 |
y0 |
и заносится в разряд |
||||||||
|
при V=1 код знака РСМ(0) |
||||||||||
|
знака |
регистра |
РСМ |
после |
меняется на обратный |
|
|||||
|
выполнения тактов умножения |
|
|
|
|
|
|
||||
РСМ(0):=z0 ;
- для чисел в дополнительном коде код знака частичного и окончательного произведения формируется после очередного сдвига по формуле
zo = РСМ(0)V РСМ(0)V
19
Продолжение табл. 3
№ |
Наименование МО, условия ее |
Признаки, |
вырабатываемые |
в |
|||||||||
п/п |
выполнения |
и |
представление в |
результате выполнения |
МО |
и |
|||||||
|
операторах присваивания |
|
комментарии |
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
||||||
6 |
Сложение |
в |
сумматоре для |
Для |
чисел |
в |
дополнительном |
||||||
|
чисел в прямом и дополнительном |
коде |
после |
каждого |
сложения |
||||||||
|
коде |
производится в |
каждом |
определяется |
|
|
сигнал |
||||||
|
такте умножения, если очередная |
переполнения в сумматоре, по |
|||||||||||
|
цифра множителя равна единице |
которому |
корректируется |
код |
|||||||||
|
РСМ:=РСМ+Р1 при Р2(n)=1 |
знака в регистре РСМ после |
|||||||||||
|
|
|
|
|
|
очередного сдвига (см.п.5) |
|
|
|||||
|
|
|
|||||||||||
7 |
Сдвиг вправо в регистрах РС, |
Сдвиг вправо в регистрах РСМ |
|||||||||||
|
РСМ и Р2 производится: |
|
и Р2 арифметический для чисел в |
||||||||||
|
- в каждом такте умножения |
дополнительном |
коде. |
|
После |
||||||||
|
после сложения в сумматоре или |
каждого |
сдвига |
значение |
кода |
||||||||
|
при наличии |
очередной |
цифры |
знака |
в |
РСМ(0) |
корректируется |
||||||
|
множителя, равной нулю |
|
(см. п.5). |
|
|
|
|
|
|
||||
|
|
Дополнительный (n+1)-й сдвиг |
|||||||||||
|
РСМ:=ARS (РСМ,1); |
|
|||||||||||
|
|
обеспечивает |
для целых |
чисел |
|||||||||
|
Р2:=RS (Р2,1); |
|
|
||||||||||
|
|
|
установку |
произведения |
|
в |
|||||||
|
- в конце тактов умножения для |
регистрах РСМ и Р2 так, чтобы в |
|||||||||||
|
целых |
чисел |
в |
дополнительном |
n-м разряде регистра Р2 был |
||||||||
|
коде, если в Р2 был записан |
зафиксирован |
|
его |
младший |
||||||||
|
множитель со знаком: (n+1)-й |
разряд. Для простых дробей (n+1)- |
|||||||||||
|
сдвиг |
|
|
|
|
й сдвиг не производится |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20
Продолжение табл. 3
№ |
Наименование МО, условия ее |
|
Признаки, |
вырабатываемые |
в |
|
||||||||||||
п/п |
выполнения |
и |
представление |
в |
|
результате |
выполнения |
МО |
и |
|
||||||||
|
операторах присваивания |
|
|
|
комментарии |
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||
8 |
Вычитание |
|
из |
счетчика |
тактов |
|
Вычитание единицы из счет-чика |
|
||||||||||
|
единицы |
|
|
|
|
|
|
|
|
|
тактов выполняется после каждого |
|
||||||
|
СчТ:=СчТ-1 |
|
|
|
|
|
|
такта умно-жения |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
||||||||||
9 |
Коррекция |
|
произведения для |
|
Такая коррекция |
возникает |
в |
|
||||||||||
|
чисел |
в |
дополнительном |
коде |
|
связи |
с |
представлением |
|
|||||||||
|
производится для отрицательного |
|
отрицательного множителя |
в |
|
|||||||||||||
|
множителя после n-го сдвига |
|
дополнительном коде |
|
|
|
|
|||||||||||
|
путем |
вычитания |
из |
суммы |
|
|
|
|
|
|
|
|
||||||
|
частичных |
|
|
2n |
|
произведений |
|
|
|
|
|
|
|
|
||||
|
величины [x] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
РСМ:= РСМ + |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
Р1+1 |
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 4 |
||
|
|
|
|
|
Умножение чисел с плавающей точкой |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
||||||||||||
№ |
Наименование МО, условия ее |
|
Признаки, |
вырабатываемые |
в |
|||||||||||||
п/п |
выполнения |
|
и |
представление |
в |
|
результате |
|
выполнения |
МО |
и |
|
||||||
|
операторах присваивания |
|
|
|
комментарии |
|
|
|
|
|||||||||
1 |
Запись |
исходных |
чисел |
в |
|
Для чисел в прямом коде в |
|
|||||||||||
|
регистры: |
|
|
|
|
|
|
|
|
|
знаковые |
|
разряды |
регистров |
|
|||
|
- числа в прямом коде |
|
|
|
устанавливаются нули |
|
|
|
||||||||||
|
Р1м:=|Mx| Р2м:=|My|; |
|
|
|
|
|
|
|
|
|
|
|||||||
|
РСМp:=|Px|2 Р1n:=|Py|2 ; |
|
|
|
|
|
|
|
|
|
|
|||||||
|
- числа в дополнительном коде |
|
|
|
|
|
|
|
|
|
||||||||
|
Р1м:=[Mx]2 Р2м:=[My]2; |
|
|
|
|
|
|
|
|
|
|
|||||||
|
РСМp:=[Px]2; |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Р1p:= [Py]2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
