КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Основы микропроцессорной техники 3 страница
Рисунок 9 – Внешние элементы тактового генератора (а) и формирование синхросигналов (б) в микропроцессоре К1821ВМ85А
Синхронизация и последовательность действий МП К1821ВМ85А
Командный цикл КЦ (рисунок 10, а) начинается с выборки команды (Opcode Fetch, OF). Первый машинный цикл М1 всегда OF, в нем МП получает первый байт команды. После этого могут быть еще один или два машинных цикла типа MR (Memory Read), поскольку команда может быть однобайтной, двухбайтной или трехбайтной. Если команда трехбайтная, то она хранится в памяти, как показано на рисунке 10, б. Первый байт содержит код операции (КОП), сведения о способе адресации, а если команда однобайтная, то и адрес операнда. Наличие адреса возможно для операций типа «регистр-регистр» с короткими адресами. Для адресации восьми регистров общего назначения достаточны трехразрядные адреса, а для адресации регистровых пар даже двухразрядные. Второй байт содержит младший полуадрес операнда или младший байт операнда, если команда трехбайтная, или непосредственный операнд либо адрес ВУ, если команда двухбайтная. Третий байт содержит старший полуадрес операнда или старший байт непосредственных данных при загрузке пары регистров. Адреса регистров и регистровых пар указаны в таблице 2.
Рисунок 10 – Циклы и такты микропроцессора К1821ВМ85А (а) и пример размещения команды в памяти микропроцессорной системы (б)
Таблица 2 – Адреса регистров и регистровых пар МП К1821ВМ85А
После выборки и декодирования команды могут понадобиться дополнительные машинные циклы для ее выполнения. Всего в командном цикле может быть от одного до пяти машинных циклов. Машинный цикл состоит из тактов, в которых выполняются типовые действия, рассмотренные ниже. Число тактов в различных машинных циклах – 3…6. Большинство машинных циклов содержат три такта. В командном цикле может содержаться от 4 до 18 тактов. Сигналы, реализующие тот или иной МЦ, генерируются блоком управления МП на основании информации, содержащейся в первом байте команды. Проиллюстрируем сказанное примером выполнения команды STA b3b2 (Store Accumulator Direct), передающей содержимое аккумулятора в ячейку памяти при прямой адресации, т.е. указании адреса ячейки в самой команде. Для передачи трехбайтной команды в МП требуются три машинных цикла, в первом из которых байт b1 передается в регистр команд IR, в последующих байты b2 и b3 передаются в регистры временного хранения W и Z. После получения всей команды МП выполняет ее, передавая байт из аккумулятора в ячейку памяти, адрес которой поступил в МП. Таким образом, командный цикл состоит из четырех машинных циклов, выполняемых в следующем порядке: OF-MR-MR-MW. Каждый машинный цикл делится на такты (состояния) – интервалы между одноименными фронтами тактовых импульсов CLK. Типовые действия, выполняемые в тактах различных машинных циклов: T1 адрес памяти или ВУ выставляется на АD7…0 и А15…8, генерируется сигнал ALE для фиксации битов АD7…0. На линиях , S1 и S0 выставляется информация, определяющая тип цикла. Проверяется флаг HALT; T2 проверяются входы READY и HOLD. Программный счетчик инкрементируется, если данный машинный цикл является частью выборки команды. Во всех машинных циклах, кроме цикла BI (освобождения шин), один из управляющих стробов , или переходит из единичного состояния в активное нулевое;
Tw появляется при неготовности памяти или ВУ к обмену (на линии READY низкий уровень напряжения). Состояния линий адресов, данных и управления остаются теми же, что и в конце такта. Сигнал READY проверяется в каждом такте ожидания; T3 байт команды или данных передается в микропроцессор или из него. Уровень активного управляющего строба изменяется с нулевого на единичный; T4 декодируется содержимое регистра команд; T5,6 используются при необходимости для завершения некоторых команд. Системные шины не используются. Машинный цикл всегда содержит такты T1…T3, иногда имеет большее число тактов, но для чтения или записи требуется только три такта. Временные диаграммы цикла чтения с тактом ожидания приведены на рисунке 11.
Система прерываний
При работе микропроцессорной системы в ней или вне ее могут произойти события, требующие немедленной реакции. Такая реакция обеспечивается прерыванием программы и переходом к обслуживанию источников запросов на прерывание. Внутри системы запросы возникают при сбоях в работе, переполнении разрядной сетки, попытке деления на нуль и т.д., а также при требованиях обслуживания от внешних устройств. Извне могут поступать сигналы аварийных ситуаций в управляемых объектах, неисправности источников питания и др. Прерывания по запросам от медленно действующих внешних устройств увеличивают производительность системы, позволяя ВУ занимать время процессора только при их готовности к обмену. Когда ВУ нуждается в обслуживании, оно устанавливает триггер запроса прерывания, и сигнал запроса сохраняется, пока не будет воспринят и обработан микропроцессором. В ответ на принятый запрос прерывания в микропроцессорной системе завершается выполнение текущей команды, запоминается состояние МП, выполняется подпрограмма обслуживания прерывания, восстанавливается состояние МП, и затем возвращается управление соответствующей команде основной программы.
Рисунок 11 – Временные диаграммы цикла чтения микропроцессора К1821ВМ85А
Микропроцессор К1821ВМ85А имеет пять входов запросов прерывания и один выход управления им . Прерывание должно ввести в действие команду CALL, согласно которой состояние программного счетчика PC передается в стек, а в PC загружается адрес подпрограммы, подлежащей выполнению. Инициатива ввода команды CALL принадлежит аппаратным средствам микропроцессорной системы. Если прерывания разрешены, то они осуществляются микропроцессором в конце выполнения текущей команды.
Входы МП, связанные с прерываниями, называются TRAP; RST 5,5; RST 6,5; RST 7,5; INTR. При организации прерываний решаются задачи маскирования запросов и определяются их уровни приоритета при конфликтах из-за одновременного поступления нескольких запросов. Маскирование состоит в запрещении действия соответствующего входа. Входы запросов прерывания могут быть маскируемыми или немаскируемыми, т.е. принимаемыми всегда. Вход TRAP является немаскируемым и имеет наивысший приоритет. Он не может быть запрещен командами программы. К этому входу подключают сигналы, оповещающие о наиболее важных событиях в микропроцессорной системе, появление которых требует безусловной реакции (например, сигнал, оповещающий об аварии питания, требующей немедленных мер). Начальный адрес подпрограммы обслуживания прерывания TRAP размещен в фиксированной ячейке памяти с адресом 24 H. Таким образом, появление запроса прерывания по входу TRAP независимо ни от чего вызовет соответствующее прерывание после завершения выполнения текущей команды. Обозначение входов RSTn (n = 5,5; 6,5; 7,5) происходит от слова Restart. Прерывания по этим входам маскируемые, т.е. могут быть разрешены или запрещены командами EI (Enable Interrupt) и DI (Disable Interrupt), действующими на все три входа одновременно. Начальный сброс микропроцессора запрещает обслуживание этих запросов, для их последующего разрешения следует подать команду EI. Имеется также возможность раздельного маскирования запросов RSTn с помощью специальной команды SIM (Set Interrupt Mask), по которой маски устанавливаются в соответствии со значениями битов А0…А2 содержимого аккумулятора. Загрузив предварительно 1 в соответствующий бит, можно запретить (замаскировать) тот или иной вход. Приоритеты входов RSTn фиксированы, они снижаются в порядке RST 7,5; RST 6,5; RST 5,5. Начальные адреса подпрограмм обслуживания прерываний типа RSTn заканчиваются загрузкой в программный счетчик числа 8n. Цифры 5,5; 6,5 и 7,5 определяют начальные адреса 002C H, 0034 H и 003C H. Иными словами, для входов этого типа векторы прерывания определяются автоматически, и их не требуется передавать в МП из внешних устройств.
Вектором прерывания называют информацию, необходимую для перехода к соответствующей подпрограмме обслуживания, в простейшем случае это просто начальный адрес прерывающей подпрограммы. Вход RST 7,5 является динамическим, реагирует на положительный фронт сигнала, а входы RST 6,5 и RST 5,5 – статические, реагируют на уровень сигнала и, следовательно, автоматически снимаются при исчезновении запросов по этим входам. Запрос RST 7,5, принимаемый триггером с динамическим входом, после снятия сигнала запроса не снимается и сохраняется, пока не будет обработано прерывание или до команды SIM или RESET. При поступлении запроса по входу INTR (Interrupt Request) вектор прерывания должен быть передан в МП извне. К этому входу, в частности, подключают контроллер прерываний – блок, который воспринимает несколько запросов от внешних устройств, решает задачу приоритетности и маскирований и вырабатывает для МП единственный сигнал INTR, с пересылкой в МП соответствующего вектора прерывания. В данном случае также выполняется команда RSTn, но n зависит от источника прерываний. Появление запроса INTR при разрешенных прерываниях ведет к ответу микропроцессора сигналом , во время действия которого на шине АD7…0 появляется вводимый байт начального адреса подпрограммы. Сигнал при этом поступает на входы разрешения выхода буферных усилителей и обеспечивает передачу вектора прерывания в МП (рисунок 12).
Рисунок 12 – Аппаратная реализация пересылки байта при выполнении операции рестарта
Во время обработки прерываний, пока не выполнится команда EI, запрещаются другие прерывания, кроме TRAP. Немаскируемое же прерывание TRAP блокирует другие прерывания, но сохраняет состояние разрешения поступившего уже сигнала прерывания.
Последовательный ввод-вывод
Микропроцессор имеет два вывода для передач последовательных данных SOD и SID (Serial Output Data и Serial Input Data). Вывод SOD управляется командой SIM, а сигнал с вывода SID считывается командой RIM. Эти команды упоминались ранее как команды установки и сброса масок для входов прерываний RSTn, они же используются и для управления последовательным вводом-выводом. При выводе до выполнения команды SIM в аккумуляторе формируется слово, биты которого интерпретируются, как показано в таблице 3.
Таблица 3 – Описание разрядов регистра-аккумулятора при последовательном выводе
Например, установка SOD = 1, разрешение RST 6,5, сброс триггера RST 7,5 и маскирование RST 5,5 будут выполнены двумя командами по программе: MVI A, b2; установка битов аккумулятора SIM; изменение масок и бита SOD Команда MVI A, b2 пересылает в аккумулятор байт b2, который в данном случае имеет вид 1 1 ´ 1 1 1 0 1. Для ввода последовательных данных через контакт SID используется команда RIM, обеспечивающая ввод последовательных данных и чтение масок прерывания. После выполнения команды RIM в аккумуляторе фиксируется слово со следующим значением битов (таблица 4).
Таблица 4 – Описание разрядов регистра-аккумулятора при последовательном вводе
Система команд МП К1821ВМ85А
Команды МП приведены в таблице 5. В первой графе таблицы даны мнемокоды команд с обозначениями регистров через r, пар регистров через rp, ячеек памяти через M, третьего и второго байтов команды через b3b2, адресов ВУ через port. Ссылки на ячейки памяти M подразумевают косвенную регистровую адресацию: адреса этих ячеек берутся из регистровой пары H (регистров H и L) и, следовательно, не нуждаются в указании в самой команде.
Таблица 5 – Система команд МП К1821ВМ85А
Продолжение таблицы 5
Продолжение таблицы 5
Продолжение таблицы 5
Продолжение таблицы 5
Окончание таблицы 5
Дата добавления: 2015-03-29; Просмотров: 1062; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |