Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MP_practicum.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
924.67 Кб
Скачать

1.1.5. Специальные команды

Эта группа состоит всего из четырех команд: EI – разрешение прерывания (enable interrupt), DI – запрещение прерывания (disable interrupt), HLT – останов (halt) и NОР – холостая операция (no operation). Первые две команды служат для реализации механизма маскирования прерываний. Каждая программа должна заканчиваться командой останова HLT, по которой прекращается выполнение каких бы то ни было операций, но сохраняется содержимое всех регистров. По команде NOP операции не выполняются, но содержимое счетчиков адресов команд увеличивается на единицу и в следующем цикле выполняется следующая по порядку команда.

1.2. Функционирование микропроцессора к580вм80а при выполнении команд

Функционирование восьмиразрядного микропроцессора К580ВМ80А зависит от воздействующих на микросхему управляющих сигналов, которые представлены в табл.4.

Таблица 4

Обозначение

Наименование

Назначение и условия возникновения

Сигналы управления шинами

DBIN

Разрешение приема информации с шины данных

Выходной сигнал. Шина данных находится в режиме приема информации.

Признак выдачи информации на шину данных

Выходной сигнал. На шину данных выдана информация для записи в запоминающее или во внешнее устройство.

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

HOLD

Захват шин

Входной сигнал. Запрос на прямой доступ к памяти со стороны внешнего устройства.

HLDA

Подтверждение захвата шин

Выходной сигнал. Признак допуска внешнего устройства к шине данных и шине адреса .

Сигналы управления прерываниями

INT

Запрос прерывания

Входной сигнал. Запрос прерывания работы процессора. Проверяется в состояниях ожидания во время останова, а также в конце выполнения команды, если внутренний триггер установлен в состояние, разрешающее прерывание.

INTE

Разрешение прерывания

Выходной сигнал. Разрешение прерывания. Соответствует состоянию внутреннего триггера разрешения прерывания.

Продолжение таблицы 4

Обозначение

Наименование

Назначение и условия возникновения

Сигналы управления асинхронной передачей данных

READY

Готовность к передаче данных

Входной сигнал. Информация для обмена между запоминающим или внешним устройством и микропроцессором готова. При отсутствии сигнала готовности микропроцессор переходит в состояние ожидания.

WAIT

Ожидание

Выходной сигнал. Микропроцессор находится в состоянии ожидания. При появлении сигнала готовности микропроцессор выходит из состояния ожидания.

Сигналы общего назначения

SYNC

Синхронизация

Выходной сигнал. Начало машинного цикла. По этому сигналу на шину данных микропроцессор выдает управляющее слово состояния.

RESET

Сброс

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

F1, F2

Последовательности тактовых импульсов

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

Выполнение каждой команды производится микропроцессором в строго определенной последовательности, определяемой кодом команды, и синхронизируется во времени двумя последовательностями неперекрывающихся импульсов, поступающими от тактового генератора. В зависимости от вида команды для выполнения может потребоваться от одного до пяти машинных циклов. Машинный цикл – это время, требуемое для извлечения одного байта информации и выполнения команды. В каждом цикле производится обращение микропроцессора к памяти или устройствам ввода/вывода. Машинный цикл может состоять из 3–5 машинных тактов.

Микропроцессор К580ВМ80А имеет десять различных машинных циклов:

1. извлечение кода команды (кода операции);

2. чтение данных из памяти;

3. запись данных в память;

4. чтение данных из стека;

5. запись данных в стек;

6. ввод данных из внешнего устройства;

7. запись данных во внешнее устройство;

8. обслуживание прерывания;

9. останов;

10. обслуживание прерывания при останове.

Первым машинным циклом при выполнении любой команды всегда является цикл извлечения кода команды. На первом такте каждого машинного цикла микропроцессор указывает тип выполняемого цикла с помощью восьмиразрядного слова состояния, выдаваемого на шину данных. Информация слова состояния отображает действия, производимые в текущем цикле. Назначение каждого разряда слова состояния расшифровывается в табл.5. Коды машинных циклов представлены в табл.6.

Для нормального функционирования микропроцессорной системы недостаточно управляющих сигналов, генерируемых микропроцессором. Микропроцессорная система в каждом машинном цикле должна получать наиболее полную информацию о состоянии микропроцессора. В условиях, когда внешних выводов микросхемы К580ВМ80А для индикации внутреннего состояния микропроцессора недостаточно, эта задача решается с использованием мультиплексирования шины данных и представления внутреннего состояния микропроцессора на внешнем по отношению к микропроцессору регистре состояния. Запись в регистр состояния микропроцессора восьмиразрядного слова состояния, выдаваемого на первом такте каждого машинного цикла на шину данных, осуществляется с помощью специальным образом сформированного сигнала синхронизации. Слово состояния, записанное в регистр состояния микропроцессора, остается неизменным в течение всего машинного цикла. Сигналы с восьми выходов регистра состояния микропроцессора поступают на шину управления микропроцессорной системы. Каждый разряд регистра состояния микропроцессора передается на соответствующие управляющие входы адаптеров или схем сопряжения с устройствами ввода/вывода, определяя тем самым их режим функционирования в соответствии с текущим состоянием микропроцессора.

Таблица 5

Разряд

Обозначение

Назначение

D0

INTA – подтверждение прерывания

(interrupt acknoledge)

Используется для стробирования сигнала, организующего прерывание при наличии сигнала DBIN, разрешающего прием информации с шины данных.

D1

– запись–вывод (writeoutput)

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

D2

STACK – стек

Указывает, что на шине адреса находится содержимое указателя стека, адресующегося к верхней ячейке стека.

D3

HLTA – подтверждение останова

(halt acknowledge)

Подтверждает выполнение процессором операции останова.

D4

OUT – вывод

(output cycle)

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

D5

M1 – извлечение кода команды

Указывает на нахождение микропроцессора в цикле извлечения первого байта команды.

D6

INP – ввод

(input cycle)

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

D7

MEMR – чтение

(memory read)

Указывает, что шина данных будет использована в текущем цикле для чтения данных из памяти.

Таблица 6

Машинный цикл

Слово состояния микропроцессора

INTA

STACK

HLTA

OUT

M1

INP

MEMR

Извлечение кода команды

0

1

0

0

0

1

0

1

Чтение данных из памяти

0

1

0

0

0

0

0

1

Запись данных в память

0

0

0

0

0

0

0

0

Чтение данных из стека

0

1

1

0

0

0

0

1

Запись данных в стек

0

0

1

0

0

0

0

0

Ввод данных во внешнее устройство

0

1

0

0

0

0

1

0

Вывод данных во внешнее устройство

0

0

0

0

1

0

0

0

Обслуживание прерывания

1

1

0

0

0

1

0

0

Останов

0

1

0

1

0

0

0

1

Обслуживание прерывания при останове

1

1

0

1

0

1

0

0

При подаче на микропроцессор сигнала RESET начинается первый такт машинного цикла. Происходит передача содержимого счетчика команд по шине адреса в память и выдача слова состояния на шину данных в виде параллельного восьмиразрядного кода. На втором такте анализируются сигналы READY, HOLD и HLTA. Если или то микропроцессор переходит в состояние ожидания или состояние останова соответственно. В состоянии ожидания микропроцессор будет находиться до тех пор, пока не поступит сигнал . Из состояния останова микропроцессор может выйти при поступлении сигналов , и при установленном в единичное состояние триггере разрешения прерывания.

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

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

В конце машинного цикла анализируется сигнал HOLD. Если , то выполнение действий режима захвата продолжается. При микропроцессор заканчивает прерванную команду. По окончании последнего машинного цикла команды анализируется сигнал INT. Если и внутренний триггер разрешения прерывания находится в состоянии единицы, то внутренний триггер запроса прерывания устанавливается в единицу и микропроцессор выдает сигнал INTE. Внутренний триггер разрешения прерывания устанавливается в единицу командой EI, а сбрасывается в ноль командой DI. При отсутствии запросов на прерывание микропроцессор переходит к выполнению следующей команды.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]