Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Адресация микрокоманд






 

Исходными данными для проектирования УАПЛ является, как и для УАЖЛ (управляющий автомат с " жесткой" логикой), микропрограмма, представлен­ная, например, в форме ГСА. Каждая операторная вершина должна реализо­ваться в один такт машинного времени, причем после операторной вершины в ГСА может следовать:

  • операторная вершина;
  • условная вершина, оба выхода которой или один из них соединены с опе­раторными вершинами, например, как показано на рис. 4.9, а;
  • цепочка из двух или более условных вершин, выходы которых соединены с условными вершинами (рис. 4.9, б).

В первом случае осуществляется безусловный переход к следующей микро­команде, и адрес этой единственной микрокоманды (А1) должен размещаться в поле адреса выполняемой микрокоманды.

Во втором случае необходимо сделать выбор одного из двух возможных сле­дующих адресов. В поле адреса микрокоманды следует разместить:

  • номер х логического условия, по значению которого осуществляется выбор;
  • адрес А1 микрокоманды, которая будет выполняться, если указанное условие истинно;
  • адрес А0 микрокоманды, которая будет выполняться, если указанное условие ложно.

В третьем случае количество проверяемых в микрокоманде условий и адре­сов переходов может быть произвольным, в т. ч. и достаточно большим. В этом случае длина микрокоманды может быть весьма велика.

При выборе формата микрокоманды нужно учитывать следующие обстоя­тельства:

  • следует эффективно использовать разряды поля, обеспечив по возможно­сти его минимальную длину;
  • желательно ограничиться единственным форматом микрокоманды, в край­нем случае, выбирать минимально возможное разнообразие форматов.

Справедливость первого требования очевидна. Относительно второй предпо­сылки можно заметить, что при большом числе форматов соответственно ус­ложняется схема декодирования микрокоманды.



Следовательно, если в рамках одного формата микрокоманды обеспечить реализацию всех возможных вариантов следования вершин, то в третьем слу­чае потребуется предусмотреть в микрокоманде несколько полей номеров логических условий и столько же плюс одно поле адресов микрокоманд. Учитывая, что в большинстве алгоритмов длинные цепочки логических вер­шин встречаются довольно редко, организация подобного формата микро­команды будет весьма неэффективна— ведь для второго случая будут использоваться только одно поле логического условия и два поля адреса, а для первого случая — только одно поле адреса.

Чаще всего в быстродействующих УАПЛ используется формат микрокоман­ды, приведенный на рис. 4.10. Такой способ адресации микрокоманд принято называть принудительным, здесь явно указываются оба возможных адреса перехода, причем расположение микрокоманд в ячейках памяти может быть произвольным.

Если в ГСА встречаются цепочки из k последовательных условных вершин, последняя из которых связана с операторной вершиной, то для их реализации в рамках формата микрокоманды, представленной на рис. 4.10, потребуется k микрокоманд (а следовательно, k тактов), в каждой из которых, кроме по­следней, поле микроопераций будет пустым. При выполнении таких микро­команд в операционном автомате никаких действий не выполняется (он " про­стаивает"!), а управляющий автомат тратит k-1 тактов на определение сле­дующего адреса.

Когда в ГСА встречается большое число таких цепочек, снижение произво­дительности системы становится существенным. В этом случае используют другие подходы к формированию следующего адреса микрокоманды. На­пример, на рис. 4.11 представлен фрагмент ГСА, при реализации которого необходимо последовательно проверить три логических условия. Для быст­рой реализации этого фрагмента достаточно выбрать некоторый базовый ад­рес (в данном случае он должен быть кратным 8), начиная с которого в ПЗУ микропрограмм расположить последовательно блок микрокоманд y13, …..., y20 Для определения адреса очередной микрокоманды достаточно к базовому адресу прибавить (приписать справа) значение вектора логических условий ,. Адрес следующей микрокоманды определяется, таким образом, за один такт, но разработчик лишается возможности произвольного размещения микрокоманд в памяти.

Если в ГСА имеется большое число линейных участков и, следовательно, безусловных переходов, то применение принудительной адресации ведет к неэффективному использованию памяти. Действительно, при безусловном переходе информативным является только поле адреса перехода А1, а поля А0 - не используются.

В целях уменьшения длины поля адреса микрокоманды можно использовать т. н. естественную адресацию (рис. 4.12), напоминающую механизм адреса­ции команд в программе. В этом случае в состав устройства формирования адреса микрокоманды включают регистр-счетчик адреса микрокоманд, а в адресном поле микрокоманды — два поля: х и А1. Если заданное полем х условие истинно, то выполняется микрокоманда по адресу А1, иначе — мик­рокоманда по текущему значению счетчика адреса микрокоманд, предвари­тельно увеличенному на единицу.

Таким образом, УАПЛ с естественной адресацией работает с той же ско­ростью, что и УАПЛ с принудительной адресацией, при этом длина микро­команды уменьшается на длину одного адресного поля, зато в структуре УФАМК необходимо дополнительно предусмотреть регистр-счетчик.

Структурная схема микропрограммного автомата с естественной адресацией приведена на рис. 4.13. Считанные из ПЗУ микрокоманд слова помещаются в регистр микрокоманд (Рг МК), причем часть микрокомандного слова де­шифрируется для выработки микроопераций, а поле адресации, естественно, используется для формирования адреса следующей микрокоманды. Мульти­плексор выбирает из множества логических условий переменную, заданную полем х, а поле i позволяет при необходимости проинвертировать значение выбранного логического условия:

Если значение выбранного логического условия истинно, то осуществляется переход по микропрограмме: при единичном значении на выходе сумматора по модулю два в регистр-счетчика адреса микрокоманды (Рг Сч А МК) за­гружается значение поля А1 микрокоманды, содержащее адрес перехода. Ес­ли условие не выполняется (ложно), то загрузки нового адреса в Рг Сч А МК не производится, зато его прежнее значение увеличивается на единицу. В слу­чае безусловного перехода (после операторной вновь следует операторная вершина) так же следует просто увеличить на единицу содержимое Рг Сч А МК. Для этого достаточно среди множества логических условий иметь кон­станту 0 (тождественно ложное логическое условие) и именно ее номер ука­зывать в поле х в случае безусловного перехода.

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

Действительно, на практике часто встречаются алгоритмы, содержащие в ос­новном линейные участки и лишь изредка— условные вершины. Тогда для большинства микрокоманд (для тех, за которыми в ГСА следует операторная вершина) поля переадресации формата рис. 4.12, а использоваться не будут.

В этом случае имеет смысл введение двух различных форматов микрокоманд, показанных на рис. 4.12, б. Один формат содержит только информацию о микрооперациях и после выполнения такой микрокоманды всегда добавляет­ся единица к Рг Сч А МК — таким образом реализуется линейный участок.

Команды другого формата применяются только в случае реализации услов­ной вершины. Как обычно, проверяется значение заданного логического ус­ловия (или его инверсии), и если оно истинно — в Рг Сч А МК загружается значение поля А1 микрокоманды, иначе к Рг Сч А МК добавляется единица.

При этом никаких микроопераций УА в этом такте не выдает и никаких дей­ствий в ОА не выполняется.

Такое решение позволяет значительно эффективней использовать ЗУ МК, однако производительность устройства несколько снижается. Естественно, если количество условных вершин велико, то велико будет и число " пустых" (для ОА) тактов дискретного времени. Если это окажется неприемлемым по соображениям быстродействия, придется возвращаться к формату микро­команды рис. 4.12, а.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.