Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Лекции - Микропроцессоры и микропроцессорные системы - файл 1.doc


Лекции - Микропроцессоры и микропроцессорные системы
скачать (2465.5 kb.)

Доступные файлы (1):

1.doc2466kb.24.11.2011 12:18скачать

1.doc

1   2   3   4   5   6   7   8   9   10


Поле инструкции I[4:1] определяет операцию в АЛУ (Табл. 10.17), а поле I[8:5] - выбор приемников результатов (), причем если (I[4:1] = 0000) & (IO = 0), то в АЛУ выполняется специальная функция (Табл. 10.19).

При выполнении специальной функции действия в АЛУ зависят не только от кода I[8:5], но и от состояния входа Z. Специальные функции могут обеспечить выполнение умножения и деления чисел без знаков или в дополнительном коде. Естественно, что по одной микрокоманде осуществляется умножение на один разряд множителя или получение одной цифры частного. Микрокоманды, включающие специальные функции, фактически составляют тело цикла операции умножения или деления.

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

Сдвигатель F результата может выполнять 4 типа сдвига: левый SLL и правый SLR логический и левый SAL и правый SAR арифметический. При арифметических сдвигах старший разряд F3 старшей секции (знаковый) не участвует в сдвиге. Кроме того, сдвигатель F реализует при I[8:5] = 1110 т.н. "расширение знака", при котором на все линии DY[3:0] поступает значение PF0. При I[8:5] = 10хх на линию PF0 выдается значение паритета: PF0 = F0 +' F1 +' F2 +' F3 +' PF3. Сдвигатель Q выполняет только логические сдвиги. При определенных комбинациях кода инструкции сдвигатели передают входную информацию на выход без сдвига.

Табл. 10.17 Табл. 10.18

I[4:1]

Функция АЛУ




I[8:5]

Сдвиг.F

Сдвиг.Q

0000

1111




0000

SAR

-

0001

S - R - 1 + C0




0001

SLR

-

0010

R - S - 1 + C0




0010

SAR

SLR

0011

R + S + C0




0011

SLR

SLR

0100

S + C0




0100

F  DY

-

0101

S\ + C0




0101

F  DY

SLR

0110

R + C0




0110

F  DY

F  RQ

0111

R\ + C0




0111

F  DY

F  RQ

1000

0000




1000

SAL

-

1001

R\ & S




1001

SLL

-

1010

(R  S)\




1010

SAL

SLL

1011

R  S




1011

SLL

SLL

1100

R & S




1100

F  DY

-

1101

(R & S)\




1101

F  DY

SLL

1110

(R  S)\




1110

расш.знака

-

1111

R  S




1111

F  DY

-


Характерно, что действия, определяемые табл. 9.5 и 9.6 соответствуют значению сигнала IEN = 0, иначе запись в регистр RQ блокируется.

Назначение линий PF3, PF0, PQ3, PQ0 (вход, выход, высокоимпеансное состояние) и их значения определяются выполняемым типом сдвига, позицией секции и выполняемой микрооперацией. Подробно о состоянии этих линий в различных операциях сказано в [15], [16], [5], [6].

Синхронизация работы секции осуществляется от однофазного тактового сигнала T, период которого не должен быть менее 80 нс.

Помимо арифметико-логических секций, в рамках серии К1804 выпускаются 16-разрядные несекционированные процессорные элементы, архитектура которых значительно отличается от рассмотренных выше. В состав ПЭ К1804ВМ1 входит 16-разрядное АЛУ, блоки регистров, схемы управления и коммутации. Управление процессорным элементом осуществляется с помощью инструкций.

Подробнее организация процессорного элемента и систем на его основе рассмотрена в разделе 9.5.

Табл. 10.19




Функция

Операция в АЛУ

Функция

Функция

I[8:5]

АЛУ

Z = 0

Z = 1

Сдвигат. F

Сдв.и Рг. Q

0000

Умножение

без знака

S + C0

R + S + C0

F/2DY 1)

RQ/2RQ

0010

Умножение

в доп. коде

S + C0

R + S + C0

F/2DY 2)

RQ/2RQ

0100

+1 или +2

S + 1 + C0

FDY

Хранение RQ

0101

Преобразование вДК

S + C0

S\ + C0

FDY 3)

Хранение RQ

0110

Умн.в ДК

посл.цикл

S + C0

S-R-1+C0

F/2DY 2)

RQ/2RQ

1000

Нормализа

ция слова одинарной длины


S + C0


F  DY


2RQRQ

1010

То же двой-

ной длины или

первый

цикл

деления


S + C0


2F  DY


2RQRQ

1100

Деление в дополнит. коде

S + R + C0

S-R-1+C0

2F  DY

2RQRQ

1110

То же с кор-

рекцией и остатком


S + R + C0


S-R-1+C0


F  DY


2RQRQ

1) - на выход DY[3] старшей секции поступает C4;

2) - на выход DY[3] старшей секции поступает F3  OVR;

3) - на выход DY[3] старшей секции поступает S3 F3.
^

1.20.Секции управления и устройства управления


Все управляющие устройства в составе многокристальных микропроцессоров реализуются как устройства управления с программируемой логикой (УУПЛ), классическая структура которых подробно описана в литературе, например [22].

УУПЛ включает в себя ПЗУ микрокоманд, регистр микрокоманд с дешифраторами микроопераций и схему формирования адреса микрокоманды (СФАМ). Последняя представляет собой наиболее сложную и нерегулярную часть УУПЛ, причем структура СФАМ во многом определяет функциональные возможности УУПЛ.

Рассмотрим варианты организации СФАМ и их реализацию на различных типах БИС.
^

1.20.1.Эволюция структур СФАМ.


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

Использование принудительной адресации предоставляет разработчику широкие возможности по размещению МК в ПЗУ, однако при этом не исключается повторение МК и даже участков микропрограмм, что приводит к нерациональному использованию памяти.

Начальный адрес микропрограммы (D) задается извне, а специальное поле МК (F) определяет источник адреса.
Р
ис. 10.67. Принудительная адресация микрокоманд
2
) Организация последовательности адресов путем инкрементирования текущего адреса не требует выделения специального поля A в МК, но накладывает ограничение на расположение микрокоманд в памяти - последовательно выполняемые МК должны располагаться в соседних ячейках. В этом случае, например, для реализации умножения как линейной микропрограммы потребуется n или 2n МК (n - разрядность операндов).

Сочетание вариантов адресации (1) и (2) позволяет осуществлять адресацию с инкрементом на линейных участках микропрограмм и принудительную адресацию на переходах (Рис. 10.68). При этом операционные МК и МК переходов должны иметь разные форматы.
Рис. 10.68. Адресация с инкрементом
3) Для организации модульного микропрограммирования полезно ввести в состав СФАМ стек адресов (Рис. 10.69). При этом появляется возможность использовать одни и те же микроподпрограммы при выполнении различных команд, что резко сокращает объем используемого ПЗУ.

Р
ис. 10.69. Использование стека адресов

4
) Следующий шаг в развитии архитектуры СФАМ - замена инкрементора полноразрядным сумматором и введение в состав СФАМ счетчика циклов (Рис. 10.70). Наличие сумматора позволяет осуществлять смещение адресов МК на произвольное число ячеек, задаваемое по шинам D или Y. Это позволяет программисту индексировать самоперемещающиеся микропрограммы.

Наличие счетчика циклов позволяет существенно сократить затраты памяти и времени при обработке циклических микропрограмм.

Рис. 10.70. СФАМ с полноразрядным сумматором и счетчиком циклов
В серийно выпускаемых БИС, предназначенных для построения УУПЛ, таких как К589ИК01, К584ВУ1, К588ВУ2, К1800ВУ1 и др. можно встретить характерные элементы, рассмотренные выше.

Наиболее универсальными и обладающие широкими функциональными возможностями являются БИС для построения УУПЛ серии К1804. Ниже рассмотрены характерные БИС этого семейства.
^

1.20.2.Секции управления адресом микрокоманд серии К1804.


К БИС этой серии, предназначенных для реализации различных вариантов УУПУ (как микропрограммного, так и программного уровня), относятся микросхемы К1804ВУ1,2,3,4,5.

БИС . .ВУ5 предназначена для построения контроллера адреса (программный уровень) и будет рассмотрена позднее.

БИС . .ВУ1 и . .ВУ2 представляют собой 4-разрядные секции, обеспечивающие построение СФАМ произвольной разрядности (кратной четырем). Структуры. .ВУ1 и. .ВУ2 практически идентичны и управляются одинаково. БИС. .ВУ3 является вспомогательной для построения СФАМ на секциях. .ВУ1,2 (дешифратор инструкций, общий для всех секций).

Наиболее популярна 12-разрядная несекционируемая схема управления последовательностью микрокоманд К1804ВУ4 (Рис. 10.71), архитектура которой практически повторяет архитектуру секций. .ВУ1,2.

Р
ис. 10.71. БИС К1804ВУ4

Микросхема включает в себя 12-разрядный микропрограммный счетчик mPC (счетчик адреса МК) с инкрементором, 5-уровневый стек, 12-разрядный регистр/счетчик Rg/C с детектором нуля, 12-разрядный мультиплексор 41 выходной буфер с тремя состояниями и блок управления.


D[11:0]

- вход непосредственного адреса;

I[3:0]

- вход кода инструкции;

CC\

- вход кода условия;

CCEN\

- вход разрешения проверки условия;

CI

- вход переноса инкрементора;

RLD\

- вход разрешения записи в Rg/C;

OE\

- вход разрешения выдачи адреса МК;

Y[11:0]

- выход адреса МК;

FULL

- выход признака переполнения стека;

PE\

- выход разрешения подключения первого источника прямого адреса (поле адреса микрокоманды);

MAP\

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

VECT\

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


Микросхема выполняет 16 различных инструкций, отличающихся выбором источника адреса микрокоманды и действий над стеком и регистром/счетчиком. Выбранный мультиплексором адрес передается на выход Y (при OE\ = 0) и через управляемый инкрементор поступает в микропрограммный счетчик mPC. При CI = 0 не производится добавление 1 к выбранному адресу и в mPC записывается тот же адрес, который был выдает на выход Y.

Табл. 10.20

I[3:0]

HEX

Мнемо

код

Название

операции

Сост.

Rg/C

Условие

НЕ вып.

Условие вып.

УУст.

Rg/C

Вы-

бор

Y

Стек

Y

Стек

0

JZ

Перех.на 0 адр.

х

0

Очистка

0

Очистка

-

PE

1

CJS

Усл.пер. к п/п

х

mPC

-

D

PUSH

-

PE

2

JMAP

Вход в команду

х

D

-

D

-

-

MAP

3

CJP

Усл.переход

по адресу

из микроком.

х

mPC

-

D

-

-

PE

4

PUSH

Загр.mPC в стек и усл.загр.Rg/C

х

mPC

PUSH

mPC

PUSH

Прим.1

PE


5


JSRP

Пер. к п/п по

одному из двух

адресов


х


Rg/C


PUSH


D


PUSH


-


PE

6

CJV

Усл.перех.

по вектору

х

mPC

-

D

-

-

VECT


7


JRP

Усл.пер.по адр.

из Rg/C или

микрокоманды


х


Rg/C


-


D


-


-


PE


8


RFCT

Повторение

цикла

Rg/C  0

F

-


F

-

-1

PE







при Rg/C  0

Rg/C = 0

mPC

POP

mPC

POP

-

PE


9


RFCT

Повторение цикла

Rg/C  0

D

-

D

-

-1

PE







из

микрокоманды

Rg/C = 0

mPC

-


mPC

-

-

PE

A

CRTN

Усл.возврат

из п/п

х

mPC

-

F

POP

-

PE


B


CJPP

Усл.перех.по адр.из МК

с извл.из стека


х


mPC


-


D


POP


-


PE

C

LDCT

Загр.Rg/C

и продолжение

х

mPC

-

mPC

-

Загрузка

PE

D

LOOP

Организация цикла

х

F

-

mPC

POP

-

PE

E

CONT

Последовательный

выбор

х

mPC

-

mPC

-

-

PE


F


TWB


Ветвление

Rg/C  0

F

-

mPC

POP

-1

PE







на 3 точки

Rg/C = 0

D

POP

mPC

POP

-

PE

Прим. 1. Содержимое Rg/C сохраняется при (CCEN = 0) & (CC = 1),
иначе – загрузка Rg/C.



Инструкции БИС делятся на безусловные и условные, причем последние зависят как от внешнего условия CC\, так и от состояния равенства нулю внутреннего регистра/счетчика Rg/C, причем предусмотрены инструкции, проверяющие сразу два этих условия и обеспечивающие разветвление сразу на три направления.

Сигнал CCEN разрешает проверку внешнего условия. Если на входе CCEN
H-уровень, то при выполнении условных инструкций условие считается выполненным независимо от значения CC. При CCEN = 0 условие считается выполненным, если на входе CC L-уровень. В Табл. 10.20 приведены инструкции БИС К1804ВУ4.
^

1.20.3.Организация управляющего автомата


Устройства управления, реализованное на базе БИС К1804ВУ4 (Рис. 10.72) включает в себя ПЗУ микропрограмм, регистр микрокоманд, мультиплексор логических условий и схему управления. Формат микрокоманды содержит поля микроопераций, инструкций, адресов и т.п. для управления операционным автоматом ОА, поля для формирования адреса перехода (адрес и номер проверяемого логического условия) и поля управления собственно. .ВУ4.
^

1.21.Структура устройств обработки данных


Устройство обработки данных, реализованное на базе БИС серии К1804 (Рис. 10.73) включает в себя операционный и управляющий автоматы.

Операционный автомат построен на группе секций . .ВС1 и вспомогательных БИС. Схема (СУП) ускоренного переноса. .ВР1 обслуживает 4 АЛС (допускает каскадирование). Схема управления сдвигом может быть построена на элементах малой степени интеграции; ее сложность зависит от необходимости реализации в МПС различных типов сдвигов (логический, арифметический, модифицированный, циклический и их комбинации). В простейшем случае - при необходимости реализовать только обыкновенные циклические сдвиги СУС вырождается в две перемычки, соединяющие пары выводов соответственно младшей и старшей секций: PR0-PR3 и PQ0-PQ3. Разумеется, в этом случае в микрокоманде будет отсутствовать поле <УС>.

Р
ис. 10.72. Микропрограммное устройство управления

Управляющий автомат с программируемой логикой реализован на базе 12-разрядной БИС управления последовательностью микрокоманд. .ВУ4 (предполагается, что объем ПЗУ МК не превышает 4K слов). В состав УУПЛ, кроме. .ВУ4 и ПЗУ МК, входит схема синхронизации, мультиплексор (МП) логических условий и буферные схемы для подключения источников внешнего адреса. БИС . .ВУ4 управляет подключением одного из трех источников адреса: поле микрокоманды АМК содержит адрес перехода и может вводится в. .ВУ4 по сигналу PE\, начальный адрес микропрограммы поступает из ЦУУ и вводится по сигналу MAP\. Если в системе предусмотрены векторные прерывания, то адрес прерывающей подпрограммы поступает от контроллера прерываний и вводится в. .ВУ4 по сигналу VECT\.

Микрокоманда содержит группу полей для управления операционным автоматом:

AA и AB

- адреса каналов двухканального блока РЗУ;

I9

- девятибитовый код инструкции для. .ВС1;

C0

входной перенос в младшую секцию;

УС

поле управления схемой переносов.

Р
ис. 10.73.Структура устройства обработки данных

Для формирования следующего адреса предназначены поля:

X

номер логического условия;

АМК

адрес перехода;

CEN

разрешения анализа логического условия;

CI

входной перенос инкрементора адреса;

I4

инструкция секции управления.

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

1.22.МПС с одно- и двухуровневым управлением


При разработке достаточно простых контроллеров или МПС, ориентированных на выполнения одной (управляющей) программы часто бывает целесообразно "погрузить" алгоритм управления (программу пользователя) непосредственно на микропрограммный уровень. Такой подход обеспечивает значительное увеличение эффективного быстродействия системы, снижает (по сравнению с двухуровневым вариантом) затраты оборудования, но значительно затрудняет или даже исключает возможность модификации программы пользователя. Структура МПС с одноуровневым управлением практически повторяет структуру УОД (Рис. 10.73); ее лишь может быть придется расширить за счет ОЗУ и средств управления ВУ.

При использовании в МПС двухуровневого управления на нижнем уровне (в УОД) осуществляется арифметическая и логическая обработка данных.

Верхний уровень представлен т.н. "центральным устройством управления" (ЦУУ), которое обеспечивает реализацию командного цикла, процедуры обмена данными по магистрали, анализ запросов на прерывания и ПДП. ЦУУ, в свою очередь, должно состоять из ОА и УА.

Для реализации ЦУУ в некоторых серия секционированных БИС предусматриваются специальные модули. Так, в серии К1804 (второй очереди, [19]) выпускаются секции адресной обработки. .ВУ5 - для построения ОА ЦУУ, контроллеры прерываний (..ВН1,..ВР3), прямого доступа в память (..ВУ6,..ВУ7), управления синхронизацией (..ГГ1) и другие модули.

Использование приведенного выше комплекта БИС позволяет проектировать эффективные процессоры для каждого конкретного класса задач.

В качестве примера рассмотрим структурную схему адресной обработки К18004ВУ5 (Рис. 10.74).




Рис. 10.74.Микросхема К1804ВУ5

Назначение выводов ВУ5

Имя

Назначение

Имя

Назначение

I(4:0)

Вход инструкции

Y(3:0)

Выходная шина адреса

IEN\

Вход разрешения инструкции1

EMP\

Стек пуст (при EMP = 0)

CC\

Вход условия2

D(3:0)

Входная шина адреса

RE\

Вход разрешение загрузки в регистр R c шины D(3:0)3

OE\

Разрешение выдачи адреса по Y(3:0) при OE = 0

C0 , C4

Вход и выход переноса сумматора

FL\

Стек полон (при FL = 0)

P\ , G\

Выходы прохождения и генерации переноса сумматора через тетраду

C

Тактовый вход, все внутренние регистры синхронизируются передним фронтом сигнала С

K0 , K4

Вход и выход переноса PC







^

1.23. Расширение архитектуры Am2900


В рамках серии К1804 было выпущено ряд микросхем, отличающихся по архитектуре от АЛС ВС1,2 и ВУ1,2,4, которые были ориентированы на создание устройств прежде всего нижнего уровня. Расширение составили БИС: ВМ1 – базовый процессорный модуль, ВУ5 – секция адресной обработки, ВН1 – контроллер прерываний, ВУ6,7 – счетчики адресов для каналов ПДП и другие.
^

1.23.1. Базовый процессорный элемент К1804ВМ1


С
труктура ВМ1 представлена на Рис. 10.75 и представляет собой не наращиваемый 16-разрядный блок, включающий трехвходовой 16-разрядный АЛБ, селектор выбора операндов, регистровое запоминающее устройство объемом 32 слова, схемы формирования флагов и состояний, регистров данных и аккумулятора, буферных схем магистралей и схемы управления.
Рис. 10.75. Структура К1804ВМ1

Назначение выводов микросхемы приведено в Табл. 10.21

Табл. 10.21

Имя сигнала

Назначение

I(15:0)

Вход инструкции; при выполнении двухтактных инструкций на втором такте может быть применен для ввода константы

Y(15:0)

Двунаправленная шина данных; при OEY= 1 – ввод, иначе – вывод

OEY\

Разрешение вывода данных по шине Y(15:0)

T(1:4)

Вход управления выбором кода условия (при OET = 0) или выход признаков состояния(при OET = 1)

OET

Разрешение выдачи признаков состояния

CT

Выход условия

SRE\

Вход разрешения записи в регистр состояния; при (SRE\ = 0) & (IRN\ = 0) запись разрешена, при SRE\ = 1 – запрещена

IEN\

Вход разрешения инструкции; при IRN\ = 1 запрещается запись в РЗУ, Акк и регистр состояний независимо от выполняемой инструкции. Это позволяет использовать поле I(15:0) в микрокоманде для других приемников

DLE

Вход разрешения регистра данных; при DLE = 1 информация со входа регистра передается на его выход, при DLE = 0 на выходе регистра сохраняется значение, защелкнутое с его входов на переходе DLE из «1» в «0»



^

1.23.1.1. Организация основных блоков


Р
ЗУ
– однопортовая память (Рис. 10.76) включает накопитель на 32 16-разрядных слова, выходной регистр данных, дешифратор адреса и схему управления записью/чтением. Запись осуществляется по заднему фронту тактового сигнала С при IEN\ = 0. При работе с байтами старшая половина слова остается неизменной.

Рис. 10.76. Блок РЗУ

Аккумулятор – 16-разряд­ный регистр (Рис. 10.77), запись в который осуществляется по переднему фронту С, если в инструкции Акк определен в качестве приемника результата. При IEN\ = 1 запись не производится независимо от инструкции.

Регистр данных – «защелка» по заднему фронту DLE (Рис. 10.78). Наличие и позволяет организовать три режима работы регистра данных:

  1. ввод информации через шину Y(0:15) при DLE = 0 (регистр «открыт») и OEY\ = 1;

  2. вывод информации из микропроцессора через шину Y при DLE = 1 (регистр «закрыт») и OEY\ = 0;

  3. ввод, обработка и вывод через шину Y:

  • в течение первой половины такта OEY\ = 1 и DLE = 1

  • в течение второй половины такта OEY\ = 0 и DLE = 0.

В отличие от РЗУ и Акк в Рг.D может быть записано лишь полное 16-разрядное слово.

Арифметико-логическое устройство (Рис. 10.79) включает мультиплексоры входов R, S и U, сдвигатель канала U, арифметико-логический блок АЛБ, приоритетный шифратор ПШ, формирователь признака нуля ФПН и выходной мультиплексор.


Рис. 10.77. Аккумулятор


Рис. 10.78. Регистр данных

С

двигатель позволяет за один такт выполнить циклический сдвиг в сторону старших разрядов (левый) на заданное число разрядов (от 1 до 15). При выполнении операций с байтами осуществляется сдвиг только восьми младших разрядов. Признаки C, N, Z, OVR формируются как для слов, так и для байтов.


Рис. 10.79. Арифметико-логический блок
Н
а вход ПШ поступает R&S\ (S – маска, R – операнд). Приоритетный шифратор формирует номер позиции старшей «1» в формате, приведенном в Табл. 10.22.

Табл. 10.22

1)

Нет

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

2)

00000

00001

00010

00011

00100

00101

00110

00111

01000

01001

01010

01011

01100

01101

01110

01111

10000

3)

00000

























00001

00010

00011

00100

00101

00110

00111

01000

1) позиция старшей единицы;

2) выход ПШ при операциях со словами;

3) выход ПШ при операциях с байтами.

Б
лок регистра состояния
(Рис. 10.80) включает восьмиразрядный регистр состояния Рг.С, мультиплексор загрузки младшей тетрады и схему управления записью.


Рис. 10.80. Регистр состояния и его связи

Запись в Рг.С производится по переднему фронту С при SRE\ = 0 и IEN\ = 0. Формат Рг.С показан ниже.

7

6

5

4

3

2

1

0

FL3

FL2

FL1

L

N

OVR

C

Z

В младшие четыре разряда могут быть записаны признаки Z, C, OVR, N или 4 младших разряда с шины Y. Источник для четырех младших разрядов Рг.С определяется выполняемой инструкцией (за исключением «NOP», «Хранение Рг.С», «Проверка состояния», «Уст. 0», «Уст. 1 старших битов Рг.С»). В старших четырех разрядах хранится бит связи L (который формируется после каждой инструкции сдвига) и три флага пользователя.

Содержимое Рг.С можно вывести на шину Y или записать в РЗУ или Акк. При выполнении записи в инструкции со словом старшие 8 бит устанавливаются в «0», при операциях с байтами содержимое Рг.С так же записывается в младшие 8 разрядов, но содержимое старшего байта регистра или Акк не меняется.

При операциях со словами в Рг.С записываются все 8 признаков, а при операциях с байтами – только 4 младших.

^ Блок формирования кода условий обеспечивает выработку одного из 12 возможных условий (см. табл), а мультиплексор MUX CT обеспечивает прохождение на выход СТ условия под управлением инструкции (от блока управления) или кода на входах Т(4:1)

^

1.23.1.2.Система инструкций


Инструкции ВМ1 можно разбить на 11 групп:

  1. с одним операндом;

  2. с двумя операндами;

  3. сдвига на 1 разряд;

  4. битовые;

  5. циклического сдвига на n разрядов (1  n 15);

  6. циклического сдвига и сравнения;

  7. циклического сдвига и слияния;

  8. шифрации;

  9. генерации избыточного кода (CRC);

  10. установки и проверки состояния;

  11. «нет операции».

1) Инструкции с одним операндом имеют два формата SOR (с использованием РЗУ) и SONR (без использования РЗУ), форматы которых приведены в Табл. 10.23 и Табл. 10.24.




15

14 13

12 9

8 5

4 0

SOR

B/W

1 0

К О П

ИСТ, ПРМ

Адрес РЗУ

SONR

B/W

1 1

К О П

ИСТ

ПРМ

Каждая инструкция может работать как с байтом (при B/W = 0), так и со словом (при B/W = 1).

Табл. 10.23. Инструкции SOR с одним операндом

Код операций

Источник, приемник

Код

Мнемо

Операция

Код

Мнемо

Источн.

Приемн.

1100

MOVE

ИСТ  ПМН

0000

SORA

РЗУ

Акк

1101

COMP

ИСТ  ПМН

0010

SORY

РЗУ

Шина Y

1110

INC

ИСТ+1  ПМН

0011

SORS

РЗУ

Рг.С

1111

NEG

ИСТ+1  ПМН

0100

SOAR

Акк

РЗУ

Примечания:

Рг. D.0 – расширение байта нулями;

Рг. D.S– расширение байта знаком

0110

SODR

Рг. D

РЗУ

0111

SOIR

I

РЗУ

1000

SOZR

0

РЗУ

1001

SOZER

Рг. D.0

РЗУ

1010

SOSER

Рг. D.S

РЗУ

1011

SORR

РЗУ

РЗУ


Табл. 10.24. Инструкции SONR с одним операндом

Код операций

Источник, приемник

Код

Мнемо

Операция

Код

Мнемо

Источн.

Приемн.

1100

MOVE

ИСТ  ПМН

0100

SOA

Акк



1101

COMP

ИСТ  ПМН

1100

SOD

Рг. D



1110

INC

ИСТ+1  ПМН

0111

SOI

I



1111

NEG

ИСТ+1  ПМН

1000

SOZ

0






1001

SOZE

Рг. D.0



1010

SOSE

Рг. D.S



00000

NRY



Шина Y

00001

NRA



Акк

00100

NRS



Рг. С

00101

NRAS



Акк, Рг.С

Все однооперандные инструкции передают на шину Y значение, загружаемое в приемник.

Разряды Z, C, N, OVR регистра состояний модифицируются, остальные – не меняются.

Е
динственное ограничение на способ адресации: если Акк и Рг.С определены одновременно в качестве приемников, то невозможно использовать РЗУ в качестве источника.

2) Инструкции с двумя операндами имеют следующие форматы:




15

14 13

12 9

8 5

4 0

TOR1

B/W

0 0

ИСТ, ИСТ, ПРМ

К О П

Адрес РЗУ

TOR2

B/W

1 0

ИСТ, ИСТ, ПРМ

К О П

Адрес РЗУ

TONR

B/W

1 1

ИСТ, ИСТ

К О П

ПРМ


Табл. 10.25. Двухоперандные инструкции типа TOR 1,2




ИСТ, ИСТ, ПРМ

К О П

Код

Мнемокод

R

S

ПРМ

Код

Мнемокод

Операция

TOR1

0000

TORAA

РЗУ

Акк

Акк

0000

SUB R

S – R

0010

TORIA

РЗУ

I

Акк

0001

SUB RC

S – R + C

0011

TODRA

Рг.D

РЗУ

Акк

0010

SUB S

R – S

1000

TORAY

РЗУ

Акк

Y

0011

SUB SC

R – S + C

1010

TORIY

РЗУ

I

Y

0100

ADD

R + S

1011

TODRY

Рг.D

РЗУ

Y

0101

ADD C

R + S +C

1100

TORAR

РЗУ

Акк

РЗУ

0110

AND

R & S

1110

TORIR

РЗУ

I

РЗУ

0111

NAND

(R & S)\

1111

TODRR

Рг.D

РЗУ

РЗУ

1000

EXOR

R  S

TOR2

0001

TODAR

Рг.D

Акк

РЗУ

1001

NOR

(R  S)\

0010

TOAIR

Акк

I

РЗУ

1010

OR

R  S

0101

TODIR

Рг.D

I

РЗУ

1011

EXNOR

(R  S)\


Табл. 10.26. Двухоперандные инструкции типа TONR

ИСТ, ИСТ

К О П

ПРМ

Код

Мнемокод

R

S

Код

Мнемокод

Приемник

0001

TODA

Рг.D

Акк

В соответствии
с табл. 4

00000

NRI

Y

0010

TOAI

Акк

I

00010

NRA

Акк

0101

TODI

Рг.D

I

00100

NRS

Рг.C













00101

NRAS

Акк, Рг.C

Примечание. Флаги OVR, N, Z, C модифицируются по результатам арифметических операций; в логических операциях OVR := C := 0.

3) Инструкции сдвига на один разряд имеют следующие форматы:




15

14 13

12 9

8 5

4 0

SHFTR

B/W

1 0

ИСТ, ПРМ

К О П

Адрес РЗУ

SHFTNR

B/W

1 1

ИСТ

К О П

ПРМ


При сдвиге модифицируются биты N и Z регистра состояний, а биты C и OVR устанавливаются в «0». Функция NOVR используется при умножении чисел в дополнительном коде.

Рис. 10.81. Выполнение процедур сдвига


Табл. 10.27. Инструкции сдвига на 1 разряд




ИСТ, ПРМ, (ИСТ) (ПРМ)

К О П

Код

Мнемокод

ИСТ

ПРМ

Код

Мнемокод

Направление

Вдвигаемое значение

SHFTR

0110

SHRR

РЗУ

РЗУ

0000

SHUPZ

Влево

0

0111

SHND

Рг.D

РЗУ

0001

SHUP1

Влево

1

SHFTNR

0110

SHA

Акк




0010

SHUPL

Влево

L

0111

SHD

Рг.D




0100

SHDNZ

Вправо

0

00000

NRY




Y

0101

SHDN1

Вправо

1

00001

NRA




Акк

0110

SHDNL

Вправо

L
















0111

SHDNC

Вправо

C
















1000

SHDNOV

Вправо

NOVR



Табл. 10.28. Управление шиной Y и регистром состояния




Операция

Режим

Шина

Рг. С

N

L

Влево

SHUPZ

SHUP1

SHUPL

W = 1

Y[15:0] := ИСТ[14:0].X

ИСТ[14]

ИСТ[15]

W = 0

Y[7:0] := ИСТ[6:0].X

Y[15:8] := ИСТ[7:1]. ИСТ[7]

ИСТ[6]

ИСТ[7]

Вправо

SHDNZ

SHDN1

SHDNL

SHDNC

SHDNOV

W = 1

Y[15:0] := X .ИСТ[15:1]

X

ИСТ[0]

W = 0

Y[7:0] := X .ИСТ[7:1]

Y[15:8] := X .ИСТ[7:1]

X

ИСТ[0]


Примечания. W = 1 – команды работы со словами; W = 0 – команды работы с байтами; Х – вход при сдвиге.
4) Инструкции с битами имеют следующие форматы:




15

14 13

12 9

8 5

4 0

BOR1

B/W

1 1

n

К О П

Адрес РЗУ

BOR2

B/W

1 0

n

К О П

Адрес РЗУ

BONR

B/W

1 1

n

1 1 0 0

К О П



Табл. 10.29. Инструкции с битами формата BOR 1,2




Код

Мнемокод

Операция

Шина Y

Z-разряд РгС*)

BOR1

1101

SETNR

Устан. РЗУ в «1»

Yi  РЗУi, i  n; Yn  1

0

1110

RSTNR

Сброс в «0»

Yi  РЗУi, i  n; Yn  0

U

1111

TSTNR

Проверка РЗУ

Yi  0, i  n; Yn  РЗУn

U

BOR2

1100

LD2NR

2n  РЗУ

Yi  0, i  n; Yn  1

0

1101

LDC2NR

(2n)\  РЗУ

Yi  1, i  n; Yn  0

0

1110

A2NR

РЗУ + 2n  РЗУ

Y  РЗУ + 2n

U

1111

S2NR

РЗУ - 2n  РЗУ

Y  РЗУ - 2n

U

*) Разряды L, Fl(1:3) не меняются, C, OVR – устанавливаются в «0»



Табл. 10.30. Инструкции с битами формата BONR

Код

Мнемокод

Операция

Шина Y

РгС

Z

C, OVR

00000

TSTNA

Проверка Акк

Yi  0, i  n; Yn  Аккn

U

0

00001

RSTNA

Сброс в «0» Акк

Yi  Аккi, i  n; Yn  0

U

0

00010

SET NA

Устан. в «1» Акк

Yi  Аккi, i  n; Yn  1

0

0

00100

A2NA

Акк + 2n  Акк

Y  Акк + 2n

U

U

00101

S2NA

Акк - 2n  Акк

Y  Акк - 2n

U

U

00110

LD2NA

2n  Акк

Yi  0, i  n; Yn  1

0

0

00111

LDC2NA

(2n)\  Акк

Yi  1, i  n; Yn  0

0

0

10000

TSTND

Проверка РгD

Yi  0, i  n; Yn  РгDn

U

0

10001

RSTND

Сброс в «0» РгD

Yi  РгDi, i  n; Yn  0

U

0

10010

SETND

Устан. в «1» РгD

Yi  РгDi, i  n; Yn  1

0

0

10100

A2NDY

РгD + 2n  Y

Yi  РгDi + 2n

U

U

10101

S2NDY

РгD - 2n  Y

Yi  РгDi - 2n

U

U

10110

LS2NY

2n  Y

Yi  0, i  n; Yn  1

0

0

10111

LDC2NY

(2n)\  Y

Yi  1, i  n; Yn  0

0

0


В табл. 8 и 9 «проверка» – это установка признака Z в состояние, определяемое значением n-го разряда адресуемого объекта. «Установка» и «сброс» – при сохранении всех разрядов, кроме n-го.

5) Инструкции циклических сдвигов на n разрядов имеют следующие форматы:




15

14 13

12 9

8 5

4 0

ROTR1

B/W

0 0

n

ИСТ, ПРМ

Адрес РЗУ

ROTR2

B/W

0 1

n

ИСТ, ПРМ

Адрес РЗУ

ROTNR

B/W

1 1

n

1 1 0 1

ИСТ, ПРМ
1   2   3   4   5   6   7   8   9   10



Скачать файл (2465.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации