СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до 12.06.2025

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Презентация № 7 Программные и аппаратные прерывания. Механизм прерываний.

Категория: Прочее

Нажмите, чтобы узнать подробности

Выполните задания из презентации

Ответы отправьте в чат

Оценки после проверки ответов

Просмотр содержимого документа
«Презентация № 7 Программные и аппаратные прерывания. Механизм прерываний.»

Лекция 7. Понятие и классы прерываний. Механизм прерываний. Программные прерывания. 090201 Компьютерные сети и комплексы ОП.07 Операционные системы и среды

Лекция 7. Понятие и классы прерываний. Механизм прерываний. Программные прерывания.

090201 Компьютерные сети и комплексы

ОП.07 Операционные системы и среды

Часть 1 Понятия и классы Прерываний

Часть 1

Понятия и классы Прерываний

Пример реализация PIC Что такое CPU? Какие бывают прерывания?

Пример реализация PIC

  • Что такое CPU?
  • Какие бывают прерывания?
Понятие темы: «Прерывание» PIC (Programmable Interrupt Controller — программируемый контроллер прерываний) — это специальное устройство, которое обеспечивает сигнализацию о прерываниях процессору. Прерывание — это сигнал, сообщающий процессору о наступлении какого-либо события.

Понятие темы: «Прерывание»

  • PIC (Programmable Interrupt Controller — программируемый контроллер прерываний) — это специальное устройство, которое обеспечивает сигнализацию о прерываниях процессору.
  • Прерывание — это сигнал, сообщающий процессору о наступлении какого-либо события.
Асинхронные прерывания Все операции ввода-вывода требуют продолжительного времени на свое выполнение, поэтому выполняются в асинхронном режиме. Т.е. после выполнения инструкции, вызывающей ввод-вывод, процессор не ждет его завершения, а переключается на выполнение других инструкций. Когда ввод-вывод завершается, устройство сигнализирует об этом посредством прерывания. Такое прерывание называется аппаратным (внешние) или же асинхронным.

Асинхронные прерывания

  • Все операции ввода-вывода требуют продолжительного времени на свое выполнение, поэтому выполняются в асинхронном режиме.
  • Т.е. после выполнения инструкции, вызывающей ввод-вывод, процессор не ждет его завершения, а переключается на выполнение других инструкций.
  • Когда ввод-вывод завершается, устройство сигнализирует об этом посредством прерывания. Такое прерывание называется аппаратным (внешние) или же асинхронным.

Синхронные прерывания

  • Внутренние прерывания, называемые также исключениями, происходят синхронно выполнению программы при появлении аварийной ситуации в ходе исполнения некоторой инструкции программы (например, деление на ноль, ошибки защиты памяти и т.д.). Исключения (Exceptions):
  • Внутренние прерывания, называемые также исключениями, происходят синхронно выполнению программы при появлении аварийной ситуации в ходе исполнения некоторой инструкции программы (например, деление на ноль, ошибки защиты памяти и т.д.).
  • Исключения (Exceptions):
  • отказы (faults) — предполагают возможность восстановления, ловушки (traps) — сигналы, которые посылаются после выполнения команды и используются для остановки работы процессора (например, при отладке) cбои (aborts) — не предполагают восстановления
  • отказы (faults) — предполагают возможность восстановления, ловушки (traps) — сигналы, которые посылаются после выполнения команды и используются для остановки работы процессора (например, при отладке) cбои (aborts) — не предполагают восстановления
  • отказы (faults) — предполагают возможность восстановления,
  • ловушки (traps) — сигналы, которые посылаются после выполнения команды и используются для остановки работы процессора (например, при отладке)
  • cбои (aborts) — не предполагают восстановления
Программные прерывания Программные прерывания, происходящие по команде INT, имитируют прерывания, т.е. переход на новую последовательность инструкций. Программное прерывание может вызвать любую из 256 процедур обработки прерываний, указанных в таблице прерываний. Программные прерывания в процессоре Pentium происходят при выполнении инструкции INT с однобайтовым аргументом, в котором указывается вектор прерывания. Общая длина инструкции INT – два байта, исключение составляет инструкция INT 3, которая целиком помещается в один байт – это удобно при отладке программ, когда инструкция INT заменяет первый байт любой команды, вызывая переход на процедуру отладки. Программные прерывания подобно ловушкам обрабатываются после выполнения соответствующей инструкции INT, а возврат происходит в следующую инструкцию.

Программные прерывания

  • Программные прерывания, происходящие по команде INT, имитируют прерывания, т.е. переход на новую последовательность инструкций.
  • Программное прерывание может вызвать любую из 256 процедур обработки прерываний, указанных в таблице прерываний.
  • Программные прерывания в процессоре Pentium происходят при выполнении инструкции INT с однобайтовым аргументом, в котором указывается вектор прерывания.
  • Общая длина инструкции INT – два байта, исключение составляет инструкция INT 3, которая целиком помещается в один байт – это удобно при отладке программ, когда инструкция INT заменяет первый байт любой команды, вызывая переход на процедуру отладки.
  • Программные прерывания подобно ловушкам обрабатываются после выполнения соответствующей инструкции INT, а возврат происходит в следующую инструкцию.
Дайте определение … Прерывание – это ---------------------------------------------------------------------------------------------------------

Дайте определение …

  • Прерывание – это
  • ---------------------------------------------------------------------------------------------------------
Вставьте пропущенные слова Когда ввод-вывод завершается, устройство сигнализирует об этом посредством прерывания. Такое прерывание называется ___________ (жестким) или же асинхронным.

Вставьте пропущенные слова

  • Когда ввод-вывод завершается, устройство сигнализирует об этом посредством прерывания. Такое прерывание называется ___________ (жестким) или же асинхронным.
Часть 2 Механизм прерываний

Часть 2

Механизм прерываний

Общая схема системы обработки прерываний Что такое обработчик прерываний? Что такое PIC?

Общая схема системы обработки прерываний

  • Что такое обработчик прерываний?
  • Что такое PIC?
Механизм прерываний Механизм прерываний поддерживается аппаратными средствами компьютера и программными средствами операционной системы. Существуют два основных способа, с помощью которых шины выполняют прерывания: векторный (vectored) и опрашиваемый (polled). В случае векторных прерываний в процессор передается также информация о начальном адресе программы обработки возникшего прерывания – обработчика прерываний.

Механизм прерываний

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

Механизм прерываний (продолжение)

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

Механизм прерываний (продолжение 2)

  • При использовании опрашиваемых прерываний процессор получает от запросившего прерывания устройства только информацию об уровне приоритета прерывания.
  • Механизм прерываний поддерживает приоритезацию ( относительную – выбирается запрос с наивысшим приоритетом и обслуживается до завершения, если приостанавливается процедура обработки прерываний – это приоритезацию с абсолютными приоритетами) и маскирование (обслуживание некоторого запроса все запросы с равным или более низким приоритетом маскируются, то есть не обслуживаются) прерываний.
Регистр процессора - IDT В архитектуре х86 предусмотрено 256 синхронных прерываний, из которых первые 32 — это зарезервированные исключения, остальные могут быть произвольно назначены ОС. Каждое прерывание имеет уникальный номер, который используется как смещение в таблице обработчиков прерываний. Эта таблица хранится в памяти компьютера и на ее начало указывает специальный регистр процессора - IDT (Interrupt Descriptor Table).

Регистр процессора - IDT

  • В архитектуре х86 предусмотрено 256 синхронных прерываний, из которых первые 32 — это зарезервированные исключения, остальные могут быть произвольно назначены ОС.
  • Каждое прерывание имеет уникальный номер, который используется как смещение в таблице обработчиков прерываний.
  • Эта таблица хранится в памяти компьютера и на ее начало указывает специальный регистр процессора - IDT (Interrupt Descriptor Table).
Обработчик прерываний При поступлении сигнала о прерывании его нужно обработать как можно быстрее, для того, чтобы дать возможность производить ввод-вывод другим устройствам. Поэтому процессор сразу переключается в режим обработки прерывания. По номеру прерывания процессор находит процедуру - обработчик в таблице IDT и передает ей управление. Обработчик прерывания, как правило, разбит на 2 части: верхнюю (top half) и нижнюю (bottom half).

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

  • При поступлении сигнала о прерывании его нужно обработать как можно быстрее, для того, чтобы дать возможность производить ввод-вывод другим устройствам.
  • Поэтому процессор сразу переключается в режим обработки прерывания.
  • По номеру прерывания процессор находит процедуру - обработчик в таблице IDT и передает ей управление.
  • Обработчик прерывания, как правило, разбит на 2 части: верхнюю (top half) и нижнюю (bottom half).
Верхняя часть обработчика прерываний Верхняя часть выполняет только тот минимальный набор операций, который необходим, чтобы передать управление дальше. Этот набор включает: подтверждение прерывания (которое разрешает приход новых прерываний) точное определение устройства, от которого пришло прерывание инициализация процедуры обработки нижней части и постановка ее в очередь на исполнение подтверждение прерывания (которое разрешает приход новых прерываний) точное определение устройства, от которого пришло прерывание инициализация процедуры обработки нижней части и постановка ее в очередь на исполнение

Верхняя часть обработчика прерываний

  • Верхняя часть выполняет только тот минимальный набор операций, который необходим, чтобы передать управление дальше. Этот набор включает:
  • подтверждение прерывания (которое разрешает приход новых прерываний) точное определение устройства, от которого пришло прерывание инициализация процедуры обработки нижней части и постановка ее в очередь на исполнение
  • подтверждение прерывания (которое разрешает приход новых прерываний)
  • точное определение устройства, от которого пришло прерывание
  • инициализация процедуры обработки нижней части и постановка ее в очередь на исполнение
Нижняя часть обработчика прерываний Процедура нижней части обработчика выполняет копирование данных из буфера устройства в память.

Нижняя часть обработчика прерываний

  • Процедура нижней части обработчика выполняет копирование данных из буфера устройства в память.
Вопросы: … Что такое обработчик прерываний? Контроллер прерываний Процедура-обработчик. Регистр процессора Контроллер прерываний Процедура-обработчик. Регистр процессора Что такое PIC? Контроллер прерываний. Процедура-обработчик Регистр процессора Контроллер прерываний. Процедура-обработчик Регистр процессора

Вопросы: …

  • Что такое обработчик прерываний?
  • Контроллер прерываний Процедура-обработчик. Регистр процессора
  • Контроллер прерываний
  • Процедура-обработчик.
  • Регистр процессора
  • Что такое PIC? Контроллер прерываний. Процедура-обработчик Регистр процессора
  • Контроллер прерываний.
  • Процедура-обработчик
  • Регистр процессора
Спасибо за внимание !!!

Спасибо за внимание !!!


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!