Главная страница
Навигация по странице:

  • Запрос Источник Приоритет

  • Номер Описание

  • Понятие прерывания 2 Цель и механизм


    Скачать 58.82 Kb.
    НазваниеПонятие прерывания 2 Цель и механизм
    Дата29.03.2023
    Размер58.82 Kb.
    Формат файлаdocx
    Имя файлаlection4.docx
    ТипДокументы
    #1022852
    страница9 из 10
    1   2   3   4   5   6   7   8   9   10

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


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

    В отличие от программных прерываний, вызываемых запланировано программой или драйвером, аппаратные прерывания всегда происходят асинхронно по отношению к

    выполняющимся программам. Кроме того, может возникнуть одновременно сразу несколько прерываний!

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

    Система приоритетов реализована на двух микросхемах Intel 8259 (или аналогичных). Каждая микросхема является контроллером прерывания и обслуживает до восьми приоритетов. Микросхемы можно объединять (каскадировать) для увеличения количества уровней приоритетов в системе.

    Уровни приоритетов обозначаются сокращенно IRQ0 - IRQ15 .

    В компьютере типа IBM PC/XT была установлена только одна микросхема контроллера прерывания. Приоритеты линейно зависели от номера уровня прерывания. Прерывание IRQ0 соответствовало самому высокому приоритету, за ним шли прерывания IRQ1 , IRQ2

    , IRQ3 и так далее.

    Прерывание IRQ2 в компьютерах IBM PC/XT было зарезервировано для дальнейшего расширения системы. В компьютерах IBM PC/AT прерывание IRQ2 стало использоваться для каскадирования двух контроллеров прерывания 8259. Добавленные приоритетные уровни прерываний IRQ8 - IRQ15 в этих компьютерах располагаются по приоритету между прерываниями IRQ1 и IRQ3 .
    Справочно:
    Приведем список аппаратных прерываний, расположенных в порядке убывания приоритета:


    Таблица 1. Источники аппаратных прерываний в IBM PC AT

    Запрос

    Источник

    Приоритет

    Номер вектора

    NMI

    Ошибка памяти или другая неисправимая ошибка в системе




    02h

    IRQ0

    Системный таймер

    1

    08h

    IRQ1

    Клавиатура

    2

    09h

    IRQ8

    Часы реального времени

    3

    70h

    IRQ9

    Устройство на шине ISA

    4

    71h

    IRQ10

    Устройство на шине ISA

    5

    72h

    IRQ11

    Устройство на шине ISA

    6

    73h

    IRQ12

    Устройство на шине ISA

    7

    74h

    IRQ13

    Ошибка сопроцессора

    9

    75h

    IRQ14

    IDE контроллер

    9

    76h

    IRQ15

    Устройство на шине ISA

    10

    77h

    IRQ3

    Последовательный порт (COM2 или COM4)

    11

    0Bh

    IRQ4

    Последовательный порт (COM1 или COM3)

    12

    0Ch

    IRQ5

    Параллельный порт (LPT2) или IDE контроллер (вторичный)

    13

    0Dh

    IRQ6

    Контроллер дисковода

    14

    0Eh

    IRQ7

    Параллельный порт (LPT1)

    15

    0Fh




    Номер

    Описание


    8

    IRQ0 - прерывание интервального таймера, возникает 18,2 раза в секунду

    9

    IRQ1 - прерывание от клавиатуры


    A

    IRQ2 - используется для каскадирования аппаратных прерываний

    70

    IRQ8 - прерывание от часов реального времени

    71

    IRQ9 - прерывание от контроллера EGA

    72

    IRQ10 - зарезервировано

    73

    IRQ11 - зарезервировано

    74

    IRQ12 - зарезервировано

    75

    IRQ13 - прерывание от

    арифметического сопроцессора

    76

    IRQ14 - прерывание от контроллера жесткого диска

    77

    IRQ15 - зарезервировано

    B

    IRQ3 - прерывание асинхронного порта COM2

    C

    IRQ4 - прерывание асинхронного порта COM1


    D

    IRQ5 - прерывание от контроллера жесткого диска (только в компьютерах IBM PC/XT)

    E

    IRQ6 - прерывание генерируется контроллером НГМД

    F

    IRQ7 - прерывание принтера


    Из этого списка видно, что самый высокий приоритет у прерываний от интервального таймера, затем идет прерывание от клавиатуры. Наименьший приоритет имеет прерывание принтера.

    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта