Михаил Гук - Аппаратные интерфейсы ПК. Энциклопедия

Тут можно читать онлайн Михаил Гук - Аппаратные интерфейсы ПК. Энциклопедия - бесплатно полную версию книги (целиком) без сокращений. Жанр: Все книги в жанре Компьютерное "железо", издательство Издательский дом «Питер», год 2002. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Михаил Гук - Аппаратные интерфейсы ПК. Энциклопедия краткое содержание

Аппаратные интерфейсы ПК. Энциклопедия - описание и краткое содержание, автор Михаил Гук, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

Аппаратные интерфейсы ПК. Энциклопедия - читать онлайн бесплатно полную версию (весь текст целиком)

Аппаратные интерфейсы ПК. Энциклопедия - читать книгу онлайн бесплатно, автор Михаил Гук
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

12.8. Сервисы и прерывания BIOS

Системная BIOS предоставляет ряд сервисов низкого уровня, в основном предназначенных для обслуживания ввода-вывода и имеющих отношения к стандартным аппаратным интерфейсам. Традиционные сервисы BIOS обычно вызываются в реальном режиме или V86 посредством инструкций программных прерываний ( Int xx). Большинство сервисов может быть вызвано и через фактически стандартизованные точки входа (адреса в области ROM BIOS) дальними вызовами процедур ( CALL Far) с предварительным помещением в стек регистра флагов (сервисы построены как обработчики прерываний). Все традиционные сервисы BIOS работают в 16-разрядном режиме процессора, и ими можно пользоваться в реальном режиме, V86 и малопривлекательном 16-разрядном защищенном режиме.

Для процессоров 386+ оптимальным по эффективности является 32-разрядный защищенный режим. Для того чтобы из этого режима можно было пользоваться сервисами BIOS (правда, не всеми) без промежуточных переключений, по инициативе фирмы Phoenix ввели 32-разрядные вызовы BIOS32. Адрес точки входа BIOS32 заранее не известен, но известен способ его нахождения: в диапазоне адресов памяти 0E0000-0FFFFFh на границе параграфов (младшие 4 бита адреса нулевые) ищется строка-сигнатура " _32_" (число 325F5F33h) заголовка, за которой следует физический адрес точки входа. Сами сервисы вызываются дальними вызовами точки входа в сервис. Номер, параметры вызываемых функций и результаты передаются на регистрах процессора.

Прерывания, обслуживаемые системной BIOS, перечислены ниже. Кроме них несколько векторов используются как указатели на различные структуры данных.

Внутренние прерывания :

Int 00h— деление на 0;

Int 01h— пошаговый режим;

Int 03h— точка останова;

Int 04h— переполнение;

Int 06h— недопустимая команда 286+;

Int 07h— вызов отсутствующего NPU.

Аппаратные прерывания :

Int 02h— немаскируемое прерывание;

Int 08h— таймер 8253/8254;

Int 09h— клавиатура;

Int 0AhIRQ2/9;

Int 0BhIRQ3;

Int 0ChIRQ4;

Int 0DhIRQ5;

Int 0EhIRQ6— контроллер гибких дисков;

Int 0FhIRQ7;

Int 70h— CMOS-таймер;

Int 71hIRQ9(перенаправлено на Int 0Ah);

Int 72hIRQ10;

Int 73hIRQ11;

Int 74hIRQ12(контроллер мыши PS/2);

Int 75hIRQ13— исключение сопроцессора;

Int 76hIRQ14— контроллер жестких дисков;

Int 77hIRQ15.

ПРИМЕЧАНИЕ

Прерывания Int 70h- 77hимеют место только в AT.

Функции ROM BIOS (16-битные сервисы):

Int 05h(F000:FF54h) — печать экрана;

Int 10h— видеосервис;

Int 11h— чтение списка оборудования (слово из BDA 0040:0010h), возвращает в АХ:

• биты 15:14 — число обнаруженных LPT-портов: 00 — 0, …, 11 — 3;

• бит 13 — резерв;

• бит 12 — обнаружен игровой адаптер;

• биты 11:9 — число обнаруженных СОМ-портов: 000 — 0, …, 111 — 7;

• бит 8 — наличие контроллера DMA;

• биты 7:6 — число обнаруженных НГМД: 00 — 1, …, 11 — 4;

• биты 5:4 — активный видеорежим: 00 — резерв, 10 — 80-колоночный цветной, 01 — 40-колоночный цветной, 11 — монохромный;

• биты 3:2 — размер ОЗУ на системной плате (теперь обычно 00);

• бит 1 — присутствие математического сопроцессора;

• бит 0 — присутствие дисководов;

Int 12h— размер непрерывной памяти;

Int 13h— дисковый сервис (блочный ввод-вывод);

Int 14h— обслуживание СОМ-портов;

Int 15h— AT-функции (системный сервис, функции определяются значением АН/ АХ):

• 00-03h — управление и обмен данными с кассетным магнитофоном (были когда-то и такие «стриммеры»!) на старых PC;

• 4fh — перехват клавиатуры;

• 53xxh — сервисы управления потреблением АРМ (Advanced Power Management);

• 8300h — запуск таймера, устанавливающего флаг в заданной ячейке;

• 8301h — сброс того же таймера;

• 84h — джойстик (см. п. 8.6);

• 86h — программируемая задержка;

• 87h — перемещение блока расширенной памяти;

• 88h — получение размера расширенной памяти;

• 89h — переключение в режим V86;

• C0h — получение системной конфигурации, при успешном выполнении ( CF=0, AH=0) ES:BX указывает на таблицу данных конфигурации;

• 80-82h, 85h, 90h, 91h — функции многозадачных ОС (BIOS устанавливает заглушки);

Int 16h— клавиатурный ввод-вывод;

Int 17h— обслуживание LPT-портов;

Int 18h— процедура восстановления при неудаче начальной загрузки (прежде — ROM-Basic);

Int 19h— начальная загрузка (вызов процедуры Bootstrap);

Int 1Ah— системное время, дата, будильник и 16-битные вызовы сервисов PCI;

Int 1Bh— обработчик нажатия клавиш Ctrl+Break;

Int 1Ch— User Timer Interrupt, процедура, вызываемая обработчиком Int 08hкаждые 55 мс; BIOS устанавливает простую заглушку ( IRET), но программы могут перехватывать это прерывание; на время отработки этой процедуры все аппаратные прерывания запрещены (кроме NMI).

Int 33h— поддержка мыши;

Int 4Ah— обработчик будильника пользователя, установленного функцией BIOS Int 1Ah(6); прерывание вызывается асинхронно, так что при возврате из процедуры все регистры и флаги должны быть в том же состоянии, что и при входе; BIOS ставит заглушку ( IRET);

Int 67h— EMS-функции.

Указатели на таблицы :

Int 1Dh— видеопараметры;

Int 1Eh— параметры дискет;

Int 1Fh— знакогенератор СGA;

Int 41h— параметры HDD 0;

Int 46h— параметры HDD 1;

Int 43h— знакогенератор EGA.

12.8.1. Int 09h, Int 16h — поддержка клавиатуры

Поддержка клавиатуры заключается в обработке прерываний от устройства ввода и предоставлении сервисов ввода прикладным программам.

Прерывания , вызванные приходом кодов нажатия и отпускания клавиш , обрабатывает BIOS Int 9h. Каждый принятый скан-код (или цепочка) обрабатывается с учетом состояния клавиатурных флагов . Результат обработки (как правило, ASCII-символ в младшем байте и скан-код в старшем) помещается в клавиатурный буфер , расположенный в ОЗУ. По приему каждого символа указатель головы буфера увеличивается. Буфер организован в виде кольца, после достижения конца области буфера указатель головы установится на начало области. В случае переполнения буфера (указатель головы «догнал» указатель хвоста) очередное слово не записывается, и подается звуковой сигнал. Размер позволяет хранить описание шестнадцати фактов нажатий клавиш. Нажатие клавиш Ctrl, Shift, Altи некоторых комбинаций в буфере не отмечается, но приводит к модификации бит ячеек флагов клавиатуры. Нажатие «системной» комбинации Ctrl+Alt+Del, клавиши PrintScreen( SysRq) и некоторых других к записи в клавиатурный буфер не приводит, а вызывает специальные процедуры.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Михаил Гук читать все книги автора по порядку

Михаил Гук - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Аппаратные интерфейсы ПК. Энциклопедия отзывы


Отзывы читателей о книге Аппаратные интерфейсы ПК. Энциклопедия, автор: Михаил Гук. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x