Интерфейсы ПК



         

А.5. Обмен данными


А.5. Обмен данными

Открытая архитектура PC предрасполагает использование различных адаптеров расширения. Чаще всего ПО общается с адаптерами через порты ввода/вывода, используя преры- вания, прямой доступ к памяти и непосредственное управ- ление шиной. Связь через область памяти, к которой при- писан адаптер, для "нештатных" адаптеров применяется редко. Выбор способа связи определяется пропускной спо- собностью, временем отклика на события, происходящие в адаптере, и допустимой загрузкой процессора.

Программно-управляемый обмен подразумевает следующие действия:

операцию чтения регистра состояния устройства для ана- лиза его готовности;

ожидание готовности (зацикливание предыдущего шага);

обмен байтом или словом данных.

Такой обмен сильно загружает процессор, особенно если про- грамма формирует управляющие сигналы обмена. Так, напри- мер, работает драйвер параллельного порта в стандартном ре- жиме, когда строб данных формируется двумя инструкциями OUT. В результате пропускная способность такого порта в за- висимости от процессора может быть порядка 150 Кбайт/с. Если разгрузить процессор от анализа готовности и форми- рования строба, как, например, в ЕРР-режиме параллельного порта, то производительность порта можно повысить на по- рядок. Такой режим обмена программно-управляемым назы- вать некорректно - это режим программного ввода/вывода с аппаратным контролем потока, где темп обмена определяет подключенное устройство. Высокоскоростные режимы PIO применяются в интерфейсе IDE. Они используют инструк- ции блочной пересылки REP INS/OUTS, при которых процес- сор пересылает данные между портом и областью памяти за минимальное количество тактов системной шины. Посколь- ку такую скорость ПУ обычно не воспринимают, контроллер интерфейса "притормаживает" обмен до разумных скоростей, определяемых режимом обмена. Параметры этих режимов, называемых PIO Mode, приведены в табл. 6.10.

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


Содержание  Назад  Вперед