Система команд микропроцессора КР580ВМ80А
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Система команд микропроцессора КР580ВМ80А
В микропроцессоре КР580ИК80А программно доступными являются
следующие регистры:
• 8-разрядные регистры (A, B, C, D, E, H, L);
• 16-разрядные регистры (слово состояния процессора PSW,
представленное регистрами A и F, три пары регистров B и C, D и E, H и
L, обозначаемые по первому регистру пары буквами B, D, H,
соответственно, указатель стека SP, программный счетчик РС);
• отдельные признаки регистра F.
Система команд микропроцессора КР580ИК80А содержит 78 команд,
которые можно разделить на следующие пять групп:
1) команды пересылки данных между регистрами (11 команд);
2) арифметические команды (14 команд);
3) логические команды (15 команд);
4) команды передачи управления (29 команд);
5) команды работы со стеком, ввода-вывода и управления регистрами
процессора (9 команд).
Выполнение команд в микропроцессоре КР580ВМ80А
Каждая команда микропроцессора занимает командный цикл, состоящий
из цикла выборки команды и цикла ее исполнения. Длительность цикла
выборки команды различается для различных команд и зависит от длины
команды (возможны от одного трех обращений к памяти).
С другой стороны, длительность цикла выполнения команды зависит от
типа команды и способа адресации операндов. Например, для выполнения
команды сложения ADD r требуется только одно обращение к памяти, за
самой командой, а операнд находится в регистре r процессора. Для выполнения
команды ADD m требуется два обращения к памяти: одно − для выборки
команды, другое − для чтения операнда, адресуемого парой регистров HL.
Таким образом, длительность командного цикла определяется числом
обращений к памяти или внешнему устройству. Интервал времени на одно
обращение к памяти или внешнему устройству определяется как машинный
цикл М. Количество машинных циклов для команд может изменяться от одного
(для однобайтовых команд с регистровой адресацией) до пяти (для
трехбайтовых сложных команд).
Машинный цикл, в свою очередь, разбивается на машинные такты Т, в
каждом из которых выполняется элементарное действие в процессоре −
микрооперация. Количество тактов в машинном цикле определяется кодом
команды и может изменяться от трех до пяти. Длительность такта задается
периодом синхроимпульсов F1, формируемых внешними цепями.
Для синхронизации работы процессора с памятью и внешними
устройствами, имеющими меньшее быстродействие, а также для организации
прямого доступа к памяти и останова процессора предусмотрены три
специальных состояния: ОЖИДАНИЕ, ЗАХВАТ и ОСТАНОВ, длительность
каждого из которых может быть произвольной, но всегда кратна Т.
Последовательность действий в каждом машинном цикле определяет его
тип. Имеется 10 типов машинных циклов:
• ВЫБОРКА − выборка из памяти байта кода операции команды;
• ЧТЕНИЕ ПАМЯТИ − выборка второго и третьего байтов команды и
выборка операнда с косвенной адресацией;
• ЗАПИСЬ В ПАМЯТЬ − запись операндов или сохранение адресов при
выполнении команд пересылок;
• ЧТЕНИЕ СТЕКА − обращение к стеку;
• ЗАПИСЬ В СТЕК − обращение к стеку;
• ВВОД − выполнение команды ввода;
• ВЫВОД − выполнение команды вывода;
• ПРЕРЫВАНИЕ − организация прерывания и останов процессора;
• ОСТАНОВ − при выполнении команды останова;
• ПРЕРЫВАНИЕ ПРИ ОСТАНОВЕ − при возникновении прерывания
после выполнения команды ОСТАНОВ (HLT).
В каждой команде циклы следуют в определенной последовательности,
например:
• ADD r
− один машинный цикл: M1 (выборка);
• ADD M
− два машинных цикла: M1 (выборка), М2 (чтение памяти);
• IN − три машинных цикла: М1 (выборка), М2 (чтение памяти),
М3 (ввод);
• САLL <адрес> − пять машинных циклов: M1 (выборка), М2 (чтение
памяти), М3 (чтение памяти), М4 (запись в стек), М5
(запись в стек).
Каждый машинный цикл процессора идентифицируется байтом
состояния, который выдаётся на шину данных в начале каждого машинного
цикла и сопровождается выдачей сигнала синхронизации машинных циклов на
вывод SYNC. Байт состояния содержит информацию о последующих действиях
процессора и может быть использован для расширения функций управления в
микропроцессорной системе. Информация о состоянии распределена в байте
состояния в соответствии с табл. 1, а распределение байтов состояния в
зависимости от типа машинного цикла представлена в табл. 2.
Таблица 1. Информация о состоянии микропроцессора КР580ИК80А
Разряд
шины
данных
D0
Сигнал состояния
Подтверждение
прерывания (INTA)
Описание
=1 указывает, что процессор готов вести отработку
запроса прерывания
D1
Запись-Вывод (WO)
=0 указывает, что выполняются циклы ЗАПИСЬ В
ПАМЯТЬ или ВЫВОД. Если ЗВ=1, выполняются
ЧТЕНИЕ ПАМЯТИ или ВВОД
D2
СТЕК (STACK)
=1 указывает, что на адресной шине находится
содержимое указателя стека, т.е. адрес верхней
(свободной) ячейки стека
D3
Подтверждение
останова (HLTA)
=1 указывает, что процессор находится в состоянии
ОСТАНОВ (выполняется команда HLT)
D4
Вывод (OUTPUT)
=1 указывает, что на адресной шине находится адрес
внешнего устройства, в которое осуществляется
вывод информации (цикл ВЫВОД)
D5
M1
=1 указывает, что выполняется 1-й цикл команды
(цикл ВЫБОРКА)
D6
ВВОД (INPUT)
=1 указывает, что на адресной шине находится адрес
внешнего устройства, из которого осуществляется
ввод информации (цикл ВВОД)
D7
Чтение памяти
(MEMR)
=1 указывает что, шина данных будет использоваться
для чтения данных из памяти
Таблица 2. Распределение байтов состояния по типам машинных циклов
микропроцессора КР580ВМ80А
Тип машинного цикла
Разряд
шины
данных
Сигнал
состояния
Выборка
Чтение
памяти
Запись
в память
Чтение
стека
Запись
в стек
Вво
д
Вывод
Прерывание
Останов
Прерывание при
останове
D0
INTA
1
1
D1
WR
1
1
1
1
1
1
1
D2
STACK
1
1
D3
HLTA
1
1
D4
OUTPUT
1
D5
M1
1
1
1
D6
INPUT
1
D7
MEMR
1
1
1
1
В каждом машинном цикле выполняется обращение к памяти. Поэтому в
первом машинном такте Т1 на адресную шину выдаётся адрес из программного
счетчика РС или указателя SP. Одновременно на шину данных выдаётся байт
состояния (БС) и формируется сигнал синхронизации. Если память или
внешнее устройство не готовы к обмену (RDY=0), или есть запрос прямого
доступа к памяти (ПДП), т.е. HLD=1, или выполняется команда останова, то
обмен данными осуществляться не может. Процессор переходит в состояние
ОЖИДАНИЕ, ЗАХВАТ или ОСТАНОВ, т.е. выполняет такты ожидания Tw,
число которых определяется внешними признаками. Анализ этой информации
осуществляется в такте Т2. В этом же такте содержимое РС увеличивается на 1
для адресации следующего байта.
Таблица 4. Распределение действий по тактам микропроцессора КР580ВМ80А
Такт
Действие
Т1
Адрес памяти или УВВ выдаётся на адресную шину (A15...A0). Байт
состояния выдаётся на шину данных (D7...D0).
T2
Анализируются сигналы на входах RDY и HLD, а также контролируется
команда останова HLT.
Tw
Если сигнал на входе RDY имеет низкий уровень, или на входе ЗХ
высокий уровень, или выполняется команда HLT, процессор переходит
в одно из состояний: ОЖИДАНИЕ, ЗАХВАТ или ОСТАНОB.
Т3
С шины данных в процессор вводится байт команды (в цикле
ВЫБОРКА) байт данных (в циклах ЧТЕНИЕ ПАМЯТИ, ЧТЕНИЕ
СТЕКА, ВВОД) или команда прерывания RST (цикл ПРЕРЫВАНИЕ).
Или из процессора выводится байт данных (циклы ЗАПИСЬ В
ПАМЯТЬ,ЗАПИСЬ В СТЕК,ВЫВОД) на шину данных.
Т4,
Т5
Выполняется операция. Такты Т4, Т5 или только Т5 могут не
использоваться при выполнении команды.