Архитектура ЭВМ и систем. Коваль А.С - 68 стр.

UptoLike

Составители: 

68
2.2.8 Организация ввода-вывода
Работа с портами ввода/вывода в процессорах x86 возможна как с ис-
пользованием специальных команд (IN, OUT), через отдельное адресное
пространство ввода/вывода, так и по схеме с отображением регистров уст-
ройств на обычное адресное пространство. В последнем случае возможно
использование обычных команд из системы команд процессора.
Для адресации портов устройств в пространстве ввода
/вывода, исполь-
зуется 16-разрядный адрес, обеспечивая доступ к 64K 8-битным портам с
адресами от 0h до FFFFh. Адреса 0F8h – 0FFh– зарезервированы для сис-
темных целей. Порты с адресами 0h – 0FFh используются оборудованием
системной платы ПК (таймер, контроллер прерываний и т.п.), адреса
0100h–03FFh используют различные контроллеры: дисков, видеомонитора,
компьютерной сети.
Команды IN и OUT работают с прямой адресацией (адрес порта
нахо-
дится в команде) для портов с адресами 0h - 0F7h и с косвенной адресаци-
ей (адрес порта находится в регистре DX) для любых портов: 0h - FFFFh.
Обмен данными происходит только через регистр-аккумулятор (AX, AL),
например, чтение из порта:
in al,dx
, запись в порт:
out dx,ax
Пример работы с устройством в/в (программируемый таймер 8254)
Для задания временных интервалов и формирования сигналов с раз-
личными временными параметрами в ПК на основе процессоров Intel
x86 применяется программируемый таймер i8254. В состав таймера вхо-
дят: буфер шины данных, схема управления вводом-выводом и три
независимых канала, каждый из которых содержит регистр режима,
схему управления каналом, буфер и 16-разрядный счетчик. В современ-
ных ПК, таймер реализован не в виде отдельной ИС, а в СБИС чипсета.
Программирование канала осуществляется путем записи управляю-
щих слов в регистр режима каналов и начального значения в его счетчики.
Каждый канал имеет управляющий вход GATE и выход OUT и может ра-
ботать
в одном из шести режимов. Частота CLK = 1193181 Гц.
Временные диаграммы одного из режимов таймера (режим 3) приве-
дены на следующем рисунке:
Рис. 2.12 Временная диаграмма 3-го режима таймера
                                  68
2.2.8 Организация ввода-вывода
  Работа с портами ввода/вывода в процессорах x86 возможна как с ис-
пользованием специальных команд (IN, OUT), через отдельное адресное
пространство ввода/вывода, так и по схеме с отображением регистров уст-
ройств на обычное адресное пространство. В последнем случае возможно
использование обычных команд из системы команд процессора.
   Для адресации портов устройств в пространстве ввода/вывода, исполь-
зуется 16-разрядный адрес, обеспечивая доступ к 64K 8-битным портам с
адресами от 0h до FFFFh. Адреса 0F8h – 0FFh– зарезервированы для сис-
темных целей. Порты с адресами 0h – 0FFh используются оборудованием
системной платы ПК (таймер, контроллер прерываний и т.п.), адреса
0100h–03FFh используют различные контроллеры: дисков, видеомонитора,
компьютерной сети.
   Команды IN и OUT работают с прямой адресацией (адрес порта нахо-
дится в команде) для портов с адресами 0h - 0F7h и с косвенной адресаци-
ей (адрес порта находится в регистре DX) для любых портов: 0h - FFFFh.
Обмен данными происходит только через регистр-аккумулятор (AX, AL),
например, чтение из порта: in al,dx , запись в порт: out dx,ax

Пример работы с устройством в/в (программируемый таймер 8254)
   Для задания временных интервалов и формирования сигналов с раз-
личными временными параметрами в ПК на основе процессоров Intel
x86 применяется программируемый таймер i8254. В состав таймера вхо-
дят: буфер шины данных, схема управления вводом-выводом и три
независимых канала, каждый из которых содержит регистр режима,
схему управления каналом, буфер и 16-разрядный счетчик. В современ-
ных ПК, таймер реализован не в виде отдельной ИС, а в СБИС чипсета.
  Программирование канала осуществляется путем записи управляю-
щих слов в регистр режима каналов и начального значения в его счетчики.
Каждый канал имеет управляющий вход GATE и выход OUT и может ра-
ботать в одном из шести режимов. Частота CLK = 1193181 Гц.
  Временные диаграммы одного из режимов таймера (режим 3) приве-
дены на следующем рисунке:




          Рис. 2.12 Временная диаграмма 3-го режима таймера