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

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

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

µтся отводить большое количество разрядов. Горизонтальное кодирование применяется при относительно небольшом количестве микроопераций [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 Оценка трудоемкости при кодировании различными способами

 

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

а)определяется разрядность операционной части микрокоманды, на каждую микрооперацию отводится один разряд. Длина кода К:

 

К = m,

 

где m - общее число микроопераций.

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

а)определяется разрядность операционной части;

б)каждой микрокоманде присваивается неизбыточный двоичный код. Длина кода К:

 

К =,

 

где - количество различимых по операционной части микрокоманд.

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

а)определяется число групп, которое определяется оптимальным количеством одновременно выполняемых микроопераций;

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

в)определяется разрядность каждой группы при вертикальном кодировании;

г)определяется разрядность операционной части микрокоманды для всех групп.

Длина любого поля, длина операционной части m = ?zi , где mi - количество операций в подгруппе.

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

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

б)определяется возможность сочетания микроопераций и разрядность, соответствующая минимальному числу микроопераций в группе;

в)определяется число групп, которое определяется совокупностью микроопераций;

г)определяется разрядность вертикального кодирования числа групп;

д)определяется разрядность операционной части микрокоманды при горизонтальном кодировании микрооперации в группе и вертикальном кодировании номера группы.

Длина операционной части m = ?zi