Архитектура микропроцессорной системы. Состав машинных команд и основы программирования микропроцессорной системы на ассемблере. Булатов В.Н. - 19 стр.

UptoLike

Составители: 

команду, перейдет к процедуре обслуживания прерывания, если есть на то
разрешение (IF=1).
— INTA строб чтения вектора прерывания (начальной метки
подпрограммы обработки прерываний) из регистра векторов (контроллера
прерывания). Вектора заносятся программно после того, как становится
известным, где в ОЗУ/ПЗУ располагаются те или иные подпрограммы
обработки прерываний. Этот строб подключает выход регистра векторов
(контроллера прерываний) к шине данных.
— HOLD запрос от какого-либо устройства к микропроцессору
отдать ему на время всю системную шину (например, от второго процессора).
Микропроцессор, выполнив до конца текущую команду, переходит в 3-е
состояние (отключается от системной шины).
— HLDA сообщение внешнему устройству: «Я обнаружил HOLD и
перешел в 3-е состояние; можешь забирать системную шину».
— RDY сигнал разрешения генерации тактовых импульсов.
Необходимо отметить, что внутри цифрового автомата находится кварцевый
генератор, вырабатывающий сигнал OSC с частотой 14,31818НГц. Этот
генератор работает непрерывно. Сигнал с генератора делится на 3, образуя
сигнал CLK с тактовой частотой 4,772727...МГц, который:
а) выводится наружу на системную шину и может использоваться для
различных целей (для таймера, последовательного интерфейса и так далее);
б) через схему «И» подается непосредственно на тактируемые входы
цифрового автомата; на второй вход схемы «И» подается RDY. Отключение
этого сигнала позволяет «заморозить» на некоторое время выполнение команды
в нужном месте ее выполнения (стоп-кадр). Это дает возможность сопрягать во
времени «быстрый» процессор с «медленным» устройством, растянув во
времени, например, строб -IOW или строб -IOR на несколько тактов, чтобы
интерфейсная схема успела скоммутироваться с шиной данных.
RES — сигнал сброса МП в исходное состояние. При подаче этого
сигнала на вход МП последний переходит в 3-е состояние (все выводы
переходят в высокоомное состояние). В момент снятия сброса происходят
следующие действия: CS:=FFFF, IP:=0000. Затем происходит ввод содержимого
шины данных в РКОП и начинается первое действие. Следовательно, по адресу
FFFF:0000 должна располагаться первая команда самой первой программы,
приводящей всю микропроцессорную систему (МПС) в исходное состояние.
Поэтому, этот адрес принадлежит ПЗУ. А программа, приводящая МПС в
исходное состояние, называется программой инициализации, а сам процесс
инициализацией (INIT). С элементами инициализации будет возможность
познакомиться при изучении интерфейсных схем.
А теперь можно перейти к форматам команд микропроцессора 8086.
Размер команды зависит от функции, которая закладывается в команду.
Этот размер находится в пределах от 1-го байта до 6-и байт. Сама команда
разделяется на код операции (набор управляющих функций для цифрового
автомата) и возможных одного или двух операндов, следующих за кодом
операции. Все это в ЗУ должно располагаться последовательно с
19
команду, перейдет к процедуре обслуживания прерывания, если есть на то
разрешение (IF=1).
      — INTA — строб чтения вектора прерывания (начальной метки
подпрограммы обработки прерываний) из регистра векторов (контроллера
прерывания). Вектора заносятся программно после того, как становится
известным, где в ОЗУ/ПЗУ располагаются те или иные подпрограммы
обработки прерываний. Этот строб подключает выход регистра векторов
(контроллера прерываний) к шине данных.
      — HOLD — запрос от какого-либо устройства к микропроцессору —
отдать ему на время всю системную шину (например, от второго процессора).
Микропроцессор, выполнив до конца текущую команду, переходит в 3-е
состояние (отключается от системной шины).
      — HLDA — сообщение внешнему устройству: «Я обнаружил HOLD и
перешел в 3-е состояние; можешь забирать системную шину».
      — RDY — сигнал разрешения генерации тактовых импульсов.
Необходимо отметить, что внутри цифрового автомата находится кварцевый
генератор, вырабатывающий сигнал OSC с частотой 14,31818НГц. Этот
генератор работает непрерывно. Сигнал с генератора делится на 3, образуя
сигнал CLK с тактовой частотой 4,772727...МГц, который:
      а) выводится наружу на системную шину и может использоваться для
различных целей (для таймера, последовательного интерфейса и так далее);
      б) через схему «И» подается непосредственно на тактируемые входы
цифрового автомата; на второй вход схемы «И» подается RDY. Отключение
этого сигнала позволяет «заморозить» на некоторое время выполнение команды
в нужном месте ее выполнения (стоп-кадр). Это дает возможность сопрягать во
времени «быстрый» процессор с «медленным» устройством, растянув во
времени, например, строб -IOW или строб -IOR на несколько тактов, чтобы
интерфейсная схема успела скоммутироваться с шиной данных.
      RES — сигнал сброса МП в исходное состояние. При подаче этого
сигнала на вход МП последний переходит в 3-е состояние (все выводы
переходят в высокоомное состояние). В момент снятия сброса происходят
следующие действия: CS:=FFFF, IP:=0000. Затем происходит ввод содержимого
шины данных в РКОП и начинается первое действие. Следовательно, по адресу
FFFF:0000 должна располагаться первая команда самой первой программы,
приводящей всю микропроцессорную систему (МПС) в исходное состояние.
Поэтому, этот адрес принадлежит ПЗУ. А программа, приводящая МПС в
исходное состояние, называется программой инициализации, а сам процесс —
инициализацией (INIT). С элементами инициализации будет возможность
познакомиться при изучении интерфейсных схем.
      А теперь можно перейти к форматам команд микропроцессора 8086.
Размер команды зависит от функции, которая закладывается в команду.
Этот размер находится в пределах от 1-го байта до 6-и байт. Сама команда
разделяется на код операции (набор управляющих функций для цифрового
автомата) и возможных одного или двух операндов, следующих за кодом
операции. Все это в ЗУ должно располагаться последовательно с
                                                                         19