Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Схема подключения генератора КР580ГФ24 к МП ВМ8...doc
Скачиваний:
4
Добавлен:
13.11.2019
Размер:
2.54 Mб
Скачать

Пространства памяти и ввода-вывода мп кр580вм80а

     Адресное пространство памяти, образующее основную память МП КР580ВМ80А, представляет собой линейный одномерный массив из 64 Кб ячеек памяти, так что 16-разрядный адрес дает возможность микропроцессору непосредственно адресовать любой байт памяти. Данные в памяти могут храниться байтами или словами. Слова в памяти хранятся в двух соседних байтах (младший байт слова хранится по младшему адресу). Адресом слова является адрес его младшего байта.

В МП определено 4 способа задания месторасположения данных в памяти:

  • прямой;

  • косвенный регистровый (через 16-разрядные регистры HL, BC и DE);

  • непосредственный;

  • автоинкрементный/автодекрементный через указатель стека SP.

 

     При прямой и непосредственной адресации данных могут быть доступны байты или слова, при косвенной адресации - только байты. Стековая адресация применяется только при работе со словами.

     В МП ВМ80А используется изолированное адресное пространство ввода-вывода. Эта область организована в виде одномерного массива из 256 восьмиразрядных портов ввода и 256 восьмиразрядных портов вывода. Допускается только прямой способ доступа к пространству ВВ.

Двухфазная синхронизация мп и его функционирование

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

     Командный цикл состоит из 1..5 машинных циклов обозначаемых М1..М5. Каждый машинный цикл представляет собой цикл обращения к системной магистрали: выборка команды, выборка операнда; их запись; ввод-вывод данных. Исключением являются две команды: команда DAD, содержащая 3 машинных цикла, из которых только в цикле М1 происходит обращение к памяти, и команда HLT. Цикл М1 всегда реализует выборку кода команды (цикл FETCH).

     Машинные циклы выполняются по микротактам, определяемым как интервал времени между двумя соседними фронтами синхроимпульсов фазы С1. Любой МЦ включает, по крайней мере, три такта (Т1-Т3). Такты Т4 и Т5 необязательны и применяются в отдельных командах для внутренних операций МП.

     Сигнал SYNC выдается в первом микротакте каждого МЦ и служит признаком того, что по шине данных микропроцессор выдает слово состояния (SW), которое кодирует тип выполняемого МЦ. Это слово должно фиксироваться во внешнем регистре по условию SYNC*C1=1 и сохраняться в нем на протяжении всего МЦ. Слово состояния SW содержит дополнительную информацию о выполняемом цикле обращения к магистрали.

В состав SW входят следующие сигналы:

  • INTA - подтверждение прерывания. Выделяет МЦ обслуживания системы прерываний;

  • WO - запись/вывод. Свидетельствует о выдаче в данном цикле данных из МП;

  • STACK - обращение к стеку. Стек активен, если выполняется обращение к нему, т.е. addr=(SP);

  • HLTA - подтверждение останова. Информирует о переходе МП в данном машинном цикле в состояние останова HALT.

  • OUT - вывод. Свидетельствует об обращении к портам вывода. Для повышения нагрузочной способности шины адреса микропроцессора один и тот же адрес порта устанавливается на младшей и старшей половинах шины адреса одновременно;

  • М1 - цикл М1. Обозначает первый МЦ каждого КЦ.

  • INP - ввод. Свидетельствует об обращении к портам ввода (об адресе см. OUT);

  • MEMR - чтение памяти. Выделяет циклы чтения данных из памяти.

Всего возможно 11 различных наборов сигналов SW, т.е. возможно 11 типов машинных циклов:

  1. FETCH - цикл М1 выборки кода команды в регистр команд IR;

  2. MEMORY_READ - чтение данных из памяти по адресу, определяемому содержимым регистров PC, BC, DE, HL или значением addr 16;

  3. MEMORY_WRITE - запись данных в память по адресу, определяемому содержимым регистров PC, BC, DE, HL или значением addr 16;

  4. STACK-READ - цикл чтения из стека;

  5. STACK_WRITE - цикл записи в стек;

  6. INPUT - ввод данных из порта в аккумулятор;

  7. OUTPUT - вывод данных из аккумулятора в порт;

  8. INTERRUPT_M1 - первый цикл подтверждения прерывания (ППР);

  9. HALT - цикл останова МП;

  10. HALT - INTERRUPT - первый цикл ППР в состоянии HALT;

  11. INTERRUPT - второй и третий циклы ППР;

     Содержимое SW для всех перечисленных МЦ отражено в приведенной ниже таблице типов циклов.

Примеры выполнения команд по машинным циклам:

цикла

Тип цикла

Состояние AB

Состояние DB

STAX B;   Запомнить содержимое A в памяти по адресу BC

M1

FETCH

(PC)

<STAX B>

M2

MEMORY_WRITE

(BC)

(A)

CALL addr;    Вызов подпрограммы по адресу addr

M1

FETCH

(PC)

<CALL>

M2

MEMORY_READ

(PC)+1

addr LB

M3

MEMORY_READ

(PC)+2

addr HB

M4

STACK_WRITE

(SP)-1

(PC)+3 HB

M5

STACK_WRITE

(SP)-2

(PC)+4 LB

OUT port;   Вывод данных из аккумулятора в порт с адресом port

M1

FETCH

(PC)

<OUT>

M2

MEMORY_READ

(PC)+1

port

M3

OUTPUT

port

port -> A

     Во время выполнения каждого МЦ, МП принимает и выдает информацию по шине данных ШД (коды команд, операнды). Направление передачи определяется стробами DBIN и WR, а все МЦ можно разбить на циклы чтения и записи:

Циклы чтения

Циклы записи

FETCH

 

MEMORY_READ

MEMORT_WRITE

STACK_READ

STACK_READ

INPUT

OUTPUT

INTERRUPT_M1

 

HALT_INTERRUPT

 

INTERRUPT