Структурная схема операционного автомата

Пример HTML-страницы

Структура 5Структурная схема операционного автомата

. Схема автомата для умноже­ния двоичных чисел по алгоритму Бута приведена на рис. 1.2.2. Составной ре­гистр из

RG

3

,

RG

2

и Т образован путем соединения выхода триггера младшего разряда регистра

RG

3

c

входом триггера старшего разряда

RG

2

, выхода триггера младшего разряда

RG

2

с входом триггера

T

. Информационные выходы регистров

RG

1

и

RG

3

подключены к входам сумматора – вычитателя, выходы которого соеди­нены с информационными входами регистра

RG

3

. Как указано выше, счетчик с 3–входовым Логическим элементом ИЛИ служат для фиксации окончания опера­ции умножение.

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

Для приведения узлов операционного автомата в исходное состояние перед выполнением операции умножения используются управляющие сигналы:

● у1 и у2 — для загрузки регистров

RG

1

,

RG

2

множимым А и множителем В соот­ветственно;

● у3 , у4 — для установки регистра

RG

3

и триггера Т в нулевое состояние;

● у5 — для записи в счетчик

C

Т числа

n

= 4.

С помощью управляющих сигналов у6, у7 реализуются микрооперации сумми­рования

RG

3

<—

RG

3

+

RG

1

и вычитания

RG

3

<—

RG

3

RG

1

. Результаты микроопера­ций поступают в

RG

3

. Структура 1

Для сдвига содержимого составного регистра

RG

3

,

RG

2

, Т используется уп­равляющий сигнал у8, а для уменьшения показаний счетчика СТ на единицу — сигнал у9.

Для упорядочения управляющих сигналов воспользуемся понятием микро­команды. Микрокомандой называют совокупность совместимых микроопераций, которые могут быть выполнены на одном машинном такте (одновременно).

На основании перечисленных выше управляющих сигналов (микроопераций) сформируем набор микрокоманд для выполнения операции умножения:

● объединим микрооперации у1…..

y

5

(начальной загрузки регистров

RG

1

,

RG

2

,

RG

3

, триггера

T

и счетчика СТ) в общую микрокоманду

Y

1

= (у1, у2, у3, у4, у5), так как они могут быть выполнены одновременно (на одном тактовом интер­вале);

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

RG

3

в отдельные микрокоманды:

Y

2

= у6 ,

Y

3

= у7;

● объединим микрооперации у8, у9 арифметического сдвига вправо на один разряд содержимого составного регистра (

RG

3

,

RG

2

, Т) и уменьшения на еди­ницу содержимого счетчика СТ в микрокоманду

Y

4

= {у8, у9}.

В операционном автомате формируются следующие логические условия (при­знаки):

● Х1 , Х2 — значения выходного сигнала триггера

T

и младшего разряда

RG

2

. Выполняемые действия при различных комбинациях этих сигналов приведе­ны в табл. 1.2.1;

● Х3 — результат проверки на нуль содержимого счетчика СТ. Значение Х3 = 1 свидетельствует о том, что счетчик пуст (С

T

= 000). В этом случае операция умножения завершается. Если Х3 = 0, то начинается новый цикл операции ум­ножения.

Особенности схемной реализации операционного автомата.

Принципиаль­ная схема операционного автомата, построенная с использованием библиотеч­ных элементов пакета программ

Micro

Logic

II моделирования цифровых схем, изображена на рис. 1.2.3,а. Структура 2

Состав и назначение узлов операционного автомата. Опера­ционный автомат содержит:

триггер Т, выходной сигнал

Q

которого используется в качестве логического условия Х1 для выявления следующего действия в процессе умножения двоич­ных чисел;

регистры

RG

3

и

RG

2

для хранения промежуточных результатов и произведения в виде 8–разрядного двоичного кода Р7,…, Р0. Назначение выводов каж­дого регистра: выводы 1:4 являются входами данных для параллельной за­грузки; вывод 14 — последовательный вход

DS

; выводы 8:11 — выходы регистра; выводы 5, б, 7 служат для подачи управляющих сигналов сброса, параллельной загрузки и синхроимпульсов. Выход Р4 младшего разряда реги­стра

RG

3

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

DS

регистра

RG

2

, а выход Р0 младшего разряда регистра

RG

2

— с входом данных

D

триггера Т. Поэтому

RG

3

,

RG

2

и Т образуют 9–разрядный сдвигающий регистр, младшие разряды которого задействованы для сигналов логических условий Х2 и X1. На параллельные входы данных В3, В2, В1, В0 регистра

RG

2

подан множитель В = 0111 (+710). Параллельные входы регистра

RG

3

подключены к выходам 4–разрядно­го сумматора. Последовательный вход

DS

регистра

RG

3

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

R

— к источнику

D

01

пускового импульса ПИ. В исходном состояния (после пускового импульса) регистр

RG

2

загружен множителем

B

, а регистр

RG

3

и триггер Т — нулями;

вычитающий счетчик СТ, выполненный на микросхеме К155ИЕ7 (библиотеч­ный макроэлемент 193). На входы данных

D

3

,

D

2

,

D

1

,

D

0

(выводы 9, 10, 1,15 счетчика СТ подан операнд 0100 (число

n

= 4) для фиксации окончания операции умножения, на вход сброса

R

(вывод 14) — уровень логического 0 (счетчик готов к работе). Синхроимпульсы подаются на вывод 4, а сигнал параллельной загрузки с нулевым активным уровнем — на вывод 11. Для формирования логического условия Х3 используется элемент 3ИЛИ–НЕ, на который подаются выходные сигналы

Q

2

,

Q

1

,

Q

0

(выводы 6, 2, 3) счетчика. При

Q

2

=

Q

1

=

Q

0

=0 формируется сигнал Х3 = 1, свидетельствующий об оконча­нии операции умножения;

4–разрядный сумматор (библиотечный макроэлемент

SM

_

SC

), предназначенный для реализации операций сложения/вычитания в дополнительном коде, для чего к его четырем входам подключены логические элементы исключа­ющее ИЛИ. На входы A3, А2, А1, А0 логических элементов подается множимое А = 1011 = (–510). Четыре других входа сумматора соединены с выходами Р7, Р6, Р5, Р4 регистра

RG

3

, а выходы сумматора — с входами данных

RG

3

. В режиме вычитания на входы сумматора должен поступать дополнительный код А3А2А1А0+1 операнда А. Такой режим реализуется путем подачи микрокоманды

Y

3

= 1 на управляющие входы логических элементов исключающей ИЛИ и на вход переноса сумматора (вывод 12);

логические элементы, предназначенные для управления работой операционного автомата;

генераторы сигналов

D

01

÷

D

06

для формирования пускового импульса (ПИ) синхроимпульсов (СИ) и последовательности микрокоманд

Y

1

,

Y

2

,

Y

3

,

Y

4

, требуемой для перемножения двоичных четырехразрядных чисел 1011 и 0111 по алгоритму Бута.

Регистр

RG

1

(рис. 1.2.3,а), в котором множимое А =А3А2А1А0 = 1011 постоянно хранится в процессе выполнения всей операции умножения, в приведенную на рис. 1.2.3,а схему не включен. Программа

Micro

Logic

II располагает источниками логических уровней 0 и 1, поэтому значения разрядов А3 = 1, А2= 0, А1 = 1, А0= 1 множимого непосредственно подаются на входы сумматора

SM

_

SC

через элементы исключающее ИЛИ.

В исходном состоянии:

● на входы логических элементов исключающее ИЛИ подается множимое А = 1011 (при этом на входы сумматора поступает А = 1011 = — 510 при сложе­нии и — А = 0101 = +510 при вычитании);

● на параллельные входы данных ВЗ, В2, В1, В0 регистра

RG

2

— операнд

B

= 0111 (+710);

● на входы данных

D

3

,

D

2

,

D

1

,

D

0

счетчика СТ операнд 0100 (410);

● на вход

R

сброса счетчика — логический 0 (счетчик готов к работе).

Организация управления операционным автоматом. Для управления узлами операционного автомата используются генераторы сигналов

D

01:

D

06. Помимо синхроимпульсов генераторы формируют (рис. 1.2.3,а):

● пусковой импульс ПИ для сброса 9–разрядного регистра

RG

3

,

RG

2

, Т (Р7…Р0 = 0…0, Х1 = 0) и загрузки счетчика

CT

числом 4 (

Q

3

Q

1

Q

0

= 100);

● микрокоманду

Y

1 — для загрузки регистра

RG

2

множителем В;

● микрокоманды

Y

2

,

Y

З

— соответственно для сложения и вычитания содержи­мого

RG

3

и

RG

1

с сохранением результата в

RG

3

;

● микрокоманду

Y

4

— для сдвига на один разряд вправо содержимого составно­го регистра

RG

3

,

RG

2

, Т и уменьшения на единицу содержимого счетчики СТ. Каждая микрокоманда действует в течение тактового периода СИ (двух тактов со значениями СИ = 0 и 1). Временная последовательность микрокоманд

Y

1

,

Y

2

,

Y

З

,

Y

4

выбирается на основании рассмотренного алгоритма Бута (рис. 1.2.1). рис. 1.2.4

Для перемножения двоичных четырехразрядных чисел 1011 = —510 и 0111 =+710 вре­менная последовательность сигналов представляет собой (рис. 1.2.4):

● пусковой импульс ПИ = 1 (такт 1);

● микрокоманду загрузки

Y

1

= 1 (такты 1, 2);

● микрокоманды

Y

3

= 1 (такты З, 4) и

Y

4

= 1 (такты 5, 6), реализующие согласно логическому условию Х2Х1 = 10 вычитание и сдвиг 1;

● микрокоманду

Y

4

= 1 (такты 7, 8, 9, 10) для реализации сдвигов 2 и 3, по­скольку Х2Х1 =11;

● микрокоманды

Y

2

= 1 (такты 11, 12) и

Y

4

= 1 (такты 13, 14), выполняющие сло­жение и сдвиг 4 в соответствии с логическим условием Х2Х1 = 01.

Для составления схемы логики управления узлами операционного автомата использовалась табл. 1.2.2, в которой приведены:

● входы узла и подаваемые на них управляющие сигналы (с указанием выпол­няемой микрооперации);

● логические элементы, которые задействованы для подачи на вход управля­ющего сигнала. Структура 4

Микрокоманда

Y

1

= 1, воздействуя на вход V (такты 0, 1), устанавливает регистр

RG

2

в режим параллельной загрузки разрядов ВЗ, В2, В1, В0 множителя. Загрузка происходит по СИ, поступающему через ЛЭ5 на вход С–вход регистра

RG

2

.

При исполнении микрокоманды

Y

2

:

● сигнал

Y

3

, поступающий на входы элементов исключающее ИЛИ, равен нулю поэтому реализуется операция сложения;

● сигнал

Y

2

= 1 через ЛЭ1 поступает на вход V регистра

RG

3

и переводит его в режим параллельной загрузки;

● сигнал

Y

2

= 1 через ЛЭ1, ЛЭ2 открывает доступ СИ на С–вход регистра

RG

3

для активизации параллельной загрузки выходных сигналов сумматора.

Отличие исполнения микрокоманды

Y

3

от микрокоманды

Y

2

состоит в том, что путем управления элементами исключающее ИЛИ и сумматора (подачей на вход переноса единичного сигнала) реализуется операция вычитания. Результат по–прежнему помещается в

RG

3

.

При исполнении микрокоманды

Y

4

с выхода генератора

D

06

снимается единичный сигнал, поэтому через открытые ЛЭ4, ЛЭ5, ЛЭ6 синхроимпульсы СИ поступают на С–входы регистров

RG

3

,

RG

2

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

Принцип работы операционного автомата

. Для пояснения работы автомата на отдельных тактах воспользуемся временными диаграммами (рис. 1 2.4), полученными в результате компьютерного моделирования.

Пусковой импульс ПИ (такт 1), воздействуя на соответствующие входы (рис. 1.2.3, а), осуществляет сброс регистров

RG

3

,

RG

1

7…Р0 = 0…0) и триггера Т (Х1 = 0), а также загрузку счетчика СТ числом 4 (

Q

3

Q

1

Q

0

– 100).

Во время тактов 1,2 действует микрокоманда

Y1

= 1, поэтому по срезу перво­го синхроимпульса СИ на втором такте осуществляется параллельная загрузка регистра

RG2

множителем В = 0111 (+710), в результате на выходе

RG2

в начале 3—го такта появляются сигналы Р3 = 0, Р2= 1, Р1 =0, Р0 = 1. Младший разряд

P0

регистра

RQ2

используется в качестве логического условия Х2.

После выполнения на 3–м и 4–м тактах микрокоманды

Y3

вычитания мно­жимого А (—510) из содержимого регистра

RG3

(0000) в

RG3

загружается Р7Р6Р5Р4 = 0101 (+510). Затем выполняются арифметические сдвиги 1, 2, 3 (5–10 такты), приводящие к последовательному изменению 9–разрядного кода Р7Р6Р5Р4РЗР2Р1Р0: 010101110 (исходное состояние); 001010111; 000101011; 000010101 (конечное состояние на такте 11).

После трех сдвигов комбинация логических условий Х2Х1 =01, поэтому на 11–14 тактах выполняются операции суммирования

(Y2)

и сдвига 4

(Y4).

Из временных диаграмм

Q2Q1Q0(t),

отражающих работу счетчика СТ, видно, что после четвертого сдвига

(Y4

— такты 13, 14) счетчик оказывается пустым, по­этому на выходе логического 3ИЛИ–НЕ появляется сигнал ХЗ = 1 (в начале так­та 14), свидетельствующий об окончании операции умножения.

На выходе регистровой пары

RG3, RG2

получаем окончательный результат — произведение (—510) х (+710) в виде 8–разрядного дополнительного кода Р7Р6Р5Р4РЗР2Р1Р0 = 11011101

,

который соответствует значению (—3510).

Макроэлемент операционного автомата

. Программа

Micro–Logic

II позволя­ет на основе логической схемы устройства (рис. 1.2.3,а) создать макроэлемент.

Макроэлемент операционного автомата с подключенными генераторами сиг­налов для его проверки представлен на рис. 1.2.3,б. Проверка работоспособно­сти макроэлемента показала полное совпадение временных диаграмм, с времен­ными диаграммами на рис. 1.2.4 для логической схемы операционного автомата. Использование макроэлементов при моделировании позволяет представить схе­мы сложных функциональных узлов в компактном виде (на одном экране), что значительно облегчает проведение исследований.


Понравилась статья? Поделиться с друзьями:
Все об энергетике, электротехнике и электронике
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: