Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по ВТ.docx
Скачиваний:
14
Добавлен:
26.09.2019
Размер:
1.46 Mб
Скачать

43 Понятие вектора состояния мп.

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

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

Вектор состояния формируется в соответствующем регистре или регистрах микропроцессора.

В наиболее простом виде вектор состояния включает в себя содержимое счётчика команд (адрес очередной команды), содержимое регистров признаков и содержимое аккумулятора АЛУ.

44 Понятие системы прерывания программ

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

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

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

- запоминание состояния прерываемой программы и осуществление перехода к прерывающей программе;

- восстановление состояния прерванной программы и возврат к ней.

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