СПОСОБЫ ОБМЕНА ДАННЫМИ В МАШИНАХ С ШИННОЙ ОРГАНИЗАЦИЕЙ. МЕХАНИЗМ ПРЕРЫВАНИЙ

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

Для обеспечения согласования системной шины и внешнего устройства по скорости работы и способу представления данных каждое внешнее устройство комплектуется схемой (устройством), называемой контроллером внешнего устройства. Контроллер устройства может иметь внутри себя ряд регистров. В регистры контроллера помещаются команды для управления внешним устройством или самим контроллером; данные, подлежащие передаче между устройством и системной магистралью; значения параметров, управляющих режимами работы устройства, либо информация о состоянии внешнего устройства. Для того, чтобы обеспечить доступ центрального процессора к регистрам контроллера они должны быть отображены на порты ввода - вывода. Как правило, одному устройству приписывается несколько соседних портов ввода - вывода. Процессор для доступа к контроллеру помещает на шину адреса адрес порта внешнего устройства. Этот адрес принимается всеми контроллерами внешних устройств одновременно. Каждый контроллер устройства должен содержать в своем составе дешифратор, в котором зафиксированы адреса портов, приписанных регистрам данного контроллера. Во избежание конфликтных ситуаций адреса портов, приписанных к разным контроллерам, должны быть различны. Благодаря наличию дешифратора контроллер устройства “определяет” обращения, относящиеся именно к нему, и обрабатывает их. В результате центральный процессор может читать содержимое регистров контроллера или устанавливать в них новые значения.

Таким образом, процессор теперь может передать в контроллер команды и данные, прочитать информацию о состоянии устройства и получить данные из устройства. Для обмена данными с устройством может быть разработана программа обмена информацией с контроллером. Процесс создания такой программы носит название программирование контроллера. Помещая в контроллер некоторую команду, процессор запускает обменную операцию. Контроллер выполняет эту команду, осуществляя непосредственное управление устройством (например, чтобы прочитать данные с магнитной ленты, надо запустить двигатель, считать информацию, проверить правильность чтения и т.д.). А как теперь процессор может “узнать” о том, что контроллер выполнил то, что от него требовалось?

Как мы уже показали, возможно большое разнообразие в способах реализации системы шин в ЭВМ. Несмотря на это, в машинах с шинной организацией можно выделить всего три базовых способа обмена данными между “быстрой” частью (процессор и память) и “медленной” частью (контроллеры и периферийные устройства). К таким способам относятся:

1) программно - управляемый обмен данными;

2) обмен по прерываниям;

3) внепроцессорный прямой доступ к памяти.

Рассмотрим эти способы обмена подробнее.