Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Синтез микропрограммных автоматов






 

Микропрограммный управляющий автомат – это конечный автомат, обеспечивающий выполнение микропрограмм операционным устройством.

Микропрограмма описывает алгоритм выполнения какой либо сложной операции (арифметической, логической и т. п.) в терминах микроопераций и логических условий.

К микрооперациям относятся простейшие действия над словами информации, выполняемые элементами операционного автомата (ОА): загрузка и хранение слова, инверсия слова, сложения двух слов, инкремент, декремент, сдвиг на 1 разряд влево или вправо и т. п.

Микропрограмма часто записывается в виде ГСА (подобно ГСА в программировании). Идентификаторами в микрооперациях являются обозначения операционных элементов ОА, например: RA – регистр А, СТ – счетчик и т. д., и идентификаторы переменных. Микрооперации записываются в виде операторов присваивания с использованием идентификаторов и символов микроопераций.

Примеры микроопераций:

RС: = 0 – в регистр RС записать (загрузить) число 0.

RA: = А – в регистр RA записать (загрузить) число А.

RA: = RА – инвертировать содержимое регистра RA.

RС: = RA + RВ – в регистр RС поместить результат сложения чисел, хранящихся в регистрах RА и RВ.

RА: = L1 (RA). 0 – сдвинуть влево на 1 разряд содержимое регистра RA а в освободившийся крайний правый разряд записать 0.

СТ: = СТ + 1 – изменить состояние счетчика СТ на +1.

Все операционные элементы характеризуются разрядностью. Разряды нумеруются справа налево начиная с нуля. Например, запись: СТ[3..0] - означает, что счетчик СТ – четырехразрядный. Его разряды (начиная со старших) обозначаются так: СТ[3], СТ[2], СТ[1], СТ[0].

Микрооперации, допускающие совместное выполнение, называются совместимыми. Они могут записываться в одной и той же операторной вершине ГСА.

В микропрограмме кроме микроопераций (операторные вершины ГСА) используются логические условия (условные вершины ГСА). Логические условия, как правило, вырабатываются операционным автоматом и могут принимать значения “0” (ложно) или “1” (истинно).

Примеры логических условий:

СТ=0 – содержимое счетчика СТ равно нулю.

RA(0) – содержимое младшего разряда регистра RA: если оно равно нулю – переход по выходу «0» условной вершины ГСА, если равно «1» – переход по выходу «1» условной вершины ГСА.

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

 

Рассмотрим пример выполнения операции умножения двух целых положительных 8-ми разрядных двоичных чисел: С = А * В.

Алгоритм выполнения операции умножения двух целых 8 - разрядных положительных двоичных чисел можно описать следующим образом. Имеются переменные А и В – операнды операции С = А * В и переменная С, в которую будем записывать промежуточные суммы и в которой будет, в итоге, сформирован результат, и счетчик циклов СТ. Алгоритм выполнения операции:

 

1. С = 0, СТ = 0

2. Если В[0] = 1, то С = С + А

3. А = L1(A). 0 – сдвиг числа А влево на 1 разряд (умножение на 2).

4. В = R1(В) – сдвиг числа В вправо на 1 разряд.

5. СТ = СТ + 1

6. Если СТ = 7 – перейти к пункту 8

7. Перейти к пункту 2

8. Операция выполнена

 

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

 

RB[7..0] – 8-ми разрядный регистр множителя - числа В.

Функции регистра:

- загрузка числа: RB: = В;

- сдвиг числа вправо на один разряд: RВ: = R1(В).

RА[15..0] – 16-ти разрядный регистр множимого - числа А. Разрядность регистра RА в два раза больше разрядности числа А, так как в процессе выполнения операции число А должно сдвигаться влево n-1 раз.

Функции регистра:

- загрузка числа: RА: = А;

- сдвиг числа влево на один разряд: RА: = L1(RA).

RС[15..0] – 16-ти разрядный регистр промежуточных сумм и результата. Разрядность регистра RС в два раза больше разрядности чисел А и В, так как в процессе выполнения операции число С может иметь разрядность в два раза большую, чем у чисел А и В.

Функции регистра:

- загрузка числа: RС: = С;

- обнуление регистра: RС: = 0.

СТ[2..0] – 3-х разрядный двоичный счетчик для подсчета числа циклов (до семи).

Функции счетчика:

- обнуление счетчика: СТ: = 0;

- счет: СТ: = СТ + 1.

СМ[15..0] – 16-ти разрядный сумматор – комбинационная схема дли выполнения микрооперации: RС: = RС + RА

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

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

По микропрограмме, записанной в форме ГСА, строится ГСА управляющего аппарата. Для этого вместо микроопераций в операторных вершинах записываются микрокоманды (Yi), а вместо логических условий – условия их коды - Xi.

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

Таблица 3.1

Микрокоманды Микрооперации
У1 RА: = А, RB: = В;
У2 RС: = С, СТ: = 0;
У3 RС: = RС + RА;
У4 RА: = L1(RA);
У5 RВ: = R1(В);
У6 СТ: = СТ + 1;

 

Логические условия закодируем так:

 

Таблица 3.2

Код лог. условия Логические условия
Х1 RB [0] = 0;
Х2 СТ = 7;

 

 

Кроме того, в ГСА УА часто предусматривают две дополнительные вершины: одну операторную (перед вершиной “конец”) и одну условную (после вершины “начало”). В первой записывается микрокоманда завершения выполнения операции. Это микрокоманда не для операционного автомата, а для информирования о том, что операция выполнена и ОУ готово к выполнению следующей операции (в нашем примере - У7). Вторая – соответствует внешней команде “Пуск” (в нашем примере - Х3), по которой ОУ начинает выполнение операции. С учетом этого ГСА управляющего автомата для нашего примера имеет вид, приведенный на рис. 3.2.

Операционный автомат содержит ряд достаточно сложных элементов, но структура ОА достаточно проста (рис.3.3).

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

Входами для ОА являются обрабатываемые данные (числа А и В) и управляющие сигналы (микрокоманды У i, формируемые управляющим автоматом). Выходы ОА – число С (результат выполнения операции умножения) и логические условия Х i (для управляющего автомата). Взаимодействие операционного и управляющего автоматов показано на рис.3.4.

Когда на вход УА поступает команда “Пуск” (Х3=1), управляющий автомат начинает (в соответствии с приведенной на рис.2 схемой алгоритма - ГСА) вырабатывать микрокоманды Уi, которые инициируют выполнение определенных микроопераций операционным автоматом. ОА при этом формирует логические условия Хi, в соответствии с которыми и ГСА управляющий автомат вырабатывает очередные микрокоманды. Поскольку выполнение микроопераций требует определенного времени, микрокоманды должны выдаваться управляющим автоматом с интервалом времени, достаточным для выполнения самой продолжительной микрооперации. Для этого в УА вводится синхронизация. Синхронный УА анализирует логические условия Хi и вырабатывает микрокоманды Уi в строго определенные моменты времени, задаваемыми частотой импульсов синхронизации (машинное или автоматное время).

 

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

Рассмотрим различные способы реализации УА, их особенности, достоинства и недостатки.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.