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

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

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

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

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

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

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

4.7. Каждой линии запроса прерывания присваивается свой уровень приоритета. Запросы прерываний, получаемые по этим линиям, направляются на арбитражную схему процессора. Запрос принимается только в том случае, если у него более высокий уровень приоритета, чем у процессора в данный момент. 4.2. Прерывания 241 Арбитражная схема Рис.

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

Причем приоритеты этих устройств будут определяться порядком их опроса. При использовании векторных прерываний выбирается только одно устройство, которое должно отправить свой код вектора прерывания. Широко распространена схема соединения устройств в виде гирляндной мели (рис. 4.8, а). При такой схеме линия запроса прерывания??нТВ является общей для всех устройств, а линия подтверждения прерывания ??я'ТА соединяет устройства в гирляндную цепь, так что сигнал по очереди проходит через каждое из них.

Когда несколько устройств одновременно генерируют запрос прерывания и активизируется линия ?МТВ, процессор отвечает установкой сигнала на линии Гй?ТА в значение 1. Первым этот сигнал получает устройство 1. Если обслуживание ему не требуется, оно пересылает сигнал устройству 2. Если же устройство отправило запрос прерывания в ждет ответа, оно блокирует сигнал 1?х?ТА и помещает свой идентификационный код на линии данных. Таким образом, в гирляндной схеме наивысший приоритет имеет устройство, которое ближе всего с точки зрения схемы подключения расположено к процессору. Для реализации схемы, приведенной на рис. 4.8, а, требуется значительно меньше проводов, чем для отдельных соединений, показанных на рис.

4,7. Главным преимуществом схемы на рис. 4.7 является то обстоятельство, что процессор может выбирать устройства с учетом их приоритетов. Эти схемы можно объединить и в более универсальную структуру. На рис. 4.8, б устройства объединены в группы, каждой из которых назначен свой приоритет. Внутри группы устройства соединены в гирляндную цепь. Такая структура используется во многих компьютерных системах. 242 Глава 4. Ввод-вывод ство л 1ЙТК1 схема рис. 4.8. Схемы приоритетов прерываний: гирленднае цепь [а); группы с приоритетами (В; 4.2.4. Управление запросами устройств До сих пор мы предполагали, что интерфейс устройства ввода-вывода генерирует запрос прерывания, когда устройство готово к операции пересылки данных, например, когда флаг 51Х на рис.

4.3 устанавливается в значение 1. При атом важно гарантировать, что запросы прерываний будут генерироваться только теми устройствами ввода-вывода, которые используются данной программой. Не задействованные на данный момент устройства не должны генерировать запросов прерываний, даже если они готовы выполнить операции ввода-вывода. Таким образом, в интерфейсных схемах устройств ввода-вывода должен бьггь заложен механизм, определяющий, когда можно, а когда нельзя генерировать запросы прерываний. Обычно для зтого используется один разряд, разрешающий или запретдающий прерывания, как, например, флаг разрешения прерывания от клавиатуры КЕМ и флаг разрешения прерывания от дисплея РЕЯ в регистре ОО1т1ТКОЕ на рис.

4.3. Когда такой флаг установлен, устройство генерирует запрос прерывания, как только устанавливается соответствующий флаг в регистре ЯТАТПЯ. Одновременно интерфейсная схема устанавливает разряд К1КЯ или Р1КЯ, указывая таким образом, что данное устройство запросило прерывание. Если флаг разрешения прерывания равен О, интерфейсная схема не генерирует запросов прерываний независимо от того, какой флаг состояния активен. 4.2. Прерывания 243 Существует два независимых механизма управления запросами прерывания. Со стороны устройства решение о том, можно ли ему генерировать запросы прерывания, зависит от состояния разряда разрешения на прерывание.

Со стороны процессора решение о том, будет ли принят запрос на прерывание, зависит либо от разряда разрешения прерываний в регистре РБ, либо от системы приоритетов. Пример 4.3 Рассмотрим процессор, в котором используется векторная схема прерываний.

Начальный адрес подпрограммы обработки прерываний хранится в памяти по адресу 1ХТЧЕС. Прерывания разрешаются установкой разряда разрешения пре- рываний 1Е (9 разряда) в слове состояния процессора. Клавиатура и дисплей, подключенные к этому процессору, имеют регистры состояния и данных, а также управляющий регистр (рис. 4.3). Предположим, что в некоторой точке главной программы требуется прочитать введенную с клавиатуры строку и сохранять составляющие ее символы в после- довательности байтов в памяти компьютера начиная с адреса 1.1ХЕ. Для выпол- нения данной операции с помощью прерываний нам нужно будет инициализиро- вать процесс прерываний. Вот как это делается. 1.

Загружаем начальный адрес програмь.ы обработки прерывания по адресу 1ХТЪ'ЕС, 2. Загружаем адрес 1.1ХЕ в память по адресу РХТК. Программа обработки прерываний будет использовать его в качестве указателя для сохранения вводимых символов в памяти. 3. Разрешаем прерывания от клавиатуры, для чего устанавливаем в 1 второй разряд регистра СОХТК01, 4. Разрешаем прерывания в процессоре, для чего устанавливаем в 1 разряд 1Е в регистре состояния процессора РБ. После такой инициализации в ответ на ввод символа с клавиатуры интер- фейсная схема клавиатуры будет генерировать запрос прерывания. Выполняемая в данный момент программа будет прервана и управление будет передано про- грамме обработки прерываний, которая должна выполнить целый ряд действий. 1. Прочитать из регистра входных данных клавиатуры введенный символ.

В ответ интерфейсная схема удалит свой запрос прерывания. 2. Сохранить символ в памяти компьютера по адресу, указанному в РХТЕ, и увеличить значение РХТК. 3. По достижении конца строки запретить прерывания от клавиатуры и проинформировать об этом программу Ма1п. 4. Выполнить команду возврата из процедуры обработки прерывания. Команды, ответственные за выполнение этой задачи, перечислены на рис. 4.9.

Обнаружив конец строки, программа обработки прерывания очистит разряд КЕХ в регистре СОХТКО(„поскольку дальнейшего ввода не ожидается. А еще она ус- тановит в 0 переменную Е01. (конец строки), которая первоначально имела зна- чение 1. Мы предполагаем, что главная программа периодически проверяет дан- ную переменную, чтобы узнать, готова ли введенная строка для обработки.

244 Глава 4. Ввод-вывод Главная программа №Е11чЕ,Р)чТК Инициализация указателя на буфер Е01. Очистка индикатора конца строки №2,СО)чТКОЕ Разрешение прерываний от клавиатуры №9,РЗ Установка разряда разрешения прерываний э РБ Программа обработки прерывания КЕАГ1 МоуеМи111р1е КО-К1,-(ЗР) Моче Р)чТК,КО Моче Вуге ЭАТАПч, К1 МочеВуге К1,(КО)э Моче КО,Р)чТК СошрагеВуге №$ОЭ,К1 Сохранение в стеке регистров КО и К1 Загрузка указателя адреса Чтение введенного символа н сохранение его э памяти Обновление указателя Проверка того, введен ли символ возврата каретки ВгапсЬФО КТК)ч Моче №1,Е01. ВКС!еаг №2,СОХТКОЕ КТК)ч МоуеМп!11р!е (БР)э,КО-К1 Кегшп (гош шгеггирг Рис.

4.9. Использование процедуры обработки прерываний для чтения строки символов с клавиатуры через регистры, показанные на рис. 4.3 Операции ввода-вывода в компьютерной системе обычно гораздо сложнее, чем в наших простых примерах. Как рассказывается в разделе 4.2.5, для пользовательских программ эти операции выполняет операционная система компьютера. 4.2.5.

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

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

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

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