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


Это команды с принудительной адресацией. Адресация в микрокомандах используется для задания порядка выполнения микрокоманд в микропрограмме. На рис. 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.



Дата добавления: 2022-02-05; просмотров: 332;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.