Проектирование управляющей части арифметико-логического устройства

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 27.06.2015
Размер файла 391,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Проектирование управляющей части АЛУ

1. Способы построения управляющей части АЛУ

синхроимпульс кодирование микрокоманда сигнал

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

Формально управляющую часть для выполнения одной операции можно рассматривать как конечный автомат, определяемый:

выходным алфавитом (множеством микрокоманд)

Y= y1, y2, …, yi, …, yn,

входным алфавитом (множеством сигналов оповещения)

X= x1, x2, …, xj, …, xk,

алфавитом состояний, определяемым графом микропрограммы:

Q {q0, q1, q2,…, qi,… qr,},

где q0 - начальное состояние автомата, микропрограммой, определяющей:

функцию переходов

qi+1 = (qi, xi) или (как функцию времени) - Q(t+1) = [Q(t), X(t)].

функцию выходов (выходные сигналы автомата в состоянии qi):

yi = (qi, xi) или (как функцию времени) - Y(t) = [Q(t), X(t)].

Для управляющей части универсального АЛУ задание конечного автомата дополняется входным алфавитом множества двоичных сигналов, задающих код операции: 1, 2, …, m.

В соответствии с этим управляющие части АЛУ называют управляющими автоматами.

Существует два типа управляющих автомата:

с жесткой или схемной логикой,

с хранимой в памяти логикой.

Управляющий автомат с жесткой логикой или микропрограммный автомат (МПА)

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

Управляющий автомат с хранимой в памяти логикой

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

Проектирование таких устройств сводится к явному микропрограммированию и сохранению МК в памяти. Устройства, использующие этот метод, стали называться микропрограммными устройствами управления.

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

Микропрограммные устройства управления снижали стоимость ЭВМ, но в то же время сдерживали их быстродействие.

Переход на высокие частоты (мега и гигагерцы), конвейерную обработку и RISC-архитектуру (архитектуру команд с урезанным набором команд) привел к вытеснению ЭВМ с микропрограммными устройствами управления. Большинство современных ЭВМ имеют устройства управления на основе конечных автоматов.

2. Проектирование управляющей части АЛУ на основе конечных автоматов

2.1 Общие вопросы проектирования устройств управления на основе конечных автоматов

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

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

МПА содержит:

схему запуска (СЗ),

элементы памяти,

дешифратор состояний,

комбинационную схему формирования сигналов управления,

комбинационную схему формирования сигналов переходов.

Схема запуска

Все действия по обработке данных в АЛУ производятся по сигналам управления уi,, которые формируются по синхросигналам С. Схема запуска по сигналу пуска Z формирует одиночные последовательности синхросигналов для формирования сигналов управления, которые требуются требуемых для выполнения одной операции обработки данных.

Схема запуска содержит JK-триггер и элемент И. В исходном состоянии триггер схемы запуска находится в нулевом состоянии, и его сигнал на выходе запрещает доступ синхросигналов в МПА. По сигналу пуска Z триггер переходит в единичное состояние, и открывается доступ синхроимпульсов в МПА до поступления с комбинационной схемы управляющего сигнала окончания операции W на вход сброса K JK- триггера. В схеме запуска используются или двухтактные триггеры (рис. 1), или триггеры с динамическим входом сигнала синхронизации. Триггер запуска должен переходить в новое состояние по заднему фронту сигнала Z или W. Это необходимо для формирования полноценных по длительности управляющих импульсов с первого до последнего.

Элементы памяти.

Элементы памяти используют в качестве регистров состояния конечного автомата. Регистр состояния включен в цепь обратной связи МПА. Состояние автомата определяет выходные сигналы управления, а сигналы управления определяют следующее состояния МПА. Здесь возможен эффект гонок, когда изменения состояния МПА производятся асинхронно. Для устранения эффекта гонок, и чтобы триггеры переключались строго по синхроимпульсам, в качестве элементов памяти используются или двухтактные триггеры (рис. 1), или триггеры с динамическим входом сигнала синхронизации.

Дешифратор состояния

При хранении состояния МПА для сокращения оборудования обычно используют двоичное кодирование состояния. Состояния МПА используются в комбинационных схемах в дешифрованном виде. Дешифратор преобразует код состояния МПА в набор сигналов на соответствующих состоянию шинах.

Комбинационная схема формирования сигналов управления

Схема формирует серии сигналов управления. Отдельный сигнал управления yi соответствует отдельной микрооперации (МО). Совокупность сигналов управления в одном такте соответствует микрокоманде (МК). Серия МК, формируемых схемой от сигнала Z до сигнала W, составляет микропрограмму (МП).

В МПА на основе автомата Мура выходные сигналы являются функцией только состояний автомата.

В МПА на основе автомата Мили выходные сигналы являются функцией состояний автомата и сигналов оповещения (на рис. 1 подача сигналов оповещения на комбинационную схему только для автомата Мили показана пунктирными линиями).

Комбинационная схема формирования сигналов переходов реализует функцию переходов. Она в каждом такте выдает комбинацию сигналов переходов, под действием которых в регистре состояния автомата фиксируется следующее состояние. Сигналы переходов в автоматах Мили и Мура являются функциями состояния и сигналов оповещения. Количество формируемых сигналов переходов и схема формирования (логические выражения) зависят от используемых типов триггеров (D или JK-триггеры). На рис. 1 представлен вариант схем управляющего автомата с использованием JK-триггеров.

Для простейших линейных микропрограмм можно использовать частный случай конечного автомата Мура - распределитель импульсов. Основой распределителя импульсов является счетчик, используемый в качестве регистра состояний. Он реализует линейную смену состояний конечного автомата. Счетчик не нужно проектировать, его можно просто выбрать. При использовании счетчика отпадает необходимость в использовании комбинационной схемы формирования сигналов переходов. Смена состояний производится внутренними цепями самого счетчика. При малом количестве состояний в качестве счетчика можно использовать регистр сдвига. В этом случае дешифратор не используется.

2.2 Основные этапы проектирования схем МПА

Проектирование МПА заключается в проектировании компонентов структурной схемы, представленной на рис. 1.

Основными этапами проектирования МПА являются:

Проектирование графа микропрограммы.

Проектирование структурной схемы устройства.

Эти два этапа взаимосвязаны и выполняется параллельно.

Выбор типа используемого конечного автомата.

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

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

Разметка графа микропрограммы и составление графа конечного автомата.

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

Определение параметров регистра состояний и дешифратора состояний.

Параметры дешифратора определяются количеством состояний автомата Q. Количество выходных схем дешифратора K определяется по формуле

К = ] logQ [

Выбор типов триггеров регистра состояний.

Сигналы переходов устанавливают следующее состояние автомата. При выборе D-триггеров установка нового состояния определяется только входным сигналом (на каждый триггер по одному). Нулевой сигнал устанавливает нулевое состояние, единичный - единичное состояние. Установка любого состояния производится по синхросигналу. При выборе JK-триггеров (с раздельными входами) активными, т.е. производящими переключение, являются только единичные сигналы. Для переключения триггера в единичное состояние требуется подача единичного сигнала на J-вход, для переключения триггера в нулевое состояние - на K- вход.

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

Кодирование состояний автомата.

Кодирование состояний автомата заключается в нумерации состояний. При кодировании следует учитывать переходы из одного состояния в другое. Желательно, чтобы при переходах изменяло свое значение минимальное количество разрядов в номере состояния автомата. Это уменьшает сложность комбинационных схем формирования сигналов переходов. Если количество состояний автомата не равно степени двух, для минимизации оборудования важен выбор используемых значений номеров состояний автомата.

Составление совмещенной таблицы выходов и переходов МПА. Это необязательный этап, который облегчает проектирование комбинационных схем выходов и сигналов переходов.

Проектирование комбинационной схемы выходов.

На этом этапе по совмещенной таблице выходов и переходов МПА составляются логические выражения для формирования двоичных сигналов (микроопераций) на всех выходных линиях управления (yi). двоичных сигналов на всех выходных линиях управления (микроопераций yi).

Проектирование комбинационной схемы сигналов переходов.

На этом этапе по совмещенной таблице выходов и переходов МПА составляются логические выражения для формирования двоичных сигналов переходов на всех выходных линиях управления состояниями триггеров регистра состояния.

Составление функциональной схемы МПА.

На этом этапе по логическим выражениям для формирования двоичных сигналов управления yi и сигналов переходов строится функциональная схема и с учетом определенных параметров дешифратора и регистра состояния проектируется функциональная схема МПА.

Составление принципиальной схемы МПА.

На этом этапе по функциональной схеме МПА с учетом выпускаемых промышленностью микросхем строится принципиальная схема МПА

2.3 Проектирование МПА на основе автомата Мура

Разметка производится по графу микропрограммы. При разметке с каждой операторной вершиной графа отождествляется одно состояние автомата. Начальная и конечная вершины размечаются как начальное (нулевое) состояние автомата.

Для примера возьмем граф МП устройства алгебраического сложения/вычитания целых чисел со знаком в прямом коде. Разметка графа МП представлена на рис. 2., наименования состояний обозначены в скобках (а0, а1 и т.д.).

Размещено на http://www.allbest.ru/

Рис. 2. Разметка графа МП для автомата Мура

Составление графа МПА

При составлении графа МПА как автомата Мура, каждое состояние автомата графически отображается в виде окружности (рис. 3).

Рис. 3. Граф автомата Мура

Взаимное расположение окружностей не имеет принципиального значения. Внутри окружности ставится идентификатор состояния (а0, а1 … аn.) и выходные сигналы (микрокоманды), которые должны формироваться в этом состоянии автомата. Начальным и конечным состоянием является а0. Переходы автомата из одного состояния в последующее на графе обозначены стрелками.

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

Состав микрокоманд (Y1 ч Y7) на рис. 3 соответствует составу микрокоманд графа автомата Мура на рис. 2.

Определение разрядности регистра состояний МПА

Согласно графу МПА, проектируемый конечный автомат должен иметь 8 состояний (от нуля до семи). Следовательно, для кодирования любого его состояния достаточно трехразрядного регистра состояний и дешифратора на три входа и восемь выходов.

Выбор типов используемых триггеров

В данном случае рассмотрим использование обоих типов триггеров для регистра состояния.

Кодирование состояний автомата

Состояния автомата пронумеруем символами a0, a1, и так далее. Нумерацию состояний автомата можно производить в произвольном порядке. Иногда использование произвольной нумерации приводит к упрощению схем формирования управляющих сигналов и сигналов перехода.

Составление совмещенной таблицы выходов и переходов МПА

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

Совмещенная таблица выходов и переходов - это массив возможных путей переходов конечного автомата. Она представлена на таблице 1.

Таблица 1. Совмещенная таблица выходов и переходов автомата Мура

Исходное состояние

Код исходного состояния

Состояние перехода

Код состояния перехода

Входные сигналы (оповещения)

Выходные сигналы

Сигналы переходов D-триг.

Сигналы переходов JK-триг.

а0

000

а1

001

-

-

D3

J3

а1

001

а2

010

-

Y1=y1

D2

J2, K3

а2

010

а3

011

Y22,y6(tз)

D2 D3

J1

а2

011

а4

100

p

D1

J1, K2, K3

а3

011

а7

111

-

Y3= y4,y6(tз)

D1 D2 D3

J1

а4

100

а5

101

Y4=y4, у5, y6(tз)

D1 D3

J3

а4

100

а6

110

X3

D1 D2

J2

а5

101

а7

111

-

Y5=y7.

D1 D2 D3

K2

а6

110

а7

111

-

Y6=y5 y6(tз) y7

J3

а7

111

а0

000

-

Y7=y3

-

K1,K2,K3

Формирование сигнала окончания цикла W = а7.

Проектирование комбинационной схемы выходов (см. рис. 1).

В устройствах управления на основе автомата Мура выходные сигналы (микрооперации yi) определяются только текущим состоянием автомата (ai).

Следовательно, для определения функций выходных сигналов (микрокоманд) нужно отметить все состояния автомата, в которых они должны формироваться:

y1 = a1 (1),

y2 = a2 (2),

y3 = a7 (3),

y4 = a3 + a4 (4),

y5 = a4, + a6 (5).

y6 = а2+(?)a3 +a4 + a6 (6),

y7 = a5 (7),

y8 = a6 (8),

W = a7 (9),

Проектирование комбинационной схемы сигналов переходов (см. рис. 1).

Сигналы переходов являются функциями состояния автомата и входных сигналов (сигналов оповещения операционной части).

Здесь возможны два варианта:

использование регистра состояния на D - триггерах.

использование регистра состояния на JK - триггерах.

Вариант использования D - триггеров.

Для нахождения функций переходов по таблице 1 для каждого сигнала перехода Di составляют дизъюнкцию из всех комбинаций состояния автомата аi и входных сигналов оповещения xi , а также, возможно, производят простейшие преобразования уравнений:

D1 = p a2 + a3 + a4+ x3a4 + a5 + a6

или, учитывая, что a4+ x3a4 =а4:

D1 = p a2 + a3 + a4+ a5+ a6, (11)

р

p a2 = (12)

D2 = a1 + a2 + a3 + х3a4 + а5 + a6, (13)

=

а2 = (14)

D3 = a0 + a2+ a4+a5 +a6, (15)

Вариант использования JK - триггеров

Для нахождения функций переходов по таблице 1 для каждого сигнала перехода Ji и Ki отмечают все комбинации состояния автомата аi и входных сигналов оповещения xi, а также, возможно, производят простейшие преобразования уравнений:

D1 = p a2 + a3 + a4+ x3a4 + a5 + a6

или, учитывая, что a4+ x3a4 =а4:

D1 = p a2 + a3 + a4+ a5+ a6, (11)

р

p a2 = (12)

D2 = a1 + a2 + a3 + х3a4 + а5 + a6, (13)

=

а2 = (14)

D3 = a0 + a2+ a4+a5 +a6,

Минимизация функциональной схемы формирования сигналов управления (микроопераций) и переходов

Целями минимизации схем могут являться быть получение:

минимального схемного оборудования (критерий минимальной стоимости),

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

оптимальное соотношение этих критериев.

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

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

В приведенных выше функциях переходов для целей сокращения оборудования использована только одна замена в выражении для значения D1 которая не приводит к увеличению задержки:

a4+ x3a4 =а4,

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

Исходные уравнения функций переходов и выходов составляются в дизъюнктивной форме логических функций. В этой форме логическая функция (ЛФ) представляется в виде дизъюнкций минтермов. При этом различные функции могут использовать одинаковые минтермы. Например, в выражениях для функций разных переходов используются одинаковые минтермы (комбинации сигналов оповещения).

Это:

a2 - используется для формирования сигналов переходов D2 и D3 при использовании D -триггеров (выражения 12 и 13),

p a2 - используется для формирования сигналов переходов J1, K2, K3 (выражения 16, 20 и 21).

Проектирование функциональной схемы формирования сигналов управления (микроопераций)

Функциональная схема формирования сигналов управления (рис. 4) строится согласно выражениям 1-9.

Рис. 4. Функциональная схема формирования сигналов управления на основе автомата МУРа

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

Рассмотрим случай использования регистра на основе D - триггеров.

Функциональная схема формирования сигналов управления строится согласно выражениям 11-15.

Для уменьшения оборудования в комбинационных схемах формирования сигналов переходов D2 и D3 использована общая схема формирования минтерма - a2.

Функциональная схема формирования сигналов переходов на основе автомата МУРа с использованием D-триггеров представлена на рис. 5.

Рис. 5. Функциональная схема формирования сигналов переходов на основе автомата МУРа с использованием D-триггеров

Функциональная схема формирования сигналов переходов на основе автомата МУРа с использованием JK - триггеров строится аналогично по выражениям (16-25).

2.4 Проектирование МПА на основе автомата Мили

Разметка графа микропрограммы

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

Основные правила разметки графа микропрограммы для автомата Мили:

1. Начальное состояние а0 отмечается на выходе начальной вершины МП. Остальные состояния ставятся после операторной вершины.

2. Выход начальной и вход конечной вершины графа МП соответствуют состоянию а0 графа автомата Мили.

3. Вход вершины, следующей за операторной вершиной графа МП, соответствует определенному состоянию автомата Мили.

4. Отметка состояния аi ставится на входе вершины ниже стрелок из операторных вершин и выше стрелок из условных вершин.

На рис. 5 и 6 представлены примеры, поясняющие правила разметки графа МП при построении графа автомата Мили и пример построения графа автомата Мили.

Первая часть последнего правила применяется для сокращения числа состояний автомата, вторая часть - для исключения пустых тактов. Например, при отметке состояния графа МП ниже стрелки из условной вершины (точка b2) появляется пустой такт (без формирования сигналов управления) при переходе из вершины a0 на вершину b2.

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

Состояния автомата Мили обозначены в вершинах графа. Вершины соединены путями возможных переходов. Рядом с каждым путем перехода (над чертой) указаны комбинации сигналов оповещения, которые определяют эти переходы. Отсутствие сигналов оповещения (безусловные переходы) обозначено прочерком. Рядом (под чертой) представлены микрокоманды - Yi (наборы формируемых сигналов управления).

Разметка графа МП и граф микропрограммного автомата Мили для устройства алгебраического сложения/вычитания целых чисел со знаком в прямом коде представлены на рис. 6 и рис. 7.

Рис. 6. Пример разметки графа МП для построения графа автомата Мили

Размещено на http://www.allbest.ru/

Рис. 7. Пример построения графа автомата Мили

Конкретные наборы микроопераций для каждой микрокоманды представлены в табл. 2 (Совмещенная таблица выходов и переходов автомата Мили).

Таблица 2. Совмещенная таблица выходов и переходов автомата Мили

Исходное состояние

Код исходного состояния

Состояние перехода

Код состояния перехода

Входные сигналы (оповещения)

Выходные сигналы

Сигналы переходов D-триг.

Сигналы переходов JK-триг.

а0

000

а1

001

-

у1

D3

J3

а1

001

а6

110

-

у2, y6(tз),

D1D2

J1, J2, K3

а6

110

а2

010

p

y4,y6(tз),

D2

K1

а6

110

а3

011

y4, у5, y6(tз)

D2 D3

J1, K3,

а3

011

а2

010

X3

y5, y6(tз), y7,

D2

K3

а3

011

а2

010

y7, ,

D2

K3

а2

010

а0

000

y3

K2,

Формирование сигнала окончания цикла W = а2.

Совмещенная таблица выходов и переходов автомата Мили строится по графу автомата (рис. 9) аналогично построению таблицы выходов и переходов автомата Мура.

Проектирование комбинационной схемы выходов (см. рис. 1)

Особенностью автомата Мили является то, что для него переходы являются функцией двух переменных:

y(ai) = f [(ai), (хi)],

т.е. зависят от состояния ai и сигналов оповещения yi.

Следовательно, для определения функций выходных сигналов (микрокоманд) нужно отметить все состояния автомата, в которых они должны формироваться c учетом сигналов оповещения, а также, возможно, произвести простейшие преобразования уравнений:

y1 = a0 (1),

y2 = a1 (2),

y3 = a2 (3),

y4 = a6 (4),

y5 = a6 +a3 X3 (5),

y6(tз) = а1 + a6 + a3 X3= a6 + X3 a3, (6),

y7 = а3 + a3, (7),

W = a2 (8).

Рис. 8. Разметка графа МП алгебраического сложения/вычитания целых чисел со знаком в прямом коде для построения автомата Мура Мили

Проектирование комбинационной схемы сигналов переходов (см. рис. 1)

Сигналы переходов являются функциями состояния автомата и входных сигналов (сигналов оповещения с операционной части).

Размещено на http://www.allbest.ru/

Рис. 9. Граф автомата Мура Мили алгебраического сложения/вычитания целых чисел со знаком в прямом коде для построения автомата

Здесь так же, как и для автомата Мура возможны два варианта:

использование регистра состояния на D - триггерах.

использование регистра состояния на JK - триггерах.

Вариант использования D - триггеров

Для нахождения функций переходов по таблице 1 для каждого сигнала перехода Di составляют дизъюнкцию из всех комбинаций состояния автомата аi и входных сигналов оповещения xi, а также, возможно, производят простейшие преобразования уравнений:

D1 = a1, (11)

D2 = a1 + (p a6 + a6) + (a3 X3 + a3) или:

D2= a1 + a6 + a3 (12)

D3 = a6 (13).

Вариант использования JK - триггеров

Для нахождения функций переходов по таблице 1 для каждого сигнала перехода Ji и Ki отмечают все комбинации состояния автомата аi и входных сигналов оповещения xi, а также, возможно, производят простейшие преобразования уравнений:

J1 = a1 (16),

J2 = a1 (17),

J3 = (p a6 + a6) = a6 (18)

K1 =(p a6 + a6) = a6 = J3 (19),

K2 = a2 (20),

K3 = a1 + (a3 X3 + a3) = a1 + a3 (21).

W = a2 (22).

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

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

Общая структура микропрограммных устройств управления (управляющей части АЛУ на основе управляющих автоматов с хранимой в памяти логикой) представлена на рис. 10.

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

Рис. 10. Блок схема микропрограммного устройства управления

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

Чтение микрокоманд начинается по сигналу "пуск". Окончание операции (выбираемой последовательности микрокоманд) может определяться специальной командой или передачей управления на начальный адрес микропрограммы.

Читаемые из памяти (ЗУ микрокоманд) микрокоманды поступают на регистр микрокоманд.

В общем случае микрокоманда может содержать до трех функциональных полей (см. рис. 11): поле микроопераций (МО), поле адресов (Ад.) и поле задержки (Тз).

Рис. 11. Основные поля микрокоманд

3.1 Основные принципы работы микропрограммных устройств управления

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

Микропрограммы операций строятся непосредственно по блок-схемам алгоритмов этих операций.

Схема формирования адреса микрокоманды формирует адрес следующей микрокоманды, используя сигналы оповещения (Х0 Хm) из операционной части и значения адресов ветвления в адресной части регистра команд.

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

Описанные выше процессы протекают в определенной временной последовательности. Следовательно, микропрограммное устройство управления требует своего устройства управления. Алгоритм его работы не имеет ветвлений и в качестве устройства управления здесь может использоваться простейший автомат - распределитель сигналов, формирующий серию сигналов управления zi,…zm, с постоянным периодом.

3.2 Типы микропрограммных устройств управления

Микропрограммные устройства управления могут различаться:

по кодированию поля микроопераций,

по типу адресации,

по использованию поля задержки.

По кодированию поля операции микропрограммные устройства управления могут быть:

с горизонтальным кодированием,

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

с горизонтально-вертикальным кодированием,

с вертикально-горизонтальным кодированием.

По типу адресации микропрограммные устройства управления могут быть:

двухадресными,

одноадресными,

безадресными.

По использованию поля задержки микропрограммные устройства управления могут быть:

с постоянным тактом,

с управляемым тактом.

Микропрограммные устройства управления могут проектироваться с любыми сочетаниями вышеперечисленных решений.

3.3 Кодирование поля микроопераций регистра микрокоманд

Горизонтальное кодирование

Это самое простое кодирование поля микроопераций регистра микрокоманд.

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

Пример.

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

Согласно графу микропрограммы микропрограмма использует 7 микрокоманд:

Y1 = y1

занесение первого операнда с шины данных в первый регистр с дублированием знака на триггере знака/переполнения (T/v),

Y2 = y2, y6(tз)

занесение второго операнда (через мультиплексор MSB и сумматор)

Y3 = y4, y6(tз)

передача на входы сумматора первого операнда (y4), фиксация суммы на регистре второго операнда (y6(tз))

Y4 = y4, y5, y6(tз)

передача на входы сумматора первого операнда в прямом коде (y4), а второго - в дополнительном коде (y5); фиксирование суммы на регистре второго операнда по заднему фронту (y6(tз)) и переполнения в триггере переноса T&/v, т.е. вычитание без знаков второго оператора из первого с сохранением результата в регистре второго операнда и переноса в триггере переноса.

Y5 = y7,

коррекция знака результата

Y6 = y5, y6(tз), y7

формирование дополнительного кода результата и сбрасывание сигнала переполнения

Y7 = y3

сохранение результата на шине данных (y3)

Общее количество микроопераций для данного примера равно 7. Следовательно, поля микроопераций регистра микрокоманды (рис. 11) и ячеек памяти микрокоманд при горизонтальном кодировании должны содержать не менее 7 разрядов.

Кодировка (прошивка) памяти микрокоманд для рассматриваемого примера представлена в табл. 3.

Таблица 3. Кодировка (прошивка) ячеек памяти ЗУ микрокоманд при горизонтальном кодировании

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

Поля микроопераций

Поле адресов

Поле задержки

у1

у2

у3

у4

у5

у6(tз)

у7

Y1

1

0

0

0

0

0

0

Y2

0

1

0

0

0

1

0

Y3

0

0

0

1

0

1

0

Y4

0

0

0

1

1

1

0

Y5

0

0

0

0

0

0

1

Y6

0

0

0

1

1

1

Y7

0

0

1

0

0

0

0

В приведенном примере только 13 из 47 бит памяти занято единицами (около 28%). Это очень неэффективное использование объема памяти. Но схема формирования сигналов управления очень проста.

Рис. 12. Регистр микрокоманд со схемой формирования сигналов управления

Горизонтальное кодирование.

Она может состоять из ряда элементов И для увеличения коэффициента ветвления и формирования фронтов. Функциональная схема формирования сигналов управления представлена на рис. 12.

Вертикальное кодирование

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

Функциональная схема формирования сигналов управления при вертикальном кодировании представлена на рис. 13.

Вертикальное кодирование значительно уменьшает объем используемой памяти микропрограмм, но имеет ограниченное применение.

Рис. 13. Регистр микрокоманд со схемой формирования сигналов управления

Вертикальное кодирование.

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

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

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

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

Рис. 14. Регистр микрокоманд со схемой формирования сигналов управления

Модифицированная схема вертикального кодирования.

Горизонтально-вертикальное кодирование

Идея горизонтально-вертикального кодирования заключается в разделения поля микроопераций в регистре микрокоманды (и в памяти) на группы, так чтобы в каждой из них были сгруппированы взаимно-независимые микрооперации. Это микрооперации, которые совместно не используются ни в одной микрокоманде. В этом случае к микрооперациям в каждой группе можно применить вертикальное кодирование, т.е. в поле кодирования конкретной группы задавать микрооперацию ее порядковым номером в данной группе. Для задания всех микроопераций микрокоманды используют отдельные поля микроопераций всех групп. Эти поля в регистре микрокоманд располагаются последовательно (с горизонтальным кодированием).

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

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

Минимальное количество групп определяется по максимальному количеству микроопераций в микрокомандах. В рассматриваемом наборе микрокоманд максимальное количество микроопераций в микрокоманде равно 3. Это микрокоманды Y3 и Y4.

Пример распределения микроопераций по группам:

М0:{y1, y2, y3, y4, y7,};

М1:{y5,};

М2:{ y6(tз),}.

Указанное распределение можно получить следующим способом:

Формируются три множества микроопераций (по максимальному числу микроопераций в командах): М0, М1 и М2.

По списку микроопераций (табл.3. 12) по очереди выбираются микрооперации. Первая микрооперация операция у1 помещается в первое множество М0.

Все последующие микрооперации проверяются на предмет их использования с уже распределенными (по множествам) микрооперациями. Вторая микрооперация у2 с микрооперацией у1 совместно в одной команде не используется, следовательно она тоже помещается во множество М0.

По той же причине микрооперации у3 и у4 помещаются в то же множество.

Но микрооперация у5 используется совместно с микрооперацией у5 у4 в микрокоманде Y4 .По этой причине микрооперация у5 помещается в М1.

Микрооперация y6(tз) совместно используется с микрооперациями у5 и у4 в микрокоманде Y6 . По этой причине она помещается в новое множество М2.

Кодировка поля микрокоманд и схема формирования сигналов управления для случая горизонтально-вертикального кодирования представлены на рис 15.

Рис. 15. Регистр микрокоманд со схемой формирования сигналов управления

Горизонтально-вертикальное кодирование.

В общем случае, распределение микроопераций по множествам неоднозначно. В зависимости от порядка рассмотрения микроопераций можно получать различные распределения, причем с неоднозначными коэффициентами сжатия. С учетом этого после распределения микроопераций по множествам следует произвести коррекцию для получения минимальной разрядности кодов. Минимальные разрядности кодов микрокоманд получаются, если удается большинство микроопераций поместить в одно из множеств, причем их количества в каждом из множеств будет равно значениям 2n - 1, где n-натуральное число.

Кодировка поля микрокоманд и схема формирования сигналов управления для случая горизонтально-вертикального кодирования представлены на рис. 15.

Вертикально-горизонтальное кодирование

Идея вертикально-горизонтального кодирования заключается в объединении микроопераций в виде множеств совместно используемых микроопераций, при этом в каждом множестве применяется горизонтальное кодирование микроопераций, а для кодирования самих множеств - вертикальное. Наиболее эффективному кодированию соответствует такое разбиение, которое формирует наибольшее количество по возможности равномощных множеств. Чисто вертикальное кодирование является предельным случаем вертикально горизонтального кодирования, когда каждая микрокоманда содержит по одной микрооперации.

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

Процедура вертикально-горизонтального кодирования.

При вертикально-горизонтальном кодировании выбираются микрооперации только одного множество. При этом предпочтительно использование равномощных множеств. Следовательно, мощность множеств V должна соответствовать микрокоманде с наибольшим числом микроопераций. Это нижний предел мощности выбираемых множеств. При выборе размерности множеств следует исходить из того, что минимальная размерность поля кода операции регистра соответствует минимуму функции:

F= V]log2 k[,

где:

V - количество микроопераций в отдельных множествах (количество разрядов в поле микроопераций),

k - количество множеств.

При ручном проектировании для формирования множеств обычно используют граф смежности.

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

Граф смежности для примера алгебраического сложения/вычитания чисел в прямом коде представлен на рис. 16(а).

Рис. 16. Граф смежности микроопераций (а) полный, б) модифицированный)

Выбранный здесь пример крайне неудачен для использования вертикально-горизонтального кодирования поля микроопераций, так как почти все микрооперации сосредотачиваются в одном множестве. В подобных вариантах возможна модификация графа за счет выделения микроопераций, связывающих в одно множество другие микрооперации. В примере на рис. 16.(б). представлен модифицированный граф связности. Из полного графа удалены две микрооперации y5 и y6(tз).

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

Кодировка поля микрокоманд и схема формирования сигналов управления для случая вертикально-горизонтального кодирования представлены на рис 17.

Рис. 17. Регистр микрокоманд со схемой формирования сигналов управления

Вертикально горизонтальное кодирование.

На рис. 17 поле А отведено под кодирования двух "выделенных" микроопераций y5 и y6(tз) (М выд.) с использованием горизонтального кодирования.

Двухразрядное поле В используется для горизонтального кодирования микроопераций во множествах М1, М2 и М3.

Двухразрядное поле С используется для указания номера множества микроопераций Мi (i = 1, 2, 3), используемого в микрокоманде (кодируется вертикально).

3.3 Кодирование поля адресов схемы формирования адресов микрокоманд

Двухадресная система микрокоманд

Это команды с принудительной адресацией. Адресация в микрокомандах используется для задания порядка выполнения микрокоманд в микропрограмме. На рис. 18 представлена функциональная схема регистра микрокоманд микропрограммного устройства управления со схемой формирования адреса следующей команды и записью микропрограммы для двухадресной системы.

Рис. 18. Регистр микрокоманд микропрограммного устройства управления со схемой формирования адреса следующей команды и записью микропрограммы для двухадресной системы микрокоманд

В этой системе команд адресное поле регистра микрокоманды содержит два адреса и условие ветвлений Xi. Содержимое поля условий определяет выбор адреса следующей микрокоманды. В решении этого вопроса имеются схемные варианты. Существуют схемные варианты решения этой задачи. В схеме на рис. 18 при отсутствии условия или при невыполнении заданного условия, для выборки следующей микрокоманды используется первый адрес (адрес 1), при выполнении заданного условия - второй (адрес 2).

Пример микропрограммы представлен для специализированного устройства управления операцией алгебраического сложения/вычитания чисел в прямом коде. Ячейка памяти микропрограммы с нулевым адресом является особой. Этот адрес пустой ячейки, соответствующей начальному и конечному состоянию устройства управления. Адрес этой ячейки автоматически выставляется при включении устройства.

Запись микрокоманд в память производится по графу микропрограммы. Для рассматриваемого примера:

Первая микрокоманда Y1 записывается в первую ячейку. Содержимое этой ячейки соответствует формированию микрооперации y1 и безусловной передаче управления на 2-й адрес памяти адрес памяти 2;

Вторая микрокоманда Y2 должна содержать указание о ветвлении в зависимости от выполнения условия P. Здесь возможны различные стратегии. Для данного примера выбрана запись всей последовательности микрокоманд одной ветви в последовательные ячейки памяти для случаев невыполнения всех условий ветвлений. В данном примере сначала в последовательные ячейки памяти записывается последовательность микрокоманд, которая выполняется при невыполнении условий ветвления. По этой стратегии в полях микрокоманды Y2 первоначально записываются только первый адрес и номер кода условия ветвлений. (Y2, 3, 0, Р; где P -номер условия ветвления). Запись второго адреса откладывается до выяснения адреса первой свободной ячейки памяти после записи всей текущей ветви.

Третья (по порядку) Микрокоманда Y4 записывается по третьему адресу 3. Как и при записи второй микрокоманды Y2 записывается только один адрес перехода (Y4, 3, 0, X3; где X3 - номер условия ветвления). (Y4, 4, 0, X3; где X3 - номер условия ветвления).

Следующая микрокоманда Y5. располагается по адресу 4. Эта команда без ветвления и содержит только один адрес - адрес следующей команды: (Y5, 5, 0, 0).

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

Следующий адрес 6 можно использовать для начала новой ветви (с микрокоманды Y2). Для этого в поле второго адреса микрокоманды с первым ветвлением (МК Y2), Y2 записывается адрес свободной ячейки 6, Микрокоманда, расположенная по адресу 2 принимает законченный вид (Y2, 3, 6, Р), а по адресу 6 - записывается первая микрокоманда новой ветви (Y3, 5, 0, 0), передающая управление на конечную микрокоманду первой ветви микропрограммы.

По адресу 7 записывается первая команда второй ветви микрокоманды Y4 -- это микрокоманда Y6 : (Y6, 5, 0, 0). При этом команда Y4 корректируется и приобретает вид (Y4, 3, 7, X3 ). Микрокоманда Y6 передает управление на микрокоманду (Y7, 0, 0, 0), заканчивающую микропрограмму.

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

Одноадресная система команд

Одноадресная система команд также относится к принудительной системе адресации, но значение альтернативного адреса непосредственно не задается, а вычисляется с использованием первого. В простейшем случае в качестве первого адреса используется четное число, а в качестве второго - нечетное, на единицу большее первого, причем первый адрес определяет ветвь программы, для которой условие ветвления отсутствует или не выполняется, а второй - ветвь программы, для которой условие ветвления выполняется. В последнем случае нулевое значение младшего разряда адрес перехода заменяется единичным с использованием схемы ИЛИ и сигнала выполнения логического условия.

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

Рис. 19. Регистр микрокоманд микропрограммного устройства управления со схемой формирования адреса следующей команды и записью микропрограммы для одноадресной системы микрокоманд

Для рассматриваемого примера:

Первая микропрограмма (Y1, 2, 0) записывается по первому адресу. В качестве адреса следующей микрокоманды выбирается следующая свободная ячейка памяти 2.

Вторая микрокоманда (Y2, 4, Р) определяет ветвление. По этой причине адрес следующей микрокоманды (ветви при невыполнении условия ветвления) выбирается четный - 4. Соответственно, адресом ветви при выполнении условия ветвления становится следующий нечетный адрес - 5. Адрес 3 пропускается.

Следующая команда по графу микропрограммы (Y4, 3, 0), соответствующая первой команде ветви при невыполнении условия ветвления, записывается по адресу 4 и использует в качестве адреса следующей микрокоманды пропущенную ячейку памяти по адресу 3. Команда (Y4, 3, 0) записывается по адресу 4. Это команда ветвления. Адрес следующей микрокоманды при невыполнении условия ветвления будет четный (6), а при выполнении - нечетный (7).

Команда (Y3, 6, Х3), соответствующая первой команде ветви при выполнении условия ветвления, записывается в соседнюю нечетную ячейку 5. Она использует в качестве адреса следующей микрокоманды пропущенную ячейку памяти по адресу 3.

Две последующие микрокоманды (Y6, 3, 0) и (Y5, 3, 0), записываются в последующие соседние ячейки с четным (6) и нечетным (7) адресами. Обе команды передают управление на последнюю микрокоманду микропрограммы, расположенную по адресу 3.

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

В этой системе используются два типа микрокоманд: микрокоманды исполнения микроопераций и микрокоманды условных переходов. Первые содержат только одно поле - поле микроопераций, вторые два поля - условия перехода и адреса перехода. Линейные последовательности микрокоманд первого типа записываются в памяти по порядку их выполнения. Их выборка производится по счетчику микрокоманд. Команды второго типа используются только для реализации ветвлений. Для исполнительных устройств такты выполнения команд переходов являются пустыми (холостыми тактами).

Тип микрокоманды задается старшим битом:

0 - микрокоманда исполнения микроопераций,

1 - микрокоманда условного перехода.

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

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

Рис. 20. Регистр микрокоманд микропрограммного устройства управления с естественной адресацией микрокоманд


Подобные документы

  • Разработка устройства логического управления (контроллер) промышленного назначения с "гибкой" (программируемой) логикой. Технические характеристики устройства. Структурная схема и конструкция контроллера. Нормирование сигналов, алгоритм управления.

    курсовая работа [2,0 M], добавлен 21.10.2012

  • Сравнительный анализ функций арифметико-логического устройства (АЛУ) в современных микропроцессорах. Синтез схемы блока АЛУ и признаков результата. Разработка имитатора управляющих сигналов. Расчет надежности и безотказной работы проектируемой модели.

    дипломная работа [1,0 M], добавлен 14.11.2014

  • Принципы организации управляющих автоматов. Разработка и проектирование автомата с жесткой и программируемой логикой. Разработка таблицы прошивки ПЗУ для УА с естественной адресацией микрокоманд. Структурный и абстрактный синтез управляющего автомата.

    курсовая работа [508,5 K], добавлен 16.03.2011

  • Исследование структурной схемы цифрового автомата и операционного устройства. Алгоритм функционирования цифрового автомата в микрооперациях. Кодирование его состояний. Характеристика функций возбуждения триггеров и формирования управляющих сигналов.

    курсовая работа [3,6 M], добавлен 06.12.2013

  • Функциональная и принципиальная схема для арифметико-логического устройства, выполненного в виде печатной платы. Параметры используемой серии логических элементов. Составление минимизированного логического выражения для формирования выходного сигнала.

    курсовая работа [521,0 K], добавлен 15.01.2011

  • Управляющий автомат и его связь с операционным автоматом. Разработка алгоритма работы управляющего автомата. Построение кодированной ПТП, синтез функций возбуждения и выходов. Реализация управляющего автомата с жесткой логикой на заданной элементной базе.

    курсовая работа [57,9 K], добавлен 29.12.2011

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

    курсовая работа [758,5 K], добавлен 18.02.2011

  • Электронный автомат с заданными входными сигналами и контролируемыми параметрами. Структурный синтез управляющего автомата. Направленный граф абстрактного автомата. Кодирование внутренних состояний и выбор типа памяти. Выбор элементов и микросхем.

    курсовая работа [933,1 K], добавлен 29.07.2009

  • Управляющий цифрового автомат типа Мура. Абстрактный и структурный синтез автомата, построена функциональная схема. Функции выходов и возбуждения элементов памяти. Моделирование на ПК с использованием симулятора ModelSim. Описание автомата на языке VHD.

    курсовая работа [214,2 K], добавлен 07.11.2010

  • Структурный синтез управляющего автомата. Кодирование внутренних состояний и выбор памяти. Составление таблицы траекторий. Выбор микросхем и аналоговых элементов. Устройства сопряжения и нормализация шкалы датчика. Устройство коммутации с элементами.

    курсовая работа [206,1 K], добавлен 23.02.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.