Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы схемотехники и вычислительных систем.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
3.08 Mб
Скачать

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

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

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

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

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

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

Запись микрокоманд в память производится по графу микропрограммы. Для рассматриваемого примера (по графу, представленному на рис 7.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), заканчивающую микропрограмму.

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

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

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

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

Рис. 8.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 – микрокоманда условного перехода.

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

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

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

В схеме на рис. 8.20, как в схеме на рис.8.16 использована следующая стратегия распределения адресов памяти:

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

  2. Микрокоманды, выбираемые при выполнении условий переходов, начинают новые линейные участки микропрограммы, формируемые по правилу пункта 1.

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

Первый линейный участок микропрограммы (микрокоманды: [0, Y1]; [0, Y2]; [1, Р, 9]; [0, Y4]; [1, Х3, 11]; [0, Y5]; [0, Y7]; [БУП, 0] записывается, соответственно, по адресам c 1-го по 8-ой.

Следующие два линейных участка микропрограмм с микрокомандами [0,Y3]; [БПУ, 0] и [0,Y6]; [БПУ, 0] записываются по адресам (9, 10) и (11, 12).

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

С появлением однокорпусных микропроцессоров, развития RISC‑архитектур команд, конвейерных, суперконвейерных и суперскалярных процессоров произошел возврат к использованию простых по структуре и функциям команд и использованию схем управления на основе конечных автоматов

Вопросы для самопроверки

  1. Определите назначение управляющей части АЛУ.

  2. При интерпретации управляющей части исполнительного устройства конечным автоматом чему соответствует:

  • Выходной алфавит автомата.

  • Входной алфавит автомата.

  1. Какие параметры конечного автомата определяет микропрограмма при интерпретации управляющей части исполнительного устройства конечным автоматом.

  2. Определите основные различия автоматов Мили и Мура.

  3. Определите устройство управления с жесткой логикой.

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

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

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

  7. Определите назначение регистра состояния и дешифратора устройства управления на основе конечных автоматов.

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

  9. Определите понятие устройства управления на основе распределителя импульсов.

  10. Определите этап проектирования графа микропрограммы.

  11. Определите этап разметки графа микропрограммы и составление графа конечного автомата (для варианта Мура).

  12. Определите этап разметки графа микропрограммы и составление графа конечного автомата (для варианта Мили).

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

  14. Определите этап выбора типов триггеров регистра состояний.

  15. Определите этап кодирования состояний автомата.

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

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

  18. Определите этап составления функциональной схемы МПА

  19. Определите этап составления принципиальной схемы МПА.

  20. Определите особенности разметки автомата Мура.

  21. Определите особенности составления графа МПА Мура, кодирования состояний автомата, составления совмещенной таблицы выходов и переходов.

  22. Определите особенности составления графа МПА Мили, кодирования состояний автомата, составления совмещенной таблицы выходов и переходов.

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

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

  25. Определите основные типы микропрограммных устройств управления по кодированию адресной части микрокоманды.