Отображаемый на адресное пространство памяти ввод-вывод

У каждого контроллера есть несколько регистров, с помощью которых с ним может общаться центральный процессор. При помощи записи в эти регистры операционная система велит устройству предоставить данные, принять данные, включиться или выключиться и т. п. Читая из этих регистров, операционная система может узнать состояние устройства, например, готово ли оно к приему новой команды и т. д.

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

Существует два альтернативных способа реализации доступа к управляющим регистрам и буферам данных устройств ввода-вывода (рис. 10.1).

  • Первый вариант заключается в том, что каждому управляющему регистру назначается номер порта ввода-вывода, 8- или 16-разрядное целое число.

При помощи такой специальной команды процессора, как IN REG,PORT центральный процессор может прочитать управляющий регистр устройства из порта PORT в регистр процессора REG.

Аналогично с помощью команды OUT PORT,REG

центральный процессор может записать содержимое своего регистра REG в управляющий регистр устройства через порт PORT.

При такой схеме адресные пространства оперативной памяти и устройств ввода-вывода (рис. 10.1 а).

Команды


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: