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