ВУЗ:
Составители:
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 используются оборудованием системной платы ПК (таймер, контроллер прерываний и т.п.), адреса 0100h03FFh используют различные контроллеры: дисков, видеомонитора, компьютерной сети. Команды 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-го режима таймера
Страницы
- « первая
- ‹ предыдущая
- …
- 66
- 67
- 68
- 69
- 70
- …
- следующая ›
- последняя »