Учебное пособие: Адресное пространство. Подсистемы ввода-вывода

Недостаток : нельзя изолировать поток команд сопроцессора от потока команд ЦП (в поток команд ЦП входят команды сопроцессора).

Тогда применяются процессоры ввода/вывода (ПВВ) .

Они также имеют собственную систему команд, но могут управлять системной шиной. Следовательно, в памяти можно изолировать команды ЦП и ПВВ.

Отличие ПВВ от ЦП : ЦП никогда не останавливается. ПВВ останавливается по завершению операции.

ПВВ часто называют канальным процессором, а его программу – канальной программой.

Применяются для управления [произвольным] оборудованием (нужно только загрузить нужную программу) (например, в Mainframe’ах IBM).

Механизмы управления ВУ-ми через контроллеры. Управление через отображение регистров и адресов памяти на СШ

Самый простой способ.

Драйвер ВУ должен знать, какой регистр за что отвечает. Драйвер может в любой момент времени обратиться к любому регистру.

Преимущества:

- разработчик драйвера наиболее свободен в выборе – когда и что делать;

- за 1 цикл шины позволяет обращаться к запрошенному регистру (нет задержки).

Недостаток: если устройство сложное, нужно много регистров, а разрядность шины регистров ограничена.

Следовательно, нужно экономить регистры! (см. след. тему).

Механизм косвенной адресации

Число регистров в КВУ уменьшить невозможно (сколько есть, столько есть). Регистры эти имеют некоторые адреса внутри КВУ и не отображаются на шину.

На шину отображаются два регистра – регистр номера регистра и регистр данных.

Алгоритм работы:

Надо сгенерировать два цикла шины:

Цикл 1: число, обозначающее номер регистра в рег. # регистра.

Цикл 2: данные передаются из регистра данных во внутренний регистр с этим номером, либо коммутируются внутри регистра на шину (прямо так, без пересылки данных из него в регистр данных).

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

Примечание: для ВУ с большим числом регистров, доступ к которым осуществляется редко (пример: часы реального времени (70h и 71h – регистры номера и данных) и CMOS-память – используются только в момент загрузки компьютера).

Если надо гонять часто большие объемы данных, механизм косвенной адресации неприменяем!

В случае быстрых устройств и больших объемов данных необходимо выставить мало регистров на шину, но чтобы не тратилось два цикла шины.

Конвейерная схема загрузки регистров

Смысл: любое устройство, работающее с таким КВУ имеет фиксированный набор команд и строго определенный порядок загрузки регистров для каждой команды.

Регистры уже не доступны драйверу по номеру, Номер регистра, в который будет помещена информация, определяется самой командой, а не драйвером.

Надо выполнить транзакцию и передачу КВУ данных, необходимых для данной операции. А КВУ сам распихает их по своим регистрам и запустит операцию.

К-во Просмотров: 360
Бесплатно скачать Учебное пособие: Адресное пространство. Подсистемы ввода-вывода