Введение в микропроцессоры. Конспект лекций по курсу "Микропроцессорные устройства", страница 8

Буфер адреса/данных представляет собой входной/выходной формирователь (приемопередатчик) сигналов с тремя состояниями, предназначенный для выдачи младшего байта адреса, либо приема/выдачи данных. В третье состояние буфер переходит во время действия сигналов RESET#, HOLD или команды HLT (см. пп. 2.6, 2.7, 2.8.12). В первом такте каждого машинного цикла производится вывод младшего байта адреса, а во втором и третьем тактах - прием/выдача данных. Использование одной и той же шины (в нашем случае шины адреса/данных AD7...AD) для передачи функционально различных кодов (в разные промежутки времени) называется временным мультиплексирование. Временное мультиплексирование позволяет уменьшить число контактов корпуса интегральной микросхемы МП Такой тип мультиплексирования (адрес/данные) был унаследован современными микропроцессорными устройствами: однокристальными микро-ЭВМ; PIC-процессорами и процессорами цифровой обработки сигналов.

Блок синхронизации и управления обеспечивает внутреннюю синхронизацию всех узлов МП (что отражено одним из классификационных признаков этого МП, см. п. 1.3) и формирование внешних сигналов, необходимых для обеспечения работы с МП внешних устройств. Синхронизация осуществляется от встроенного генератора, для работы которого к нему через контакты BQ1, BQ2 необходимо подключить хронирующие цепи. Блок синхронизации настраивается на выполнение конкретного типа машинного цикла либо дешифратором команд, либо блоком управления прерываниями.

Блок управления прерываниями переключает МП с выполнения одной программы на выполнение другой под действием внешних сигналов запроса прерываний - INTR, RST5.5, RST6.5, RST7.5, TRAP (cм. п. 2.5).

Блок последовательного ввода/вывода обеспечивает ввод/вывод однобитных данных в последовательном формате (cм. п. 2.8.12).

2.4. Работа МП при выполнении команд

2.4.1. Понятие машинного такта и машинного цикла

Выполнение любой программы МП осуществляется посредством операций записи или считывания. Квант времени при выполнении этих операций - один тактовый период Т частоты fclk, т.е. Т = 1 / fclk.

От 3-х до 6-ти Т образуют машинный цикл М, за время которого происходит обращение к памяти. От одного до пяти М образуют цикл выполнения команд.

Сущность и последовательность машинных циклов определяются кодом операции (КОП) команды, считанным в М1. Ни одна команда МП М1821ВМ85А не длится более  пяти машинных циклов, причем любой из них будет один из приведенных в табл. 2.2.

Таблица 2.2

Типы машинных циклов

N

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

IO/M#

S1

S0

RD#

WR#

INTA#

1

Чтение КОП команды

0

1

1

0

1

1

2

Чтение памяти

0

1

0

0

1

1

3

Запись в память

0

0

1

1

0

1

4

Чтение порта

1

1

0

0

1

1

5

Запись в порт

1

0

1

1

0

1

6

Обработка INTR

1

1

1

1

1

0

7

Обработка TRAP, RST7.5,

RST6.5, RST5.5 *

1

1

1

1

1

1

8

Команда HLT    *

z

0

0

z

z

1

9

Команды DAD, RDEL, DSUB, ARHL, LDSI, LDHI *

0

1

0

1

1

1

Примечания:

·символом ‘*’ обозначены машинные циклы, в которых не используется ШД;

· символом ‘z’ обозначено высокоимпедансное состояние  (третье).

Каждый машинный цикл М обычно состоит из трех машинных тактов Т, кроме М1, который может быть от четырех до шести Т. Реальное число машинных тактов при выполнении какой-либо команды определяется: КОП  команды; числом тактов ожидания, которые формируются, если READY = 0.

2.4.2. Машинный цикл чтения КОП