Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций от мешка 1.doc
Скачиваний:
512
Добавлен:
09.04.2015
Размер:
4.36 Mб
Скачать

3.2.2.3. Кодирование мк

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

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

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

Недостаток способа – при большом наборе МО (от нескольких десятков до нескольких сотен) возрастает разрядность МК и, следовательно, разрядность ПМК.

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

Помимо увеличения времени на МО к недостаткам следует отнести невозможность параллельного выполнения МО.

  1. Смешанное кодирование(рис. 3.11, в). Это кодирование устраняет основные недостатки, присущие горизонтальному и вертикальному кодированиям.

При таком кодировании в отдельных полях кода МО объединяют взаимоисключающие наборы для обеспечения параллельного выполнения МО с разных полей. Данный способ кодирования находит широкое применение в микропрограммных УУ.

Способы 1, 2, 3 – это прямые способы кодирования. Здесь каждое поле КМО формирует определенный набор управляющих сигналов, интерпретируемых всегда одинаковым образом.

  1. Косвенное кодирование(рис. 3.11, г). Этот способ кодирования позволяет еще больше уменьшить разрядность МК. Здесь одно и то же поле можно использовать для формирования СУ для различных блоков, при этом его функции определяются другим полем.

На рис. 3.11 КМО1кодирует одну из четырех групп МО, поле КМО2определяет реализуемую в данной группе операцию.

Пример

00 – микрооперации в АЛУ;

01 – МО в памяти и регистрах контроллеров периферийных устройств;

10 – МО безусловного и условного переходов;

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

КМО2позволяет выполнить 64 МО в любой из указанных групп оборудования.

Недостатком такого способа кодирования является увеличение объема оборудования и, следовательно, дополнительных задержек при исполнении МО.

Рассмотренные способы кодирования являются одноуровневыми. На практике используют и многоуровневое кодирование (микрокоманды, нанокоманды и т. д.).

3.2.2.4. Синхронизация мк

С этой точки зрения МК делятся на однофазные и многофазные. При этом в МК может быть включен дополнительный разряд, определяющий тип синхронизации.

Достоинством однофазныхМК (рис. 3.12, а) является простота технической реализации.

МногофазныеМК (рис. 3.12, б) позволяют минимизировать число МК в памяти, упрощают выполнение сложных МК и связь между приемником и источником информации. Недостатком является увеличение объема оборудования для формирования многофазных синхросигналов.

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