Обработки прерыванияти и быстрых регистров), организации обращений к процедурам, обработки прерываний.
сигналы формируются только после поступления сигнала AEN, который информирует системный контроллер о том, что ШД свободна для передачи информации. Сигнал МСЕ вырабатывается во время обработки прерываний и служит для определения момента времени считывания на ШД адреса ведомого контроллера приоритетных прерываний при каскадировании этих контроллеров (см. § 3.1). Если в системе прерываний имеется только один контроллер, то сигнал МСЕ не используется.
Особенность обработки прерываний зарезервированных уровней состоит в том, что процессор переходит к их обслуживанию независимо от значения флага IF разрешения прерываний.
Команда SINTR устанавливает разряд обработки прерываний в слове-состояния программы PSW и активизирует сигнал SINTR соответствующего канала, если разряд обработки прерываний в PSW был установлен. Если разряд управления прерываниями был сброшен (прерывания от этого канала были запрещены), то разряд обработки прерываний устанавливается в «1», а сигнал SINTR не активизируется. Программа канала может использовать эту команду для запроса прерываний у ЦП.
ОС 6.1 ЕС предназначена для использования с моделями ЭВМ «Ряд-2», имеющими средства организации виртуальной памяти. В ОС 6.1 добавлен режим SVS и в дополнение к компонентам ОС 4.1 введены следующие средства: супервизор страниц, универсальное средство трассировки, монитор динамической отладки; программа доступа для вывода на микрофильм; программа обработки прерываний от средств контроля; средства машинного компенсирования.
Далеевыделяют области в ПЗУ для записи основной программы, подпрограмм, в том числе подпрограмм обработки прерываний, табличных данных и разного рода констант. Производится также распределение емкости ОЗУ, в котором выделяются области для запоминания результатов вычислений, данных из ВУ, а также для организации стека. Поскольку в данном МПВУ при заполнении стека содержимое указателя стека уменьшается, то начало стека обычно располагают в последней ячейке ОЗУ. Необходимо отметить, что в МПВУ не имеется средств защиты памяти. Поэтому важно при записи новых данных не потерять ценную информацию, записанную ранее.
в пределах интервала Umin, 'maxl происходит остановка счетчика 1, а состояние этого счетчика после остановки отражает измеряемое значение t3. Это значение по сигналу прерывания может быть передано в микропроцессор для последующей программной обработки. Для выполнения операции считывания состояния счетчика 1 программа обработки прерываний, выполняемая микропроцессором, должна включать в себя две последовательные команды ввода данных, т. е. двухбайтные команды IN, в которых второй байт указывает адрес счетчика 1 (см. аналогичные команды OUT в табл. 8.7). Две команды ввода необходимы для поочередного считывания младшего и старшего байтов значения t3 в соответствии с запрограммированным режимом работы таймера (см. табл. 8.5).
Обмен информацией между микропроцессором и внешними устройствами по прерыванию, как отмечалось в гл. 6, является эффективным методом обслуживания ВУ. В качестве аппаратного средства для организации такого обмена широко распространена БИС блока приоритетных прерываний (БПП) К589ИКН [32]. Эта микросхема позволяет реализовать прерывание по вектору путем использования специальной команды RST (рестарт), имеющейся в системе команд микропроцессора К580ИК80. Однако существенно большими возможностями обладает появившаяся несколько позднее БИС программируемого контроллера прерываний (КПП) К580ВН59. Этот контроллер позволяет реализовать прерывание как по вектору, так и по опросу, для чего в нем предусмотрены соответствующие режимы обслуживания ВУ, называемые обслуживанием по запросу и обслуживанием по результатам опроса. Имеется также режим программирования ПКП, во время которого задаются режим и алгоритм обслуживания ВУ с помощью команд, поступающих из МП. Значения приоритетов, закрепленные за внешними устройствами до начала обработки прерываний, могут быть изменены динамически, т. е. в процессе выполнения программы.
Рассмотрим теперь вопросы программирования БИС ПКП. В режиме программирования контроллер работает при ВК=0, причем при ЗП=0 производится запись команде ПКП, а при ЧТ=0— контрольное считывание информации из регистров ПКП. Программирование начинается с установки контроллера в исходное состояние, для чего используется последовательность двух или трех команд СКИ1, СКИ2 и СКИЗ (см. табл. 8.11). По команде СКИ1 устанавливаются в нулевое состояние РЗПР, РОЗПР, РСКО1 (регистр маски), фиксированный статус уровней приоритетов и сбрасывается спецмаскирование. Признаком команды СКИ1 является ДЧ = 1 при А0=0. Команда СКИ1 имеет четыре модификации в зависимости от значений признака Д1 = Е, характеризующего число используемых микросхем ПКП и признака Д2=Ф, характеризующего формат адресов программ обработки прерываний; Е = 1 или 0, если в устройстве есть соответственно одна ИЛИ несколько МИКрОСХШ ПКП; Ф==1 или 0, если начальные адреса' подпрограммы обслуживания смежных запросов отстоят друг от друга соответственно на 4 адреса (формат 4) или на 8 адресов (формат 8).
мой доступ в память. Последний используется обычно для передачи больших массивов данных, с тем чтобы затем произвести их соответствующую обработку. Для решения данной задачи этот способ не подходит. При программном методе обмена необходимо затратить некоторое время на проверку готовности ВУ, однако, учитывая, что сигналы с выхода приемного устройства поступают периодически, это время невелико. Обмен о прерыванием программы происходит сразу после того, как на рабочем счетчике установится значение кода измеренной дальности, но переход на подпрограмму обработки прерываний требует относительно большого времени (порядка 50 — 70мкс). Поэтому в данном случае некоторые преимущества по скорости обмена имеет программный способ, который и примем за основу. Далее рассмотрим способ организации обмена по прерыванию программы, хорошо совместимой с использованием специальной БИС таймера (КР580ВИ53).
моментом прихода ответного сигнала ( 10.11, б), останавливающего счет путем сброса Тг2 в нулевое состояние. В момент остановки счетчика Сч1 вырабатывается сигнал «Запрос прерывания», который инициирует переход МП к подпрограмме обработки прерываний ( 10.11, ж) по команде RST, формируемой внешним регистром RG3 (микросхема типа К589ИР12 на 10.9). Подпрограмма обработки прерываний содержит команду обращения к счетчику Сч1
Далее в счетчик команд из ячейки, хранящей первое слово вектора прерывания, передается начальный адрес-прерывающей программы, а из следующей ячейки второе слово вектора прерывания заносится в регистр слова состояния процессора. В новом слове состояния процессора порог-прерывания должен быть не меньше уровня приоритета принятого к обслуживанию запроса, чтобы повторный запрос от этого источника прерывания не мог прервать выполняемую прерывающую программу. Управление переходит к программе обработки прерывания, заданной вектором прерывания. Если эта программа использует общие регистры, то она начинается с передачи их содержимого в стековую память с помощью команд передачи с автодекрементной прямой адресации по регистру указателя стека.
начала прерывающей программы. Начальная часть этой программы помещает в стек содержимое регистра-аккумулятора А и регистра признаков F (команда PUSH PSW), а также и других программно-доступных регистров МП, если прерывающая программа будет их использовать, при этом каждой командой передачи в стек передается содержимое соответствующей, пары регистров. Далее выполняется собственно программа обработки прерывания.
В этом отношении организация взаимодействия основной программы и подпрограммы обработки прерывания не отличается от организации обращения к библиотечной программе и выхода из нее; только в случае библиотечной подпрограммы инициатива исходит от основной программы, а в разобранном случае — от
— записывает в счетчик команд адрес подпрограммы обработки прерывания (первое слово вектора прерывания) ;
Как уже отмечалось, начало обслуживания прерывания фиксируется путем установки в «1» соответствующего разряда регистра РОП. Сброс этого разряда осуществляется автоматически по нарастающему фронту последнего импульса INTA (при АЕО1 = 1 в команде ICW4) либо командой EOI, которая должна быть (включена в подпрограмму обработки прерывания. В случае каскадирования контроллеров команда EOI должна выдаваться дважды: один раз для ведущего и один раз для ведомого контроллера.
Для этой цели служит стек — специальная область памяти, организуемая в БИС ОЗУ. Выборка данных из стека возможна только в порядке, обратном вводу. Поэтому при адресации (указании адреса) данных, хранимых в стеке, достаточно указать лишь номер первой его ячейки, который заносится в указатель стека. По окончании программы обработки прерывания производится возврат к основной программе: содержимое стека последовательно выбирается и загружается в микропроцессор, работа которого продолжается по основной программе.
Второй способ обмена лишен указанных гед остатков и является особенно полезным для организации работы МПВУ в реальном времени. Этот вид обмена инициируется ВУ, которое подает специальный сигнал «Запрос прерывания» на соответствующий вход МП. После выполнения текущей команды МП прекращает вычисления по основной программе, вырабатывает сигнал «Подтверждение прерывания» и переходит к подпрограмме обработки прерывания, расположенной в фиксированной области памяти. После выполнения этой подпрограммы происходит возврат к основной программе.
Для реализации подпрограммы обработки прерывания в МП должны выполняться следующие действия: прием запроса на прерывание и его подтверждение; идентификация источника прерывания; сохранение состояния основных регистров МП (счетчика команд, аккумулятора, РОНов) с тем, чтобы обеспечить возможность возобновления вычислений по прерванной программе; собственно выполнение программы обработки прерывания; восстановление исходного состояния основных регистров МП и возврат к выполнению основной программы.
Третий способ обмена использует канал прямого доступа к памяти (ПДП), по которому массивы данных передаются непосредственно между ВУ и ОЗУ, минуя МП. Это позволяет достичь наиГ)ольшей скорости передачи, но требует определенных аппаратурных затрат для организации канала ПДП. Аналогично случаю обмена по прерыванию ВУ посылает в МП запрос на прямой доступ, на что МП отвечает сигналом подтверждения. При этом МП прекращает работу по выполнению текущей программы, отключает свои буферные регистры от шин адреса и данных, а также прекращает выработку управляющих сигналов. Таким образом, МП как бы замирает до окончания процедуры ПДП, чем этот режим отличается от режима обработки прерывания. Все функции адресации, передачи данных и управления выполняет аппаратура ПДП, содержащая регистр адреса, счетчик числа слов в массиве, а также ряд триггеров и логических схем (рис 6.7)
Прерывания в микропроцессорных системах. Прерывания представляют собой перестановку контекста процессора, вызванную внешней по отношению к выполняемой инструкции причиной. Источники прерываний это периферийные устройства, оператор микропроцессорной системы, программные средства. Физически прерывания представляются сигналом, посылаемым микропроцессору. Этот сигнал вызывает изменение указателя счетчика команд микропроцессора. Программа, к выполнению которой переходит микропроцессор в результате прерывания, называется программой обработки прерывания.
OCW2—> адр. (Р1С) - сбросить контроллер в исходное состояние. - в подпрограмме обработки прерывания D1 PUSH ...- сохранить все регистры
Похожие определения: Обусловленные гистерезисом Обусловленную изменением Обусловлен взаимодействием Обдуваемом исполнении Одинаковый потенциал Одинаковые направления Одинаковых элементов
|