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

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

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



Вµс микрокомандыРисунок 2.2 - Формат МК при принудительной адресации

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


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

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

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

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

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

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

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

Общее число микроопераций в ЭВМ может достигать нескольких сотен, поэтому, под операционную часть требуется отводить большое количество разрядов. Горизонтальное кодирование применяется при относительно небольшом количестве микроопераций [1].

2.3.2 Вертикальное кодирование

При вертикальном способе кодирования (рисунок 2.5) каждой различимой совокупности МО, включенной в ту или иную МК, присваивается позиционный код минимальной длины , где - количество различимых по операционной части МК. ФСМО в этом случае представляет собой комбинационную схему (КС), реализующую m булевых функций от k переменных.

Рисунок 2.5 - Вертикальный способ кодирования

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

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

При горизонтально-вертикальном способе кодирования МО (рисунок 2.6) все множество МО разбивается на подмножества, в каждое из которых включаются только несовместимые по времени исполнения МО. Внутри каждого подмножества сигналы управления кодируются вертикальным способом. Подмножества в операционной части МК располагаются по горизонтальному принципу. Другое название этого способа - кодирование раздельными полями. Расшифровка кодов МО осуществляется ФСМО, представляющим собой R дешифраторов (по одному на каждое выделенное подмножество МО).

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

Каждому полю соответствует свой дешифратор микроопераций. Группа содержит те микрооперации, которые не встречаются вместе в одной микрокоманде. Из группы может выполниться только одна микрооперация. Одновременно выполняемые микрооперации в такте размещаются в разные группы. Этот способ кодирования обеспечивает меньшую гибкость, чем горизонтальное кодирование. Изменение хотя бы одной микрокоманды может потребовать нового разбиения полей [1].

2.3.4 Вертикально-горизонтальное кодирование

При вертикально-горизонтальном способе кодирования (рисунок 2.7) все множество МО также делится на подмножества, однако в каждое подмножество включаются только те МО, которые связаны между собой отношением совместимости по времени исполнения (встречаются вместе хотя бы в одной МК). Для всех этих подмножеств выделяется в операционной части МК одно поле М3, длина которого определяется максимальным количеством МО в подмножествах. Принцип кодирования МО в поле М3 - горизонтальный. Идентифицирующее поле М2 заполняется вертикальным кодом номера подмножества, зафиксированного в поле М3. Отличительной особенностью вертикально-горизонтального способа кодирования является требование несовместимости выделенных подмножеств МО между собой. Удовлетворить этому требованию можно, выделив наиболее часто встречающиеся в МК микрооперации в отдельное подмножество (универсальную группу). Кодирование МО универсальной группы - горизонтальное. Код универсальной группы помещается в поле М1 операционной части МК. Другое название этого способа - кодирование несовместимыми подмножествами МО.

Рисунок 2.7 - Вертикально-горизонтальный способ кодирования

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

2.4 Оценка трудоемкости при кодировании различными способами

Горизонтальное