Master-tv.net
Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Режимы работы микропроцессора

22 Дек 2016 20:48 #1

Не в сети
  • master_tv
  • master_tv аватар
  • Модератор
  • Мастер по ремонту электроники
  • Сообщений: 4948
  • Спасибо получено: 839

Режимы работы микропроцессора

Режим начальной установки используется при включении микропроцессора (МП). В режиме начальной установки счетчик команд PC микропроцессора обнуляется, а на шине адреса ША, следовательно, выставляется шестнадцатеричный адрес ячейки памяти 0000. Дальнейшие действия МП, как известно, сводятся к реализации цикла М1 (чтение кода операции). Следовательно, в «нулевой» ячейке памяти должна быть записана любая команда, с которой начинается выполнение программы. Чаще всего в эту ячейку записывают команду безусловного перехода к области памяти, где располагается управляющая программа системы. Таким образом, режим начальной установки обеспечивает запуск МП.

Практически режим начальной установки реализуется подачей на вход СБР (Reset) МП сигнала низкого уровня, который может быть сформирован либо в момент включения питания, либо нажатием кнопки сброса Кн, подключенной ко входу СБ.в ГТИ (рис. 1). В момент включения источника питания +5 В конденсатор С разряжается, напряжение на входе СБ.в ГТИ равно нулю, что позволяет ГТИ сформировать на своем входе сигнал СБР низкого уровня. После заряда конденсатора С током через резистор R сигнал СБР равен 1, и МП начинает выполнять цикл М1 первой команды программы.


Рис. 1 - Начальная установка
При нажатии на кнопку Кн конденсатор С разряжается и на выходе ГТИ возникает сигнал сброса СБР. При размыкании кнопки КН процедура зарядки конденсатора повторится, что приведет к снятию сигнала СБР. Напомним, что по сигналу СБР в МП сбрасывается триггер прерывания, а для его установки необходимо выполнить команду EI. В противном случае запросы на прерывания игнорируются.

Режим ожидания

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

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

Режим ожидания МП реализуется путем подачи на вход ГТ микропроцессора сигнала низкого уровня. Чтобы МП отреагировал на низкий уровень сигнала ГТ в текущем машинном цикле, этот уровень должен стабилизироваться минимум за 180 нс до спадающего фронта сигнала Ф2 и сохраняться до его окончания. При соблюдении условия МП не переходит к такту ТЗ, а входит в состояние ожидания TW (рис. 2), которое может сохраняться как угодно долго. В состоянии TW на шине адреса сохраняется выданный в такте Т1 адрес ячейки памяти (или любого регистра ВУ) и сигнал ЧТ, если текущий цикл связан с чтением данных в МП. Перейдя в режим ожидания, МП информирует ВУ о своем состоянии сигналом ОЖ, который формируется по нарастающему фронту сигнала Ф1.


Рис. 2 - Режим ожидания
Продолжительность ожидания определяется моментом подачи на вход ГТ сигнала высокого уровня от ВУ системы. Чтобы МП отреагировал на готовность ВУ, высокий уровень сигнала ГТ должен стабилизироваться не менее чем за 180 нс до спадающего фронта Ф2. После этого МП переходит к такту ТЗ и по нарастающему фронту снимает сигнал ОЖ.

Использование режима ожидания снижает производительность системы, но обеспечивает надежное согласование работы МП и ВУ с различным быстродействием.

Режим прерывания программы

Используемый для обмена данными с ВУ режим ожидания имеет очевидный недостаток - снижение производительности МП за счет бесполезной траты времени на ожидание готовности ВУ. Режим прерывания программы не имеет этого недостатка и является особенно полезным для организации работы МС в реальном масштабе времени. Сущность режима прерывания заключается в том, что ВУ обращается с запросом на обмен данными тогда, когда оно готово обменяться данными. Инициатором обмена данными является ВУ, которое выдает сигнал запроса прерывания асинхронно по отношению к МП в виде сигнала ЗПР высокого уровня. Запрос на прерывание может быть воспринят МП не всегда и может быть удовлетворен только в том случае, если до поступления сигнала ЗПР триггер запроса прерывания установлен. Для установки триггера используется специальная команда EI (разрешение прерывания). Если же после режима начальной установки команда EI не была выполнена, то запросы ВУ на прерывания игнорируются.

Возможность восприятия прерываний сигнализируется МС сигналом РПР (разрешение прерываний). Если на этом выводе МП присутствует лог. "1", то прерывание программы возможно. В противном случае запросы на прерывание игнорируются.

Инициаторами на прерывание могут быть несколько ВУ одновременно. Поэтому, если МП находится в состоянии восприятия запроса прерывания, то должны выполняться следующие действия: идентификация источника запроса прерывания; сохранение состояния МП (содержание счетчика команд PC, аккумулятора, РОН, РП) с тем, чтобы обеспечить возможность возобновления вычислений по прерванной программе; выполнение программы обработки прерывания; восстановление состояния МП и возврат к выполнению прерванной программы. Для временного запоминания состояния МП используется стековая память.

В МС на базе МП К580 реализована так называемая векторная система прерываний. Асинхронный сигнал высокого уровня ЗПР может появиться в любой момент цикла выполняемой команды. Поэтому внутренняя схема управления должна синхронизировать внешний запрос и установить соответствие с сигналами системной синхронизации, обеспечивая завершение выполнения текущей команды. В последнем такте последнего машинного цикла всех команд, кроме команды EI, при действии сигналов ЗПР=1 и РПР=1 по нарастающему фронту сигнала Ф2 устанавливается внутренний триггер прерывания. Это приводит к тому, что следующим тактом оказывается такт Т1 машинного цикла М3 (подтверждение прерывания). Он напоминает цикл М1 - выбора кода операции, так как в байте состояния установлен бит D5, но одновременно устанавливается и бит прерывания DO, который подтверждает восприятие микропроцессором запроса на прерывание, а бит D7 - считывание из памяти - сбрасывается.

В такте Т1 (рис. 3) МП выдает на шину адреса содержимое счетчика команд PC, а на шину данных - байт состояния, соответствующий циклу М3. В том же такте по нарастающему фронту сигнала Ф2 с максимальной задержкой 200 нс формируется низкий уровень на выводе РПР.


Рис. 3 - Режим прерывания
Следовательно, МП будет игнорировать последующие запросы на прерывание до тех пор, пока триггер разрешения прерываний не будет установлен командой EI. В такте Т2 генерируется сигнал считывания ПМ, который в обычном цикле М1 вводит код операции из программной памяти в регистр команд. Но в цикле МЗ обращение к программной памяти запрещено (бит D7 равен 0), поэтому код операции должен быть сформирован подсистемой прерываний. Заметим, что в такте Т1 цикла МЗ инкремент PC не производится (формируется внутренний сигнал запрещения выхода схемы инкремента), поэтому в нем сохраняется адрес команды, которая выполнялась бы при отсутствии прерывания. Кроме того, в такте Т2 сбрасывается внутренний триггер прерывания.

Очевидно, что для загрузки содержимого PC в стек необходимо сформировать команду вызова подпрограммы прерывания. Стандартная команда вызова подпрограммы CALL является трехбайтовой и выполняется за пять машинных циклов. Чтобы ускорить реакцию микропроцессора на прерывание и упростить интерфейс подсистемы прерываний, в систему команд включена специальная однобайтовая команда рестарта RST с кодом операции ххАА Аххх.

Трехбитовое поле ААА, называемое вектором, должно быть сформировано периферийным устройством, на запрос которого реагирует микропроцессор. В такте ТЗ команда рестарта с шины данных загружается в регистр команд, а такты Т4 и Т5 отведены на дешифрирование команды RST.

Команда RST инициирует выполнение двух действий:
•содержимое PC в циклах М2 и МЗ загружается в стековую память;
•в PC передается код 0000000000ААА000, который сообщает микропроцессору начальный адрес обработчика прерываний.

Таким образом, биты ААА однозначно идентифицируют устройство, сформировавшее запрос на прерывание.

После указанных действий обычным образом вводится цикл М1 выборки кода операции первой команды программы обработки прерываний и производятся необходимые действия по обмену данными с периферийным устройством. Последней командой обработки прерываний должна быть команда возврата RET, которая возвращает в PC адрес возврата в основную программу. Напомним, что каждая программа обслуживания прерывания должна содержать команду EI, чтобы, выйдя из подпрограммы прерывания, МП был готов к восприятию следующего запроса на прерывание.

Режим прямого доступа к памяти

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

Когда ВУ инициирует запрос на ПДП, микропроцессор приостанавливает выполнение основной программы и переводит буферы шин адреса и данных в высокоимпедансное состояние, практически означающее отключение шин ША и ШД от микропроцессора. Шинами начинает управлять контроллер ПДП, организуя обмен данными между ВУ и памятью МС.

Инициирование ПДП осуществляет контроллер установкой на выводе ЗХ микропроцессора сигнала высокого уровня. В наиболее простом варианте обмена данными высокий уровень сигнала ЗХ сохраняется до окончания передачи массива данных. Все это время текущий машинный цикл после прохождения всех тактов находится в режиме ожидания окончания ПДП. Об окончании обмена контроллер ПДП сообщает снятием сигнала ЗХ, после чего начинается выполнение цикла М1 очередной команды. Но в режиме ПДП может осуществляться и передача в память МС и отдельных байтов информации. МП реагирует на высокий уровень сигнала ЗХ в текущем машинном цикле, если этот уровень стабилизировался за 180 не до нарастающего фронта Ф2 (рис. 4).


Рис. 4 - Режим прямого доступа к памяти
Напомним, что в такте Т1 цикла М1 МП только указал на ША адрес ячейки памяти или внешнего регистра, но обмен данными производится только в такте ТЗ. Поэтому разрешение ПДП сигналом ПЗХ и отключение ША и ШД возможно только в такте ТЗ (рис. 4, а), после чего МП переходит в режим ожидания окончания ПДП. Если же в текущем машинном цикле используются такты Т4 и Т5, то формирование сигнала ПЗХ происходит в такте Т5. После окончания ПДП микропроцессор всегда вводит такт Т1 следующего машинного цикла. В качестве контроллера, организующего обмен данными в режиме ПДП, в МПК К580 имеется контроллер ПДП КР580ВТ57.

Режим останова

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

В машинном цикле М1, состоящем из четырех тактов Т1-нТ4, производятся выборка и дешифрирование команды, а в цикле М2 осуществляется собственно выполнение команды. В такте Т1, цикла М2 микропроцессор выдает на шину адреса содержимое счетчика PC, а на шину данных — байт состояния с установленным битом D3 подтверждения останова. В такте Т2 по нарастающему фронту сигнала Ф2 с максимальной выдержкой 200 не внутренние буферы шин адреса и данных переводятся в высокоимпедансное состояние, а по нарастающему фронту сигнала Ф1 в следующем такте формируется высокий уровень сигнала ожидания ОЖ. Выполнение программы прекращается и в состоянии останова микропроцессор может находиться как угодно долго. Из состояния останова МП выводится следующими способами:
•путем подачи сигнала высокого уровня на вход сброса СБР с продолжительностью не менее трех периодов синхронизации. Когда на линии СБР после этого устанавливается низкий уровень, то по нарастающему фронту сигнала Ф1 генерируется внутренний сигнал сброса. Он загружает в счетчик PC нули и заставляет устройство управления сформировать следующий такт Т1 машинного цикла М1 выборки кода операции. Следовательно, МП обращается к ячейке памяти, которая обычно является начальным адресом подпрограммы;
•путем подачи сигнала высокого уровня на вход прерывания ЗПР.

Микропроцессор реагирует на этот сигнал только в том случае, если установлен внутренний триггер прерываний (РПР=1). Следовательно, при необходимости нового запуска микропроцессора из состояния останова сигналом ЗПР до команды HLT необходимо разрешить прерывание командой EI. Реагируя на сигнал ЗПР, микропроцессор вводит цикл М1 выборки команды RST. Если же микропроцессор остановлен и РПР = 0, то единственным средством запуска оказывается сигнал СБР.

Особенностью режима останова является возможность входа в режим ПДП по наличию высокого уровня сигнала ЗХ. Запрос на ПДП не будет удовлетворяться только в том случае, если был уже подан сигнал ЗПР (запрос на прерывание), но не было еще подтверждения прерывания сигналом РПР. После подтверждения прерывания возможен вход в режим ПДП. Таким образом, микропроцессор может работать в различных режимах информационного обмена. Выбор режима определяется быстродействием внешнего устройства и объемом передаваемых данных. Для поддержки каждого из режимов в составе микропроцессорного комплекта предусмотрены специальные интерфейсные микросхемы.


naf-st.ru
Администратор запретил публиковать записи гостям.
Яндекс.Метрика