Реферат по информатике Кафедра информатики сунц урГУ

Вид материалаРеферат
Вспомогательные микросхемы: контроллер прерываний Intel 8259A
Вспомогательные микросхемы: микросхема поддержки ОС Intel 80130
Подобный материал:
1   ...   19   20   21   22   23   24   25   26   27

Вспомогательные микросхемы: контроллер прерываний Intel 8259A


Программируемый контроллер прерываний1 Intel 8259A специально предназначен для работы с микропроцессорами 8086/8088. Он спроектирован так, что он может работать один или совместно с несколькими микросхемами (до девяти штук). Выпускался он в 28-контактном корпусе с двумя рядами контактов и требовал один источник питания +5 В.

Секция управления контроллера имеет несколько программируемых бит, которые можно считать находящимися в семи 8-битных регистрах. Эти регистры разделены на две группы, первая из которых содержит слова приказов инициализации, а вторая – слова рабочих приказов. Слова приказов инициализации обычно устанавливаются процедурой инициализации при включении системы и при работе не меняются. Слова рабочих приказов применяются для динамического управления обработкой прерываний.

Не углубляясь в технические тонкости, работа микросхемы 8259A заключается в предоставлении или непредоставлении доступа к шине данных микропроцессора другим устройствам или микросхемам. 8259A имеет 8 входов для запросов прерываний,2 пронумерованных от 0 до 7. Если шина управления процессора показывает его готовность к обработке прерываний, контроллер предоставляет устройству, запросившему прерывание со входа с наименьшим номером, доступ к системной шине. Кроме того, программируя контроллер, можно установить произвольный приоритет для каждого из входов или «замаскировать» (игнорировать) все запросы с определённых входов. Комбинируя несколько микросхем 8259A, можно увеличить число возможных запросов прерываний до 64, хотя больше 16 независимых запросов обычно не требуется.

При разрешении запросившему прерывание устройству доступа к системной шине оно формирует на младших 8-ми линиях данных номер прерывания, а контроллер прерываний передаёт сигнал запроса прерывания на вход ЦП. Номер прерывания, формируемый устройством, зависит только от его типа и не связан с его подключением к одному из входов запроса прерывания контроллера. При обнаружении центральным процессором прерывания он сохраняет в стеке текущее содержимое программного счётчика для последующего возврата в ту же точку программы и считывает из особой области памяти, называемой таблицей векторов прерываний,3 вектор (адрес обработчика) прерывания с таким номером. После этого выполняется передача управления на инструкцию, расположенную по считанному адресу, – первую инструкцию процедуры обработки прерывания.4 Такая процедура должна завершаться специальной инструкцией,5 разрешающей процессору вернуться к обработке прерванной программы.

Прерывания могут вызываться и самим центральным процессором при возникновении «особых случаев»,6 например, при неверном формате команды. В таком случае вызывается обработчик особого случая,7 который, как правило, завершает задачу, вызвавшую особый случай. Другой возможностью возникновения прерывания, минуя контроллер прерываний, является его программный вызов соответствующей инструкцией ЦП.8 В обоих случаях процессор реагирует так, как если бы контроллер прерывания допустил запрос прерывания с таким номером. Прерывания последнего рода называются программными, так как они вызваны инструкцией в программе, в отличие от аппаратных прерываний, вызываемых внешними по отношению к ЦП устройствами, и особых случаев, вызываемых им самим. Программные прерывания в некоторых операционных системах, таких как MS-DOS, используются для вызова функций ОС.

Как правило, прерывания с номерами от 0 до 15 генерируются аппаратно или особыми случаями, от 16 до 31 – программно для вызова функций БСВВ,9 от 32 до 63 – для вызова функций ОС, от 64 до 95 – не вызываются (их вектора используются для хранения системных адресов), от 96 до 255 – не используются (пользователь может перепрограммировать их для своих целей), причём в компьютерах фирмы IBM прерывания с номерами от 128 до 239 используются интерпретатором языка Бейсик.


Вспомогательные микросхемы: микросхема поддержки ОС Intel 80130


Фирма Intel разработала мультизадачную операционную систему iRMX 86 для своих микропроцессоров 8086/8088. Выполняемая в реальном режиме этих микропроцессоров (а других режимов у них не было), она обеспечивала вытесняющую мультизадачность при «корректном» поведении выполняемых программ (отсутствии обращений к сегментным регистрам, памяти и коду других задач, устройствам ввода-вывода и т.д.) Программы, написанные для других ОС, не могли выполняться под iRMX 86, а квант времени (интервал, через который происходит переключение задач) этой ОС составлял порядка секунды. Всё это объясняет весьма низкую популярность iRMX 86, ориентированную прежде всего на большие компьютеры на базе микропроцессоров 8086/8088.

Чтобы поддержать свою операционную систему, фирма Intel специально разработала микросхему 80130. Она применяется вместе с микропроцессорами 8086/8088 и образует вместе с ними то, что Intel называет процессором операционной системы.1 Главным компонентом микросхемы является ПЗУ2 ёмкостью 16 Кбайт, в котором находится код, необходимый для системных вызовов iRMX 86. Системные вызовы в этой системе реализуются программными прерываниями, поэтому указатели прерываний необходимо инициализировать для адресации соответствующих областей в ПЗУ микросхемы. Кроме ПЗУ, в микросхеме 80130 имеется логика управления прерываниями, которая очень похожа на контроллер 8259A и может обрабатывать до семи внешних прерываний. Предусмотрены схемы синхронизации, формирующие временные интервалы для квантования времени, а также схемы, программирующие скорость передачи. Наконец, на кристалле размещена вся необходимая логика управления и буферирования шины, включая защёлки адреса. Логику управления прерываниями 80130 можно каскадировать с контроллерами 8259A, образуя систему, обеспечивающую обработку до 56 прерываний.

Микросхема, как и процессоры 8086/8088, выпускается в 40-контактном корпусе с двумя рядами контактов и подключается к ЦП, генератору синхронизации и системной шине. Вдобавок к микросхеме 80130 в систему можно добавлять и другие компоненты, такие как сопроцессор или процессор ввода-вывода, увеличивая производительность системы на базе микропроцессоров 8086/8088.