- •Основы построения микропроцессорных систем
- •Основные определения и общие сведения
- •Типы информационного обмена
- •Параллельный обмен
- •Последовательный обмен
- •Протоколы обмена
- •1.3 Особенности применения цифровых микросхем
- •1.4 Структурные принципы микропроцессорных систем
- •Общая структура
- •Управление чтением и записью
- •Временные диаграммы чтения и записи
- •Подключение памяти и устройств ввода-вывода
- •Типы запоминающих устройств
- •Основные устройства микропроцессорной системы
- •Центральный процессор
- •Микропроцессор
- •Структура
- •Обработка команд
- •Временные диаграммы машинных циклов микропроцессора при чтении и записи
- •Система команд
- •Дешифратор адреса
- •Запоминающие устройства
- •Устройства ввода-вывода
- •Устройство звуковой сигнализации
- •Программируемый параллельный интерфейс
- •Универсальный синхронно-асинхронный приемопередатчик
- •Программируемый интервальный таймер
- •Программируемый контроллер приоритетных прерываний
- •Контроллер прямого доступа к памяти
- •Устройство индикации
- •Развитие архитектуры микропроцессорных систем
- •Технические требования
- •Сегментная модель памяти
- •Непрерывная модель памяти
- •Виртуальная адресация
- •Области оперативной памяти
- •Список литературы
- •Оглавление
- •1. Основы построения микропроцессорных систем 3
- •1. Основные устройства микропроцессорной системы 27
- •1. Развитие архитектуры микропроцессорных систем 76
Обработка команд
Включение электропитания МПС сопровождает импульс RESET, по которому микропроцессор начинает обработку команд, осуществляемой в следующем порядке:
в регистры микропроцессора, включая IP, записываются нули;
содержимое IP выдается на ША, после чего микропроцессор переходит к считыванию первого байта из ячейки ПЗУ (в ОЗУ после включения питания еще никакой информации нет) с нулевым адресом — этот байт всегда воспринимается микропроцессором как код операции команды;
на основании кода операции дешифратор команд определяет общее число байтов команды, которые должны быть считаны далее;
после чтения очередного байта адрес в IP увеличивается на единицу, выдается на ША, и микропроцессор переходит к считыванию следующего байта из ячейки с этим адресом.
Байты команд располагаются в памяти в порядке очередности друг за другом, а процесс выполнения каждой команды представляет собой последовательность действий, определенных кодом операции. После считывания очередной команды, состоящей из некоторого числа байтов, адрес в IP обязательно увеличится именно на это число. Если выполнение командного кода более никак не изменило адресной информации в IP, то содержимое этого регистра будет указывать на первый байт команды, следующей в очереди. В этом случае командные коды, расположенные в памяти друг за другом, будут выполняться подряд.
Существует группа команд, изменяющих адрес в IP в соответствии с кодом, заданным программистом, и дающих возможность переходить к другим командам, находящимся по требуемым адресам. Таким образом реализуется переход к различным участкам программы и подпрограммам, а также организация программных циклов — циклического выполнения последовательности команд. Другая группа содержит команды, позволяющие по адресу, заданному разработчиком программы, реализовать чтение или запись информации в определенные ячейки памяти или УВВ. При завершении выполнения таких команд IP содержит адрес, указывающий на код операции следующей команды. Более подробно группы команд будут рассмотрены ниже.
Каждая команда выполняется за время, называемое командным циклом. Поскольку она может состоять из нескольких байтов, обработка каждого из которых требует времени, командный цикл обычно составляют несколько машинных циклов.
Таблица 2.1.
Бит локальной
ШД
Сигнал
Назначение
D7
MEMR
Чтение данных
из памяти.
D6
INP
Чтение данных
из УВВ.
D5
M1
Чтение из памяти
первого байта команды — выборка
команды.
D4
OUT
Запись данных
в УВВ.
D3
HLTA
Подтверждение
останова.
D2
STACK
На
ША выдано содержимое SP.
D1
Запись данных
в память.
D0
INTA
Подтверждение
прерывания.
Число тактов машинного цикла можно увеличить с помощью сигнала READY. Если READY пассивен, то микропроцессор при поступлении каждого такта ни чтения ни записи данных не производит — таким образом длительность цикла увеличивается. Обычно это бывает необходимо при обмене информацией с устройствами, работающими медленнее микропроцессора.
Выполнение команды начинается с момента ее считывания, определяемого первым тактом командного цикла. В первом же такте каждого машинного цикла на локальную ШД, (соединяющую микропроцессор и СКФ) выдается специальный код, называемый словом состояния процессора (status word — SW). Назначение активных сигналов SW приведено в таблице 2.1. Это слово содержит информацию о типе машинного цикла, необходимую для управления устройствами МПС. Существуют следующие типы:
выборка первого байта команды;
чтение данных из памяти;
запись данных в память;
чтение стека;
запись в стек;
чтение данных из УВВ;
запись данных в УВВ;
прерывание;
останов;
прерывание в останове.
В зависимости от типа цикла микропроцессор по-разному взаимодействует с подключенными к нему устройствами — считывает или записывает данные в память либо УВВ, производит операции со стеком и т.д. Временные диаграммы некоторых процессов взаимодействия, определяемых тем или иным типом цикла, будут рассмотрены ниже.