- Главная
- Информатика
- Модель аппаратного обеспечения современных ПЭВМ с точки зрения ОС. Лекция 12
Содержание
- 2. Модель аппаратного обеспечения современных ПЭВМ с точки зрения ОС
- 3. Система ввода-вывода Система ввода-вывода, т. е. комплекс средств обмена информацией с внешними устройствами, является важнейшей частью
- 4. Система ввода-вывода Все устройства компьютера можно условно разбить на две категории. Устройства, отображаемые в память. Пример
- 5. Система ввода-вывода Программное разделение устройств: реализуется с помощью двух наборов команд процессора — для памяти и
- 6. Типичное распределение адресного пространства памяти
- 7. Подключение устройств компьютера к системной шине A - адреса; D - данные; M/IO - один из
- 8. Система ввода/вывода Подсистема прерываний. Реальный режим.
- 9. Подсистема прерываний Система прерываний любого компьютера является его важнейшей частью, позволяющей быстро реагировать на события, обработка
- 10. Подсистема прерываний Номера базовых векторов заносятся в контроллеры автоматически в процессе начальной загрузки компьютера. Для ведущего
- 11. Подсистема прерываний Процессор, получив сигнал прерывания, выполняет последовательность стандартных действий, обычно называемых процедурой прерывания (здесь идет
- 12. Самое начало оперативной памяти от адреса OOOOН до 03FFН отводится под векторы прерываний — четырехбайтовые области,
- 13. Запросы на обработку прерываний могут иметь различную природу. Имеются еще два типа прерываний: внутренние и программные.
- 14. Подсистема прерываний Большая часть векторов прерываний зарезервирована для выполнения определенных действий; часть из них автоматически заполняется
- 15. Обработчики аппаратных прерываний Обработчик прерываний может входить в состав программы в виде процедуры, или просто являться
- 16. Обработчики аппаратных прерываний ;---установка прерывания PUSH DS ;сохраняем DS MOV DX,OFFSET ROUT ;смещение для процедуры в
- 18. Скачать презентацию
Слайд 2Модель аппаратного обеспечения современных ПЭВМ с точки зрения ОС
Модель аппаратного обеспечения современных ПЭВМ с точки зрения ОС
Слайд 3Система ввода-вывода
Система ввода-вывода, т. е. комплекс средств обмена информацией с внешними устройствами,
Система ввода-вывода
Система ввода-вывода, т. е. комплекс средств обмена информацией с внешними устройствами,
Системная шина представляет собой набор интерфейсов, к которым единообразно подключаются все устройства компьютера:
интерфейс адреса;
интерфейс данных;
интерфейс сигналов управления.
mov mem,AL
Процедуры записи и чтения справедливы не только по отношении к памяти. За каждым устройством закреплена определенная группа адресов, на которые оно должно отзываться. Обнаружив свой адрес на магистрали, устройство либо считывает с магистрали поступившие данные, либо устанавливает имеющиеся в нем данные на магистраль.
Слайд 4Система ввода-вывода
Все устройства компьютера можно условно разбить на две категории.
Устройства,
Система ввода-вывода
Все устройства компьютера можно условно разбить на две категории.
Устройства,
Устройства, подключенные к портам ввода/вывода. Адресное пространство портов перекрывается с адресами памяти. Например, за контроллером клавиатуры закреплены два адреса: 60h и 61h. По адресу 60h выполняется чтение кода нажатой клавиши, а адрес 61h используется для управления работой контроллера. И тот, и другой адрес имеются в оперативной памяти и, таким образом, возникает проблема распознавания устройства, к которому происходит обращение.
Аппаратное решение:
идентификация устройств на системной шине осуществляется с помощью сигнала ЧтВУ/ЗпВУ, который генерируется процессором в любой операции записи или чтения. При обращении к памяти или видеобуферу процессор устанавливает значение сигнала ЧтОП/ЗпОП. Таким образом осуществляется аппаратное разделение устройств «типа памяти» и устройств «ввода-вывода».
Слайд 5Система ввода-вывода
Программное разделение устройств:
реализуется с помощью двух наборов команд процессора —
Система ввода-вывода
Программное разделение устройств:
реализуется с помощью двух наборов команд процессора —
Наличие двух категорий адресов устройств дает основание говорить о существовании двух адресных пространств — пространства памяти, куда входит сама память, а также видеобуферы и ПЗУ, и пространства вводавывода (пространства портов), куда входят адреса остальной аппаратуры компьютера.
Объем адресного пространства памяти составляет 1 Мбайт (в защищенном режиме 4 Гбайт), адресное пространство портов - 64 Кбайт.
Слайд 6Типичное распределение адресного пространства памяти
Типичное распределение адресного пространства памяти
Слайд 7Подключение устройств компьютера к системной шине
A - адреса;
D - данные; M/IO
Подключение устройств компьютера к системной шине
A - адреса;
D - данные; M/IO
Слайд 8Система ввода/вывода
Подсистема прерываний. Реальный режим.
Система ввода/вывода
Подсистема прерываний. Реальный режим.
Слайд 9Подсистема прерываний
Система прерываний любого компьютера является его важнейшей частью, позволяющей быстро реагировать
Подсистема прерываний
Система прерываний любого компьютера является его важнейшей частью, позволяющей быстро реагировать
Сигналы аппаратных прерываний, возникающие в устройствах, входящих в состав компьютера или подключенных к нему, поступают в процессор не непосредственно, а через два контроллера прерываний (КПП), один из которых называется ведущим, а второй — ведомым. Два контроллера используются для увеличения допустимого количества внешних устройств. Дело в том, что каждый контроллер прерываний может обслуживать сигналы лишь от 8 устройств. Для обслуживания большего количества устройств контроллеры можно объединять, образуя из них веерообразную структуру.
Слайд 10Подсистема прерываний
Номера базовых векторов заносятся в контроллеры автоматически в процессе начальной загрузки
Подсистема прерываний
Номера базовых векторов заносятся в контроллеры автоматически в процессе начальной загрузки
Слайд 11Подсистема прерываний
Процессор, получив сигнал прерывания, выполняет последовательность стандартных действий, обычно называемых процедурой
Подсистема прерываний
Процессор, получив сигнал прерывания, выполняет последовательность стандартных действий, обычно называемых процедурой
Слайд 12Самое начало оперативной памяти от адреса OOOOН до 03FFН отводится под векторы
Самое начало оперативной памяти от адреса OOOOН до 03FFН отводится под векторы
Получив сигнал на выполнение процедуры прерывания с определенным номером, процессор сохраняет в стеке выполняемой программы текущее содержимое трех регистров процессора: регистра флагов, CS и IP. Два последних числа образуют полный адрес возврата в прерванную программу. Далее процессор загружает CS и IP из соответствующего вектора прерываний, осуществляя, тем самым, переход на обработчик прерывания, связанный с этим вектором.
Обработчик прерываний всегда заканчивается командой iret (interrupt return, возврат из прерывания), выполняющей обратные действия — извлечение из стека сохраненных там слов и помещение их назад в регистры IP и CS, а также в регистр флагов. Это приводит к возврату в основную программу в ту самую точку, где она была прервана.
Подсистема прерываний
Слайд 13Запросы на обработку прерываний могут иметь различную природу. Имеются еще два типа
Запросы на обработку прерываний могут иметь различную природу. Имеются еще два типа
Внутренние прерывания возбуждаются цепями самого процессора при возникновении одной из специально оговоренных ситуаций, например, при выполнении операции деления на ноль или при попытке выполнить несуществующую команду. За каждым из таких прерываний закреплен определенный вектор, номер которого известен процессору. Например, за делением на 0 закреплен вектор 0, а за неправильной командой — вектор 6.
Программные прерывания вызываются командой int с числовым аргументом, который рассматривается процессором, как номер вектора прерывания. Если в программе встречается, например, команда
int 13h
то процессор выполняет ту же процедуру прерывания, используя в качестве номера вектора операнд команды int. Программные прерывания применяются в первую очередь для вызова системных обслуживающих программ — функций DOS и BIOS.
Подсистема прерываний
Слайд 14Подсистема прерываний
Большая часть векторов прерываний зарезервирована для выполнения определенных действий; часть из
Подсистема прерываний
Большая часть векторов прерываний зарезервирована для выполнения определенных действий; часть из
00h -внутреннее прерывание, деление на 0; 0lh -внутреннее прерывание, пошаговое выполнение (при TF=1); 02h -немаскируемое прерывание (вывод NMI процессора); 08h -аппаратное прерывание от системного таймера; 09h -аппаратное прерывание от клавиатуры; 0Eh -аппаратное прерывание от гибкого диска; 10h - программное прерывание, программы BIOS управления видеосистемой; 13h - программное прерывание, программы BIOS управления дисками; 16h - программное прерывание, программы BIOS управления клавиатурой; 21h - программное прерывание, диспетчер функций DOS; 22h - программное прерывание, адрес перехода при завершении процесса, используемый DOS; 23h -программное прерывание, обработчик прерываний по
Слайд 15Обработчики аппаратных прерываний
Обработчик прерываний может входить в состав программы в виде процедуры,
Обработчики аппаратных прерываний
Обработчик прерываний может входить в состав программы в виде процедуры,
Программа, начиная свою работу, прежде всего должна выполнить инициализирующие действия по установке обработчика прерываний. В простейшем случае эти действия заключаются в занесении в соответствующий вектор полного адреса (сегмента и смещения) обработчика.
В случае прихода прерывания, процессор сохраняет в стеке флаги и текущий адрес программы, извлекает из вектора адрес обработчика и передает управление на его входную точку. Завершающая обработчик команда iret извлекает из стека сохраненные там данные и возвращает управление в прерванную программу, которая может продолжить свою работу.
Слайд 16Обработчики аппаратных прерываний
;---установка прерывания
PUSH DS ;сохраняем DS
MOV DX,OFFSET ROUT ;смещение
Обработчики аппаратных прерываний
;---установка прерывания
PUSH DS ;сохраняем DS
MOV DX,OFFSET ROUT ;смещение
MOV AX,SEG ROUT ;сегмент процедуры
MOV DS,AX ;помещаем в DS MOV AH,25H
;функция установки вектора
MOV AL,60H ;номер вектора
INT 21H ;меняем прерывание
POP DS ;восстанавливаем DS
;---процедура прерывания
ROUT PROC FAR
PUSH AX ;сохраняем все изменяемые регистры
. .
POP AX ;восстанавливаем регистры
MOV AL,20H ;эти две строки надо использовать
OUT 20H,AL ;только для аппаратных прерываний
IRET ROUT ENDP