Составители:
ГЛАВА 3. ПРЕРЫВАНИЯ И ИСКЛЮЧЕНИЯ
§ 3.1. Система обработки прерываний
Обладая способностью переключаться от одного потока выполнения к другому,
ядро операционной системы должно к тому же реагировать на прерывания (interrupts) и
исключения (exceptions). Речь идет о сигналах, которые возникают в системе и застав-
ляют процессор прерывать свою работу и переключаться на обработку возникшей си-
туации. Рассмотрим эти два механизма более подробно.
Прерывания представляют собой механизм, позволяющий координировать парал-
лельное функционирование отдельных устройств вычислительной системы и реагиро-
вать на особые состояния, возникающие при работе процессора. Таким образом, преры-
вание - это принудительная передача управления от выполняемой программы к
системе (а через нее - к соответствующей программе обработки прерывания), происхо-
дящая при возникновении определенного события.
Идея прерываний была предложена в середине 50-х годов и можно без преувели-
чения сказать, что она внесла наиболее весомый вклад в развитие вычислительной тех-
ники. Основная цель введения прерываний - реализация асинхронного режима работы и
распараллеливание работы отдельных устройств вычислительного комплекса.
Механизм прерываний реализуется аппаратно-программными средствами. Перво-
начально рассмотрим в общих чертах аппаратную часть системы прерываний. Сигналы
аппаратных прерываний, возникающие в устройствах, входящих в состав компьютера
или подключенных к нему, поступают в процессор не непосредственно, а через два кон-
троллера прерываний, один из которых называется ведущим, а второй ведомым
(рис.3.1). В прежних моделях машин контроллеры представляли собой отдельные мик-
росхемы; в современных компьютерах они входят в состав многофункциональной мик-
росхемы периферийного контроллера.
Рис.3.1. Аппаратная часть системы прерываний.
Два контроллера используются для увеличения допустимого числа внешних уст-
ройств. Дело в том, что каждый контроллер прерываний может обслуживать сигналы
лишь от восьми устройств. Для обслуживания большего количества устройств контрол-
леры можно объединять, образуя из них веерообразную структуру. В современных ма-
шинах устанавливают два контроллера, увеличивая тем самым возможное число вход-
ных устройств до 15 (7 у ведущего и 8 у ведомого контроллера).
К входным выводам IRQ1...IRQ7 и IRQ8...IRQ15 (IRQ - это сокращение от Interrupt
Request, запрос прерывания) подключаются выводы устройств, на которых возникают
сигналы прерываний. Выход ведущего контроллера подключается к входу INT микро-
процессора, а выход ведомого - к входу IRQ2 ведущего. Основная функция контролле-
ров - передача сигналов запросов прерываний от внешних устройств на единственный
78
ГЛАВА 3. ПРЕРЫВАНИЯ И ИСКЛЮЧЕНИЯ
§ 3.1. Система обработки прерываний
Обладая способностью переключаться от одного потока выполнения к другому,
ядро операционной системы должно к тому же реагировать на прерывания (interrupts) и
исключения (exceptions). Речь идет о сигналах, которые возникают в системе и застав-
ляют процессор прерывать свою работу и переключаться на обработку возникшей си-
туации. Рассмотрим эти два механизма более подробно.
Прерывания представляют собой механизм, позволяющий координировать парал-
лельное функционирование отдельных устройств вычислительной системы и реагиро-
вать на особые состояния, возникающие при работе процессора. Таким образом, преры-
вание - это принудительная передача управления от выполняемой программы к
системе (а через нее - к соответствующей программе обработки прерывания), происхо-
дящая при возникновении определенного события.
Идея прерываний была предложена в середине 50-х годов и можно без преувели-
чения сказать, что она внесла наиболее весомый вклад в развитие вычислительной тех-
ники. Основная цель введения прерываний - реализация асинхронного режима работы и
распараллеливание работы отдельных устройств вычислительного комплекса.
Механизм прерываний реализуется аппаратно-программными средствами. Перво-
начально рассмотрим в общих чертах аппаратную часть системы прерываний. Сигналы
аппаратных прерываний, возникающие в устройствах, входящих в состав компьютера
или подключенных к нему, поступают в процессор не непосредственно, а через два кон-
троллера прерываний, один из которых называется ведущим, а второй ведомым
(рис.3.1). В прежних моделях машин контроллеры представляли собой отдельные мик-
росхемы; в современных компьютерах они входят в состав многофункциональной мик-
росхемы периферийного контроллера.
Рис.3.1. Аппаратная часть системы прерываний.
Два контроллера используются для увеличения допустимого числа внешних уст-
ройств. Дело в том, что каждый контроллер прерываний может обслуживать сигналы
лишь от восьми устройств. Для обслуживания большего количества устройств контрол-
леры можно объединять, образуя из них веерообразную структуру. В современных ма-
шинах устанавливают два контроллера, увеличивая тем самым возможное число вход-
ных устройств до 15 (7 у ведущего и 8 у ведомого контроллера).
К входным выводам IRQ1...IRQ7 и IRQ8...IRQ15 (IRQ - это сокращение от Interrupt
Request, запрос прерывания) подключаются выводы устройств, на которых возникают
сигналы прерываний. Выход ведущего контроллера подключается к входу INT микро-
процессора, а выход ведомого - к входу IRQ2 ведущего. Основная функция контролле-
ров - передача сигналов запросов прерываний от внешних устройств на единственный
78
Страницы
- « первая
- ‹ предыдущая
- …
- 74
- 75
- 76
- 77
- 78
- …
- следующая ›
- последняя »
