Командный и машинный циклы, машинные такты
Процесс выполнения любой программы состоит из последовательного выполнения отдельных команд этой программы. Отработку процессором одной команды называют командным циклом.
В то же время, отработка любой команды сводится к одному или нескольким обращениям процессора к устройствам шины. Обращаться к шине процессору требуется, например, для чтения команд, а также для чтения, записи, ввода или вывода данных выполняемой команды. Всякое такое обращение есть один машинный цикл. При этом, внутренние операции процессора, следующие сразу после обращения процессора к шине и до нового такого обращения, также входят в состав данного машинного цикла. Каждый машинный цикл относится к одному из 10 стандартных типов показанных в табл. 2.3.
Каждый машинный цикл состоит из нескольких (до 4, в зависимости от типа машинного цикла) элементарных последовательных внутренних операций процессора. Эти операции называют машинными тактами. Время их выполнения всегда одинаково и равно периоду тактовых импульсов процессора.
Таблица 2.3
Типы машинных циклов значения слова состояния PSW процессора 8080
Тип | 6 | 5 | 4 | 2 | 0 | |||
MEMR | INP | M1 | OUT | HLTA | STACK | INTA | ||
Выбор команды | ||||||||
Чтение памяти | ||||||||
Запись в память | ||||||||
Чтение стека | ||||||||
Запись в стек | ||||||||
Ввод из порта | ||||||||
Вывод в порт | ||||||||
Прерывание | ||||||||
Останов | ||||||||
Прер-е из ост-ва |
Отражение типа машинного цикла через слово состояния
Особенностью машинных циклов процессора 8080 является то, что любой из них начинается с такта выдачи на линии данных байта информации о характеристиках этого машинного цикла (табл. 2.4). Этот байт записывается во внешний регистр состояния системного контроллера и используется для формирования сигналов управления текущим машинным циклом.
Таблица 2.4
Формат слова состояния PSW
№ бита | Обозн. | Назначение |
INTA | Подтверждение прерывания | |
Запись в память или вывод в регистр интерфейса | ||
STACK | Обращение к стеку | |
HLTA | Подтверждение останова | |
OUT | Вывод в порт (регистр интерфейса) | |
M1 | М1 – прием из памяти первого байта команды | |
INP | Ввод из порта (регистра интерфейса) | |
MEMR | Чтение из памяти |
Пошаговые режимы
Пошаговые режимы предназначены для практического изучения выполнения процессором отдельных команд, а также для отладки программ. Он обеспечивается схемой пошагового выполнения (рис.1.1) и средствами системного Монитора.
Средствами пошагового выполнения программ выполняется перевод процессора в состояние останова после выполнения очередного шага. При этом производится выдача на соответствующие светодиоды информации о состоянии линий данных, адреса и регистра состояния в момент останова, т.е. перед началом выполнения следующего шага. Индицируется состояние:
· линий данных;
· линий адреса;
· битов регистра состояния системного контроллера.
Переход в режим пошагового выполнения программ и возврат из него осуществляется переключателем . В данной микро-ЭВМ возможны два варианта пошагового выполнения программ в зависимости от величины шага:
· шаг равен одной команде;
· шаг равен одному машинному циклу команды.
Выбор одного из пошаговых режимов выполняется переключателем . Нажатое положение переключателя соответствует выбору шагов машинного цикла, а отжатое – выбору шагов команд.
Пошаговый режим машинных циклов позволяет увидеть внутрикомандные действия процессора и его следует применять чтобы прояснить ход выполнения отдельных команд.
Пошаговый режим командных циклов позволяет увидеть внутрипрограммные действия процессора и его следует применять для контроля хода выполнения программы. При этом можно выходить из пошагового режима в монитор для контроля результатов выполнения отдельных команд, а затем вновь возвращаться к пошаговым действиям. Это реализуется следующими последовательными операциями:
· прервать выполнение программы нажатием клавиши ;
· переключением выйти из пошагового режима;
· нажать клавишу ;
· обычным образом просмотреть из Монитора интересующие регистры и ячейки памяти;
· переключением вернуться в пошаговый режим;
· запустить программу от текущего содержимого счётчика команд, при том вводить стартовый адрес от останова необязательно.
Для продолжения выполнения шагов необходимо нажимать клавишу . В ходе выполнения шагов появляется возможность контролировать последовательность выполнения процессором его действий по интерпретации команд:
· для шагов команд – последовательность выполнения команд программы;
· для шагов машинных циклов – последовательность выполнения обращений к шине при выполнении текущих команд.
Информация для пользователя в пошаговых режимах отображается в двоичном числовом виде при помощи светодиодов (двоичной 1 соответствует свечение светодиода). Монитор эту же информацию отображает в виде шестнадцатеричных чисел: для компактности представления длинные двоичные числа группируются по 4 разряда (декадно), образуя шестнадцатеричные цифры. Соответствие двоичных комбинаций шестнадцатеричным, а также десятичным цифрам показано в табл. 2.5.: b (binary) – двоичная; h (hexadecimal) – шестнадцатеричная; d (decimal) – десятичная.
Порядок выполнения работы