Главная » Просмотр файлов » К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003)

К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649), страница 55

Файл №1114649 К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003)) 55 страницаК. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649) страница 552019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 55)

После сохранения в стеке регистра РС и регистра состояния процессора РЯ процессор выполняет действия, эквивалентные команде запрета прерываний. Очень часто для запрета и разрешения прерываний используется один разряд в регистре РЯ, называемый флагом разрешения прерываний (1пгеггирг-епаЫе). Если прерывания разрешены, этот разряд содержит 1, а если запрещены — О. После сохранения в стеке регистра РЯ, в котором разряд разрешения прерываний установлен в 1, процессор очищает этот разряд в своем регистре РЯ, запрещая тем самым дальнейшие прерывания.

При выполнении команды возврата из прерывания содержимое регистра РЯ восстанавливается из стека и флаг разрешения прерываний снова становится равным 1. Это значит, что прерывания разрешены. Третий механизм предполагает, что у процессора имеется специальная линия запроса прерываний и что схема управления прерываниями отвечает только на передний фронт сигнала.

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

Устройство генерирует запрос прерывания. 2. Процессор прерывает текущую выполняемую программу. 3. Последующие прерывания запрещаются, для чего изменяются управляющие биты в регистре РЯ (за исключением схем, в которых линия запроса прерывания управляется фронтом сигнала). 4. Устройство информируется о том, что его запрос распознан, и в ответ сбрасывает сигнал запроса на прерывание.

5. Запрошенное прерыванием действие выполняется программой обработки прерывания. 6, Прерывания разрешаются, выполнение программы возобновляется. 238 Глава 4. Ввод-вывод 4.2.3. Обслуживание нескольких устройств Рассмотрим случай, когда с процессором соединено несколько устройств, способных инициировать прерывания. Поскольку эти устройства функционально независимы, они генерируют прерывания без какой-либо определенной последовательности. Например, устройство Х может запросить прерывание во время обслуживания прерывания от устройства У или несколько устройств могут запросить прерывания одновременно.

В связи с этим возникает ряд вопросов: 1. Как процессор распознает устройство, запросившее прерывание? 2. Если разным устройствам требуются различные программы обработки прерываний, как процессор в каждом случае будет получать начальный адрес соответствующей программы? 3. Можно ли устройствам прерывать процессор, пока обслуживается другое прерывание? 4. Как должны обрабатываться два или несколько одновременно поступивших запросов на прерывания? Существуют разные способы решения этих вопросов, и при выборе компьютера для определенных задач обычно учитывают, какая стратегия в нем используется. Итак, когда процессор получает запрос прерывания по общей линии (рис. 4.6), ему требуется дополнительная информация, для того чтобы определить, какое из устройств активизировало эту линию.

Далее, если два устройства активизировали линию одновременно, нужно выбрать одно из них для обслуживания. Когда первое устройство будет обслужено, наступит очередь второго. Информация, необходимая для идентификации устройства, запросившего данное прерывание, имеется в его регистре состояния. Когда устройство генерирует запрос прерывания, оно устанавливает в 1 один из разрядов в регистре состояния, называемый разрядом 1Щ. Например, сигналы запросов на прерывания от клавиатуры и дисплея устанавливают в 1 биты К1КЯ и П1Щ (см. рис. 4.3).

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

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

Термин векторные прерывания относится ко всех схемам обработки прерываний, основанным на таком подходе. 4.2. Прерывания 239 Устройство, запросившее прерывание, может идентифицировать себя с помощью специального кода, пересылаемого процессору по шине, что позволяет ему, процессору, идентифицировать отдельные устройства даже в том случае, если они используют одну линию запроса прерывания. Этот код способен определять начальный адрес программы обработки прерывания, предназначенной для данного устройства. Длина адреса обычно составляет от 4 до 8 разрядов.

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

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

Если в момент запроса прерывания запрещены, возможны еще большие задержки. В таком случае устройство должно дождаться готовности процессора и лишь после этого поместить данные на шину. Когда процессор готов получить код вектора прерывания, он активизирует линию подтверждения прерывания?ЫТА. Устройство ввода-вывода отвечает на это отправкой кода вектора прерывания и выдачей сигнала 1ХТК. Вложенные лрерываннв В разделе 4.2.1 было сделано предположение, что на время выполнения программы обработки прерывания все прерывания должны быть запрещены, При этом условии запрос одного устройства не сможет вызвать более одного прерывания.

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

В качестве примера рассмотрим работу компьютера, отслеживающего время с помощью таймера 240 Глава 4. Ввод-вывод реального времени — устройства, которое направляет процессору запросы прерываний через фиксированные промежутки времени. По каждому из таких запросов процессор выполняет короткую программу обработки прерывания, увеличивающую хранящийся в памяти набор значений счетчиков, содержащих количество секунд, минут и т. д. Правильное функционирование таймера возможно при условии, что время задержки перед обработкой запроса прерывания значительно меньше временного интервала между запросами.

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

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

Характеристики

Тип файла
PDF-файл
Размер
10,19 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее