Вопрос 37: Способы кодирования команд

Обычно число различных микроопераций как минимум на порядок превышает число машинных операций. Кроме того, в составе микрокоманды требуется указывать прямой адрес следующей микрокоманды в микропрограммной памяти. Это приводит к тому, что длина микрокоманды может достигать больших размеров (200 бит и более).

Эффективно использоваться микрокоманда длиной 200 бит не может.

Для решения этой проблемы применяют различные способы кодирования микрокоманд.

1. Унитарное кодирование (по существу это отсутствие какого-либо кодирования)

Унитарное

LОПЧМК = (NМОП)MAX опчмк – операционная часть микрокоманды моп – микрооперация

Достоинства:

  • Простота формирования управляющих сигналов.
  • Высокая скорость формирования сигналов.

2. Прямое или одноуровневое кодирование команд

Прямое

Весь набор микроопераций делится на группы, связанные с управлением конкретными устройствами, а в пределах группы микрооперации кодируются в двоичной форме. Затем эти двоичные коды поступают на входы ДШi, где расшифровываются и затем используются для формирования управляющих сигналов. Прямое или одноуровневоекодирование называется так потому, что все группы являются независимы друг от друга. LMK = (Log2(mi) + 1) нужно взять целую часть Log и прибавить к ней единицу.

3. Косвенное (двухуровневое) кодирование команд

Частным случаем косвенного кодирования является резидентное кодирование. (пример использования 32-битной системы на 16-битной)

Существуют еще горизонтальное и вертикальное кодирование. Принципы деления полей.

Горизонтальное кодирование – в одно поле объединяется все взаимно исключаемые (в данном такте) микрооперации, тогда при W полей, одновременно в одном такте можно выполнить W операции. По количеству бит и быстродействию этот способ между унитарным и одноуровневым кодированием.

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

Проблема: усложняется программирование (так как программист должен мыслить параллельно, что довольно затруднительно).

Вертикальное кодирование – в одно поле кодируется группа, допускающее параллельное выполнение микроопераций. Цель: минимизация длины команды в целом. При этом в одном такте может выполняться небольшое число микрокоманд. В целом, любая горизонтально закодированная команда соответствует нескольким вертикальным закодированным командам.

Вертикальное

Основной недостаток это низкая скорость расшифровки и выполнение команды.

results matching ""

    No results matching ""