Управление прерываниями

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

Рубрика Программирование, компьютеры и кибернетика
Вид лекция
Язык русский
Дата добавления 08.09.2013
Размер файла 42,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Лекция

Управление прерываниями

1. Определение. Необходимость и использование прерываний. Типы прерываний

прерывание команда обработчик сигнал

Прерывание - сигнал, заставляющий ЭВМ изменить обычный порядок выполнения потока команд.

Вызов прерывания похож на вызов подпрограммы.

Отличия:

1) вызов прерывания скрыт от текущего процесса

2) чаще привилегии процесса и обработчика отличаются

Без использования прерываний при работе с ПУ (rolling - периодический опрос) при слишком частом или редком опросе возникают потери либо процессорного времени, либо ПУ времени. Прерывания не имеют такого недостатка.

Прерывания можно разделить на 2 класса:

внутренние

внешние

Внешние - (асинхронные) при I/O срабатывании, таймеры и т.д.

Внутренние возникают при внештатных ситуациях (переполнение, div 0, неверная команда и т.д.).

В некоторых ситуациях могут существовать привилегированные команды доступные только ОС. Доступ к ним можно получить при помощи программного вызова прерывания.

2. Процессорная обработка прерываний

Процесс можно разделить на 5 стадий:

Необходимость решить, когда нужно дисксировать прерывания:

Немедленно (без ожидания завершения текущей команды). Хорошо для критичных по времени событий.

Просто, но нехорошо. Может быть промежуточный вариант: часть так, часть иначе.

Запоминается состояние текущего процесса, которое определяется счетчиком команд, словом состояния машины, процессора и т.д. На некоторых ЭВМ они организуются аппаратно. Если нужно организовать сохранение больших объемов: часть аппаратно, а часть программно.

В счетчик команд заносить фиксированный адрес.

Выполнение обработчика.

Возобновление нормальной работы.

Обычно 3 первые шага реализуются аппаратно, а 4 и 5 програмно.

Обработчики могут быть самыми разными по сложности от установки флага события до повторного чтения данных с ВЗУ при ошибке. Некоторые прерывания должны обрабатываться быстро, поэтому их обработчики должны постоянно находится в ОЗУ. Если их размер велик или/и их много, то будет переход памяти. В этом случае обработчик делится на 2 части - резидентную и транзитную, которые на диске.

3. Многократные прерывания

Что делать, если срабатывают одновременно 2 прерывания, или во время обработки первого срабатывает второе. Существует 2 подхода:

исходя из определения нелогично прерывать обработчик для обработки для другого прерывания. Однако это нехорошо для критичных по времени обработчиков. Например, при обработке ошибке I/O можно многократно потерять информацию от системных часов.

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

Такие вложенные прерывания называют многократными. Здесь есть недостатки. Если при переходе по обработчику вся информация 2-й стадии предыдущего пункта сохранилась в стеке текущего процесса, он может переполниться и кроме того это “дыра” в системе защиты, позволяющая повысить свои привилегии. Поэтому данные при переходе сохраняются в специальной области памяти. Но для многократных прерываний каждый следующий обработчик будет затирать предыдущие данные.

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

Видов прерываний может быть много, и выделять каждому из них свой приоритет, особенно когда многие из них похожи, нецелесообразно. Поэтому их объединяют в классы. Например: 1-й вызов программой ядра (ОС), 2-й программой прерываний, 3-й от таймера (прерывный таймер - аппаратный счетчик с занесением, с каждым тиком из него вычитается 1 и при 0 прерывается ), 4-й прерывание I/O. Приоритет понижается с ростом номера класса. В этом примере приоритет определяет PSP, который часто состоит из отдельных полей.

MODE - однобитовое поле, которое определяет в каком режиме находится процессор.

ID - идентификатор текущего процесса.

KODE - код прерывания, для каждого класса содержит свою интерпретацию (1-й номер запроса, 2-й номер ошибки, 4-й номер перифирийного устройства).

MASK - 4 бита (в нашем примере) каждый должен соответствовать одному классу прерывания. Если бит в 1 - прерывание данного класса не распознается. При этом MASK распознает приоритет. В пределах одного приоритета необходимо помнить о существовании других прерываний, особенно для данных обработки или обработки 2 го уровня. В этом случае обработчик может изменять маску.

4. Система прерываний в ПК IBM

Аппаратные Внутренние Программные

Маскируемые Немаскируемые

1-е обрабатывает 8259А NMI

Каждый контроллер обслуживает 8 маскируемых аппаратных прерываний. За каждым прерыванием закреплен свой вектор и приоритет:

INT8 - IRQ0

INT9 - IRQ1 клавиатура

INT0А - IRQ2 видеоадаптер

INT0В - IRQ3 COM2

INT0C - IRQ4 COM1

INT0D - IRQ5 HD1

INT0E - IRQ6 FD

INT0F - IRQ7 LPT1

В АТ прерывания включены каскадно:

INT70н - IRQ8 - RTC

INT70н - IRQ9

INT70н - IRQ10 резерв

INT70н - IRQ11

INT70н - IRQ12 мышь PS/2

INT70н - IRQ13 ошибка сопроцессора

INT70н - IRQ14 HD

INT70н - IRQ15 резерв

Все можно запретить CLI.

Кроме того можно замаскировать отдельные аппаратные прерывания IMR для Slave port -71H для Master -- 21H.

Приоритет и вектора прерываний можно изменять, программируя контроллер 8259А.

INT 2 -- от NMI (ЦП) запретить нельзя. Используется для отслеживания системных ошибок: сбой по питанию, сбой паритета памяти и т.д. иногда используется отладчиками.

Размещено на Allbest.ru

...

Подобные документы

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

    реферат [995,8 K], добавлен 22.06.2011

  • Принципы организации и особенности обработки прерываний на основе контроллера 8259A. Общая характеристика аппаратных средств системы прерываний PIC (Programmable Interrupt Controller). История разработки и порядок работы с технологией Plag and Play.

    курсовая работа [305,1 K], добавлен 29.07.2010

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

    реферат [192,2 K], добавлен 10.11.2014

  • Прерывание и его природа. Контролер прерываний. Обработка прерываний в реальном режиме. Характеристики реального режима работы микропроцессора. Схема обработки прерываний в реальном режиме. Написание собственного прерывания. Разработка в общем случае.

    доклад [347,0 K], добавлен 22.09.2008

  • Принципы и алгоритмы обработки прерываний. Набор действий по реализации этапов обработки прерываний микропроцессора. Разработка структуры и алгоритма резидентной программы. Реализация программы на языке Ассемблер, методы её отладки и тестирования.

    курсовая работа [348,7 K], добавлен 22.12.2014

  • Проектирование механизма обработки прерываний. Контроллер прерываний Intel 82C59A. Ввод-вывод по прерыванию. Программируемый контроллер интерфейса Intel 82C55A. Роль процессора в обработке прерывания ввода-вывода. Обзор алгоритма обработки прерывания.

    контрольная работа [8,0 M], добавлен 19.05.2010

  • Структура процессора Pentium, суперскалярность, основные особенности архитектуры. Организация конвейера команд, правила объединения. Дополнительные режимы работы процессора. Источники аппаратных прерываний. Формат ММХ команды. Процессор Pentium 4, схемы.

    лекция [4,0 M], добавлен 14.12.2013

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

    реферат [29,1 K], добавлен 13.11.2009

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

    методичка [104,8 K], добавлен 02.12.2009

  • Написание алгоритма приема 10 пакетов по 12 байт из последовательного порта и размещение их в памяти PRAM. Создание управляющего блока PTSCB для режима блоковой передачи данных. Аппаратная обработка прерываний в режима аналого-цифрового сканирования.

    практическая работа [2,0 M], добавлен 25.04.2012

  • Генерация звука и обработка прерываний. Создание системы с использованием средств языка программирования Ассемблер. Установка и чтение таймера. Программирование микросхемы таймера 8253/8254. Максимальный программируемый интервал времени для системы.

    реферат [21,4 K], добавлен 10.05.2011

  • Организация центрального процессора. Подключение интерфейсных программируемых БИС. Методы адресации и примеры команд. Программирование таймера и контроллера прерываний. Программная модель микропроцессорной системы. Программирование на языке ассемблера.

    реферат [82,6 K], добавлен 05.12.2010

  • Исследование приемов управления работой печатающих устройств в MS-DOS. Изучение принципа действия матричного принтера, механизма печати литер, команд, позволяющих осуществить вывод символов на печать. Анализ реализации программных кодов на языке BASIC.

    курсовая работа [825,7 K], добавлен 23.06.2011

  • Архитектура микроконтроллеров семейства Mega. Организация памяти. Способы адресации памяти данных. Энергонезависимая память данных. Таблица векторов прерываний. Счетчик команд и выполнение программы. Абсолютный вызов подпрограммы. Сторожевой таймер.

    дипломная работа [213,9 K], добавлен 02.04.2009

  • Характеристика регистров памяти как устройств временного хранения данных. Различия между прерываниями и исключениями команд, их обработка. Вычисление производительности ЭВМ. Программа с использованием отложенного запуска команд. Виды компьютерных сетей.

    контрольная работа [24,9 K], добавлен 09.11.2010

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

    курсовая работа [207,2 K], добавлен 12.08.2011

  • Изучение механизма работы программных инструментов как трудная часть отладочного процесса. Отладчики пользовательского режима, их основные типы. Автоматический запуск приложений в отладчике. Быстрые клавиши прерываний. Отладка ядра операционной системы.

    реферат [260,0 K], добавлен 25.11.2016

  • Создание приемника команд RC5 для персонального компьютера на основе микроконтроллера ATmega8. Особенности написания файла прошивки и симулирование устройства. Порядок выполнения сборки собственной схемы и характеристика полученного микроконтроллера.

    курсовая работа [2,0 M], добавлен 24.11.2013

  • Изучение элементов структуры микропроцессора i80386 и алгоритмов выполнения множества команд. Разработка проекта структуры АЛУ и структуры микро-ЭВМ на базе гипотетического процессора. Описание и создание программы эмуляции по выполнению заданных команд.

    курсовая работа [484,4 K], добавлен 07.09.2012

  • Файлы IO.SYS и MSDOS.SYS; командный процессор DOS. Базовая система ввода-вывода, загрузчик, диалог пользователя с DOS, команды. Недостатки языка програмирования с++. Создание и описание программы, позволяющей работать с файлами в среде DOS, ее алгоритм.

    курсовая работа [24,4 K], добавлен 02.12.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.