Внешние устройства

09/22/94 09:07am vn_ustr.lek
П.Нортон, Р.Уилтон "IBM PC и PS/2 руководство по программированию" перевод В.Н.Григорьева М "Радио и связь" 1994

Внешние устройства.

В данном случае под внешними устройствами понимается все окружение центрального процессора. Причем с точки зрения процессора нет существенной разници между ОЗУ, ПЗУ, ПУ; все они рассматриваются процессором как набор регистров и обслуживаются одинаково. Небольшим исключением является наличие области портов ввода-вывода, но отличие заключается в наборе команд а не в сущности подключения устройств. Любое ВУ с одинаковым успехом (с точки зрения процессора) может быть расположено как в области основной памяти так и в области портов. Решение принимаемое конструктором объясняется количеством необходимых регистров и набором операций выполняемых с их содержимым.

Структура ЭВМ:

1 Микропроцессор (CPU) - основная микросхема, обеспечивающая выполнение программ. Осуществляет управление системой посредством выработки управляющих сигналов и команд, передаваемых по шинам УПРАВЛЕНИЯ, ДАННЫХ и АДРЕСА.
Ширина шин зависит от марки процессора.

2 Математический сопроцессор (NDP) - предназначен для увеличения производительности вычислительной системы при выполнении операций над числами "с плавающей точкой". При подключении сопроцессор становится частью основного процессора. Программирование сопроцессора достаточно сложно и требует некоторых знаний правил его взаимодействия с ЦП.

3 Программируемый контроллер прерываний (PIC) - Служит для организации оперативной реакции ЦП на процессы происходящие в аппаратуре его окружающей.
Программы обслуживания прерываний находятся в BIOS, но пользователь может заменить их на свои собственные.

4 Программируемый контроллер ПДП (DMA) - обеспечивает обмен данными между "быстрыми" внешними устройствами без участия процессора и регенерацию содержимого динамической памяти.

5 Программируемый тактовый генератор (PIT) - служит для генерирования временных интервалов с заданными характеристиками для внутренних нужд компьютера, имеет три независимых канала.

6 Контроллеры ввода/вывода - управляют ПУ, подключенными к ЭВМ.

7 Энергонезависимая память (CMOS RAM) - специальная микросхема с отдельным питанием, предназначенная для независимого отсчета даты и времени кроме этого она хранит параметры системы.

Адресное пространство CPU

Каждый байт памяти идентифицируется его адресом, в обшем случае объем памяти определяется шириной шин адреса и (иногда) данных.

Для обеспечения совместимости с i8086 последуюшие процессоры в РЕАЛЬНОМ режиме используют только пространство в 1 Мбайт; вся остальная память, если она присутсвует, называется ДОПОЛНИТЕЛЬНОЮ ПАМЯТЬЮ. Существует еще понятие РАСШИРЕННАЯ ПАМЯТЬ (Expanded Memory Specification) в этом случае память выше 1 Мбайта отображается блоками по 16 Кбайт на основную в произвольном порядке.

Преобразование осуществляет адаптер расширенной памяти.

Кроме основной области памяти существует область отведенная для размещения регистров портов В/В. Эта область имеет размер 64К 16-ти разрядных слов. Обращение к портам осуществляется при помощи специальных команд ввода/вывода.

Вектора прерываний:

ПРЕРЫВАНИЕ - прекращение выборки и исполнения команд выполняемой в данный момент программы с сохранением информации о ее текущем состоянии при возникновении некоторой ситуации, и последующий автоматический переход к специальной программе. Область векторов прерываний представляет собой таблицу четырехбайтовых начальных адресов подпрограмм обслуживания прерываний в формате CS:IP. Прерывания бывают ВНУТРЕННИЕ (возникают как результат выполнения команд) и ВНЕШНИЕ (свидетельствуют о наличии определенных событий во внешнем оборудовании процессора). Большинство прерываний можно ЗАМАСКИРОВАТЬ - отключить реакцию на соответствующие события.

Таблица векторов прерываний используется и для обращения к СТАНДАРТНЫМ СЛУЖБАМ BIOS и DOS (подпрограммам связи с устройствами).

Область данных ROM BIOS:

Используется для хранения информации о текущем состоянии компьютера, BIOS, результатах выполнения операции на ПУ и адреса основных буферов системы.
Назначение каждого байта стандартизовано. Кроме этого здесь распологается ОБЛАСТЬ ВНУТРЕННЕЙ СВЯЗИ прикладных программ (Intra-application Communication Area -ICA). Эту область (4F0h..4FFh) прикладные программы могут использовать для хранения общих данных.

Область данных для ROM BIOS и Бейсика:

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

Видеобуферы:

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

ROM бейсик и дополнительная ROM:

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

ROM BIOS:

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


Stay-at-home