рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Множественные прерывания

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

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


 

В такой ситуации возможны два подхода. Первый — это запретить новые прерывания до тех пор, пока обрабатывается предыдущее. Запрет прерываний означает, что процессор может и должен игнорировать любой новый сигнал прерывания. Если в это время происходит прерывание, оно обычно остается в состоянии ожидания, и до него дойдет очередь, когда процессору вновь будет можно обрабатывать прерывания. Таким образом, если во время работы программы пользователя происходит прерывание, на другие прерывания тут же накладывается запрет. После завершения работы программы обработки прерывания запрет снимается, и перед возвратом к ис­полнению прерванной программы процессор проверяет наличие других прерываний. Это удачный и простой подход, при котором прерывания обрабатываются в строго последовательном порядке (рис. 1.12,а).


 

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

При втором подходе учитывается приоритет прерывания, что позволяет приостановить обработку прерывания с более низким приоритетом в пользу прерывания с более высоким приоритетом (рис. 1.12,б). Как пример применения этого подхода рассмотрим систему с тремя устройствами ввода-вывода: принтером, диском и ком­муникационной линией, которым присвоены приоритеты в возрастающей последова­тельности — 2, 4 и 5, соответственно. На рис. 1.13 показана очередность обработки прерываний, поступивших от этих устройств. Программа пользователя запускается в момент времени t = 0. В момент t = 10 происходит прерывание принтера. Информа­ция о программе пользователя заносится в системный стек, и в действие вступает стандартная программа обслуживания прерывания (interrupt service routine — ISR). Во время ее работы в момент t = 15 происходит коммуникационное прерывание. Из-за того, что его приоритет выше, чем приоритет прерывания принтера, процессор приступает к его обработке. ISR принтера прерывается, информация о ее состоянии заносится в стек, а управление передается коммуникационной ISR. Далее, пока эта программа выполняется, происходит прерывание диска (в момент времени t = 20). Так как его приоритет ниже, коммуникационная ISR продолжает свою работу, пока не закончит ее.

 

После выполнения ISR коммуникационной линии (t = 25) восстанавливается предыдущее состояние процессора, т.е. работа с ISR принтера. Однако прежде чем успеет выполниться хоть одна команда этой программы, процессор приступает к обработке прерывания диска, которое обладает более высоким приоритетом, и управ­ление передается ISR диска. Только после завершения этой программы (t = 35) во­зобновляет работу ISR принтера. И, наконец, после завершения обработки этого пре­рывания управление передается программе пользователя.

– Конец работы –

Эта тема принадлежит разделу:

Обзор компьютерных систем

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Множественные прерывания

Что будем делать с полученным материалом:

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

Все темы данного раздела:

Обзор компьютерных систем
1.1. Основные элементы 1.2. Регистры процессора 1.3. Исполнение команд 1.4. Прерывания 1.5. Иерархия запоминающих устройств 1.6. Кэш 1.7. Техно

ОСНОВНЫЕ ЭЛЕМЕНТЫ
На макроуровне компьютер состоит из процессора, памяти и устройств вво­да-вывода; при этом каждый компонент представлен одним или несколькими модулями. Чтобы компьютер мог выполнять свое основное п

РЕГИСТРЫ ПРОЦЕССОРА
В процессоре имеется набор регистров, представляющих собой область па­мяти быстрого доступа» но намного меньшей емкости, чем основная память. Регистры процессора выполняют две функции.

Регистры, доступные пользователю
К доступным регистрам пользователь может обращаться с помощью команд машинного языка. К этим регистрам, как правило, имеют доступ все програм­мы — как приложения, так и системные. Обычно среди дост

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

ИСПОЛНЕНИЕ КОМАНД
Программа, которую выполняет процессор, состоит из набора хранящихся в памяти команд. В простейшем виде обработка команд проходит в две стадии: процессор считывает (выбирает) из памяти, а затем зап

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

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

Прерывания и цикл команды
Благодаря прерываниям во время выполнения операций ввода-вывода процес­сор может быть занят обработкой других команд. Рассмотрим ход процесса, пока­занный на рис. 1.5,б. Как и в предыдущем с

Многозадачность
  Бывает, что для эффективного использования процессора одних прерываний недостаточно. Обратимся, например, к рис. 1.9,6. Если время, которое требуется для выполнения операций ввода-в

ИЕРАРХИЯ ЗАПОМИНАЮЩИХ УСТРОЙСТВ
Конфигурация памяти компьютера в основном определяется тремя пара­метрами: объем, быстродействие, стоимость. Вопрос об объеме решить не так просто. Какой большой ни была бы па­мять, все ра

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

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

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

Программируемый ввод-вывод
  Когда процессору при выполнении программы встречается команда, связанная с вводом-выводом, он выполняет ее, передавая соответствующие команды контроллеру ввода-вывода. При программи

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

Прямой доступ к памяти
Хотя ввод-вывод, управляемый прерываниями, более эффективен, чем про­стой программируемый ввод-вывод, он все еще занимает много процессорного времени для передачи данных между памятью и контроллеро

Локализация
Основой для повышения производительности двухуровневой памяти являет­ся принцип локализации, о котором шла речь в разделе 1.5. Основной постулат состоит в том, что последовательные обращения к памя

Функционирование двухуровневой памяти
Принцип локализации может быть использован для разработки схемы двух­уровневой памяти. Память верхнего уровня (Ml) имеет меньшую емкость, она быст­рее, и каждый ее бит дороже по сравнению с памятью

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

Реализация стека
Стек — это упорядоченный набор элементов, причем при обращении к нему можно получить доступ лишь к одному из элементов. Этот элемент называется вершиной стека. Число элементов стека (его дли

Вызов процедуры и возврат из нее
Общепринятым методом управления вызовами процедур и возвратами из них является использование стека. При обработке вызова процессор помещает в стек адрес возврата. При возврате из проц

Реентерабельные процедуры
Реентерабельная (повторно входимая) процедура является весьма полезной концепцией, особенно успешно применяемой в многопользовательских и много­задачных системах. Реентерабельной называется процеду

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги