в начало
При передаче информации между ПУ и ЦПр данные проходят по двум интерфейсам: внутреннему (шина расширения, например, PCI) и внешнему (интерфейс периферийных устройств, например Centronics, USB) (см. рисунок 1.27).
Взаимодействие этих интерфейсов происходит с помощью специальных сигналов, флагов ввода (IBF) и вывода (). На рисунке 1.28 показаны протоколы взаимодействия при выполнении операций записи и чтения для параллельных интерфейсов.
При чтении (см. рисунок 1.28а) ПУ выставляет данные на шину данных внешнего интерфейса (ДПУ), сопровождая их сигналом стробирования (). По фронту этого сигнала данные считываются в регистр контроллера ввода/вывода (ДПорт), а в соответствующем разряде регистра состояния контроллера флаг IBF устанавливается в активное состояние. Центральный процессор проверяет состояние этого флага и при установлении его в «1» выдает сигнал чтения на линиях управления внутреннего интерфейса. По этому сигналу данные попадают на шину данных этого интерфейса и считываются процессором.
При записи (см. рисунок 1.28б) процессор выставляет данные на шину данных (ШД) внутреннего интерфейса и подает сигнал записи по линии управления. Фронтом этого сигнала данные записываются в регистр контроллера ввода/вывода, одновременно в соответствующем разряде регистра состояния контроллера устанавливается флаг вывода . ПУ, обнаружив активное состояние , считывает данные из регистра контроллера по шине данных внешнего интерфейса (ДПУ), после чего выдает на контроллер сигнал обратной связи , который говорит о том, что передача данных закончена.
Таким образом, ЦПр и ПУ взаимодействуют между собой с помощью своих интерфейсов, используя флаги ввода IBF и вывода , которые говорят о наличие данных в регистре данных контроллера.