Что такое прерывание: типы и его применение

Попробуйте наш инструмент устранения неполадок





ПК используют запросы прерывания для обработки различных аппаратных функций. Аппаратные прерывания были впервые введены UNIVAC 1103 в 1953 году. Первый случай маскирования прерываний был введен IBM 650 в 1954 году. Важно назначать разные IRQ различным аппаратным устройствам для выполнения различных функций. Во время выполнения программы такие устройства, как клавиатура, мышь, требуют сервисов ЦП и генерируют прерывание, чтобы привлечь внимание ЦП и обработать запрошенную службу. Они известны как прерывает . Одна из шин устройства ввода-вывода предназначена для этой цели и известна как процедура обслуживания прерывания (ISR). Они используются в различных приложениях, например, для событий, чувствительных ко времени, передачи данных, выделения аномальных событий, сторожевых таймеров, ловушек и т. Д.

Что такое прерывание?

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




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

Прерывать

Прерывать



Типы прерывания

Они делятся на два основных типа.

Аппаратные прерывания

Электронный сигнал, отправляемый внешним устройством или оборудованием для связи с процессором, указывающий на то, что он требует немедленного внимания. Например, нажатие на клавиатуре или действие с помощью мыши вызывают аппаратные прерывания, заставляющие ЦП читать и обрабатывать их. Таким образом, он поступает асинхронно и в любой момент времени при выполнении инструкции.

Аппаратные прерывания подразделяются на два типа


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

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

Сам процессор запрашивает программное прерывание после выполнения определенных инструкций или при выполнении определенных условий. Это может быть конкретная инструкция, которая запускает прерывание, такое как вызовы подпрограммы, и может запускаться неожиданно из-за ошибок выполнения программы, известных как исключения или ловушки.

Методы запуска

Как правило, эти сигналы предназначены для запуска с использованием либо уровня логического сигнала, либо фронта сигнала. Эти методы бывают двух типов.

Прерывание, инициируемое уровнем

В этом типе входной модуль вызывает прерывание, если установлен уровень обслуживания. Если источник прерывания продолжает утверждаться, когда обработчик прерывания микропрограммного обеспечения обрабатывает его, этот модуль регенерирует и запускает обработчик для повторного вызова. Входы, запускаемые по уровню, не годятся, если остаются подтвержденными в течение более длительного времени.

Прерывание по фронту

Модуль ввода прерывания, инициируемого фронтом, вызывает прерывание, как только он идентифицирует утверждающий фронт - спадающий или нарастающий фронт. Край становится заметным при изменении уровня источника. Этот тип запуска требует немедленных действий, независимо от активности источника.

Срабатывание по краю уровня

срабатывание по фронту уровня

Реализация системы

Прерывания должны применяться к аппаратному обеспечению как отдельный компонент наряду с линиями управления, или интегрированный в объем памяти подсистемы. Когда реализация выполняется на аппаратном уровне, ему нужен программируемый контроллер прерываний (PCI) для соединения между входным контактом ЦП и устройством прерывания. PCI мультиплексирует различные источники прерываний в одну или две линии ЦП. При реализации, относящейся к контроллеру памяти, слот адреса памяти системы отображается непосредственно с прерываниями.

Общие запросы прерывания (IRQ)

С прерыванием по фронту, подтягиванием или опусканием резистор используется для управления линией прерывания. Эта линия передает каждый импульс, производимый каждым устройством. Если импульсы прерывания, генерируемые разными устройствами, происходят близко по времени, ЦП должен вызвать задний фронт импульса, чтобы не пропустить прерывания, после чего ЦП проверяет каждое устройство на предмет запросов на обслуживание. Правильно настроенные материнские платы с отраслевой стандартной архитектурой (ISA) с подтягивающими резисторами, имеющими общие линии IRQ, должны работать нормально. Однако несколько устройств, совместно использующих линию IRQ в старых системах с плохо спроектированным интерфейсом программирования, затрудняют обработку прерываний. С другой стороны, новая системная архитектура, такая как PCI, значительно облегчает эту проблему.

Гибридный

Гибридный тип реализации системы имеет комбинацию сигнализации, запускаемой как фронтом, так и уровнем. Аппаратное обеспечение должно искать фронт, а также проверять, активен ли сигнал в течение определенного периода. Для входа немаскируемого прерывания (NMI) обычно используется гибридный тип, который гарантирует, что ложные прерывания не влияют на систему.

Сообщение - Сигнализируется

Сигнализируемый сообщением запрос прерывания для обслуживания с использованием сигналов устройства путем передачи сообщения через коммуникация канал, например компьютер автобус . Они не используют физическую линию прерывания. PCI Express действует как последовательная шина и используется исключительно в качестве прерываний с сигнализацией сообщений.

Дверной звонок

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

Многопроцессорный IPI

В многопроцессорных системах запрос прерывания от процессора отправляется другому процессору через межпроцессорные прерывания (IPI).

Типичное использование / применение

Это мощные входы, обычно используемые для

  • Обслуживайте аппаратные таймеры, обрабатывайте нажатия клавиатуры и действия мыши
  • Быстро реагируйте на события, зависящие от времени или в реальном времени
  • Передача данных на периферийные устройства и с них
  • Реагирует на высокоприоритетные задачи, такие как сигналы об отключении питания, ловушки и сторожевые таймеры
  • Указывает на ненормальные события процессора
  • Прерывание при отключении питания предвидит потерю питания, что позволяет корректно выключить система
  • Периодические прерывания для отслеживания абсолютного времени

FAQs

1). Почему используются прерывания?

Они используются, чтобы привлечь внимание ЦП к выполнению услуг, запрашиваемых аппаратным или программным обеспечением.

2). Что такое НМИ?

NMI - немаскируемое прерывание, которое не может игнорироваться или отключаться процессором.

3). Какова функция строки подтверждения прерывания?

Процессор посылает устройствам сигнал о том, что он готов к приему прерываний.

4). Опишите аппаратное прерывание. Привести примеры

Он генерируется внешним устройством или оборудованием, например клавишами клавиатуры, или движение мыши вызывает аппаратные прерывания.

5). Опишите программное прерывание.

Он определяется как специальная инструкция, которая вызывает прерывание, например, вызов подпрограммы. Программные прерывания могут возникать неожиданно из-за ошибок выполнения программы.

6). Какое прерывание имеет наивысший приоритет?

  • Немаскируемый край и срабатывание уровня
  • ЛОВУШКА имеет высший приоритет

7). Дайте несколько вариантов использования прерывания

  • Быстро реагируйте на события, зависящие от времени или в реальном времени
  • Передача данных на периферийные устройства и с них
  • Реагирует на высокоприоритетные задачи, такие как сигналы об отключении питания, ловушки и сторожевые таймеры
  • Указывает на ненормальные события процессора

8). Что такое гибридный тип реализации системы?

Гибридный тип реализации системы имеет комбинацию сигнализации, запускаемой как фронтом, так и уровнем. Аппаратное обеспечение должно искать фронт, а также проверять, активен ли сигнал в течение определенного периода.

В этой статье мы поняли важность прерывает и как они используются для выполнения запрошенных услуг. Мы также обсудили, каковы типы, реализация системы и ее использование.