Разработка эффективных форматов микрокоманд для различных способов микропрограммирования

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



акодированных микроопераций;

-формат микрокоманд, закодированных одним из способов микропрограммирования;

-список булевых функций для ФСМО;

-список булевых функций для ФСМО, минимизированных для вертикального способа кодирования;

-статистические данные.

2. ОБЗОР ЛИТЕРАТУРНЫХ ИСТОЧНИКОВ ПО ТЕМЕ ПРОЕКТИРОВАНИЯ

2.1 Общие сведения об управляющих автоматах (УА), построенных на основе принципа программируемой логики

В основе идеи микропрограммирования (использования принципа программируемой логики) лежит тот факт, что для инициирования любой микрооперации (МО) или их совокупности достаточно сформировать управляющее двоичное слово, в котором каждый бит соответствует одному управляющему сигналу, инициирующему конкретную МО. Такое управляющее слово называют микрокомандой (МК). Последовательность МК, реализующих определенный алгоритм функционирования управляющего автомата (УА), образует микропрограмму (МП) [1].

Характерной особенностью УА с программируемой логикой является хранение МП в специализированном постоянном запоминающем устройстве (ПЗУ), называемом памятью микропрограмм (ПМП). Обобщенная структура УА с хранимой в памяти логикой изображена на рисунке 2.1.

Рисунок 2.1 - Обобщенная структура УА с программируемой логикой

В состав устройства кроме ПМП входят:

-регистр микрокоманды (РМК);

-регистр адреса микрокоманды (РАМК);

-формирователь сигналов микроопераций (ФСМО);

-формирователь адреса микрокоманды (ФАМК).

Запуск микропрограммы выполнения того или иного вычислительного процесса осуществляется в результате подачи на РАМК начального адреса МП (адреса первой микрокоманды конкретной МП) и последующего выбора текущей МК по сигналу ЧтМК (чтение МК). Выбранная МК попадает на РМК.

Каждая МК в общем случае должна содержать операционную (М) и адресную (Х . А) части. Код операционной части поступает на ФСМО, на выходе которого формируются управляющие сигналы y1, y2,тАж, ym, инициирующие выполнение МО в обрабатывающем устройстве. Код адресной части МК состоит из двух полей. Первая часть адресного кода (X), задающая номер проверяемого логического условия, подается на ФАМК. Формирователь адреса среди поступивших на его информационные входы осведомительных сигналов x1, x2, тАж, xn выбирает xX (сигнал с номером, заданным полем X МК) и в зависимости от его значения (0 или 1) формирует адрес следующей исполняемой МК, который фиксируется в РАМК.

Кодовые комбинации в поле микроопераций (поле М) в микрокоманде могут быть сформированы в соответствии с тремя различными способами микропрограммирования:

-горизонтальным;

-вертикальным;

-смешанным [2].

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

Исходными данными для проектирования УА является микропрограмма, представленная, например, в форме ГСА. Каждая операторная вершина должна реализоваться в один такт машинного времени, причем после операторной вершины в ГСА может следовать:

-операторная вершина;

-условная вершина, оба выхода которой или один из них соединены с операторными вершинами;

-цепочка из двух или более условных вершин, выходы которых соединены с условными вершинами.

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

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

-номер х логического условия, по значению которого осуществляется выбор;

-адрес А1 микрокоманды, которая будет выполняться, если указанное условие истинно;

-адрес АО микрокоманды, которая будет выполняться, если указанное условие ложно.

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

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

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

-желательно ограничиться единственным форматом микрокоманды, в крайнем случае, выбирать минимально возможное разнообразие форматов.

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

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

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

Микрооперация (МО)Логическое условие (ЛУ)Адр