Описание слов, регистров и шин

Описание n-разрядного слова на языке микроопераций содержит его название - идентификатор и разрядный указатель. Разрядный указатель состоит из номеров старшего и младшего разрядов слова, разделенных знаком разделителя ÷. Пример Описание слов, регистров и шин - student2.ru

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

Например, описание регистра команды (РгК) и его отдельных частей (подрегистров) можно записать следующим образом:

РгК[0 Описание слов, регистров и шин - student2.ru 31],

РгК
РгК[0 Описание слов, регистров и шин - student2.ru 7] или РгК[КОП],

 
  Описание слов, регистров и шин - student2.ru

В разрядном указателе регистра можно указать идентификатор части слова, а значение отдельного разряда регистра можно выделить и так:

РгК[6].

Совокупность линий (цепей), предназначенных для передачи слова, или, в более общем случае кодов и сигналов, объединенных общим функциональным назначением (например, адрес операнда), называется шиной. Шина, по которой в устройство поступает во внешнюю среду или из внешней среды подается слово (адрес операнда, операнд, команда), описывается также как и регистр и слово, идентификатором и разрядным указателем. Например, описание шины, по которой подается 24-разрядный адрес: Описание слов, регистров и шин - student2.ru .

Описание массива данных и памяти.

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

Пример описания модуля памяти:

Описание слов, регистров и шин - student2.ru ,

то есть модуль 2 оперативной памяти (массив) содержит r n-разрядных ячеек (слов). Соответственно j-ое слово (n-разрядная ячейка памяти) и i-ый разряд памяти (столбец массива) представляются соответственно:

Описание слов, регистров и шин - student2.ru и Описание слов, регистров и шин - student2.ru .

Описание микроопераций

Микрооперация осуществляет некоторое элементарное преобразование над данными. Это преобразование может быть логическим (выполняется над операндом поразрядно), арифметическим или функциональным. Например, это может быть сдвиг, операция счета, передача из одного регистра в другой, операции «логическое ИЛИ» над двумя операндами. Микрооперация описывается микрооператором, описание это выглядит так

Описание слов, регистров и шин - student2.ru , где

G – метка микрооперации,

‘:’ – разделитель,

остальное – микрооператор.

Правая часть микрооператора, после знака ‘:=’, называется формулой микрооператора.

Знак ‘*’ – знак, определяющий преобразование над данными, которое осуществляет данная микрооперация.

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

Пример: Прием из регистра команды в регистр адреса РгАвторого операнда А2можно представить в виде:

Описание слов, регистров и шин - student2.ru

Или в более простой форме:

Описание слов, регистров и шин - student2.ru

 
  Описание слов, регистров и шин - student2.ru

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

Пример: Описание слов, регистров и шин - student2.ru

 
  Описание слов, регистров и шин - student2.ru

В одном такте выполняется прием в регистр В содержимого счетчика команд и прием содержимого регистра D в счетчик команд. Точка с запятой разделяет микрооператоры, выполняемые в разных тактах.

Рассмотрим еще несколько примеров микроопераций.

Конкатенация или составление слова.

В регистр В передается слово, отдельные разряды которого соответствуют содержимому некоторых разрядов РгА, Сч, триггера переполнения (ТгП) и константе 0.

Описание слов, регистров и шин - student2.ru

 
  Описание слов, регистров и шин - student2.ru

Описание слов, регистров и шин - student2.ru

Сдвиг.

Различают операции арифметического, логического и циклического сдвига.

В описаниях языка микроопераций сдвиги имеют следующие обозначения СдвА, СдвЛ, СдвЦ. Ниже описана микрооперация арифметического сдвига содержимого регистра С на 4 разряда вправо: Описание слов, регистров и шин - student2.ru

Операция арифметического сдвига содержимого регистра D на 3 разряда влево: Описание слов, регистров и шин - student2.ru .

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

Условные микрооператоры.

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

ЕСЛИ (условие) ТО микрооператор(ы) ИНАЧЕ микрооператор(ы)

В условном микрооператоре вместо микрооператора может стоять метка, отсылающая к микрооператору, определенному в другом месте микропрограммы.

ЕСЛИ (условие) ТО переход ИНАЧЕ микрооператор(ы) или наоборот.

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

РгА[k ¸ k+l]:=если (условие) то РгВ[m ¸ m+l]*РгС[n ¸ n+l]

иначе РгD[p ¸ p+l]*РгЕ[q ¸ q+l]

Описание микрокоманды производится аналогично описания микрооперации и представляет собой метку микрокоманды и разделенную запятыми последовательность микрооператоров, выполняемых в микрокоманде. В общем случае, мы имеем право говорить о микрокоманде, так как микрооперация является частным случаем микрокоманды, содержащей только одну микрооперацию. Особенно же даже самые простые операции преобразования информации занимают несколько тактов и требуют выполнения определенной последовательности микрокоманд. Например, если прием в РгА требует предварительной установки в ‘0’, то прием в РгА из РгКвторого операнда будет производится последовательностью микрокоманд (т.е. микропрограммой).

1-ый такт: Описание слов, регистров и шин - student2.ru

2-ой такт: Описание слов, регистров и шин - student2.ru

В данном случае каждая микрокоманда содержит одну микрооперацию.

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

Безусловные микрокоманды:

РгА:= ША или РгИ:= ЗМ[РгА,0÷n-1]

Условные микрокоманды (

 
  Описание слов, регистров и шин - student2.ru

Пример графа микропрограммы):

Наши рекомендации