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

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

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

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

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

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

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

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

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

 

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

Микрооперации (МО)Логическое условие (ЛУ)Адрес микрокомандыРисунок 2.2 - Формат МК при принудительной адресации

 

Особенности этого способа адресации в том, что здесь в обязательном порядке присваивается адрес следующей исполняемой микрооперации. Выполнение микрокоманды предполагает в этом случае исполнение микрооперации, включенной в микрокоманду, анализ проверки логического условия и передачу управления на четный или нечетный адрес, который зависит от сигнала, выработанного формирователем адресов микрокоманды. Если в ГСА имеется большое число линейных участков и, следовательно, безусловных переходов, то применение принудительной адресации ведет к неэффективному использованию памяти. В таком случае следует использовать другой тип адресации - естественную. Формат микрокоманды представлен на рисунке 2.3.

 

Рисунок 2.3 - Форматы МК при естественной адресации

 

В данном случае В - это бит-маркер, который равен 1, если микрокоманда управляющая и равен 0, если микрокоманда операционная [2].

 

2.3 Алгоритмы кодирования операционной части

 

2.3.1 Горизонтальное кодирование

При горизонтальном способе кодирования МО (рисунок 2.4) под каждый управляющий сигнал yi (i=1, 2,…, m) в операционной (М) части МК выделяется один (свой) двоичный разряд, что позволяет в рамках одной МК формировать любые сочетания управляющих сигналов. ФСМО для такого способа кодирования обладает наименьшей стоимостью и минимальным временем срабатывания.

 

Рисунок 2.4 - Горизонтальное кодирование

Недостаток - линейный рост длины поля операционной части при увеличении общего количества выполняемых МО.

Общее число микроопераций в ЭВМ может достигать нескольких сотен, поэтому, под операционную часть требу?/p>