Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессоры.doc
Скачиваний:
12
Добавлен:
24.11.2019
Размер:
9.53 Mб
Скачать
      1. Обработка команд

Включение электропитания МПС сопровождает импульс 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. Это слово содержит информацию о типе машинного цикла, необходимую для управления устройствами МПС. Существуют следующие типы:

  • выборка первого байта команды;

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

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

  • чтение стека;

  • запись в стек;

  • чтение данных из УВВ;

  • запись данных в УВВ;

  • прерывание;

  • останов;

  • прерывание в останове.

В зависимости от типа цикла микропроцессор по-разному взаимодействует с подключенными к нему устройствами — считывает или записывает данные в память либо УВВ, производит операции со стеком и т.д. Временные диаграммы некоторых процессов взаимодействия, определяемых тем или иным типом цикла, будут рассмотрены ниже.