Ввод-вывод с использованием прерываний - раздел Компьютеры, Обзор компьютерных систем Проблема Программируемого Ввода-Вывода Состоит В Том, Что Процессор Должен До...
Проблема программируемого ввода-вывода состоит в том, что процессор должен долго ждать, пока контроллер ввода-вывода будет готов читать или принимать новые данные. Во время ожидания процессор должен постоянно производить опрос, чтобы узнать состояние модуля ввода-вывода. В результате значительно падает производительность всей системы.
При альтернативном подходе процессор может передать контроллеру команду ввода-вывода, а затем перейти к выполнению другой полезной работы. Затем, когда контроллер ввода-вывода снова будет готов обмениваться данными с процессором, он прервет процессор и потребует, чтобы его обслужили. Процессор передает ему новые данные, а затем возобновляет прерванную работу.
Рассмотрим для начала, как все это выглядит с точки зрения контроллера ввода-вывода. Сначала он получает от процессора команду READ и переходит к считыванию данных из связанного с ним периферийного устройства. Как только эти данные поступят в регистры контроллера, он посылает процессору по шине управления сигнал прерывания и ожидает, когда процессор запросит эти данные. При поступлении запроса контроллер передает данные по информационной шине и переходит в состояние готовности для новых операций ввода-вывода.
С точки зрения процессора передачавходных данных выглядит следующим образом. Процессор генерирует команду READ, а затем сохраняет содержимое программного счетчика и других регистров, соответствующих выполняемой программе, и переходит к выполнению других операций (например, он в одно и то же время может выполнять несколько различных программ). В конце каждого цикла команды процессор проверяет наличие прерываний (см. рис. 1.7). При поступлении прерывания от контроллера ввода-вывода процессор сохраняет информацию о выполняющейся в данный момент задаче и выполняет программу, обрабатывающую прерывания. При этом он считывает слова из контроллера ввода-вывода и заносит их в память. Затем он восстанавливает контекст программы,от которой поступила команда ввода-вывода и продолжает работу.
Использование для чтения блока данных ввода-вывода, управляемого прерываниями. показано на рис. 1.19,б. Ввод-вывод с прерываниями намного эффективнее, чем программируемый ввод-вывод, так как при нем исключается ненужное ожидание. Однако этот процесс все еще потребляет много процессорного времени, потому что каждое слово, которое передается из памяти в модуль ввода-вывода или в обратном направлении, должно пройти через процессор.
Почти в каждой компьютерной системе есть несколько контроллеров ввода-вывода, поэтому нужны механизмы, позволяющие процессору определить, какое из устройств вызвало прерывание, а если прерывание одно, то решить, какоеизних будет обрабатываться в первую очередь. В некоторых системах имеется несколько шин прерываний, так что каждый контроллер ввода-вывода посылает сигнал по своей шине, причем у каждой шины — свой приоритет. Есть и другой вариант, когда прерывающая шина всего одна, но тогда используются дополнительные шины, по которым передаются адреса устройств. В этом случае каждому устройству также присваиваются разные приоритеты.
Таблица Классы прерываний Программнное прерывание Прерывание по таймеру Прерывание... Прерывания в основном предназначены для повышения эффективности ра боты Например большинство устройств ввода вывода...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:
Ввод-вывод с использованием прерываний
Что будем делать с полученным материалом:
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Обзор компьютерных систем
1.1. Основные элементы
1.2. Регистры процессора
1.3. Исполнение команд
1.4. Прерывания
1.5. Иерархия запоминающих устройств
1.6. Кэш
1.7. Техно
ОСНОВНЫЕ ЭЛЕМЕНТЫ
На макроуровне компьютер состоит из процессора, памяти и устройств ввода-вывода; при этом каждый компонент представлен одним или несколькими модулями. Чтобы компьютер мог выполнять свое основное п
РЕГИСТРЫ ПРОЦЕССОРА
В процессоре имеется набор регистров, представляющих собой область памяти быстрого доступа» но намного меньшей емкости, чем основная память. Регистры процессора выполняют две функции.
Регистры, доступные пользователю
К доступным регистрам пользователь может обращаться с помощью команд машинного языка. К этим регистрам, как правило, имеют доступ все программы — как приложения, так и системные. Обычно среди дост
Управляющие регистры и регистры состояния
Для контроля над работой процессора используются различные регистры. В большинстве машин эти регистры в основном не доступны пользователю. Некоторые из них могут быть доступны для машинных команд,
ИСПОЛНЕНИЕ КОМАНД
Программа, которую выполняет процессор, состоит из набора хранящихся в памяти команд. В простейшем виде обработка команд проходит в две стадии: процессор считывает (выбирает) из памяти, а затем зап
Выборка и исполнение команды
В начале каждого цикла процессор выбирает из памяти команду. Обычно адрес ячейки, из которой нужно извлечь очередную команду, хранится в программном счетчике (PC), Если не указано иное, после извл
Функции ввода-вывода
До сих пор мы рассматривали операции компьютера, управляемые процессором, основное внимание обращая на взаимодействие процессора и памяти. О роли компонентов ввода-вывода было упомянуто лишь вскол
Прерывания и цикл команды
Благодаря прерываниям во время выполнения операций ввода-вывода процессор может быть занят обработкой других команд. Рассмотрим ход процесса, показанный на рис. 1.5,б. Как и в предыдущем с
Множественные прерывания
До сих пор нами рассматривался случай возникновения одного прерывания. Представим себе ситуацию, когда может произойти несколько прерываний. Например, программа получает данные по коммуникационной
Многозадачность
Бывает, что для эффективного использования процессора одних прерываний недостаточно. Обратимся, например, к рис. 1.9,6. Если время, которое требуется для выполнения операций ввода-в
ИЕРАРХИЯ ЗАПОМИНАЮЩИХ УСТРОЙСТВ
Конфигурация памяти компьютера в основном определяется тремя параметрами: объем, быстродействие, стоимость.
Вопрос об объеме решить не так просто. Какой большой ни была бы память, все ра
Обоснование
При выполнении каждого цикла команды процессор по крайней мере один раз обращается к памяти, чтобы произвести выборку команды. Часто это происходит повторно, причем возможны случаи нескольких повто
Принципы работы кэша
Кэш предназначен для того, чтобы приблизить скорость доступа к памяти к максимально возможной, и в то же время обеспечить большой объем памяти по цене более дешевых типов полупроводниковой памяти.
Внутреннее устройство кэша
В данной книге внутреннее устройство кэша подробно не рассматривается. В этом разделе кратко перечислены лишь основные его элементы. В дальнейшем читатель сможет убедиться, что при изучении устройс
Программируемый ввод-вывод
Когда процессору при выполнении программы встречается команда, связанная с вводом-выводом, он выполняет ее, передавая соответствующие команды контроллеру ввода-вывода. При программи
Прямой доступ к памяти
Хотя ввод-вывод, управляемый прерываниями, более эффективен, чем простой программируемый ввод-вывод, он все еще занимает много процессорного времени для передачи данных между памятью и контроллеро
Локализация
Основой для повышения производительности двухуровневой памяти является принцип локализации, о котором шла речь в разделе 1.5. Основной постулат состоит в том, что последовательные обращения к памя
Функционирование двухуровневой памяти
Принцип локализации может быть использован для разработки схемы двухуровневой памяти. Память верхнего уровня (Ml) имеет меньшую емкость, она быстрее, и каждый ее бит дороже по сравнению с памятью
Производительность
Рассмотрим некоторые параметры, характеризующие механизм двухуровневой Памяти. Сначала рассмотрим стоимость, которая выражается следующим образом:
Реализация стека
Стек — это упорядоченный набор элементов, причем при обращении к нему можно получить доступ лишь к одному из элементов. Этот элемент называется вершиной стека. Число элементов стека (его дли
Вызов процедуры и возврат из нее
Общепринятым методом управления вызовами процедур и возвратами из них является использование стека. При обработке вызова процессор помещает в стек адрес возврата. При возврате из проц
Реентерабельные процедуры
Реентерабельная (повторно входимая) процедура является весьма полезной концепцией, особенно успешно применяемой в многопользовательских и многозадачных системах. Реентерабельной называется процеду
Хотите получать на электронную почту самые свежие новости?
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Новости и инфо для студентов