Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ekzam.docx
Скачиваний:
10
Добавлен:
18.09.2019
Размер:
3 Мб
Скачать
☆

17. Введення – виведення

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

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

18.Програмне введення –виведення

Методы выполнения процедур ввода-вывода можно разделить на три груп­пы. При программируемом вводе-выводе данные циркулируют между процессо­ром и модулем ввода-вывода. Весь процесс обмена идет под полным контролем процессора (точнее, программы, которую процессор выполняет). Процессор ана­лизирует текущее состояние устройства, передает команды чтения данных с уст­ройства или передачи ему данных (для общности принято называть такую опе­рацию "записью на устройство", хотя для многих типов устройств никакой запи­си фактически не выполняется). После того как процессор передаст некоторую команду модулю ввода-вывода, процессор должен выждать, пока команда будет выполнена, и только после этого передавать следующую. Поскольку, как прави­ло, внешнее устройство работает на несколько порядков медленнее, чем процес­сор, на ожидание понапрасну тратится масса времени.

Более производителен метод ввода-вывода по прерыванию. При обмене данными по этому методу процессор, передав модулю команду ввода-вывода, продолжает вы­полнять дальнейшие команды программы до тех пор, пока не будет прерван моду­лем, извещающим, что выполнение ранее переданной команды завершено. При вы­полнении операций ввода-вывода этими двумя методами на процессор возлагается ответственность за извлечение нужных данных из оперативной памяти при их пере­сылке на внешнее устройство или за размещение данных в оперативной памяти приприеме их от внешнего устройства. Альтернативный метод получил наименование режима прямого доступа к памяти — direct memory access (DMA). В этом режиме модуль ввода-вывода и оперативная память обмениваются данным^ напрямую, не вовлекая процессор в эту процедуру.

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

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

Анализ методики программируемого ввода-вывода мы начнем с команд, пере­даваемых процессором модулю, а затем рассмотрим, как эти команды соотносятся с инструкциями ввода-вывода, которые процессор извлекает из программы.

Команды ввода-вывода

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

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

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

Команда чтения. Инициирует прием модулем ввода-вывода очереднойпорции данных от внешнего устройства.

Команда записи. Инициирует передачу модулем ввода-вывода порции дан­ных внешнему устройству. Передаваемые данные (как правило байт или слово), выставляются процессором на линии данных системной магистрали.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]