Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



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

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

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

 

РгК[0 31],

РгК
РгК[0 7] или РгК[КОП],

 

 
 

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

РгК[6].

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

 

 

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

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

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

,

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

и .

 

 

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

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

, где

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

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

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

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

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

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

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

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

 
 

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

 

Пример:

 

 
 

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

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

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

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

 

 
 

Сдвиг.

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

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

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

 

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

 

 

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

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

 

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

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

 

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

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

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

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

 

 

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

1-ый такт:

2-ой такт:

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

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

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

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

 

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

 
 

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

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-04-11; Просмотров: 716; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.018 с.)
Главная | Случайная страница | Обратная связь