
- •Основы архитектуры вычислительной системы
- •Аппаратный уровень вс
- •Уровень управления физическими ресурсами вс
- •Управление логическими/виртуальными ресурсами
- •Системы программирования
- •Прикладные системы
- •18. Основные компоненты архитектуры эвм (процессор, устройства памяти, внешние устройства)
- •Основные компоненты эвм
- •Оперативное запоминающее устройство
- •Центральный процессор
- •3.2.1. Структура, функции.
- •3.2.2. Регистровая память
- •3.2.3. Рабочий цикл процессора
- •Буферная память, кэш
- •Аппарат прерываний
- •Этап аппаратной обработки прерываний
- •Программный этап обработки прерываний
- •Распознавание прерываний
- •3.5. Внешние устройства
- •3.5.1. Типы внешних устройств
- •Устройства прямого доступа
- •Магнитные диски (мд)
- •Магнитный барабан
- •Организация потоков данных при обмене с внешними устройствами
- •3.5.2 Модели синхронизации при обмене с внешними устройствами
- •Синхронная работа с ву
- •Асинхронная работа с ву
- •3.5.3. Организация управления внешними устройствами.
- •3.5.4. Иерархия памяти
Программный этап обработки прерываний
Второй этап (программная обработка прерывания). Управление передано на точку ОС, занимающуюся обработкой прерывания. При входе в эту точку часть ресурсов ЦП, используемых программами освобождена (результат малого упрятывания). Поэтому будет запущена программа ОС, которая может использовать только освобожденные малым упрятыванием ресурсы ЦП (перечень доступных в этот момент ресурсов – характеристика аппаратуры). Выполняется следующая последовательность действий:
Анализ и предварительная обработка прерывания. Происходит идентификация типа прерывания, определяются причины. Если прерывание « короткое» обработка не требует дополнительных ресурсов ЦП и времени, то прерывание обрабатывается, происходит разблокировка прерываний и возврат в первоначальную программу (не вдаваясь в подробности, эта последовательность действий организована так, что гарантируется корректное восстановление всех регистров и настроек ЦП). Если прерывание требует использования всех ресурсов ЦП, то переходим к следующему шагу.
“Полное упрятывание” осуществляется полное упрятывание состояния всех ресурсов ЦП, использовавшихся прерванной программой (все регистры, настройки, режимы и т.д.) в специальную программную таблицу (в контекст процесса или программы – о нем позже). То есть в данную таблицу копируется содержимое аппаратной таблицы, содержащей сохраненные значения ресурсов ЦП после малого упрятывания, а также копируются все оставшиеся ресурсы ЦП используемые программно, но не сохраненные при малом упрятывании. После данного шага программе обработки прерываний становятся доступны все ресурсы ЦП, а прерванная программа получает статус ожидания завершения обработки прерывания. В общем случае программ или процессов, ожидающих завершения обработки прерывания может быть произвольное количество.
До данного момента времени все действия происходили в режиме блокировки прерываний. Почему? Потому что режим блокировки прерываний – единственная гарантия оттого, что не придет новое прерывание и при его обработке не потеряются данные, необходимые для продолжения прерванной программы (регистры, режимы, таблицы ЦП). После полного упрятывания разблокируются прерывания (то есть включается стандартный режим при котором возможно появление прерываний).
Заключительный этап – завершение обработки прерывания.
Вот упрощенная схема обработки прерывания, в реальных системах она может иметь отличия и быть сложнее. Но основные идеи обычно остаются неизменными. Аппарат прерываний позволяет системе фиксировать и корректно обрабатывать различные события, возникающие как внутри системы, так вне нее.
Распознавание прерываний
Модель организации прерываний с использованием «регистра прерываний»
Модель организации прерываний с использованием «вектора прерываний»
Модель организации прерываний с использованием регистра «слово состояние процессора»