2011. Машбук (1114722), страница 14
Текст из файла (страница 14)
При возникновении прерывания послесохранения регистров осуществляется передача прерывания по адресу, соответствующемуномеру прерывания.ОЗУПрерывание_№ 2ВекторпрерыванийЗапуск программыобработчикапрерывания №2Адрес программыобработки прерывания № 1Адрес программыобработки прерывания № 2Адрес программыобработки прерывания № 3.........Рис. 31. Модель организации прерываний с использованием «вектора прерываний».44Третья модель — использование регистра слова состояния процессора(Рис. 32). В этом случае в данном регистре резервируется часть разрядов – поле, в котороепередаётся номер возникшего прерывания.
В этой модели управление передается нафиксированный адрес входа в программу обработки прерываний.Ошибка!Рис. 32. Модель организации прерываний с использованием регистра слова состоянияпроцессора.Теперь рассмотрим этап программной обработки прерывания. Управлениепередано на адрес программы ОС, занимающейся обработкой прерывания. При входе вэту точку часть ресурсов ЦП, используемых программами, освобождена (в результатеаппаратного упрятывания регистров). Поэтому будет запущена программа ОС, котораяможет использовать только освобожденные ресурсы ЦП (перечень доступных в этотмоментрегистров —характеристикааппаратуры).Выполняетсяследующаяпоследовательность действий (Рис.
33).Рис. 33. Программный этап обработки прерываний.1.Анализ и предварительная обработка прерывания. Происходитидентификация типа прерывания, определяются причины.Если прерывание «короткое», т.е. обработка не требует дополнительныхресурсов ЦП и времени, то прерывание обрабатывается, выключается режим блокировкипрерываний, восстанавливается состояние процессора, соответствующее точкепрерывания исходной программы, и передается управление на прерванную точку.Примером подобного «короткого» прерывания может служить прерывание от таймера длякоррекции времени в системе. Если прерывание требует использования всех ресурсов ЦП,то переходим к следующему шагу.Если прерывание является «фатальным» для программы, т.е. после этогопрерывания продолжить выполнение программы невозможно (например, в программепроизошло деление на ноль или обращение к несуществующему в ОЗУ адресу), то45выключается режим блокировки прерываний, и управление передается в ту часть ОС,которая прекратит выполнение прерванной программы.2.«Полное упрятывание».
Если прерывание не короткое и не фатальное(например, обращение к области памяти, которая закрыта для обращения – например,чтение информации с внешнего носителя), то для обработки такого прерыванияпотребуются ресурсы. Поэтому осуществляется полное сохранение контекста (т.е. всехрегистров ЦП, использовавшихся прерванной программой) в специальную программнуютаблицу. В данную таблицу копируется содержимое регистровой или КЭШ-памяти,содержащей сохраненные значения ресурсов ЦП, а также копируются все оставшиесярегистры ЦП, используемые программно, но не сохраненные аппаратно. После данногошага программе обработки прерываний становятся доступны все ресурсы ЦП, апрерванная программа получает статус ожидания завершения обработки прерывания.
Вобщем случае, программ, ожидающих завершения обработки прерывания, может бытьпроизвольное количество.3.До данного момента времени все действия происходили в режимеблокировки прерываний. Почему? Потому что режим блокировки прерываний —единственная гарантия того, что не придет новое прерывание, и при его обработке непотеряются данные, необходимые для продолжения прерванной программы (регистры,режимы, таблицы ЦП). После полного сохранения регистров происходит снятие режимаблокировки прерываний, то есть включается стандартный режим работы процессора, прикотором возможно появление прерываний.4.Операционная система завершает обработку прерывания.Мы рассмотрели модельную, упрощенную схему обработки прерывания: вреальных системах она может иметь отличия и быть существенно сложнее.
Но основныеидеи обычно остаются неизменными. Аппарат прерываний позволяет системефиксировать и корректно обрабатывать различные события, возникающие как внутрикомпьютера, так и вне него.1.2.4 Внешние устройстваВнешние устройства во многом определяют эксплуатационные характеристики,как компьютера, так и вычислительной системы в целом. Размер экрана монитора, объеми производительность магнитных дисков, наличие печатающих устройств, модемов, ит.д. — характеристики компьютера, на которые зачастую в первую очередь обращаетвнимание массовый пользователь.
Значимость внешних устройств компьютера ввычислительной системе возрастала по мере развития сфер применения вычислительнойтехники. Основным применением первых компьютеров было численное решение задачмоделирования физических процессов, и для этих целей было достаточным иметь вкомпьютере высокопроизводительный (по меркам того времени) процессор, достаточныйдля решения задач данного класса объем оперативной памяти, простейшие устройствапечати и ввода данных, внешнее запоминающее устройство для хранения исходных ипромежуточных данных.
Спектр же внешних устройств современных компьютеровнесоизмеримо шире, что соответствует разнообразию задач, решаемых средствамисовременных вычислительных систем (Рис. 34).46Внешние устройстваВнешние запоминающиеустройстваУстройствапоследовательногодоступаМагнитнаялентаУстройства ввода иотображения информацииУстройства ПечатныепрямогоустройствадоступаМониторыУстройства приема ипередачи информацииУстройствавводаизображенияМагнитныйдискБарабанныеCRT (ЭЛТ)СканерыОптическиедискиСтруйныеTFT, LCD(ЖКЭ)КлавиатурыМагнитныйбарабанГрафопостроителиМодемФаксМышьРис. 34. Иерархия внешних устройств.Мы более подробно остановимся на характеристиках и особенностяхиспользования внешних запоминающих устройств, как наиболее интенсивноиспользуемых программами внешних устройствах вычислительных систем.1.2.4.1 Внешние запоминающие устройстваВнешние запоминающие устройства (ВЗУ) предназначены для организациихранения данных и программ.
Обычно обмен с ВЗУ происходят некоторыми порциямиданных, которые называются записями. Данные, размещенные на ВЗУ, представляются ввиде последовательности записей. Существует категория ВЗУ, называемые блочнымиустройствами, которые допускают выполнение обменов исключительно записямификсированного размера — блоками. Примером блочных устройств могут служитьразличные типы магнитных дисков.
Обычно размер блоков (физических блоков), обменкоторыми может осуществляться с блочными устройствами, определяется аппаратно иможет зависеть от конкретной модели и типа устройства. Альтернативой блочным ВЗУявляются устройства, аппаратно допускающие обмен записями произвольного размера.Примером таких устройств являются устройства хранения информации на магнитныхлентах.ВЗУ могут разделяться на две группы по возможностям доступа к хранящимсяданным.
Первая группа — устройства, аппаратно допускающие как операции чтения, таки операции записи. Примером устройств данной группы может служить жесткий диск.Вторая группа — устройства, позволяющие выполнять только операции чтения данных,например, в эту группу входят устройства CD-ROM (compact disk read-only memory),DVD-ROM (digital video/versatile disc read-only memory).Внешние запоминающие устройства могут, также подразделяться на устройствапрямого доступа и устройства последовательного доступа. Рассмотрим принципыорганизации и общие характеристики устройств, принадлежащих каждой из этих групп.Устройства последовательного доступа — это устройства, при доступе ксодержимому произвольной записи которых «просматриваются» все записи,предшествующие искомой.
Рассмотрим в качестве примера ВЗУ последовательногодоступа устройство хранения данных на магнитной ленте. На магнитной ленте каждая47запись имеет специальные маркеры начала и конца. Также, на каждой ленте размещаютсямаркеры начала и конца ленты (Рис.
35).Магнитная лентаi-ая записьМаркерначалалентыМаркер началаi-ой записиМаркер концаi-ой записиМаркерконцалентыРис. 35. Магнитная лента.Каждая запись на ленте имеет свой логический номер. При возникновении запросана чтение записи с номером i выполняется следующая последовательность действий:устройство перематывает ленту до маркера начала ленты;осуществляется последовательный поиск маркеров начала записей, посленахождения i-го маркера считается, что устройство «вышло» на начало искомой записи;происходит чтение i-ой записи.Устройство прямого доступа обеспечивает выполнение операций чтения/записибез считывания дополнительной (предыдущей) информации.
Примером устройствпрямого доступа могут служить магнитные диски, или дисковые устройства.цилиндрМагнитные головкисекторРис. 36. Принцип устройства магнитного диска.Магнитные диски являются самыми распространенными устройствами внешнейпамяти современных компьютеров. Рассмотрим принципиальную схему организациимагнитного диска (Рис. 36). Устройство представляет собою вал, вращающийся сдостаточно высокой постоянной скоростью. На валу закреплены диски, поверхностикоторых покрыты материалом, способным на основе магнитоэлектрических эффектовсохранять информацию. Количество дисков варьируется в зависимости от типа дисковогоустройства. Также в дисковом устройстве присутствует система головок чтения/записи.Количество головок соответствует количеству поверхностей дисков, и каждая головкаможет работать со своей фиксированной поверхностью.
Все головки устройствасоставляют блок головок магнитного диска. Блок головок может перемещаться от краяповерхностей к центру. Перемещение блока головок осуществляется дискретно, каждая48позиция остановки блока головок над поверхностями (с учетом вращения дисков)образует цилиндр. Таким образом, каждое дисковое устройство характеризуетсяфиксированным количеством цилиндров, которые соответствуют позициям, на которыхможет размещаться блок головок.Все цилиндры пронумерованы (0,1,....Nцилинд). Условные линии пересеченияцилиндров с поверхностями образуют дорожки. Дорожки, относящиеся к одномуцилиндру пронумерованы (0,1,....Nдорожки).
Дорожки, принадлежащие одной поверхности,формируют концентрические круги. Все дорожки разделены на фиксированное (дляданного устройства) число равных частей — секторов. Секторы каждой дорожкипронумерованы (0,1,....Nсектор). Начала всех одноименных секторов лежат в однойплоскости, проходящей через вал. При работе магнитного диска предусмотренавозможность индикации факта прохода блока головок через каждую точку начала сектора(это решается с использованием механических или оптических датчиков секторов), такимобразом, блок головок всегда может «знать», над каким сектором он находится.