Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 24.Общие вопросы организации ввода-вывода.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
233.47 Кб
Скачать

24.3. Конструктивная реализация внешних устройств

Современное внешнее устройство (ВУ) обычно состоит из:

- контроллера внешнего интерфейса (его периферийная часть);

- устройства управления (контроллера);

- собственно устройства.

Обобщенная структура внешнего устройства приведена на рис. 24.7.

Рис. 24.7. Обобщенная структура внешнего устройства.

Конструктивно внешнее устройство может быть реализовано:

- в виде отдельного устройства, подключающегося к разъему одного из контроллеров интерфейса подсистемы ввода-вывода кабелем с разъемом. В этом случае контроллер интерфейса и контроллер ВУ находятся в конструктиве внешнего устройства.

- в виде интерфейсной карты, на которой может располагаться либо весь контроллер ВУ, либо его часть, и, обязательно, контроллер интерфейса;

- в виде интерфейсной карты, на которой расположено само ВУ, его контроллер и контроллер интерфейса. Интерфейсная карта подключается к разъему одного из контроллеров интерфейса подсистемы ввода-вывода;

- в виде одной из микросхем, расположенных, например, на материнской плате. Микросхема соединяется с интерфейсом подсистемы ввода-вывода печатными проводниками;

- в виде электронной схемы, интегрированной в одну из микросхем подсистемы ввода-вывода.

24.4. Адресация периферийных устройств

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

В компьютере периферийные устройства могут адресоваться через:

специальное адресное пространство ввода-вывода;

адресное пространство оперативной памяти.

В случае использования адресного пространства оперативной памяти для адресации периферийных устройств выделяется часть адресов из общего адресного пространства оперативной памяти.

Достоинства такого подхода следующие:

практически неограниченные возможности по выделению адресов для периферийных устройств;

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

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

Недостатки такого подхода:

усложнение схем дешифрации адреса в контроллере интерфейса в периферийном устройстве. Так как размер адресного пространства оперативной памяти в современных вычислительных системах составляет величину не менее 4 Гбайт, то количество дешифрируемых разрядов адреса составляет не менее 32-х.

так как каждая адресуемая функция периферийного устройства работает по алгоритму ячейки оперативной памяти и на одинаковом интерфейсе оперативной памяти, то и требования к быстродействию схем контроллера периферийного устройства такие же, как и для микросхем оперативной памяти;

некоторое уменьшение адресного пространства, которое будет использовано для работы оперативной памяти;

повышение стоимости контроллеров периферийных устройств, особенно простых.

В случае использования специального адресного пространства ввода-вывода для работы с периферийными устройствами в системе команд предусматриваются специальные команды ввода-вывода. В архитектуре IA-32/64 такими командами являются команды: IN; OUT; INS; OUTS. Эти команды выполняют обмен информацией между регистром RАХ и регистром (буфером) данных устройства. Адрес устройства задается либо непосредственно в команде ввода-вывода, либо в регистре RDX.

Достоинства использования специального адресного пространства ввода-вывода:

адрес функции периферийного устройства может быть коротким, значит, и необходимы меньшие аппаратурные затраты на дешифрацию адреса. Достаточно распространен случай, когда адрес равен 10 разрядам. При задании в командах IN; OUT; INS; OUTS адреса периферийного устройства через регистр используется 16 младших разрядов регистра RDX.

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

разработка подсистемы ввода-вывода может выполняться отдельно от разработки подсистемы памяти.

Недостатки использования специального адресного пространства ввода-вывода:

ввод-вывод осуществляется только с использованием в процессоре одного регистра RАХ;

для обработки введеной из периферийного устройства порции информации (если аккумулятор – регистр RАХ – занят) требуются дополнительные команды.

Исторически более широкое распространение получил вариант со специализированным адресным пространством ввода-вывода. Это объясняется, в основном, меньшими аппаратурными затратами для его реализации. 20 – 30 лет назад ограничения по затратам аппаратуры имели преобладающее влияние. Стремление уменьшить длину команды, уменьшить затраты на контроллер интерфейса в периферийном устройстве, особенно для относительно простых периферийных устройств, и обусловили широкое распространение такого варианта.

Вариант единого адресного пространства для оперативной памяти и периферийных устройств использовался в некоторых компьютерах, преимущественно в тех, где для связи с оперативной памятью и периферийными устройствами использовалась системная магистраль.

В связи с успехами в развитии микроэлектроники в 90-е годы 20-го века ограничения на аппаратурные затраты для реализации контроллеров интерфейсов (и контроллеров периферийных устройств в целом) перестали играть существенную роль. На первый план при разработке подсистем ввода-вывода, контроллеров интерфейсов, контроллеров периферийных устройств выдвинулись преимущества единого адресного пространства. Особенно отчетливо эти преимущества проявились при внедрении интерфейса PCI и последующих интерфейсов. Поэтому в современных подсистемах ввода-вывода преобладающее влияние получило использование для адресации периферийных устройств единого с оперативной памятью адресного пространства.