Принципы взаимодействия шин расширения и интерфейсов периферийных устройств

в начало

При передаче информации между ПУ и ЦПр данные проходят по двум интерфейсам: внутреннему (шина расширения, например, PCI) и внешнему (интерфейс периферийных устройств, например Centronics, USB) (см. рисунок 1.27).

Взаимодействие этих интерфейсов происходит с помощью специальных сигналов, флагов ввода (IBF) и вывода (). На рисунке 1.28 показаны протоколы взаимодействия при выполнении операций записи и чтения для параллельных интерфейсов.

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

При записи (см. рисунок 1.28б) процессор выставляет данные на шину данных (ШД) внутреннего интерфейса и подает сигнал записи по линии управления. Фронтом этого сигнала данные записываются в регистр контроллера ввода/вывода, одновременно в соот­ветствующем разряде регистра состояния контроллера устанавливается флаг вывода . ПУ, обнаружив активное состояние , считывает данные из регистра контроллера по шине данных внешнего интерфейса (ДПУ), после чего выдает на контроллер сигнал об­ратной связи , который говорит о том, что передача данных закончена.

Таким образом, ЦПр и ПУ взаимодействуют между собой с помощью своих интер­фейсов, используя флаги ввода IBF и вывода , которые говорят о наличие данных в регистре данных контроллера.