КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Архитектурные компоненты IBM PC-совместимого компьютера

Если, например, устройство допускает только 16-разрядные обращения, то старший байт его регистров будет доступен лишь при вводе-выводе слова по четному адресу.
Некоторую сумятицу в стройную систему адресации вводят регистры AT А. Здесь регистр 1FO (1 канал) является 16-битным регистром данных, но в то же время есть и совершенно независимый от него 8-битный регистр 1F1. В Serial ATA эта тема развита — здесь имеются еще четыре 16-битных регистра с адресами (относи¬тельно базового адреса блока командных регистров) 2, 3, 4 и 5, которые раньше были 8-битными.
В реальном режиме процессора программе доступно все пространство адресов ввода-вывода. В защищенном режиме 32-разрядных процессоров (частным случаем ко¬торого является и виртуальный режим V86) имеется возможность программного ограничения доступного пространства ввода-вывода, определяя его максималь¬ный размер (начиная с нулевого адреса и в пределах 64 К), а внутри разрешенной области доступ может быть разрешен или запрещен для каждого конкретного ад¬реса. Размер области и карта разрешенных портов (Ю Permission Bitmap) задает¬ся операционной системой в дескрипторе сегмента состояния задачи (TSS). При обращении по неразрешенному адресу вырабатывается исключение процессора, а поведение его обработчика определяется операционной системой. Возможно снятие задачи-нарушителя (знаменитое сообщение «приложение... выполнило недо¬пустимую операцию и будет закрыто»). Возможен и другой вариант, когда по об¬ращению к порту монитор операционной системы выполняет некоторые действия, создавая для программы иллюзию реальной операции ввода-вывода. Таким обра¬зом виртуальная машина по операциям ввода-вывода может общаться с виртуаль-

12.5. Процессоры х86
475
ными устройствами. Заметим, что ОС Windows 9x не особо заботится о виртуа¬лизации и защите ввода-вывода; здесь, например, из DOS-окна можно обращать¬ся к любым портам, даже к портам устройств, занятых операционной системой.
12.5.4. Прерывания
В процессорах х86 используются аппаратные прерывания, программные преры¬вания и исключения.

Hosted by uCoz