- регистр управления и состояния, через который ЭВМ задает команды ПУ и получает информацию о его состоянии и результатах выполнения команды;
- регистр данных, через который передается байт в коде ЭВМ.
ОС выполняет ввод-вывод, записывая команды в регистры контроллера. Например, контроллер гибкого диска IBM PC принимает 15 команд, таких, как READ, WRITE, SEEK, FORMAT и т.д. Когда команда принята, процессор оставляет контроллер и занимается другой работой. При завершении команды контроллер организует прерывание для того, чтобы передать управление процессору операционной системы, которая должна проверить результаты операции. Процессор получает результаты и статус устройства, читая информацию из регистров контроллера.
В настоящее время распространены три основные схемы организации ввода/вывода, соответствующие конфигурациям микро-, мини- и больших ЭВМ (рис. 10.1, 10.2, 10.3 соответственно).
Рис. 10.1. Схема организации ввода/вывода для персональных ЭВМ
В этой конфигурации шина разделяется между различными устройствами и выполняется побайтная передача информации между ЦП и памятью. Оперативная память подключается непосредственно на магистраль.
УПДП - устройство прямого доступа памяти (DMA-direct memory access) обеспечивает пересылку блоков данных независимо от ЦП и упрощает канал ввода/вывода.
На больших ЭВМ контроллер может быть связан с несколькими каналами ввода/вывода, а периферийное устройство - с несколькими контроллерами.
Контроллер также может иметь несколько адресов и путей доступа.
Адресация периферийных устройств на больших ЭВМ осуществляется составным адресом, включающим: номер канала, номер котроллера, номер устройства на контроллере:
0 0 F
№ канала №контр. № устройства.
В мини- и микро- ЭВМ для адресации устройств используются зарезервированные ячейки памяти.
Доступ к периферийным устройствам здесь осуществляется как обычный доступ к ячейкам ОП, что значительно упрощает программирование ввода/вывода.