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

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

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

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

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

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

Лекция

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

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

Каждый контроллер обслуживает 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

...

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

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

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

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

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

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

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

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

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

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

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

  • Выбор и обоснование направления проектирования. Каскадное включение контроллеров. Интерфейс программы, шифратор приоритетов. Неадресуемый конец прерывания. Расчет затрат на оборудование и материалы, отчислений на страховые взносы, на заработную плату.

    дипломная работа [1,4 M], добавлен 29.12.2013

  • Сущность и структура ПК. Техпроцесс в центральных и графических процессорах. Тенденции современного рынка процессоров. Понятие прерывания и основные виды прерываний. Модели различных компаний производителей, их основные характеристики и достоинства.

    курсовая работа [81,5 K], добавлен 07.11.2014

  • Разновидности и задачи подпрограмм в языке Турбо Паскаль, их локальные и глобальные параметры. Использование процедуры для выполнения законченной последовательности действий. Формат объявления функции, особенности рекурсивного оформления подпрограммы.

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

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

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

  • Подключение периферийных устройств к ЭВМ. Синхронизация выполнения программы с внешними процессами. Прерывания. Реализация механизма прерывания в х86. Прямой доступ к памяти. Шины, магистраль PCI. Процесс загрузки компьютера. Клавиатура, системный таймер.

    презентация [7,1 M], добавлен 14.12.2013

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

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

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

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

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

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

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

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

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

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

  • Предотвращение или выявление ошибочных ситуаций в ходе выполнения программы. Стандартная обработка исключений, программные средства. Назначение программных блоков try, catch, final. Главные особенности конфигурирования исключений с помощью флажков.

    лекция [387,6 K], добавлен 09.12.2013

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

    курсовая работа [616,8 K], добавлен 07.07.2013

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

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

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

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

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

    контрольная работа [2,2 M], добавлен 18.04.2013

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