53
леры прерываний небольших микроЭВМ часто строятся на логических микросхемах 
общего назначения. 
Основными функциями системы прерывания являются: 
•  запоминание состояния прерываемой программы и осуществление перехода 
к прерывающей программе; 
•  восстановление состояния прерванной программы и возврат к ней. 
Под термином 
состояние программы (процессора), строго говоря, следует по-
нимать  совокупность  состояний  всех  запоминающих  элементов (триггеров,  регист-
ров, ячеек памяти) в соответствующий момент времени (например, после выполне-
ния микрокоманды, команды, программы). Однако не вся эта информация искажает-
ся  при  переходе  к  другой  команде  или  программе,  поэтому  из  всего  многообразия 
информации  о  состоянии  программы (процессора) 
отбирают  наиболее  существен-
ные ее элементы, изменяющиеся при переходе к другой команде или программе. 
Вектор состояния в каждый момент времени должен содержать информацию, 
достаточную  для  запуска  программы  с  точки,  соответствующей  моменту  формиро-
вания данного вектора состояния. При этом предполагается, что другая информация 
о состоянии узлов процессора либо не существенна, либо может быть восстановле-
на программным путем. 
Вектор  состояния  формируется  в  соответствующих  регистрах  процессора,  из-
меняясь  после 
выполнения  каждой  команды.  Наборы  информационных элементов, 
образующих вектор состояния, отличаются у ЭВМ разных типов и зависят от слож-
ности  процессора.  В  простейших  процессорах  эти  наборы  невелики.  Например,  в 
процессоре КР580ВМ80 (
I8080) вектор состояния состоит из содержимого счетчика 
адреса команд (16 бит), содержимого регистра признаков (8 бит) и содержимого ак-
кумулятора (8 бит).  В  более  сложных  процессорах  вектор  состояния  может  содер-
жать существенно большее количество элементов. 
Аналогично, 
вектор  начального  состояния  должен  содержать  всю  необходи-
мую информацию для начального запуска программы. Во многих случаях вектор на-
чального состояния содержит только один элемент – начальный адрес запускаемой 
программы. 
При  рассмотрении  систем  прерывания  очень  широко  используется  также  тер-
мин 
вектор  прерывания,  который  является  ничем  иным,  как  вектором  начального 
состояния  прерывающей  программы (обработчика).  Вектор  прерывания  содержит 
всю  необходимую  информацию  для  перехода  к  обработчику,  в  том  числе  его  на-
чальный адрес. Каждому уровню прерываний (см. п. 6.1), а в простых ЭВМ каждому 
входу прерывания (периферийному устройству) соответствует свой вектор прерыва-
ния,  который  инициализирует  выполнение 
соответствующего  обработчика.  Обычно 
векторы  прерывания  хранятся  в  специально  выделенных  фиксированных  ячейках 
памяти  с  короткими  адресами.  Таким  образом,  для  перехода  к  соответствующей 
прерывающей программе процессор должен располагать не только вектором преры-
вания, но и адресом этого вектора. 
Следует иметь в виду, что понятие вектор прерывания достаточно условно, по-
скольку  в  абсолютном  большинстве
  случаев  вектор  прерывания  состоит  только  из 
одного элемента – начального адреса прерывающей программы (обработчика). 
При наличии нескольких источников запросов должен быть установлен опреде-
ленный порядок обслуживания поступающих запросов, т.е. должны быть установле-
ны 
приоритетные соотношения (дисциплина  обслуживания). Они определяют, ка-
кой из нескольких запросов, поступивших одновременно, подлежит обработке в пер-
вую очередь, имеет ли право данный запрос прерывать ту или иную программу и т.д. 
Все это входит в процедуру перехода к прерывающей программе.