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

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

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

31

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

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

МО,

условия

ее

Признаки,

вырабатываемые

в

п/п

выполнения

и

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

в

результате

выполнения МО

и

 

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

 

 

комментарии

 

 

 

 

 

7

Определение

кода

знака

Для чисел в прямом коде

 

частного и его запись в регистр

наличие сигнала переполнения не

 

частного.

 

 

 

 

 

 

 

влияет на определение кода знака

 

Если переполнения не было, то

частного, так как он определяется

 

определение кода знака частного и

по формуле z =x

0

y

0

 

 

 

0

 

 

 

 

его запись в регистр Р2

 

 

 

 

 

 

 

 

производится так же как и для

 

 

 

 

 

 

 

 

чисел с фиксированной точкой.

 

 

 

 

 

 

 

 

 

Если переполнение было, то код

 

 

 

 

 

 

 

 

знака частного для мантисс в

 

 

 

 

 

 

 

 

дополнительном

 

 

 

коде

 

 

 

 

 

 

 

 

определяется

только

в

результате

 

 

 

 

 

 

 

 

первого

такта

деления

мантисс

 

 

 

 

 

 

 

 

после денормализации делимого.

 

 

 

 

 

 

 

 

 

Запись кода знака частного в

 

 

 

 

 

 

 

 

младший разряд регистра Р2 при

 

 

 

 

 

 

 

 

наличии

 

 

 

переполнения

 

 

 

 

 

 

 

 

осуществляется

только

после

 

 

 

 

 

 

 

 

первого такта деления

 

 

 

 

 

 

 

 

 

 

 

Р2(n):=z0

 

 

 

 

 

 

 

 

 

 

 

 

 

8

Восстановление

 

последнего

Производится так же как и при

 

остатка

делимого

и

коррекция

делении чисел

с

фиксированной

 

частного

 

 

 

 

 

 

 

точкой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

32

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

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

МО,

условия

ее

Признаки,

вырабатываемые

в

п/п

выполнения и

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

в

результате

выполнения

МО

и

 

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

 

 

комментарии

 

 

 

 

9

Определение порядка результата

Возможны особые случаи:

 

 

с

учетом

 

 

возможной

-

при Pz

>

Pmax.доп.

 

денормализации делимого P =P

x

-

вырабатывается

сигнал

пере-

 

 

 

 

 

 

 

 

z

 

полнения порядка ОV=1;

 

 

 

Py

 

 

 

 

 

 

 

 

 

 

 

 

РСМ

 

:= РСМ

 

+

 

+1

 

 

-

при

Pz

<

Pmin.доп.

 

p

p

Р1

 

 

 

 

 

 

1

 

 

вырабатывается

сигнал

анти-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

переполнения Uп=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

На рис. 4 для примера представлен фрагмент ГСА операции сложения двоичных чисел с плавающей точкой - сложение мантисс после выравнивания порядков слагаемых и нормализация результата сложения. Для этого фрагмента ГСА в целях его завершенности предполагается, что начальному оператору соответствует размещение результатов выполненных микроопераций выравнивания порядков слагаемых в регистрах РСМм и Р1м, а конечному оператору - микрооперации записи результатов сложения в ОЗУ. Во фрагменте ГСА использованы два возможных способа записи логических условий: в первом случае значение сигнала переполнения разрядной сетки мантисс V, равное единице, свидетельствует о нарушении нормализации результата сложения мантисс влево; во втором случае условие нарушения нормализации результата сложения мантисс вправо записано в виде отношения HR = 0, при его ложности производится нормализация мантиссы результата влево.

33

Рис. 4 Фрагмент ГСА операции сложения чисел с плавающей точкой

34

1.3 Операционный автомат с магистральной структурой

На рис. 5 приведена структура операционого автомата c магистральной структурой.

 

 

 

 

 

 

 

 

О п ерацио н н ый

 

 

 

 

 

 

 

Äàí í ûå

 

 

 

àâòî ì àò

 

Результаты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÐÀ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Mикро о п ерация М j

 

 

 

 

 

Ð0

 

 

 

 

 

 

 

О сведо м ительн ые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ñèãí àëû X i

 

 

 

 

 

 

 

 

 

Ð7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

До п о лн ительн ые

 

 

 

 

 

 

 

ÀÑ

 

 

 

 

 

 

Уп равлен ие

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ï àì ÿòüþ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ñèãí àëû Yi

 

 

 

 

 

 

ÀËÓ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÐÏ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 5 Структура операционного автомата с магистральной структурой

Операционный автомат включает:

блок из 8-ми регистров общего назначения Р0 - Р7, предназначенных для хранения промежуточных результатов;

регистр адреса РА, определяющий адрес оперативной памяти при чтении и записи данных;

регистр аккумулятор АС, хранящий один из операндов или результат выполнения микрооперации;

арифметико-логическое устройство АЛУ, в котором выполняются заданные микрооперации;

регистр признаков РП, хранящий признаки выполненной микрооперации.

Все регистры операционного автомата 8-ми разрядные. В табл 7 приведен состав микроопераций Мj их 8-ми разрядная кодировка, а также описаны действия выполняемые каждой из них.

35

Таблица 7

 

Состав микроопераций

 

 

 

N

Код микрооперации

Действие

 

п/п

м8 м7 м6 м5 м4 м3 м2 м1

 

1

0000 0000

АС = РА

 

 

 

 

2

0000 0001

РА = РА + АС

 

 

 

 

3

0000 0010

Арифметический сдвиг вправо АС

 

 

 

 

4

0000 0011

Арифметический сдвиг вправо Р7

 

 

 

 

5

0000 0100

Циклический сдвиг вправо АС

 

 

 

 

6

0000 0101

Циклический сдвиг вправо Р7

 

 

 

 

7

0000 0110

Арифметический сдвиг влево АС

 

 

 

 

8

0000 0111

Арифметический сдвиг влево Р7

 

 

 

 

9

0000 1000

Циклический сдвиг влево АС

 

 

 

 

10

0000 1001

Циклический сдвиг влево Р7

 

 

 

 

11

0000 1010

Пустая микрокоманда (NOP )

 

 

 

 

12

0000 1011

Стоп

 

 

 

 

13

0000 1100

П(РА) = АС, запись в память содержимого

аккумулятора по адресу в регистре РА

 

 

 

 

 

14

0000 1101

АС = П(РА), чтение в аккумулятор из памяти

по адресу в регистре РА

 

 

 

 

 

15

0000 1110

АС => Стек

 

 

 

 

16

0000 1111

АС <= Стек

 

 

 

 

36

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

N

Код микрооперации

Действие

п/п

м8 м7 м6 м5 м4 м3 м2 м1

 

17

0001 <N>

АС = АС + Р(N), где N номер регистра Р0-Р7

 

 

 

 

18

0010 <N>

АС = АС & Р(N), где & операция коньюнкции

 

 

 

 

19

0011 <N>

АС = АС U Р(N), где U операция дизъюнкции

 

 

 

20

0100 <N>

Р(N) = АС

 

 

 

 

21

0101 <N>

АС = Р(N)

 

 

 

 

22

0110 <N>

АС = АС - Р(N)

 

 

 

 

23

0111 <N>

АС = ~Р(N), где ~ операция инверсии

 

 

 

 

24

1000 <N>

Р(N) = Р(N) + 1

 

 

 

 

25

1001 <N>

Р(N) = Р(N) - 1

 

 

 

 

Примечание: Операция сдвига в операционном автомате может выполняться только в регистрах АС и Р7 и всегда осуществляется на 1 разряд.

При выполнении микроопераций в регистре РФ формируются следующие признаки: N, C, V, Z, T. Ниже приведены правила формирования отдельных признаков.

Признак N - знак результата микрооперации;

1, если зн ак результата вып о лн ен ия

Ï ðèçí àê N =

м икро о п ерации о трицательн ый;

 

 

0, в п ро тивн о м случае.

Признак Z - признак нулевого результата;

1, если результат вып о лн ен ия П ризн ак Z = м икро о п ерации равен 0;

0, в п ро тивн о м случае.

Признак V - переполнение;

37

1, åñëè ï ðè âûï î ëí åí èè ì èêðî -êî ì àí äû Ï ðèçí àê V = âî çí èêëî ï åðåï î ëí åí èå;

0, в п ро тивн о м случае.

Признак С - выдвигаемый разряд, при операциях сдвига и арифметических микрооперациях. В операционном автомате выполняется 2 вида сдвигов: арифметмческий и циклический. В операциях циклического сдвига признак С формируется в соответствии с рис. 6.

7

0

 

C

 

ÀÑ

 

 

 

 

 

 

 

а)

 

7

0

 

C

 

ÀÑ

 

 

 

 

 

 

 

 

 

б)

 

Рис. 6 Циклический сдвиг влево (a) и вправо (б)

При операциях арифметического сдвига признак С формируется в соответствии с рис. 7.

7 6

0

 

ÀÑ

C

ÀÑ

7 6 5

0

а)

 

7 6

1 0

ÀÑ

 

ÀÑ

C

 

7 6 5

0

б)

Рис. 7 Арифметический сдвиг влево (а) и вправо (б)

При необходимости арифметического сдвига 16-ти разрядного числа в операциях умножения и деления (рис. 8), необходимо число располагать в

38

регистре АС (старшие 8 разрядов) и в регистре Р7 (младшие 8 разрядов). В регистре АС необходимо выполнить арифметический сдвиг (при этом нулевой разряд выдвинется в С), а в регистре Р7 выполнить циклический сдвиг (при этом разряд из С вдвигается в 7 разряд Р7).

7

0

7

0

ÀÑ

C

 

Ð7

Рис. 8 Сдвиг 2n разрядного числа

Признак T - разряд переноса из 3-го разряда аккумулятора в 4-й разряд. Используется при работе с двоично-десятичными числами.

Для ускорения выполнения микроопераций операционный автомат использует 8 дополнительных бинарных управляющих сигналов Yi=(y1, у2, у3, у4, у5, у6, у7, у8). Данные сигналы формируются управляющим автоматом и подаются в операционный автомат совместно с микрокомандой в одном такте. Одновременно может формироваться несколько сигналов Уi, при условии, что совместное действие микрокоманды и дополнительных сигналов не приводит к противоречиям. В табл. 8 приведен состав дополнительных сигналов Yi.

Таблица 8

 

Состав дополнительных сигналов

 

 

 

 

 

 

N

Дополнительный

Кодировка

допо-

Действие

п/п

сигнал

лнительного сигнала

 

 

 

 

 

 

1

У1

0000 0001

 

АС = 0

 

 

 

 

 

2

У2

0000 0010

 

АС = АС + 1

 

 

 

 

 

3

У3

0000 0100

 

РА = 0

 

 

 

 

 

4

У4

0000 1000

 

С = 0

 

 

 

 

 

 

 

 

 

39

 

 

 

 

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

 

 

 

 

 

 

N

Дополнительный

Кодировка

допо-

Действие

 

п/п

сигнал

лнительного сигнала

 

 

 

 

 

 

 

 

5

У5

0001 0000

 

С = 1

 

 

 

 

 

 

 

6

У6

0010 0000

 

РА = РА + 1

 

 

 

 

 

 

 

7

У7

0100 0000

 

Резерв

 

 

 

 

 

 

 

8

У8

1000 0000

 

Резерв

 

 

 

 

 

 

 

2. Разработка алгоритма работы операционного устройства.

Алгоритм работы операционного устройства строится на основе использования СА. На рис. 9 приведена СА вычисления выражения У = 2(В+0,625А). Целые числа А и В, заданные в дополнительном коде, хранятся в оперативной памяти по адресам 0 и 1, результат У записывается в память по адресу 2. Каждая из вершин СА включает одну микрокоманду и, если это необходимо, дополнительные сигналы Yi. Если в данном такте в операционный автомат подаются только дополнительные сигналы Yi, то необходимо использовать пустую микрооперацию NOP (см. вершину 1 на СА). При вычислении значений 0.5А, 0.25А, 0.125А используется арифметический сдвиг вправо AR(AC). При вычислении значения 2(В+0.625А) используется арифметический сдвиг влево AL(AC), после которого осуществляется проверка на переполнение (V).

3. Микропрограммный управляющий автомат с программируемой логикой

На рис. 10 показана структура микропрограммного управляющего автомата с принудительной адресацией микрокоманд [2,7].

Н ачало

ó1,

ó3,

Nop 1

AC=Ï (RA) 2

AR(AC) 3

P6 = AC

4

 

AR(AC)

5

AR(AC) 6

AC=AC+R6; ó6 7

AC=AC+Ï (PA) 8

AL(AC);

ó6 9

1

V 10 0

Ï (PA)=AC 11

Êî í åö

40

AC=0

PA=0

A => AC

PA=PA+1

0.5A => AC

0.25A => AC

0.125A => AC

0.625A => AC; ÐÀ=ÐÀ+1

B+0.625A => AC

2(B+0.625) => AC

ÐÀ=ÐÀ+1

2(B+0.625) —> Ï

Рис. 9 Схема алгоритма

Автомат включает:

ПЗУ, постоянное запоминающее устройство. В нем хранится микропрограмма управления цифровым устройством;