Этап аппаратной обработки прерываний

 
 

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: