Тема 3.2. Принципы обмена информацией с внешними устройствами

Лекция 6

 

Обмен информацией между ЭВМ и внешними по отношению к ней устройствами - неотъемлемый элемент любого вычислительного процесса.

 

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

 

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

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

 

По отношению к ЦП каждое внешнее устройство представляет собой набор регистров, и обмен сводится к записи информации в эти регистры или считыванию информации из них.

 

Организация любой ЭВМ обеспечивает следующие 4 способа обмена:

1) синхронный;

2) асинхронный;

3) по прерыванию;

4) с использованием канала ПДП.

 

 

Синхронный обмен.

1. Самый быстрый. Обеспечивает передачу информации за одну машинную команду.

 
 

 


2. ЦП является инициатором обмена как при вводе, так и при выводе информации.

Внешнее устройство играет пассивную роль, передавая или принимая информацию по командам ЦП.

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

 

Асинхронный обмен.

1. Позволяет программно синхронизировать обмен между ЭВМ и низкоскоростным внешним устройством.

Это достигается проверкой готовности устройства для проведения обмена.

 

Готовность к обмену отображается, например, разрядом 7 регистра состояния и управления CSR этого устройства (флагом готовности):

- CSR[7] = 1 (флаг установлен) означает готовность;

- CSR[7] = 0 означает занятость устройства.

Для выяснения состояния устройства необходимо прочитать содержимое его CSR и проанализировать разряд 7.

Если устройство занято, происходит переход на команду чтения содержимого CSR и программа зацикливается.

 

2. Обмен, происходящий при наступлении готовности, осуществляется синхронным способом.

 
 

 


3. Установку флага осуществляет внешнее устройство, когда оно готово принять или выдать информацию (например, в CSR принтера флаг устанавливается после того, как принтер напечатал предыдущий символ и готов к принятию кода для печати следующего символа).

 

В CSR клавиатуры флаг устанавливается после нажатия оператором клавиши, когда код символа нажатой клавиши может быть выставлен на линиях данных магистрали для передачи в ЭВМ.

 

4. Флаг готовности сбрасывается внешним устройством после того, как произошел обмен данными с ЭВМ.

 

5. В случае асинхронного обмена внешнее устройство играет пассивную роль. Оно не может быть инициатором обмена.

 

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

 

(Например, для принтера со скоростью печати порядка 100 символов в секунду и с временем выполнения машинной команды обмена типа MOV порядка 0,4 мкс, только 0,04% машинного времени, отведенного на обмен, тратятся непосредственно на передачу данных; остальные же 99,96% времени расходуются на ожидание готовности).

 

Обмен по прерыванию.

1. Лишен отмеченных недостатков асинхронного способа.

 

 

 


2. Отличительная черта - активность внешнего устройства, которое выступает инициатором обмена, выставляя так называемое "требование прерывания".

 

Роль ЦП сводится к тому, чтобы, откликнувшись на требование, его выполнить.

 

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

 

ЦП выполняет работу по программе, называемой фоновой.

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

 

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