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

Акк – один из регистров РЗК

Регистры можно определять как по команде, так и по микрокоманде

В ассемблере, как правило, регистр указывается явно

Акк – регистр, используемый по умолчанию

В Акк помещается результат

Многорегистровая схема с аппаратным аккумулятором

В микрокоманде определяются адреса регистров, выбираемых по умолчанию - student2.ru

Когда говорят об Акк, говорят о младшей части Акк и старшей

Рг расширения – младшая часть аккумулятора

просто Рг Акк – старшая часть аккумулятора

Схема без РЗУ при n = 4 (или меньше) может быть более выгодной, чем с РЗУ

В микрокоманде определяются адреса регистров, выбираемых по умолчанию - student2.ru

Схема без Рграсш (регистра расширения)

За каждым словом закрепляется свой регистр

Схема с непосредственными связями

Управляющий автомат

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

 
  В микрокоманде определяются адреса регистров, выбираемых по умолчанию - student2.ru

Микрокоманда – совокупность сигналов (двоичное слово), которые определяют действия.

Кодирование микроопераций

Микрооперация -?. Необходимо кодирование микроопераций.

Существует несколько вариантов кодирования микроопераций:

1. В микрокоманде определяются адреса регистров, выбираемых по умолчанию - student2.ru Вертикальное

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

3. Смешанное

4. Косвенное (с нанопамятью)

Первый и второй вариант кодирования в чистом виде не встречается.

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

 
  В микрокоманде определяются адреса регистров, выбираемых по умолчанию - student2.ru

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

Достоинство: небольшой размер закодированной микроопераций (№ mопер), а следовательно, и небольшие аппаратные затраты. Если количество микроопераций равно N, то размерность номера микрооперации равна n=log2N, т.к. N=2n .

Недостаток: выполняется всего одна микрооперация за такт – неэффективно, большие временные затраты.

В микрокоманде определяются адреса регистров, выбираемых по умолчанию - student2.ru Горизонтальное кодирование:

В этом случае одна микрооперация может определить до k операций за такт, т.к. если микрооперация представляет собой двоичное слово длиной k, то единица в каком-нибудь i-м разряде означает выполнение некоторой i-й операции, а соответственно ноль - невыполнение.

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

Смешанное кодирование:

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

Микрокоманда состоит из нескольких полей, каждое из которых представляет соответствующую группу микроопераций.

 
  В микрокоманде определяются адреса регистров, выбираемых по умолчанию - student2.ru

Каждое поле управляет своим функциональным элементом.

Микрооперация - действие в одном функциональном элементе (поэтому несовместимы действия одной группы микроопераций).

Смешанное кодирование совмещает достоинства предыдущих способов:

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

- небольшие аппаратные затраты, т.к. длина микрокоманды меньше (равна не общему количеству микроопераций, а количество групп*[log2(Количество микроопераций в группе)] ) и не требуется дополнительных схем, т.к. необходимые дешифраторы уже есть в ОА и распараллеливаются только несовместимые микрооперации (не нужно стоить несколько сумматоров как при горизонтальном кодировании).

Косвенное кодирование с нанопамятью:

Нанопамять - малая память, которая хранит микрокоманды. Каждой микрокоманде соответствует свой номер в нанопамяти ( 0 … количество микрокоманд-1 ), которым она и кодируется. Т.о. при небольшой длине закодированной микрокоманды можно определить микрокоманду любой необходимой длины, т.е. возможно совмещение во времени любого числа микроопераций. Из затрат только введение небольшого ПЗУ.

 
  В микрокоманде определяются адреса регистров, выбираемых по умолчанию - student2.ru


Наши рекомендации