Контроллеры устройств

Устройства ввода-вывода состоят из:

· механической части (находится в самом устройстве)

· электронной части (называется контроллером устройства или адаптером)

Интерфейс между устройством и контроллером является интерфейсом очень низкого уровня.

Например, жесткий диск может быть отформатирован по 256 секторов на дорожку, с размером секторов по 512 байт. С диска в контроллер поступает последовательный поток битов, начинающийся с заголовка сектора, за которым следует 4096 бит в секторе, затем контрольная сумма, также называемая кодом исправления ошибок (ЕСС, Error-Correcting Code). Заголовок сектора записывается на диск во время форматирования. Он содержит номера цилиндра и сектора, размер сектора, информацию синхронизации.

Работа контроллера заключается в конвертировании последовательного потока битов в блок байтов и выполнение коррекции ошибок, если это необходимо. Обычно байтовый блок собирается бит за битом в буфере контроллера. Затем проверяется контрольная сумма блока, и если она совпадает с указанной в заголовке сектора, блок объявляется считанным без ошибок, после чего он копируется в оперативную память.

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

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

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

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


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



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