Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Вашкевич Н.П., Захаров А.П. Проектирование и моделирование микропрограммных цифровых устройств с помощью PCAD

.pdf
Скачиваний:
57
Добавлен:
02.05.2014
Размер:
461.01 Кб
Скачать

11

Продолжение табл.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м;

 

 

 

 

 

 

нарушение нормализации вправо

 

 

 

 

 

+2n

и вырабатывается сигнал HR=1

 

 

РСМ

м

:= РСМ

м

+

 

 

 

 

 

 

 

 

 

 

 

 

Р1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

м

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

Продолжение табл. 2

Наименование

МО,

условия

ее

Признаки,вырабатываемые

в

п/п

выполнения

и

представление

в

результате выполнения

МО

и

 

операторах присваивания

 

 

комментарии

 

 

 

 

 

 

 

 

 

 

 

 

5

Денормализация слагаемого

y.

Результату сложения (вы-

 

При Px-Py>0 мантисса My

читания) присваивается порядок

 

сдвигается вправо на k разрядов

первого слагаемого Pz = Px.

В

 

My:=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. В Mx:=ARS(Mx,k). связи с этим в РСМp заносится Для реализации k сдвигов в СчТ Py путем выполнения операций:

заносится величина

k = Px - Py ,

РСМp := 0;

CчТ : =РСМp.

После

 

каждого

РСМp := РСМp + Р1p

сдвига

мантиссы Mx

вправо,

 

РСМм := ARS(РСМм,1)

в СчТ

 

прибавляется

единица,

т.к.

 

величина

k

отрицательная,

 

СчТ := СчТ + 1

7 Сложение

или

 

вычитание

Признаки формируются

в

мантисс

 

 

слагаемых

 

 

после

соответствии с п.4. Mx и My -

денормализации одной из них

Mz=Mx+My;

 

 

 

 

 

мантиссы слагаемых после

их

 

 

 

 

 

денормализации

 

РСМм:=РСМм+Р1м;

 

 

+2n

 

РСМ

 

:= РСМ

 

+

 

 

 

 

м

м

Р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