Аппаратное обеспечение IBM PC
© Александр Фролов, Григорий Фролов
Том 2, книга 1, М.: Диалог-МИФИ, 1992.
Введение
Программисты, использующие операционную
систему MS-DOS, часто вынуждены работать с
различными устройствами компьютера на уровне
команд ввода/вывода. Это связано прежде всего с
тем, что MS-DOS не содержит сколько-нибудь
существенной поддержки для большинства
устройств компьютера. Практически функционально
полная поддержка обеспечивается только для
дисковой подсистемы. Такие устройства, как мышь,
принтер, расширенная и дополнительная память и
часы реального времени обслуживаются либо
отдельными драйверами, либо программа вынуждена
обращаться непосредственно к портам
ввода/вывода этих устройств.
Для оптимального решения графических и
вычислительных задач актуально использование
арифметического сопроцессора 8087/80287/80387. Мы
рассмотрим сопроцессор с точки зрения
программиста - опишем форматы используемых
данных, рассмотрим внутренние регистры
сопроцессора и систему команд.
Данная книга содержит информацию об
использовании драйверов и портов ввода/вывода
некоторых устройств компьютера и поможет вам
составлять эффективно работающие программы,
использующие все особенности аппаратуры.
Описаны следующие устройства:
- клавиатура;
- мышь;
- часы реального времени;
- таймер;
- порт последовательной передачи данных
(асинхронный адаптер);
- порт параллельной передачи данных и принтер;
- контроллер прямого доступа к памяти;
- контроллер прерываний;
- расширенная и дополнительная память;
- арифметический сопроцессор.
Глава 1 описывает основные способы определения
конфигурации персонального компьютера. В книге 3
первого тома мы уже занимались определением
конфигурации дисковой подсистемы. В этом томе
будет рассказано о способах определения
конфигурации других подсистем и, в частности, о
способе определения типа центрального
процессора.
Глава 2 посвящена клавиатуре. В ней
рассказывается о том, как работает клавиатура,
подробно описываются различные способы
программирования клавиатуры - от использования
портов ввода/вывода до средств операционной
системы MS-DOS и стандартных библиотек
трансляторов Microsoft QC 2.5 и C 6.0.
Глава 3 рассказывает об устройстве, принципе
работы и программировании мыши - одного из
наиболее распространенных устройств ввода для
персонального компьютера. Приводятся
многочисленные примеры программ для работы с
мышью.
В главе 4 описаны часы реального времени,
получающие питание от аккумулятора. Пользуясь
сведениями, приведенными в этой главе, вы сможете
не только определять или устанавливать дату и
время, но и запускать периодические процессы,
запускать процессы в определенные моменты
времени. Последнее возможно при использовании
режима "будильник".
Глава 5 расскажет вам о системном таймере. Вы
научитесь программировать это устройство,
играть с его помощью простейшие музыкальные
мелодии, узнаете, как реализовать с помощью
таймера генератор случайных чисел. Будет
рассказано о способах формирования задержек в
работе программы, длительность которых не
зависит от производительности центрального
процессора.
В главе 6 описан порт последовательной передачи
данных и приведены все необходимые сведения для
его использования (включая разводку разъемов).
В главе 7 описан порт параллельной передачи
данных. Так как к этому порту обычно подключается
принтер, то мы приведем сведения об
использовании и программировании принтеров
(матричных). Иногда порт параллельной передачи
данных используют для управления каким-либо
оборудованием, например, аналого-цифровым
преобразователем. Пользуясь приведенными
сведениями, вы сможете приспособить свой
компьютер для управления такими внешними
устройствами, не приобретая специальные
интерфейсные адаптеры. В приложении приведена
таблица команд для наиболее распространенных
9-игольчатых и 24-игольчатых принтеров Epson.
Глава 8 содержит сведения о программировании
канала прямого доступа к памяти. Прямой доступ к
памяти используется для организации быстрого
ввода/вывода данных и всегда применяется для
организации работы с дисками.
Глава 9 посвящена программированию контроллера
прерываний. Известно, что обслуживание медленно
работающих устройств ввода/вывода целесообразно
выполнять с использованием механизма
прерываний. Приведенная в главе 9 информация
позволить вам самостоятельно программировать
контроллер прерываний и вообще эффективно
использовать прерывания в своих программах.
В главах 10 и 11 мы расскажем вам об использовании
расширенной и дополнительной (Extended и Expanded) памяти
компьютера. Вы сможете преодолеть барьер 640 К,
установленный для MS-DOS реальным режимом работы
процессора.
Глава 12 посвящена арифметическому
сопроцессору. В настоящее время это устройство
имеется практически в любом компьютере (за
исключением, возможно, самых дешевых
конфигураций IBM PC/XT). Арифметический сопроцессор
значительно ускоряет выполнение расчетных и
графических задач. Некоторые программные
продукты (например, Autocad версий 10.0 и более поздних
версий) просто отказываются работать на
компьютере, не оснащенном сопроцессором.
|