Как работает блок аппаратных прерываний
Современная компьютерная система - это сложная электронно-программная система, ориентированная на одновременное выполнение нескольких задач, что способствует производительности ПК. На заре компьютеризации исполнение программ велось последовательным способом - следующая программа начинала выполняться только тогда, когда заканчивалось выполнение текущей программы. В современных системах параллельно выполняются сразу несколько задач. Компьютер определяет, какая из задач является наиболее важной и выполняет ее в первую очередь. Поступление сигнала о необходимости перехода к исполнению "внеочередной" задачи подает блок аппаратных прерываний, который указывает процессору, к какой программе и по какому адресу тот должен обратиться. При этом обмен информацией может происходить "побайтно" через центральный процессор, а может в "пакетном режиме" напрямую между двумя устройствами, минуя центральный процессор. Второй вариант обмена данными организуется блоком прямого доступа к памяти.
Физически линия прерывания - это проводник, соединяющий микросхему контроллера прерываний и устройство. Количество линий прерываний (устройств, использующих эти линии) не может быть больше 16.
Контроллер прерываний (PIC - Programmable Interupt Controller) - это микросхема, которая в компьютерах IBM PC XT имела 8 входов, а, значит, могла обслуживать 8 прерываний. Этого оказалось недостаточно, и, начиная с IBM PC AT стали использовать еще один контроллер прерываний, который подключался к линии IRQ2 уже существующего контроллера (подключение каскадом).
Хотя линий аппаратных прерываний (IRQ - Interupt Re Quest) физически 16, но фактически их значительно меньше, т.к. существуют уже "назначенные" прерывания встроенных устройств, а некоторые прерывания имеют статус "системных" и изменить их невозможно.
Все линии прерываний имеют свой приоритет - процессор обслуживает в первую очередь прерывание с наивысшим приоритетом.
Прерывание | Устройство | Приоритет | Состояние |
---|---|---|---|
IRQ 0 | Системный таймер | 15 | Системное |
IRQ 1 | Клавиатура | 14 | Системное |
IRQ 2 | Контроллер прерываний | 13 | Системное |
IRQ 8 | Часы реального времени | 12 | Системное |
IRQ 9 | Не занято | 11 | Свободное |
IRQ 10 | Не занято | 10 | Свободное |
IRQ 11 | Не занято | 9 | Свободное |
IRQ 12 | мышь PS/2 | 8 | Свободное |
IRQ 13 | Сопроцессор | 7 | Системное |
IRQ 14 | Первичный EIDE-контроллер | 6 | - |
IRQ 15 | Вторичный EIDE-контроллер | 5 | - |
IRQ 3 | COM 2 (COM 4) | 4 | - |
IRQ 4 | COM 1 (COM 3) | 3 | - |
IRQ 5 | Не занято | 2 | Свободное |
IRQ 6 | FDD-дисковод | 1 | Системное |
IRQ 7 | LPT 1 | 0 | - |
Получив сигнал на прерывание, процессор прерывает исполнение текущей задачи и переходит на обработку подпрограммы обслуживания прерывания, которая выполняет действия устройства подавшего запрос на прерывание. Только обработав прерывание, процессор возвращается к выполнению текущей задачи, которая была прервана. Контроллеры прерываний программируются в процессе начальной загрузки системы.
CMOS-память
Как уже говорилось ранее, IBM-компьютеры построены по принципу открытой архитектуры. Открытость архитектуры подразумевает тот факт, что пользователь может по своему усмотрению настраивать и перестраивать конфигурацию компьютера. Это обстоятельство является "проблемным" для самого компьютера - для правильного функционирования компьютер должен знать свою нынешнюю конфигурацию. Сведения о текущей конфигурации компьютера загружаются при его включении, когда система работает под управлением BIOS - специального неизменного набора программ, запускаемых при каждом включении компьютера. Настройки БИОС производятся при помощи программы BIOS Setup и сохраняются в специальной микросхеме - CMOS.
Свое название CMOS-память получила от технологии, по которой она производится - Complementary Metal-Oxide-Semiconductor (Комплементарный Металло-Оксидный Полупроводник - КМОП). Суть этой технологии состоит в том, что для функционирования КМОП-памяти необходимо очень мало энергии. Микросхема CMOS питается от круглой батарейки (аккумулятора), дающей напряжение 3 V и располагающейся на материнской плате, обычно, рядом с самой микросхемой CMOS. Заряда батарейки хватает на 3..5 лет непрерывной работы.
Кроме настроек БИОСа в КМОП-памяти хранятся параметры конфигурации компьютера: жестких дисков, параметры работы процессора, оперативной памяти… Суммарный объем CMOS-памяти очень маленький - 256 байт.
Для отсчета времени в состав компьютера включены часы реального времени RTC (Real Time Clock). Время - вещь постоянная, поэтому блок RTC, так же, как и CMOS питается от одной батарейки. Более того, оба эти блока помещены в одну микросхему.
