Первый способ (рисунок а)
1. Каждому управляющему регистру назначается номер порта ввода-вывода, 8- или 16-разрядное целое число. При помощи такой специальной команды процессора, как
IN REG.PORT
2. Центральный процессор может прочитать управляющий регистр устройства из порта PORT в регистр процессора REG. Аналогично с помощью команды
OUT PORT.REG
3. Центральный процессор может записать содержимое своего регистра REG в управляющий регистр устройства через порт PORT.
Подобным образом работали самые древние компьютеры, включая почти все мэйнфреймы, такие как IBM 360 и его преемники.
При такой схеме адресные пространства оперативной памяти и устройств ввода-вывода не пересекаются.
Второй способ (рисунок б)
Состоит в отображении всех управляющих регистров периферийных устройств на адресное пространство памяти. Каждому управляющему регистру назначался уникальный адрес в памяти. Такая система называется отображаемым на адресное пространство памяти вводом-выводом. Обычно для регистров устройств отводятся адреса на вершине адресного пространства.
|
|
Гибридные схемы (рисунок в)
Гибридные схемы – это схемы, сочетающие отображаемый на адресное пространство памяти буферами данных и отдельными портами ввода-вывода. Эта схема довольно широко применяется, например, в совместимых с IBM PC компьютерах на базе процессоров х86 и Pentium, в которых, помимо портов ввода-вывода с номерами от 0 до 64К, адресное пространство оперативной памяти от 640К до 1М зарезервировано под буферы данных устройств ввода-вывода.
Процессор, желая записать данные по некоторому адресу в памяти, выставляет на линии адресов требуемый адрес, а на линии данных - данные. Устройство управления памятью расшифровывает поступивший адрес и, если этот адрес принадлежит памяти, принимает с линий данных поступившее данное и заносит его в соответствующую ячейку памяти. Описанная процедура отражает выполнение процессором команды типа
mov mem,AX
где mem - символическое обозначение ячейки памяти, принадлежащей сегменту данных программы..
Если процессор, выполняя команду типа