
- •Микропроцессоры и микропроцессорные системы
- •Введение
- •1.1.Успехи интегральной технологии и предпосылки появления микропроцессоров
- •1.2.Основные схемотехнологические направления производства микропроцессоров
- •1.3.Характеристики микропроцессоров
- •1.4.Поколения микропроцессоров.
- •Машина пользователя и система команд
- •1.6.Архитектура 16-разрядного микропроцессора
- •Система команд i8086
- •Общая структура мпс
- •Структура микропроцессора и интерфейсные операции
- •1.7.1.Внутренняя структура
- •1.7.2.Командный цикл микропроцессора.
- •1.7.3.Машинные циклы и их идентификация.
- •1.7.4.Реализация микропроцессорных модулей и состав линий системного интерфейса
- •1.8.1.Внутренняя структура
- •1.8.2.Машинные циклы i8086 в минимальном и максимальном режимах
- •1.8.3.Структура микропроцессорных модулей на базе микропроцессора i8086
- •Подсистема памяти мпс
- •1.9.Распределение адресного пространства
- •1.10.Р егенерация динамической памяти
- •Подсистема ввода/вывода мпс
- •1.11.Подсистема параллельного обмена на базе буферных регистров
- •1.12.Контроллер параллельного обмена к580вв55
- •1.13.Последовательный обмен в мпс
- •1.13.1.Универсальный последовательный приемопередатчик кр580вв51
- •Подсистема прерываний мпс
- •1.14.Внутренние и внешние прерывания
- •1.15.Функции подсистемы прерываний и их реализация
- •1.16.Контроллеры прерываний
- •Подсистема прямого доступа в память мпс
- •1.17.Контроллер прямого доступа в память к580вт57
- •1.18.Высокопроизводительный 32-разрядный контроллер пдп 82380
- •1.18.1.Архитектура контроллера 82380
- •1.18.1.1.И нтерфейс с главным процессором.
- •1.18.2.Функции контроллера пдп
- •1.18.3. Программируемый контроллер прерываний
- •1.18.4. Программируемые интервальные таймеры
- •1.18.5. Контроллер регенерации динамического озу
- •1.18.6. Генератор с состоянием ожидания
- •1.18.7.Сброс центрального процессора
- •1.18.7.1.Размещение карты регистров
- •1.18.7.2.Интерфейс с микропроцессором
- •1.18.7.3.Сигналы сопряжения с микропроцессором 80386
- •1.18.8. Синхронизация шины контроллера 82380
- •1.18.8.1. Конвейеризация адресов
- •Организация мпс на базе секционированных бис
- •1.19.А рифметико-логические секции
- •1.20.Секции управления и устройства управления
- •1.20.1.Эволюция структур сфам.
- •1.20.2.Секции управления адресом микрокоманд серии к1804.
- •1.20.3.Организация управляющего автомата
- •1.21.Структура устройств обработки данных
- •1.22.Мпс с одно- и двухуровневым управлением
- •1.23. Расширение архитектуры Am2900
- •1.23.1. Базовый процессорный элемент к1804вм1
- •1.23.1.1. Организация основных блоков
- •1.23.1.2.Система инструкций
- •Однокристальные микроЭвм
- •1.24.Однокристальные микро-эвм к1816ве48/49/35
- •1.24.1.С труктура омэвм
- •1.24.2.Элементы архитектуры омэвм
- •1.24.3.Порты ввода/вывода
- •1.24.4.Система команд омэвм
- •1.24.5.Расширение ресурсов омэвм
- •1.25. Однокристальная микроЭвм к1816ве51
- •1.25.1.Семейство однокристальных эвм mcs-51
- •1.25.2.Структура микро-эвм к1816ве51
- •1.25.3.Архитектурные особенности микро-эвм
- •1.25.4.Организация внутренней памяти данных.
- •1.25.5.Машинные циклы и синхронизация микро-эвм
- •1.25.6.Внешние устройства микро-эвм
- •1.25.7.Описание последовательного порта.
- •1.25.8.Таймеры-счетчики
- •1.25.9.Подсистема прерываний
- •1.25.10.Система команд
- •Системы проектирования и отладки мпс
- •1.26.Проблемы и особенности отладки мпс
- •1.26.1. Особенности отладки мпс на разных этапах ее существования.
- •1.27.С татические отладчики
- •1.28.Логические анализаторы
- •1.29. Сигнатурные анализаторы
- •1.29.1.Идея сигнатурного анализа
- •1.29.2.Оборудование сигнатурного анализа и требования к проверяемой схеме
- •1.30. Системы проектирования мпс
- •1.30.1.Внутрисхемные эмуляторы
- •Литература
1.23.1.2.Система инструкций
Инструкции ВМ1 можно разбить на 11 групп:
с одним операндом;
с двумя операндами;
сдвига на 1 разряд;
битовые;
циклического сдвига на n разрядов (1 n 15);
циклического сдвига и сравнения;
циклического сдвига и слияния;
шифрации;
генерации избыточного кода (CRC);
установки и проверки состояния;
«нет операции».
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 |
РЗУ |
Акк |
|
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». Функция NOVR используется при умножении чисел в дополнительном коде.
Рис. 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 |
Вправо |
NOVR |
Табл. 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 |
ИСТ, ПРМ |
Операнд источника циклически сдвигается на n позиций (0 n 15) в сторону старших разрядов (влево), результат сдвига помещается в приемник и/или на шину Y. В режиме слова сдвигаются все биты (что соответствует сдвигу вправо на (16 – n) позиций. В режиме байта сдвигаются только биты (7:0), а сдвиг на n влево эквивалентен сдвигу на (8 - n) вправо. Биты N и Z модифицируются, а биты C и OVR устанавливаются в «0».
Табл. 10.31. Инструкции циклического сдвига
-
Формат
Код
Мнемокод
ИСТ
ПРМ
ROTR1
1100
RTRA
РЗУ
Акк
1110
RTRY
РЗУ
Шина Y
1111
RTRR
РЗУ
РЗУ
ROTR2
0000
RTAR
Акк
РЗУ
0001
RTDR
РгD
РЗУ
ROTNR
11000
RTDY
РгD
Шина Y
11001
RTDA
РгD
Акк
11100
RTAY
Акк
Шина Y
11101
RTAA
Акк
Акк
Режим B/W
Шина Y
N регистра РгC
0 (байт)
Yi ИСТ(i-n) mod 16
ИСТ(15-n)
1 (слово)
Yi ИСТ(i-n) mod 8
Для i = 1.. 7
ИСТ(8-n)
6) Инструкции циклического сдвига и сравнения:
|
15 |
14 13 |
12 9 |
8 5 |
4 0 |
ROTC |
B/W |
0 1 |
n |
ИСТ, ПРМ, МАСКА |
Адрес РЗУ |
И
нструкция
осуществляет поразрядное сравнение
двух 16-разрядных векторов, маскированных
вектором маски, причем один из входных
векторов предварительно (перед
маскированием) сдвигается на заданное
число разрядов ().
Рис. 10.82. Сдвиг и сравнение
Единичное значение разряда маски исключают из сравнения соответствующие разряды операндов (оба при сравнении равны «0»). Биты N, Z регистра состояний модифицируются, а OVR и C – сбрасываются в «0».
Табл. 10.32. Инструкции циклического сдвига и сравнения
Код [8 : 5] |
Мнемокод |
Сдвигаемый ИСТ |
Несдвигаемый ИСТ, ПРМ |
Маска |
0010 |
CDAI |
РгD |
Акк |
I |
0011 |
CDRI |
РгD |
РЗУ |
I |
0100 |
CDRA |
РгD |
РЗУ |
Акк |
0101 |
CRAI |
РЗУ |
Акк |
I |
7) Инструкции циклического сдвига и слияния:
|
15 |
14 13 |
12 9 |
8 5 |
4 0 |
ROTM |
B/W |
0 1 |
n |
ИСТ, ПРМ, МАСКА |
Адрес РЗУ |
Сдвигаемый операнд U циклически сдвигается на n позиций в сторону старших разрядов, затем с помощью маски формируется результат: в качестве его i-го разряда берется i-й разряд сдвинутого U, если соответствующий разряд маски равен «1», иначе берется разряд Ri. Результат заносится по адресу несдвигаемого операнда.
Пример: n = 4, режим W (работа со словами)
Операнд U |
0011 0001 0101 0110 |
сдвинутый U |
0001 0101 0110 0011 |
Операнд R |
1010 1010 1010 1010 |
Маска S |
0000 1111 0000 1111 |
Результат (R) |
1010 0101 1010 0011 |
Табл. 12. Инструкции циклического сдвига и слияния
Код [8 : 5] |
Мнемокод |
Сдвигаемый ИСТ |
Несдвигаемый ИСТ, ПРМ |
Маска |
0111 |
MDAI |
РгD |
Акк |
I |
1000 |
MDAR |
РгD |
Акк |
РЗУ |
10011 |
MDRI |
РгD |
РЗУ |
I |
1010 |
MDRA |
РгD |
РЗУ |
Акк |
1100 |
MARI |
Акк |
РЗУ |
I |
1110 |
MRAI |
РЗУ |
Акк |
I |
Биты N, Z регистра состояний модифицируются, а OVR и C – сбрасываются в «0».
Инструкции этого типа могут быть эффективно использованы для преобразования одного кода в другой.
8) Инструкции шифрации:
|
15 |
14 13 |
12 9 |
8 5 |
4 0 |
PRT1 |
B/W |
1 0 |
ПРМ |
ИСТ (R) |
Адрес РЗУ/ Маска S |
PRT2 |
B/W |
1 0 |
Маска S |
ПРМ |
Адрес РЗУ/ ИСТ |
PRT3 |
B/W |
1 0 |
Маска S |
ИСТ (R) |
Адрес РЗУ/ ПРМ |
PRTNR |
B/W |
1 1 |
Маска S |
ИСТ (R) |
ПРМ |
В этих инструкциях производится поразрядная конъюнкция операнда R и инвертированного значения маски S. Нулевое значение разряда маски Si разрешает участие соответствующего разряда операнда R в шифрации приоритета. Выходной 5-разрядный код указывает номер старшей единицы операнда R (с учетом маски). Биты N, Z регистра состояний модифицируются, а OVR и C – сбрасываются в «0». Ограничение на выбор операндов – необходимость использования для операнда и маски различных источников (что, впрочем, логично). Инструкции этого типа могут быть эффективно использованы в операциях нормализации.
Табл. 10.33. Инструкции шифрации
PRT! |
ПРМ |
ИСТ (R) |
||||
Код |
Мнемокод |
ПРМ |
Код |
Мнемокод |
ИСТ (R) |
|
1000 |
PR1A |
Акк |
0111 |
PRT1A |
Акк |
|
1010 |
PR1Y |
Шина Y |
1001 |
PRT1D |
РгD |
|
1011 |
PR1R |
РЗУ |
|
|||
PRT2 |
Маска S |
ПРМ |
||||
Код |
Мнемокод |
Маска S |
Код |
Мнемокод |
ПРМ |
|
1000 |
PRA |
Акк |
0000 |
PR2A |
Акк |
|
1010 |
PRZ |
0 |
0010 |
PR2Y |
Шина Y |
|
1011 |
PRI |
I |
|
|||
PRT3 |
Маска S |
ИСТ (R) |
||||
Код |
Мнемокод |
Маска S |
Код |
Мнемокод |
ИСТ (R) |
|
1000 |
PRA |
Акк |
0011 |
PR3R |
РЗУ |
|
1010 |
PRZ |
0 |
0100 |
PR3A |
Акк |
|
1011 |
PRI |
I |
0110 |
PR3D |
РгD |
Табл. 10.34. Инструкции шифрации PRTNR
Маска S |
ИСТ (R) |
ПРМ |
||||||
Код |
Мнемокод |
Маска S |
Код |
Мнемокод |
ИСТ (R) |
Код |
Мнемокод |
ПРМ |
1000 |
PRA |
Акк |
0100 |
PRTA |
Акк |
00000 |
NRY |
Шина Y |
1010 |
PRZ |
0 |
0110 |
PRTD |
РгD |
00001 |
NRA |
Акк |
1011 |
PRI |
I |
|
|
9) Инструкции генерации циклического избыточного кода (CRC) определяются одним полем – адресом РЗУ. Инструкции обеспечивают генерацию контрольных разрядов в циклическом избыточном коде. Одна инструкция – «прямая» (CRCF), другая – «обратная» (CRCR), отличающиеся порядком поступления разрядов на свертку: при прямой свертка начинается со старшего (15-го) разряда, при обратной – с младшего. Две инструкции необходимы, т.к. существующие стандарты применения циклических избыточных кодов не определяют, какой разряд данных (старший или младший) должен передаваться первым.
Форматы инструкций:
|
15 |
14 13 |
12 9 |
8 5 |
4 0 |
CRCF |
1 |
1 0 |
0110 |
0011 |
Адрес РЗУ |
CRCR |
1 |
1 0 |
0110 |
1001 |
Адрес РЗУ |
На рис. показан процесс реализации инструкции обратной свертки. Бит L используется как вход последовательного кода. В соответствии с полиномом, задаваемым с помощью маски, последовательный вход комбинируется с разрядами регистра контрольной суммы. После того, как последний входной бит будет обработан, регистр РЗУ содержит контрольные разряды. В процессе выполнения инструкций биты L, N, Z регистра состояний РгС модифицируются, а C и OVR – сбрасываются в «0».
Перед началом операции необходимо загрузить в Акк полиноминальную маску, а в разряд L РгС – первый бит данных. В следующем такте этот бит появится на выходе L. Результат операции этого бита и старшего (младшего – для обратной свертки) бита регистра РЗУ передается на схемы поразрядной конъюнкции для умножения на разряды маски S. Выходы конъюнкторов поступают на входы сумматоров по модулю два , где поразрядно складываются со сдвинутым на один разряд влево (для обратной свертки n = 15, что соответствует сдвигу на один разряд вправо) операндом U (РЗУ). Результат операции поразрядного суммирования записывается в регистр РЗУ.
Очередной такт начинается с загрузки следующего разряда данных в разряд связи L. Процесс продолжается до тех пор, пока все разряды данных не пройдут такой цикл.
Табл. 10.35. Управление шиной Y в инструкциях CRC
Инструкция |
Шина Y |
Бит L |
CRCF |
Yi [(L РЗУ15) & Аккi] РЗУi –1 i = 15 .. 1 Y0 [(L РЗУ15) & Акк0] 0 |
РЗУ15 |
CRCR |
Yi [(L РЗУ0) & Аккi] РЗУi +1 i = 14 .. 0 Y15 [(L РЗУ0) & Акк15] 0 |
РЗУ0 |
10) Инструкции установки и сохранения состояния оперируют с регистром состояния РгС, формат которого имеет след. вид:
-
7
6
5
4
3
2
1
0
FL3
FL2
FL1
L
N
OVR
C
Z
Форматы инструкций:
|
15 |
14 13 |
12 9 |
8 5 |
4 0 |
SETST |
0 |
1 1 |
1011 |
1010 |
К О П |
RSTST |
0 |
1 1 |
1010 |
1010 |
К О П |
SVSTR |
B/W |
1 0 |
0111 |
1010 |
Адрес РЗУ/ ПРМ |
SVSTNR |
B/W |
1 1 |
0111 |
1010 |
ПРМ |
Табл. 10.36. Инструкции SETST и RSTST
SETST |
RSTST |
||||
Код |
Мнемокод |
Установка |
Код |
Мнемокод |
Сброс |
00011 |
SONCCZ |
OVR, N, C, Z 1 |
00011 |
RONCCZ |
OVR, N, C, Z 0 |
00101 |
SL |
L 1 |
00101 |
RL |
L 0 |
00110 |
SF1 |
F1 1 |
00110 |
RF1 |
F0 0 |
01001 |
SF2 |
F2 1 |
01001 |
RF2 |
F2 0 |
01010 |
SF3 |
F3 1 |
01010 |
RF3 |
F3 0 |
Y(15:0) 1 |
Y(15:0) 0 |
При реализации инструкций SVST в регистр РЗУ (SVSTR) или в Акк (SVSTNR) загружается только младший байт (при B/W = 0) или все слово (при B/W = 1) с шины Y. На шину Y во всех случаях передается: Y(7:0) РгС, Y(15:8) 0.
11) Инструкции проверки состояния определяют одно из 12 тестовых условий, которое передается на выход CT. Формат инструкций:
|
15 |
14 13 |
12 9 |
8 5 |
4 0 |
TSTST |
0 |
1 1 |
1001 |
1010 |
К О П |
Табл. 10.37. Инструкции TSTST
Код (4:0) |
Мнемокод |
Выдается на СТ |
Код (4:0) |
Мнемокод |
Выдается на СТ |
|
TNOZ |
(NOVR)Z |
01100 |
TZC |
ZC\ |
00010 |
TNO |
NOVR |
01110 |
TN |
N |
00100 |
TZ |
Z |
10000 |
TL |
L |
00110 |
TOVR |
OVR |
10010 |
TF1 |
F1 |
01000 |
TLOW |
0 (Const) |
10100 |
TF2 |
F2 |
01010 |
TC |
C |
10110 |
TF3 |
F3 |
Состояние шины Y при действии инструкции TSTST не определено, содержимое РгС не меняется.
Содержимое РгС может быть так же проверено (помимо инструкции) через двунаправленную шину Т(4:1), причем код Т(4:1) совпадает с полем кода инструкции I(4:1) для выбора соответствующего условия (см. таблицу). При конфликте кодов I(4:1) и Т(4:1) приоритет имеют линии I(4:1).
12) Инструкция «Нет операции»:
|
15 |
14 13 |
12 9 |
8 5 |
4 0 |
NOP |
0 |
1 1 |
1000 |
1010 |
0000 |
Значение шину Y не определено; Внутреннее состояние регистров не меняется.
Инструкции с непосредственным операндом – двухтактные – содержат в мнемокоде литеру «I». Операнд размещается в программе (микропрограмме) непосредственно за словом инструкции
.
Рис. 10.83. Реализация
обратной свертки