4.2.2 Прерывания
Выполнение любой программы связано не только с обработкой данных, находящихся в оперативной памяти, но и с операциями обмена данными между программой и внешними устройствами.
Обрабатывая данные, процессор обращается к байтам оперативной памяти, а для выполнения операций обмена – к портам ввода / вывода. На логическом уровне каждый порт представляет собой 8-мибайтовое запоминающее устройство. Например, порт LPT1 связан с принтером, к порту COM может подключаться мышь или модем.
Каждый порт, как и каждый байт, имеет номер, который считается его адресом. Совокупность адресов портов образует адресное пространство ввода-вывода, которое не зависит от адресного пространства оперативной памяти.
Процесс обмена является сложной процедурой. Например, клавиатура, передающая данные при вводе, должна известить как-то процессор о том, что очередной байт принят от пользователя и передан во входной порт. Аналогично, устройство, принимающее очередной байт данных при выводе, должно иметь возможность информировать процессор о том, что оно готово к его приему.
Теоретически возможны 2 способа взаимодействия процессора и внешних устройств: опрос и прерывание. Опрос – это периодическое прекращение текущей работы процессора и посылка им запросов каждому из внешних устройств на возможность или необходимость выполнения операции по обмену. Это нерационально.
В прерывании важнейшим компонентом является запрос на выполнение операции обмена, посланной процессору со стороны внешних устройств или выполняющейся программы.
Под прерыванием понимается прекращение выполнения одной программы и переключение процессора на выполнение другой программы. При необходимости выполнение прерванной программы может быть возобновлено.
Физически прерывание организуется с помощью запроса IRQ (Interrupt ReQuest), поступающего в процессор от одного из устройств компьютера. Получив такой сигнал, процессор запоминает свое текущее состояние и переключается на программу обработки прерываний. В процессе ее выполнения устройство передает процессору некоторую дополнительную информацию о создавшейся во время обмена ситуации. Для каждого устройства есть свой специфичный код завершения, который показывает, правильно ли завершился обмен, полностью или нет, требуется ли вмешательство пользователя и др.
Прерывания делятся на внешние и внутренние. К внешним относят прерывания ввода/вывода, аппаратные прерывания (поступают от устройств в случае их сбоя). Внутренние прерывания происходят в самом процессоре. К ним относятся программные прерывания (например, запросы со стороны программ на начало выполнения ввода или вывода) и прерывания от исключительных ситуаций (деление на 0 и др.).
Память
5.1 Основная память
Память – часть компьютера, где хранятся программы и данные. Память представлена группой устройств, которые отличаются друг от друга физической реализацией, способом использования, объемом, стоимостью и некоторыми другими характеристиками.
Компьютер принципиально не может работать без оперативной памяти (ОП). В то время, как отсутствие других видов памяти просто снижает эффективность его работы.
ОП – устройство компьютера, которое предназначено для хранения программ, находящихся на стадии выполнения, а также обрабатываемых этими программами данных.
В ОП на стадии выполнения может одновременно находиться несколько программ. Кроме того, в ней могут находиться как обрабатываемые, так и уже обработанные или же ожидающие обработки данные для всех выполняющихся процессором программ. ЦП имеет непосредственный доступ ко всей информации, которая находится в ОП. Кстати, именно потому, что ЦП может оперировать данными и программами, находящимися в этой памяти, этот вид памяти называется оперативной памятью.
ОП энергозависима, то есть при отключении электропитания все программы и данные, которые в этот момент находятся в ОП, безвозвратно теряются.
