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

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

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

21

вычисленных по формуле 8 *V, к двум старшим десятичным разрядам адреса. Если введенный байт не принадлежит ни одной из команд RST V, то альтернативным принят КОП команды CALL ( блок 19). Для соответствия альтернативному формату команды МП ещё дважды формирует сигнал

INTA# (блок 20), что позволяет ввести адрес перехода, который в МП загружается в регистр RGAI (блок 21). Отрицательный исход проверки КОП команды CALL (блок 22) свидетельствует аппаратной ошибке в объекте,

формирующем КОП, и требует приведения аппаратуры в соответствие.

Блок 23 выполняется всякий раз, когда МП определил действительный запрос на прерывание с входов RST7.5, RST6.5, RST5.5, INTR (см. блоки 8, 11, 14,18). Этот блок сбрасывает триггер tIE разрешения прерываний, запрещая обработку запросов прерывания на время выполнения текущего обработчика.

Исключение составляет запрос TRAP, при обработке которого блок 23

обходится (см. блок 4 и метку 1), что позволяет маскируемым запросам (если они не запрещены) прервать выполнение программу обслуживания запроса

TRAP (выполнить контекстное обслуживание).

Блок 24 предусматривает автоматическое сохранение содержимого счетчика команд в стеке в качестве адреса для возврата в прерванную программу. Здесь же выполняется загрузка указателя команд PC:= (RGAI).

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

программе обслуживания могут выполняться и установки масок, и

разрешения, и запреты прерываний от других маскируемых источников запросов. При этом должна учитываться специфика запроса с входа RST7.5,

пока программа его обслуживания не завершена и триггер tRST7.5 не сброшен. В блоке 26 проверяется источник запроса прерывания. Если это

RST7.5, то в блоке 27 предусматривается сброс триггера tRST7.5 (установкой

«лог. 1» специфицированного бита командой SIM).

Блок 28 завершает алгоритм поддержки аппаратных запросов прерываний загрузкой указателя команд адресом возврата из вершины стека,

22

куда он был помещён действиями блока 24, и возвращается в ту из программ,

которая была прервана запросом.

В модели МП КР580ВМ80А присутствует один вход INTR и один выход INTE (Interrupt Enable - Прерывания разрешены). Сигнал INTE

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

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

Временные диаграммы цикла прерывания для запросов с входа INTR

(для КОП RST V) приведены в п. Г.5. Сведения о командах программной

поддержки режима прерывания МП в части маскирования и контроля приведены в приложении Д.

Режим прямого доступа в процессорах КР580ВМ80А, К1821ВМ85А

поддерживается одним входом запроса прямого доступа (HOLD) и одним

выходом оповещения (HLDA) о предоставлении прямого доступа по

требованию запроса. Сведения о нотации сигнальных входов приведены в параграфе Г.1.3. Сведения по составу машинного цикла и вопросы перехода в режим ПД приведены в п. Г..5.

Г.5 Синхронизация процессов. Типовые машинные циклы

Процессы в МП синхронизированы с сигналом встроенного тактового генератора (см. диаграмму BQ1) и, соответственно, с сигналом CLK,

производным от сигнала BQ1. Синхронизируемыми процессами для программного режима являются выдача адресов, прием команд, приём и

выдача данных в работе с памятью и портами подключения внешних

устройств. На рисунках Г.5 – Г.9 приведены временные диаграммы,

отражающие синхронизацию процессов на выводах МП для программного режима функционирования МП.

Процессы для режима прерывания отличаются от процессов программного режима на начальном этапе приема запросов и перехода на

обслуживание. На рисунке Г.10 показаны временные диаграммы

23

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

На рисунке Г.5 приведен пример временной диаграммы машинного

цикла чтения КОП (цикл М1 «Выборка»), который состоит из четырёх-шести периодов (на рисунке их шесть) Т1...Тn, длительность каждого из которых равна периоду синхросигнала tCLK. В такте Т1 каждого машинного цикла активизируется сигнал ALE (метка t0 на рисунке) и формируется его фронт.

Исключение составляют машинные циклы ряда команд. Кроме сигнала ALE в такте Т1 формируются:

-младший байт адреса на выводах AD7...AD0.;

-старший байт адреса КОП на выводах А15...А8;

Рисунок Г.5 - Временные диаграммы цикла «Выборка»

-сигнал IO/M = 0;

-сигналы состояния МП: S1=1; S0=1 (см. таблицу Г.2).

Срез сигнала ALE происходит в середине такта Т1 (см. метка t1 на

24

рисунке Г.5), что позволяет применить его для записи младшего байта адреса

КОП во внешний регистр-защелку.

Втакте Т2 выводы AD7...AD0 переключаются на ввод с шины данных.

Вмомент времени t2 устанавливается активное состояние сигнала на выводе

RD#. По сигналу RD# в сочетании с поданным адресом открываются выходы формирователей шины данных памяти команд. С задержкой к временной отметке t3 по шине данных код команды устанавливается на выводах AD7...

AD0. До отметки t4 считываемый код может быть нестабильным. В середине такта Т3 (метка t5 на рисунке) сигнал RD# возвращается в пассивное состояние. Формирователи на выходах памяти команд переходят в третье состояние, освобождая шину и выводы AD7... AD0. Фактически, вследствие задержек переключения элементов МП, цикл «Выборка» завершается к окончанию такта Т3 (метка t6 на рисунке Г.5). Внутренний опрос состояния сигналов на выводах AD7...AD0 МП инициируется тактирующим сигналом частоты fBQ1, благодаря чему код команды на интервале между метками t4, t5

передаётся и записывается в регистр команд МП. На выводах и шине A15-A8

после такта Т3 и до окончания машинного цикла состояние не регламентируется.

В тактах Т4 (имеется только в машинном цикле М1) МП декодирует полученный КОП и либо использует такты Т5,Т6 (в зависимости от КОП команды), либо переходит к следующему машинному циклу. В работе с

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

Рабочие циклы всех команд, за крайне редкими исключениями, состоят из трёх тактов (если нет тактов ожидания), и сигнал S0 для него равен нулю.

25

Временные диаграммы цикла рабочего чтения памяти приведены на рисунке Г.6.

На этом рисунке приведены диаграммы двух циклов чтения: - без тактов ожидания (интервал t0...t2 на рисунке Г.6);

- c тактом ожидания (интервал t2...t7 на рисунке Г.6).

Без тактов ожидания машинные циклы чтения КОП и рабочего чтения памяти отличаются только числом тактов в цикле. Ввести такты ожидания

(замедлить работу МП) память может с помощью сигнала на входе READY

Рисунок Г.6 - Временные диаграммы рабочего цикла чтения памяти

МП. Микропроцессор опрашивает вход READY в середине каждого тактового периода Т2 (см. метки времени t1, t4). Если в момент проверки сигнал

READY находится в активном состоянии (как в момент времени t1), то УУ МП не вставляет такты ожидания и после такта Т2 следует такт Т3. Если в момент проверки состояния сигнал READY находится в пассивном состоянии

(как в момент времени t4), то УУ МП вставляет такты ожидания Тож после такта Т2. Такты ожидания Тож позволяют увеличить длительность интервала сигнала выдачи кода адреса, длительность сигнала RD# и время присутствия кода данных на шине данных и входах AD7...AD0 МП на целое число тактовых периодов МП (в примере на рисунке Г.6 на один период).

26

Находясь в состоянии ожидания, МП продолжает проверять состояние сигнала на выводе READY в середине каждого такта Тож (метка времени t6

на рисунке). Если в момент проверки сигнал READY находится в активном состоянии, то МП прекращает вставлять такты ожидания и такт Тож переводит в такт Т3. В противном случае МП продолжает вставлять такты

Тож. Для числа тактов ожидания N длительность trd сигнала чтения RD#

может быть вычислена по формуле:

trd = (3 + 2 * N) / fbq.

Для надежной реакции сигнал READY на входе МП должен быть предустановлен перед проверками с достаточным запасом времени

(интервалы времени t3...t4, t5...t6).

Временные диаграммы машинного цикла чтения порта ввода, который является третьим по счёту для команды ввода с порта (IN Port), приведены на

Рисунок. Г.7 - Временные диаграммы цикла чтения порта ввода рисунке Г.7. Диаграммы изображены для согласованных по быстродействию портов с МП (сигнал READY=1 в первой половине диаграммы) и «медленных» портов, когда к середине второго такта порт заявил о

27

неготовности к операции (выставил сигнал READY=0 во второй половине диаграммы). Отличие диаграмм этого машинного цикла от рабочего цикла чтения памяти состоит в смене на активное состояние осведомительного сигнала IO/M и дублировании адреса порта на выводах AD7-AD0 и A15-A8

МП. Размер двоичного адреса портов ввода, с учётом дублирования кода адреса на указанных выводах, представляется одним байтом. На диаграммах рисунка Г.7 числовое значение адреса (дв. код адреса в диапазоне значений

00h-FFh) портов ввода порта обозначено именем Port. Машинный цикл чтения порта ввода выполняется исключительно в процессе отработки внешней двухбайтной команды IN Port, КОП которой считывается в цикле М1. В цикле М2 (рабочее чтение памяти) считывается код адреса порта. В

цикле М3 этот код устанавливается выводах A15-A8 и в первом такте цикла на выводах AD7-AD0. Байт, считанный из адресованного порта, принимается в неявно адресуемый РОН МП. Общее число адресуемых портов ввода равно

28 =256. Последующие две временные диаграммы характеризуют временные зависимости рабочих циклов записи в память (см. рисунок Г.6) и в порты (см.

рисунок Г.9). Характерной для диаграмм записи в память (см. рисунок Г.8)

Рисунок Г.8 - Временные диаграммы цикла записи в память

28

является установка состояний S0=1, S1=0, IO/M=0, вывод данных из МП на контакты AD7-AD0 с начала такта T2 и до конца машинного цикла,

активизация управляющего сигнала WR# (вместо сигнала RD# при чтении).

На рисунке приведены варианты диаграмм для работы МП с согласованной по времени (READY=1) и «медленной» (READY=0) памятью.

Характерной для диаграмм записи в порт (см. рисунок Г.9) является установка состояний IO/M=1, S0=1, S1=0 и дублирование одинакового байта

адреса на выводах AD7-AD0 (в первом такте) и A15-A8 на весь машинный цикл. Варианты диаграмм приведены, для работы МП с согласованными по времени (READY=1) и «медленными» (READY=0) портами.

Рисунок Г.9 - Временные диаграммы цикла записи в порт Цикл записи в порт вывода инициируется исключительно двухбайтной

трёхцикловой командой OUT Port, КОП которой считывается в цикле М1. В

цикле М2 (чтение памяти) считывается код адреса порта. В цикле М3 этот код устанавливается на выводах A15-A8 на весь цикл и на выводах AD7-AD0 (в первом такте). В тактах Т2 и Т3 на выводы AD7-AD0 МП выставляет содержимое неявно адресуемого командой РОНа. Запись в адресуемый порт исполняется по управляющему сигналу WR#. Общее число адресуемых портов вывода МП равно 28 =256.

29

Временные диаграммы машинного цикла прерывания с входа INTR

приведены на рисунке Г.10. Аналогичные циклы исполняются в отношении

Рисунок Г.10 - Временные диаграммы отработки запросов прерывания на обслуживание

запросов TRAP, RST7.5, RST6.5, RST5.5, но они выполняются внутренними аппаратными средствами без вывода сигналов управления INTA# и кода идентификатора на выводы AD7-AD0 МП. Циклом прерывания является цикл М1 (временной интервал t1-t2). Циклы М2, М3 являются циклами записи в память (с состояниями IOW, S0, S1 соответствующими машинным циклам

MEMWR). Проверка наличия запросов на прерывания осуществляется в начале последнего такта Тn последнего машинного цикла текущей команды..

Так как на диаграмме в это время запрос на входе INTR (или на ином входе запросов) активен, то следующим машинным циклом М1 будет чтение

30

машинного слова идентификатора запроса с объектов внешнего окружения МП (с внутренних задатчиков кода при запросах на иных входах). Чтение внешнего идентификатора прерывания по запросу с входа INTR

осуществляется сигналом INTA#, который формируется в то же время, что и сигнал RD#, и соответствует коду состояния УУ S0=1, S1=1, IOM=1. Можно полагать, что сигнал INTA# функционально аналогичен сигналу RD#, а

идентификатор есть аналог КОП, принимаемой не из памяти команд, а из порта ввода (IO/M# = 1) от прерывающего объекта. Выбор этого порта осуществляется по линии управляющего сигнала INTA#, адресация слова КОП указателем адреса команд (PC) не требуется, как и инкремент указателя команд после приема идентификатора. В указателе адреса команд после цикла М1 будет код адреса, увеличенный на единицу после выполнения команды предшествующей началу цикла М1 прерывания. Для запросов с входа INTR формат кода идентификатора запроса в МП К1821ВМ85А и КР580ВМ80А принят в виде кода команды рестарта RSTV. Символ V в записи команды определяется, как вектор, принимающий значения от 0 до 7 (например, RST6). Выполнив чтение к однословной команды в цикле М1, МП исполняет циклы М2, М3 этой команды, в которых сохраняет адрес возврата в стеке. При этом сначала сохраняется старший байт (PCH) указателя команд

PC по адресу S1 = (SP) - 1 (S1L - младший байт этого адреса, а S1H - старший байт). Затем сохраняется младший байт (PCL) указателя команд PC записью по адресу S2 = (SP) - 2 (S2L - младший байт этого адреса, а S2H - старший байт). Сочетанием символов SP обозначен шестнадцатиразрядный указатель адреса ячеек памяти со стековой организацией. Внутренние ресурсы идентификации запросов с индивидуальных входов TRAP, RST7.5, RST6.5, RST5.5 обслуживаются на микропрограммном уровне. Для них так же выделен цикл М1 для переключения УУ в состояние прерывания с формированием и адреса возврата и адреса начала обслуживающей программы. Так как командные аналоги для аппаратных прерываний с индивидуальных входов TRAP, RST7.5, RST6.5, RST5.5 отсутствуют, то