Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МПУЭВС. Лекции. Задания / pdf_ПрилПЦиПУ / Приложение Г_Справочный материал МП 1821ВМ85А

.pdf
Скачиваний:
75
Добавлен:
11.05.2015
Размер:
820.94 Кб
Скачать

11

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

таким периодом является период (такт) частоты fclk= fBQ1 /2 = 3 МГц.

Количество тактов в одном машинном цикле МП К1821ВМ85А,

КР580МВ80А в зависимости от варианта команды составляет от трёх до шести.

Таблица Г.2- Машинные циклы и состояния сигналов МП

N

Состояние процесса управления

IO/M#

S1

S0

RD#

WR#

INTA#

 

 

 

 

 

 

 

 

1

Чтение КОП команды (цикл М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

Обработка состояний на входах

1

1

1

1

1

1

 

TRAP*,RST7.5*,

 

 

 

 

 

 

 

 

RST6.5*, RST5.5*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

Команда HLT*

 

z

0

0

z

z

1

 

 

 

 

 

 

 

 

 

 

9

Команды

DAD*,

RDEL*,

0

1

0

1

1

1

 

DSUB*, ARHL*, LDSI*, LDHI*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Примечания (к таблице Г.2):

- символом «*» в таблице обозначены внутренние рабочие циклы, в

которых не используется внешняя ШД;

12

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

Шина управления процессора для программного режима обмена данными с памятью и портами представлена линиями передачи сигналов управления RD# (Чтение), WR# (Запись), IO/M (Разрешение обращения к порту ввода/вывода или ячейке памяти) и сигналами состояния процесса управления в УУ S0 (Идентификатор состояния «Чтение»), S1 (Идентификатор состояния «Запись»). Внешней логической обработкой состояний (перечисленных сигнальных выходов) в соответствии с таблицей Г.2 и с учётом их спецификаций, представленных в таблице Г.1,

формируются управляющие сигналы программного режима MEMRD#

(Чтение памяти), MEMWR# (Запись в память), IOR# (Чтение порта ввода),

IOW# (Запись в порт вывода). Логическая обработка состояний осуществляется конъюнкцией состояний в соответствии с таблицей Г.2, как,

к примеру, формирование управляющего сигнала MEMRD# соответствует условию

MEMRD# = IO/M# & S0 & S1 & RD# & WR & INTA

и по времени установки на выходе и длительности сохранения активного состояния соответствует спецификации сигнала RD#.

Распространённым понятием программного режима является понятие

«Выборка». Это понятие связано с процессом «Чтение кода операции (КОП)

команды» (или первого слова команды). В первой строке таблицы Г.2

приведены состояния управляющих выходов, при которых идентифицируется состояние «Выборка» (цикл М1). Формируемый сигнал чтения первого слова команды удобно применять для управления аппаратными средствами отладки программ по командам. По средствам аппаратной поддержки идентификации МЦ и формирования управляющих сигналов модели МП КР580ВМ80А и К1821ВМ85А имеют отличия. В

модели МП КР580ВМ80А сигнальные выходы IO/M, S0, S1, ALE

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

13

для выдачи по шине данных слова состояния процессора в сопровождении активного состояния на специальном выходе SYNC. Этот сигнал пользователь процессора должен применить для записи слова состояния специальный внешний регистр, при необходимости контроля условий для формирования сигналов управления памятью, портами, и идентификации состояний процесса управления, указанных в таблице Г.2 для модели МП К1821ВМ85А. Формат слова состояния процессора и коды идентификации МЦ модели КР580ВМ80А приведены в таблице Г.3.

Таблица Г.3 – Слово состояния процессора КР580ВМ80А

№№

Наименование цикла

 

Слово состояния процесса

 

 

 

 

 

 

 

 

 

 

 

 

 

D7

D6

D5

D4

D3

D2

D1

D0

 

 

 

 

 

 

 

 

 

 

1

Чтение КОП (цикл М1)

1

0

1

0

0

0

1

0

 

 

 

 

 

 

 

 

 

 

2

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

1

0

0

0

0

0

1

0

 

 

 

 

 

 

 

 

 

 

3

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

0

0

0

0

0

0

0

0

 

 

 

 

 

 

 

 

 

 

4

Чтение стека

1

0

0

0

0

1

1

0

 

 

 

 

 

 

 

 

 

 

5

Запись в стек

0

0

0

0

0

1

0

0

 

 

 

 

 

 

 

 

 

 

6

Чтение порта

0

1

0

0

0

0

1

0

 

 

 

 

 

 

 

 

 

 

7

Запись в порт

0

0

0

1

0

0

0

0

 

 

 

 

 

 

 

 

 

 

8

Подтверждение прерывания

0

0

1

0

0

0

1

1

 

 

 

 

 

 

 

 

 

 

9

Останов

1

0

0

1

1

0

1

0

 

 

 

 

 

 

 

 

 

 

10

Подтверждение прерывания

0

0

1

1

1

0

1

1

 

при останове

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Формирование управляющих сигналов реализуется с применением конъюнкции кода МЦ из таблицы Г.3 с управляющими сигналами RD и WR#

МП КР580ВМ80А. Для формирования управляющих сигналов MEMRD#,

MEMWR#, IOR#, IOW# и INTA# в микропроцессорный комплект серии КР580 были включены системные контроллеры КР580ВК28/38 (аналог i8228/38), совмещающие функции формирователей и управляющих сигналов и шины данных МП.

14

К дополнительным состояниям МП, связанным с основным

программным режимом функционирования, следует отнести:

-состояние не готовности (READY#) к обмену объекта внешнего окружения;

-состояние «Сброс» (RESET#);

-состояние «Останов» по команде HLT.

На линиях шин адреса данных, управления, поименованных в графе

«Комментарий» таблицы Г.1, во время удержания на входе READY#

активного уровня сигнала устанавливаются статические уровни напряжений,

соответствующие выданному на шины коду. Это свойство технических средств позволяет не только синхронизировать во времени работу МП с

«медленными» объектами окружения, но и реализовать контроль выполнения программ, как по командам программы, так и по машинным циклам команд. Процесс исполнения команды МП во взаимодействии с

«медленной» памятью сопровождается запоздалым поступлением кода команды/данных на шину данных в ответ на выдачу микропроцессором кода адреса и управляющего передачей сигнала. Если запаздывание реакции превысит некоторую норму, то команды или данные будут искажены при вводе в процессор. Чтобы исключить это негативное явление необходимо задержать процесс в «быстром» МП. Для этого УУ МП исполнено так, что во втором такте каждого машинного цикла процессор проверяет состояние сигнала на входе READY. Если состояние сигнала будет представлено низким уровнем READY#, то УУ МП включает в текущий машинный цикл дополнительные такты ожидания, до тех пор, пока во время очередного текущего такта не обнаружит смену состояния сигнала на входе READY на высокий логический уровень. Обнаружив восстановление высокого уровня сигнала на входе READY, УУ МП отключает такты ожидания, завершает текущий машинный цикл и переходит к началу следующего машинного цикла. Важно своевременно (к началу второго такта очередного машинного цикла) вновь установить на входе READY сигнал низкого уровня. Различий в

 

 

 

15

отработке состояния READY# в МП КР580ВМ80А и

К1821ВМ85А нет, за

исключением

отсутствия в МП

К1821ВМ85А

выходного сигнала

оповещения «Ожидание» (WAIT), который предусмотрен МП КР580ВМ80А.

Состояние «Сброс» (RESET#) в модели МП КР580ВМ80А реализовано

при входном

сигнале высокого уровня (RESET).

Изменения состояний

внутренних ресурсов МП связанных со сбросом, идентичны для двух моделей МП. Во время активного состояния сигнала на входе «Сброс» выходы, специфицированные в таблице Г.1 тремя состояниями, переводятся

в отключённое состояние. Указатель адреса команд (РС) при этом

устанавливается в начальное нулевое состояние и, в отношении к режиму прерывания, сбрасываются триггеры разрешения прерываний маскируемых прерываний. В модели МП КР580ВМ80А это триггер разрешения прерываний с входа INTR.

Состояние «Останов» (по команде HLT из выполняемой программы),

также как и активный сигнал на входе «Сброс», переводит в следующем за

приёмом команды HLT машинном цикле те же шины и сигнальные выходы

в отключённое состояние. Процессор становится не чувствительным к изменению состояний на отключенных линиях. Выход из состояния

«Останов» возможен либо подачей сигнала активного состояния на вход

«Сброс» (перезапуск МП) или использованием входов запросов прерываний.

Для этого до приёма команды HLT прерывание от соответствующего запроса

(запросов) должно быть разрешено. Приём исполнение команды HLT не сопровождается изменением содержимого указателя команд и потому адресом возврата будет инициирован возврат в состояние «Останов».

Режим прерывания примечателен тем, что по получению запроса в случайный момент времени МП в соответствии со спецификацией запроса должен обслужить (или игнорировать) запрос по связанной с запросом программе, отложив текущую программу. Отличие режима прерываний

имеет место в составе сигнальных входов и выходов, необходимых для приёма запросов и корректного перехода на выполнение программ их

16

обслуживания. Общепринятым является проектирование аппаратных средств процессора, ориентированных на контроль состояния запросов в конце текущего командного цикла. Состав шины управления при обслуживании программы прерывания тот же, что и в программном режиме. Согласно рисунку Г.2 и сведениям, приведенным в таблице Г.1, МП К1821ВМ85А

имеет пять входов (TRAP, RST7.5, RST6.5, RST5.5, INTR) для линий ввода запросов прерывания из внешнего окружения МП. Четырем первым входам спецификацией МП отведено по одной программе обслуживания на каждый вход запросов. Спецификацией процессора предусмотрено до восьми (а с внешним контроллером прерываний и более) программ обслуживания для запросов по входу INTR. Для установления соответствия между запросом на входе INTR и действиями МП по запросу со стороны прерывающего устройства должен быть выставлен идентификатор, по которому будет определена и операция по идентификатору и место (адрес) размещения программы его обслуживания. Спецификацией МП предусмотрен выход и управляющий сигнал INTA# (Interrupt able), по которому МП выполняет операцию чтения на входы AD7...AD0 идентификаторов с технических средств источников запросов (не из памяти команд и поэтому указание адреса для чтения не требуется), поданных на вход INTR. Для запросов от входов TRAP, RST7.5, RST6.5, RST5.5 указатели адреса программ обслуживания размещены в УУ МП. Их чтение и анализ выполняется во время внутреннего рабочего цикла. Следует отметить, что перечисленные входы запросов не равнозначны. Реакцией процессора на запросы от входов

RST7.5, RST6.5, RST5.5, INTR можно управлять из программы, разрешая или блокируя её. Благодаря этому прерывания с входов RST7.5, RST6.5, RST5.5, INTR получили название маскируемых. Замаскированные предшествующими командами запросы МП проверяет и пропускает не обслуживая. Прерывания от входа TRAP не допускают запрета по командам со стороны программы.

Это свойство определяет запрос TRAP, как не маскируемый. Так как запросы могут поступить на разные входы одновременно, то в МП предусматривается

17

очерёдность просмотра списка запросов и последующего приоритетного обслуживания запросов. В модели МП К1821ВМ85А приоритеты в порядке понижения распределены в последовательности TRAP, RST7.5, RST6.5, RST5.5, INTR. Приоритеты между множественными запросами от входа INTR

устанавливаются внешними аппаратными средствами поддержки режима прерываний.

В таблице Г.4 приведены начальные адреса программ обслуживания запросов прерываний с входов TRAP, RST7.5, RST6.5, RST5.5, INTR. МП К1821ВМ85А. В МП КР580ВМ80А входы и прерывания TRAP, RST7.5, RST6.5, RST5.5 отсутствуют.

Наличие на каком-либо входе МП 1821ВМ85А, КР580ВМ80А

активного запроса на прерывание не является достаточным для выполнения прерывания и вызова программы обслуживания.

Таблица Г.4– Адреса программ обслуживания запросов прерываний

Наименование входа или КОП

Адрес начала программы

 

прерывания

 

 

 

 

1

RST0

0000h

 

 

 

2

RST1

0008h

 

 

 

3

RST2

0010h

 

 

 

4

RST3

0018h

 

 

 

5

RST4

0020h

 

 

 

6

TRAP

0024h

 

 

 

7

RST5

0028h

 

 

 

8

RST5.5

002Ch

 

 

 

9

RST6

0030h

 

 

 

10

RST6.5

0034h

 

 

 

11

RST7

0038h

 

 

 

12

RST7.5

003Ch

 

 

 

18

Запросы на прерывания с входов RST7.5, RST6.5, RST5.5, INTR МП

1821ВМ85А могут быть заблокированы программой, устанавливающей выделенный для запроса разряд (MASK i) в специализированном регистре

маски и состояние триггера разрешения прерываний (tIE – trigger Interrupt Enable). Кроме глобального разрешения или запрета запросы с входов

RST7.5, RST6.5, RST5.5 могут маскироваться локально (избирательно).

Разряды маски могут быть приняты для просмотра и установки

специальными командами МП (см. команды SIM (Set Interrupt Mask), RIM

(Read Interrupt Mask) в приложении Д). Установка (лог.1) разрядов масок

или сброс tIE (лог. 0) блокируют действие маскируемых запросов. Триггер

глобального разрешения/запрета прерываний tIE управляется командами разрешения EI (enable interrupt) и запрета DI (disenable interrupt).

На сигнал запроса TRAP состояние триггера tIE не оказывает влияния.

Сигналы высокого уровня соответствуют активным состояниям запросов на входах RST6.5, RST5.5, INTR. Активному запросу на входе RST7.5

соответствует фронт входного сигнала, по которому запрос запоминается в триггере tRST7.5. Сброс триггера tRST7.5 на аппаратном уровне происходит при программном возврате из программы обслуживания запроса.

Предусмотрен сброс триггера tRST7.5 установкой уровня «лог.1»

специального бита по команде SIM.

Для исключения срыва обслуживания запроса следует учитывать, что

входы запросов на прерывания МП проверяет в последнем такте последнего машинного цикла текущей команды, подтверждение прерывания может произойти лишь в третьем такте первого машинного цикла следующей команды. Сигнал запроса прерывания должен иметь длительность tint на три такта больше самой продолжительной команды МП, которая составляет 18

тактов частоты CLK tCLK, т.е.:

tint ≥ (18 +3)* tCLK, = 21 / fCLK = 42 / fBQ .

Алгоритмическая интерпретация реакции МП на аппаратные запросы представлена на рисунке Г.4. Совмещённые блоки 1, 2 алгоритма

19

представляют выполнение текущей команды, на фоне которой к МП поступают внешние запросы на прерывание.

В блоке 3 проверяется наличие активного (высокого) уровня сигнала

TRAP. Если сигнал TRAP активен, то следует переход на блок 4, который загружает регистровую пару временного хранения RGAI константой 0024h,

соответствующей начальному адресу программы обслуживания этого запроса. Содержимое счетчика PC, увеличенное на единицу в цикле исполненной команды, сохраняется в стеке (см. блок 24), а в PC передаётся константа из RGAI настройки на адрес вызываемой программы обслуживания.

Согласно рисунку Г.4 запрос TRAP проверяется первым и имеет высший приоритет. При пассивном (низком) уровне сигнала TRAP в блоке 5

алгоритма проверяется состояние триггера разрешения прерываний IE. Если этот триггер сброшен, то прерывания маскируемые запрещены и следует переход на продолжение основой программы (блок 1), на фоне которой могли появляться запросы. При активном состоянии триггера разрешения прерываний IE в блоках 6, 9, 12 алгоритма осуществляется проверка сигналов

RST7.5, RST6.5, RST5.5 в порядке установленных приоритетов. Если проверка в названных блоках выявит активный уровень запроса, то последует переход на проверки состояния масок соответствующих запросов (блоки 7, 10, 13). Если проверяемая i-ая маска установлена (т.е. Mask i.5 = 1), то следует переход на проверку следующего запроса на прерывание, например,

из блока 7 в блок 9. В противном случае (маска сброшена) в регистр RGAI

загружается соответствующий фиксированный вектор прерывания (см. блоки

8, 11, 14). Например, для RST7.5 значение вектора равно h.

Если запросы на прерывания TRAP, RSTi.5 отсутствуют, то в блоке 15

алгоритма проверяется наличие запроса INTR

20

Рисунок Г.4- Алгоритм реакции МП на запросы прерываний

. Если и этот запрос отсутствует, то следует переход на блок 1 (чтение КОП следующей команды). В противном случае (INTR активен) выполняется блок 16, который формирует активный сигнал INTA#. С помощью этого сигнала вводится байт, формируемый контроллером прерываний.

Блок 17 проверяет, принадлежность введенного байта подмножеству команд RST V (где V может принимать значения 0, 1, …7 и именуется вектором прерывания). По положительному исходу проверки выполняется блок 18, который формирует адрес в RGAI по принятому вектору прерывания. В блоке 18 адрес представлен в десятичном формате операцией присоединения (операция склеивания) двух младших разрядов адреса,