Организация прерываний в микропроцессорных системах

Пример HTML-страницы

прерываний в микропроцессорныхПрерывание в микропроцессорах (

interruption

) — это событие, вызывающее прекращение рабо­ты основной программы и переход к выполнению процедуры, или подпрограммы, предназначенной для его обработки. Совокупность аппаратных средств, команд и программ обслуживающих прерывания образуют систему прерываний. Прерыва­ние инициируется специальным сигналом, при появлении которого система преры­ваний изменяет ход выполнения программы. Можно выделить три вида прерываний:

аппаратные прерывания, которые инициируются внешними устройствами с помощью сигнала запроса на прерывание;

● программные

прерывания, которые инициируются специальными командами (например, командой

CALL

вызова подпрограммы);

● исключения,

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

Прерывания используются:

● для обмена информацией между процессором и внешним устройством (ВУ);

● в аварийных ситуациях, например, при понижении напряжения питания. Обра­ботка прерывания при отказе в системе питания должна выполняться в пер­вую очередь, так как прерывающая подпрограмма поможет сохранить наибо­лее ценные результаты работы;

● при исключительных условиях, таких, как переполнение и антипереполнение при выполнении операции с плавающей точкой;

● для индикации аппаратных сбоев, приводящих к ошибкам при обработке дан­ных (например, к ошибкам обнаруженным при контроле на четность);

● при программных сбоях, т. е. если предпринимаются попытки выполнить не­верную или неопределенную команду, либо осуществить обращение к несу­ществующей или защищенной памяти;

● для координации работы в многопроцессорных системах;

● для профилактики, ремонта, тестирования и отладки системы. Прерывание позволяет перейти на ручное управление, например, с лицевой панели реали­зовать пошаговое выполнение программы. В дальнейшем основное внимание уделено аппаратным прерываниям, использу­емым для обмена информацией между процессором и ВУ. Обслуживание ВУ по пре­рываниям является альтернативой программно–управляемому обмену информаци­ей. Рассматриваются общие принципы организации прерываний.

Последовательность обслуживания прерываний.

При обмене информаци­ей по прерываниям инициатором обмена является внешнее устройство, которое подает специальный сигнал ЗАПРОС ПРЕРЫВАНИЯ (ЗПр) на соответствующий вход процессора. По завершении текущей команды процессор прекращает рабо­ту по основной программе, вырабатывает сигнал ПОДТВЕРЖДЕНИЕ ПРЕРЫВА­НИЯ (ППр) и переходит к подпрограмме обработки прерывания, передавая ей начальный (стартовый) адрес, называемый точкой входа в процедуру. После вы­полнения подпрограммы происходит возврат к основной программе. Процесс об­работки запроса на прерывание во многом подобен процессам вызова подпро­граммы и возврата в основную программу. Однако вместо использования команд

(CALL, RET)

он реализуется аппаратным способом. Поэтому запросы на прерыва­ния часто называют аппаратными вызовами подпрограмм.

При обслуживании прерывания можно выделить следующие основные этапы:

● прием запроса

на прерывание и его подтверждение;

● сохранение состояния процессора,

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

● идентификация

источника прерывания;

● непосредственное выполнение программы обработки прерывания; восстановление исходного состояния процессора, или содержимого основных регистров процессора;

● возврат

к основной программе.

Рассмотрим особенности некоторых этапов.

Управление входами и способы приема сигналов запроса на прерывания.

Микропроцессоры могут иметь разное количество входов запроса на прерывания (от одного и более). За каждым входом закреплен собственный стартовый адрес обслуживающей подпрограммы. Увеличение числа входов (линий) запросов по­зволяет организовать радиальную систему прерываний для обслуживания не­скольких истопников прерываний. Часть из них может быть отведена для внутрен­них запросов прерываний (исключений), которые используются при возникнове­нии нештатных ситуаций, например, при понижении напряжения питания.

Для управления входами запроса используются команды, позволяющие:

● сформировать маслу, биты которой индивидуально разрешают или запрещают (маскирует) запросы прерывания. Маска хранится в специальном регистре. Команды обеспечивают установку нового состояния маски;

● считывать текущее состояние маски в аккумулятор или другой регистр;

● управлять общим флагом разрешения/запрещения прерываний.

Известно три способа приема сигналов запросов:

● статический

способ, при котором сигнал фиксируется при появлении высокого уровня и остается активным в течение всего времени его действия. Послед­нее обстоятельство может привести к повторной фиксации уже принятого к обслуживанию запроса. Указанный недостаток может быть устранен блоки­ровкой входа с помощью дополнительного триггера;

● динамический

способ, при котором запрос на прерывание фиксируется при каждом переходе сигнала из 0 в 1. Запрос сохраняется до тех пор, пока не будет обслужен или сброшен командой. Недостаток — низкая помехоустой­чивость: любая помеха на входе может вызвать прерывание. Фиксация про­исходит даже при маскировании прерываний;

● комбинированный

способ, при котором для фиксации запроса используется два условия:

• изменение сигнала из 0 в 1;

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

Входы запроса на прерывание процессор проверяет в конце командного цикла. При обнаружении запроса на прерывание и отсутствии маскирования про­цессор приступает к его обслуживанию, в противном случае продолжает выполнение основной программы.

Способы сохранения и восстановления состояния процессора.

Для возоб­новления работы прерванной (основной) программы необходимо на время обслу­живания прерывания сохранить состояние процессора. Состояние процессора в любой момент характеризуется:

● содержимым счетчика команд и всех регистров процессора;

● состоянием всех сигналов управления.

Только в случае сохранения состояния процессора после обслуживания запро­са на Прерывание работа прерванной программы будет продолжена, как будто ничего не произошло. При наличии прерывания должно быть сохранено текущее значение счетчика, являющееся адресом следующей команды основной програм­мы, а также содержимое всех регистров, состояние которых может быть наруше­но при выполнении прерывающей подпрограммы. После завершения подпро­граммы, обслуживающей внешнее устройство, состояния счетчика и регистров должно быть восстановлено. Что касается сигналов управления, то они не могут быть сохранены, так как сама же операция по сохранению этих сигналов привела бы к их изменению. Однако перед началом каждого нового командного (машин­ного) цикла сигналы управления принимают определенное исходное состояние. По этой причине контроль сигналов запроса на прерывание процессор производит в самом конце каждого командного цикла.

Для сохранения состояния процессора во время выполнения подпрограммы используются следующие способы:

● блокирование основных регистров

и выполнение подпрограммы в другом на­боре (банке) регистров. Этот способ обладает наибольшим быстродействи­ем, однако его реализация возможна только при наличии в процессоре двой­ного набора регистров;

● пересылка

на хранение с последующим возвратом содержимого счетчика ко­манд и программно доступных регистров во внешнюю оперативную память с обычным способом записи и считывания информации;

● пересылка

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

Процедура изъятия из процессора содержимого счетчика и программно–до­ступных регистров перед началом обслуживания ВУ или восстановление содер­жимого перед возвратом в прерванную программу называется контекстным пере­ключением.

Контекстные переключения выполняются с помощью пар команд типа

PUSH

,

POP

или

PUSH

A, POPA

(позволяют сохранить в стеке, а затем восстановить содер­жимое всех регистров).

Большинство процессоров автоматически сохраняет некоторую информацию о состоянии процессора. Например, все процессоры сохраняют текущее значе­ние счетчика команд;

Motorola

6800 сохраняет в стеке содержимое всех своих ре­гистров.

Способы идентификации источника прерывания.

Запрос на прерывание может поступать от нескольких внешних устройств (ВУ). Если каждое из ВУ под­ключено к отдельному входу запроса микропроцессора, проблемы определения источника прерываний не существует. Она возникает тогда, когда число ВУ пре­вышает число входов запроса. Известно два наиболее распространенных спосо­ба идентификации источника прерывания: программный и аппаратный.

Программный способ

базируется на использовании главной программы обработки прерываний, которая при поступлении запроса производит последова­тельный программный опрос каждого ВУ до тех пор, пока не обнаружит устрой­ство, пославшее запрос. Такой способ идентификации ВУ называют опросом, или поллингом (

POLL

). Обычно он используется при объединении запросов от не­скольких источников с помощью элемента ИЛИ и передаче их по одной линии на вход процессора. Главная программа обработки прерываний содержит стан­дартные подпрограммы проверки готовности каждого внешнего устройства к об­мену данными по состоянию сигнала запроса ЗПр, поступившего от него.

Каждому ВУ выделяется отдельный порт состояния (со своим адресом), в ко­тором отводится бит для хранения значения сигнала запроса. Когда по общей ли­нии поступает сигнал запроса, процессор завершает цикл и начинает последова­тельно опрашивать порты состояния. При обнаружении сигнала ЗПр = 1 основная программа передает управление подпрограмме обслуживания ВУ. При одновре­менном запросе на прерывание от нескольких ВУ обслуживается устройство, ко­торое опрашивается первым. Таким образом, приоритетность обслуживания оп­ределяется позицией устройства в списке опроса.

Поллинг подобен обычной проверке сигнала готовности ВУ, которая использу­ется при программно–управляемом обмене данными. Процессор опрашивает каж­дый из источников прерываний, пока не обнаружит тот, который послал запрос.

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

Аппаратный способ

идентификации источников прерываний базируется на схемной реализации опроса ВУ. При обнаружении ВУ, запросившего прерыва­ние, в процессор посылается его собственный код, который называют вектором прерывания. Название связано с тем, что двоичный

n

–разрядный код можно представить вектором в

n

–мерном пространстве. Вектор прерывания является начальным, или стартовым адресом подпрограммы. Системы прерываний с аппа­ратной идентификацией ВУ называют векторными системами прерываний. Простейшей векторной системой прерываний является система, к каждому входу запроса на прерывание которой подключено по одному ВУ. Такая система, как указано выше, не требует идентификации ВУ. Принципы построения векторных систем прерываний рассмотрены ниже.

Способы передачи управления.

После идентификации источника запроса на прерывание центральный процессор должен передать управление подпрограм­ме обслуживания ВУ, пославшего запрос. Перейти к подпрограмме можно путем:

● выполнения команды ПЕРЕХОД К ПОДПРОГРАММЕ (

CALL

) или РЕСТАРТ

(

TRAP

) с заданным адресом (способ использовался в

Intel

4040);

● выбора из определенного регистра или определенной ячейки памяти нового значения счетчика команд, соответствующего адресу подпрограммы (исполь­зовался в

Motorola

6800,

RCA CDP1802);

● выполнения команды ПЕРЕХОД К ПОДПРОГРАММЕ с адресом, который опре­деляется внешним устройством (способ использовался в

Signetics

2650);

● использования выходного сигнала ПОДТВЕРЖДЕНИЕ ЗАПРОСА НА ПРЕРЫВА­НИЕ предоставить шину данных для помещения на нее адреса внешнего уст­ройства, пославшего запрос. При этом доступ к памяти и другим ВУ должен быть заблокирован (способ использовался в КР580ВМ80). Первый и второй способы не требует больших аппаратных затрат, но не позво­ляет идентифицировать источник прерывания. Любой из них требует работы с подпрограммами. Третий и четвертый способы более гибкие, но требуют аппа­ратных затрат.

По завершении обслуживания запроса на прерывание ЦП должен вернуться для продолжения выполнения основной программы. Для этого используется ко­манда возврата из подпрограммы

RET.

Схемная идентификация источников прерывания.

Рассмотрим некоторые схемные способы определения источников прерывания. рис. 3.8.1

Способ последовательного опроса.

Один из возможных вариантов схемной реализации системы прерываний с последовательным опросом представлен на рис. 3.8.1. В состав системы входят счетчик

CT,

дешифратор

DC

, логический элемент И–ИЛИ и триггер запроса ТЗ. Полагаем, что ТЗ сброшен, сиг­налы запросов на прерывание ЗПр1, …, ЗПрN от ВУ на входах И–ИЛИ отсутствуют (их значения равны нулю). Счетчик

CT,

на вход которого поступают синхроимпуль­сы СИ, через дешифратор производит последовательный циклический опрос входов элемента И–ИЛИ. С поступлением запроса от одного из ВУ (например ЗПр

k

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

Триггер запроса ТЗ сбрасывается программно в конце обработки прерывания, после чего процесс повторяется. рис. 3.8.2

Способ параллельного опроса.

Для ускорения идентификации ВУ ис­пользуют способ параллельного опроса, общая схема которого приведена на рис. 3.8.2. В ее состав входят интерфейсы внешних устройств (ИВУ1…ИВУN) и логический элемент ИЛИ. рис. 3.8.3

Схема ИВУ раскрыта на рис. 3.8.3. Интерфейс ВУ содержит:

● триггер запроса ТЗ для временного хранения запросов на прерывания от ВУ;

● регистр приоритетов для хранения восьмиразрядного двоичного кода ВУ, причем коды не должны повторяться и чем больше значение кода в десятич­ном исчислении, тем выше приоритет ВУ;

● анализаторы разрядов АР0…АР7 кода ВУ;

● дополнительные логические элементы.

Поступившие от ВУ один или несколько запросов на прерывание фиксируются в триггере запроса ТЗ соответствующего интерфейса ИВУ

k

. На выходе элемента ИЛИ формируется единственный запрос ЗПр, который принимает ЦП (рис. 3.8.2).

В ответ на принятый запрос ЦП посылает сигнал Опрос = 1, который выполняет две функции (рис. 3.8.3):

● блокирует доступ к триггерам ТЗ, чтобы сохранить постоянное число запро­сов во время цикла опроса;

● в каждом ИВУ открывает схему совпадения для формирования сигнала А7 = 1 активизации начала анализа старшего разряда Р7 кода ВУ, который хранится в регистре приоритета.

Если хотя бы для одного из принятых запросов старший разряд Р7 кода ВУ ра­вен 1, то на линии старшего разряда ШД устанавливается сигнал К7 = 1, в про­тивном случае К7 = 0.

В комбинационной схеме анализатора разрядов АР7 происходит обработка сигналов Р7 и К7, в результате которой формируется сигнал А6 для анализа 6–го разряда кода ВУ в схеме АР6 согласно табл. 3.8.1. Значение А6 определяет даль­нейшие процессы в схеме параллельного опроса. Анализ проводится одновре­менно во всех ИВУ

k

, на которые поступили сигналы запросов ЗПрк. табл. 3.8.1

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

Способ «дейзи–цепочки»

(

daisy

chain

). Рассмотрим этот способ для случая, когда используются три источ­ника запросов на прерывания, сигналы ЗПр1…3ПрЗ которых фиксируются в триггерах Т1…ТЗ (рис. 3.8.4). «Дейзи–цепочка» составлена из шести логиче­ских элементов ЛЭ 1…6, причем ЛЭ 6 следует задействовать при увеличении источников прерывания. рис. 3.8.4

Если, хотя бы в одном из триггеров Т1…ТЗ, зафиксирован запрос на преры­вание ЗПр1…3ПрЗ, то в ЦП поступит сигнал запроса (на схеме не показано). В ответ процессор выдает сигнал подтверждение запроса ПЗ = 1, который от­пирает элемент ЛЭ 1. Если сигнал запроса был зафиксирован триггером Т1, его выходной сигнал

Q

1 = 1. В этом случае на выходе ЛЭ 1 сигнал подтверждения запроса П31 = 1, а на выходе ЛЭ 2 сигнал будет равен нулю. Поэтому сигналы П32 = ПЗЗ = 0.

При отсутствии запроса ЗПр1 (

Q

1 = 0) сигнал П31 = 0, на выходе ЛЭ 2 сигнал равен 1 и ЛЭ 3 открыт. Поэтому для сигнала ЗПр2 открыт путь на вход ЛЭ 3. Таким образом, сигнал подтверждения запроса ПЗ с выхода ЦП распространяется от одного триггера к другому пока не будет заблокирован первым встретившимся на пути триггером Т

k

, который принял запрос на прерывание ЗПр

k

. Выходной сигнал этого триггера

Qk

= ПЗ

k

= 1. Он может быть использован для формирова­ния вектора прерывания внешнего устройства ВУ

k

, пославшего запрос. При сиг­нале ПЗ = 0 все прерывания будут заблокированы.

Маскирование прерываний.

Маскирование с использованием ре­гистров. Источники прерываний, расположенные в конце опросного списка иг­норируются из–за своего низкого приоритета и при длительном обслуживании прерываний с более высокими приоритетами могут оказаться вообще не обслу­женными. Одной из мер обслуживания прерываний низкого уровня является от­ключение источников прерываний в начале списка опроса или отключение всей системы прерываний. Для этих целей в системах прерываний используются реги­стры разрешения прерываний РРП, или регистры маскирования (РМ), которые позволяют разрешать/запрещать (маскировать) любые запросы на прерывания системы.

На рис. 3.8.5 приведена схема, иллюстрирующая принцип маскирования пре­рываний. Если программно в РРП записать ¯М1 = 0, то запрос ЗПр1 будет маскирован (элемент 1 заперт) и источник с запросом ЗПр2, имеющим меньший приоритет, получит разрешение на обслуживание прерывания. При ¯М1 = 0 запре­щено обслуживание всех прерываний. рис. 3.8.5

Как показано выше, при использовании «дейзи–цепочки» более высоким приоритетом обладают первые звенья цепочки. С помощью регистра разрешения прерывания РРП можно разрешить прерывания для последующих звеньев цепоч­ки (рис. 3.8.5). Действительно, установкой в РРП бита ¯М1 =0 маскируется дей­ствие запроса ЗПр1, установкой битов ¯М1 = ¯М2 = 0 блокируются запросы ЗПр1, ЗПр2 и т. д.

Маскирование с использованием компаратора.

Еще один способ принятия решения о разрешении или запрещении прерывания состоит в том, что­бы исключить все прерывания с приоритетом, не превосходящим приоритет пре­рывания, принятого на обработку. На рис. 3.8.6 приведен пример реализации та­кого подхода с использованием цифрового компаратора.

Устройство помимо логических элементов содержит:

● четырехразрядный регистр текущего приоритета РТП, в который заносится код В2В1В0 обслуживаемого ВУ, а также бит разрешения/запрета работы ком­паратора;

● шифратор приоритетов ШП 3 из 8, позволяющий из поступивших на вход за­просов выделить запрос А2А1А0 с наивысшим приоритетом;

● компаратор К, вырабатывающий единичный выходной сигнал при условии А2А1А0> В2В1В0.

В приведенной на рис. 3.8.6 схеме исключается прием прерывания с приори­тетом меньшим или равным приоритету прерывания, принятого на обработку. Это предотвращает приостановку программы обработки прерывания при поступле­нии повторного запроса на прерывание от того же самого источника прерываний. Для возможности обслуживания запроса с самым низким уровнем приоритета в четвертый разряд («Запрет компаратора») РТП должна быть занесена единица. В этом случае любой из сигналов запроса ЗПр0…ЗПр7 получает доступ к входу запросов на прерывания ЦП. рис. 3.8.6

Векторная система прерываний с маскированием приоритетов.

В каче­стве примера рассмотрим устройство приоритетных прерываний для обслужива­ния восьми ВУ (рис. 3.8.7). В его состав входят:

● восемь блоков прерывания БП

k

(рис. 3.8.8), с помощью которых осуществля­ется связь выбранного ВУ

k

(

k

= 0, …, 7) с микропроцессором;

● восьмиразрядный регистр маски РМ, предназначенный для маскирования (блокирования) входов запроса прерываний (ЗПр) внешних устройств. Приори­тет ВУ определяется закрепленным за ним номером. рис. 3.8.7

Рассмотрим работу устройства. Пусть на входе приоритетной цепи ПЦ1 блока прерывания БП

k

установлен разрешающий сигнал ПЦ1 = 1, а на входе маскирова­ния — запрещающий сигнал ¯М = 1 (т. е. маскирование отсутствует). Тогда с по­ступлением от ВУк сигнала запроса на прерывание (ЗПр = 1) триггер запроса (ТЗ) перейдет в единичное состояние. При этом:

● на его прямом выходе формируется сигнал приоритетного запроса ПЗ = 1, который передается на вход запроса прерывания микропроцессора;

● сигналом с инверсного выхода ТЗ закрывается схема совпадения 5, не про­пуская на выход блока прерывания БП

k

разрешающий сигнал ПЦ1 = 1. Поэто­му ПЦ2 = 0 и для внешних устройств с более высокими номерами к прерыва­ния запрещены;

● готовятся цепи для сброса ТЗ и запуска триггера активности ТА. При поступ­лении ответного сигнала подтверждения прерывания ППр = 0 сбрасывается в нулевое состояние ТЗ и устанавливается в единичное состояние ТА. Сигналом с выхода ТА:

● открываются схемы совпадения 6–8, через которые передается аппаратно ус­тановленный (например, путем распайки к источнику напряжения и корпусу) трехразрядный код вектора прерывания ВП2ВП1ВП0 или однобайтная коман­да

RST

, запускающая подпрограмму обслуживания прерывания;

● подтверждается запрос прерывания ПЗПр = 1, т. е. указывается ВУ

k

на нача­ло его обслуживания. рис. 3.8.8

Если с выхода регистра маскирования РМ на вход маскирования М блока прерываний БП

k

поступает М = 0, то триггер запроса ТЗ находится в нулевом состоянии. В этом случае сигнал приоритетного запроса ПЗ =0, схема совпаде­ния 5 открыта и входной сигнал ПЦ = 1 разрешения прерывания поступает на вы­ход ПЦ2 приоритетной цепи БП

k

, т. е. ПЦ2 = ПЦ1 = 1. Следовательно, наличие нуля в

k

–м разряде кода маски исключает из цепочки БП

k

, не разрывая ее. За­прос от ВУ

k

не воспринимается микропроцессором (замаскирован). Так как на вход ПЦ1 блока прерываний БП0 всегда поступает единичный сигнал, то ВУ0 име­ет высший приоритет, а ВУ7 — низший. рис. 3.8.9

Векторная система прерываний с шифратором приоритетов.

Рассмотрим схему на рис. 3.8.9, содержащую:

● шифратор приоритетов

ШП 3 из 8, предназначенный для определения макси­мального номера к поступившего на его вход запроса на прерывание ЗПр

k

(

k

= 0…7). Внешнее устройство ВУ

k

с максимальным к обладает наивысшим приоритетом;

● три управляемых буфера, подключенные к выходам шифратора ШП. Они служат для ввода кода выбранного ВУ в ЦП;

● дешифратор адреса

(Дш), позволяющий обратится к данной схеме;

● регистр адреса главной программы

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

Запросы ЗПр0…ЗПр7, поступающие от ВУ на входы шифратора приоритетов и элемента ИЛИ, формируют (не зависимо от их числа):

● на выходах шифратора приоритета трехразрядный двоичный код А2А1

A

0

, зна­чение которого в десятичном исчислении соответствует максимальному но­меру к запроса ЗПрк или ВУк;

● на входе ЦП сигнал запроса на прерывание ЗПр.

В ответ на запрос ЦП выдает сигнал подтверждения прерывания ППр. С по­мощью этого сигнала фиксированный начальный адрес главной программы пре­рываний из РАГП по ШД поступает в ЦП. Начинается исполнение главной про­граммы. Прежде всего, командой «Ввод» открываются буферы для передачи кода выбранного ВУ в ЦП. Этот код может быть использован для перехода на подпро­грамму обслуживания выбранного ВУ. В том случае, когда ВУ являются однотип­ными и допускают совместное обслуживание, может быть вызвана общая под­программа обслуживания.


Понравилась статья? Поделиться с друзьями:
Все об энергетике, электротехнике и электронике
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: