Понятие прерывания центрального процессора
В тех случаях, когда в МС существует дефицит времени ЦП, а периферийные устройства работают медленно, используется их обслуживание по прерываниям. Например, алфавитно-цифровое печатающее устройство (АЦПУ) обеспечивает печать символа с номинальной скоростью 100 знаков в секунду или 1 знак за 10 мс. Если предположить, что цикл обращения к памяти составляет 2 мкс, то для вывода одного знака ЦП потребуется около 0,1 мс (см. процедуру РАО ИРПР-адаптера). Следовательно, из 10 мс (интервал вывода одного знака) 9,9 мс ЦП простаивает, ожидая готовности АЦПУ к приему нового знака.
Эффективность МС может быть существенно повышена, если отказаться от малопроизводительного ожидания готовности на программном уровне и передать функцию специальным аппаратным средствам. В это время ЦП может выполнять некоторую полезную работу, связанную с обработкой данных или обслуживанием других ПУ.
При готовности приступить к очередной операции ВВ устройство посылает в ЦП запрос на прерывание, по получении которого он временно приостанавливает выполнение текущей программы и переходит на обслуживание ПУ. После этого ЦП возвращается к прерванной программе, продолжая ее с момента приостановки. Обслуживание прерываний осуществляется в незаметном для основной программы режиме, поэтому их наличие прямо не влияет на работу последней, за исключением времени ее исполнения. Следует отметить, что обслуживание прерываний приводит к изменению общего состояния МС, что в дальнейшем может сказаться и на поведении основной программы, однако такое воздействие прерываний не будет прямым.
Рис. 12.1. Обслуживание ввода-вывода по прерываниям
Обслуживание ВВ по прерываниям (рис. 12.1.) является альтернативой программно-управляемому обмену. Если при чисто программном управлении как начало процедуры, так и непосредственное ее исполнение находятся под управлением программы, то обслуживание по прерываниям инициируется аппаратными средствами. Совокупность этих средств, команд и программ их обслуживания называется системой прерываний. Прежде чем обслуживание ПУ по прерываниям будет начато, система прерываний должна быть настроена на это. Функция запуска МС возлагается на специальную процедуру инициализации обслуживания. После окончания работы с ПУ также может потребоваться специальная процедура, которая завершит эту работу. Для того чтобы прерванная программа могла быть продолжена после обслуживания очередного запроса на прерывание с того места, на котором она была приостановлена, состояние ЦП должно быть восстановлено. Сохранность состояний сигналов управления в аппаратуре обеспечивается тем, что переход к обработке прерывания и возврат к прерванной программе осуществляется в строго определенные моменты времени, когда состояния этих сигналов однозначны и известны, т.е. в конце очередного командного цикла перед фазой выборки последующего. Состояние программно-доступных регистров может быть сохранено в памяти МС, а затем восстановлено непосредственно перед возвратом в прерванную программу. Этот процесс называется контекстным переключением и выполняется как программными, так и аппаратными средствами.
Дата добавления: 2016-01-20; просмотров: 1288;