Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпаргалка.doc
Скачиваний:
111
Добавлен:
01.05.2014
Размер:
1.1 Mб
Скачать

Способы кодирования микрокоманд.

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

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

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

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

LОПЧМК = (NМОП)MAX

опчмк – операционная часть микрокоманды

моп – микрооперация

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

  1. Простота формирования управляющих сигналов.

  2. Высокая скорость формирования сигналов.

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

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

Затем эти двоичные коды поступают на входы ДШi, где расшифровываются и затем используются для формирования управляющих сигналов. Прямое или одноуровневое

кодирование называется так потому, что все группы являются независимы друг от друга.

W  количество групп

LMK =  (Log2(mi) + 1) нужно взять целую часть Log и прибавить к ней единицу

I = 1

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

Частным случаем косвенного кодирования является резидентное кодирование.

(пример использования 32-битной системы на 16-битной)

Существуют еще горизонтальное и вертикальное кодирование.

Принципы деления полей.

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

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

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

Пусть (N МОП)MAX = 100 (МОП – микрооперации)

Число одновременно выполненных микроопераций равно

N’ПАР_МОП = 32 / МК (комбинации)

m РАЗРЯДОВ ДЛЯ МОП = 5 = Log2 N’MK , то есть хранится пяти разрядный код, а при дешифрации (двух уровневой) он распаковывается в 32 бита, затем в 100 микроопераций.

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

Особенности микропрограммного способа управления:

  1. Большая гибкость в плане изменения набора команд, путем замены микропрограммной памяти (ПЗУ) или перезаписи микропрограммной памяти (ППЗУ).

  2. Возможность рационального распределения аппаратного и микропрограммного управления порождает семейство машин разной производительности, но с одним набором команд.

  3. Микропрограммное управление имеет регулярную структуру и реализуется с помощью БИС

  4. Есть возможность эмуляции на микропрограммном уровне новых архитектур машин на имеющейся инструментальной машине.

  5. Микропрограммная реализация системных программ (компиляторы, файловые системы), значительно повышает производительность системы и используется в суперкомпьютерах.