The design of the UNIX Operating System 94 страница




Основы операционных систем 131

Существенное отличие памяти от устройств ввода -вывода заключается в том, что занесение информации в память является окончанием операции записи, в то время как занесение информации в порт зачастую представляет собой инициализацию реального совершения операции ввода-вывода. Что именно должны делать устройства , приняв информацию через свой порт, и каким именно образом они должны постав-лять информацию для чтения из порта, определяется электронными схемами устройств, получившими название контроллеров. Контроллер может непосредственно управлять отдельным устройством (напри-мер, контроллер диска), а может управлять несколькими устройствами , связываясь с их контроллерами посредством специальных шин ввода-вывода (шина IDE, шина SCSI и т. д.).

 

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

 

• Устройства ввода-вывода подключаются к системе через порты.

 

• Могут существовать два адресных пространства: пространство памяти и пространство ввода-вывода.

• Порты, как правило, отображаются в адресное пространство ввода-вывода и иногда – непосредст-венно в адресное пространство памяти.

• Использование того или иного адресного пространства определяется типом команды, выполняе-мой процессором, или типом ее операндов.

• Физическим управлением устройством ввода-вывода, передачей информации через порт и вы-ставлением некоторых сигналов на магистрали занимается контроллер устройства.

 

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

 

Структура контроллера устройства

 

Контроллеры устройств ввода-вывода весьма различны как по своему внутреннему строению, так и по исполнению (от одной микросхемы до специализированной вычислительной системы со своим процес-сором, памятью и т. д.), поскольку им приходится управлять совершенно разными приборами. Не вдава-ясь в детали этих различий, мы выделим некоторые общие черты контроллеров, необходимые им для взаимодействия с вычислительной системой. Обычно каждый контроллер имеет по крайней мере четыре внутренних регистра, называемых регистрами состояния, управления, входных данных и выходных данных.Для доступа к содержимому этих регистров вычислительная система может использовать одинили несколько портов, что для нас не существенно. Для простоты изложения будем считать, что каждому регистру соответствует свой порт.

 

Регистр состояния содержит биты, значение которых определяется состоянием устройства ввода-вывода и которые доступны только для чтения вычислительной системой. Эти биты индицируют завершение выполнения текущей команды на устройстве (бит занятости), наличие очередного данного в регистре выходных данных (бит готовности данных), возникновение ошибки при выполнении команды (бит ошибки)и т.д.

 

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


Дата добавления: 2021-01-21; просмотров: 112; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!