Программные циклы обмена

При выполнении большинства команд процессору необходимо производить циклы обмена информацией с ОЗУ или периферийными устройствами ввода-вывода. Упрощенно взаимодействие процессора (CPU) с памятью или иным устройством в циклах обмена показано на рис. 2.14.

В начале цикла процессор выставляет на шину AB адрес требуемой ячейки памяти или порта. Одновременно на шину управления он выставляет управляющие сигналы ADS, M/IO# и W/R#, специфицирующие данный цикл.
















Сигнал ADS (Address Status) идентифицирует адресный цикл, во время которого действительны сигналы M/IO# и W/R#. Высокий уровень сигнала M/IO (Memory/Input-Output) указывает на обращение к памяти, низкий – на обращение к портам ввода-вывода. Направление обмена (запись или чтение) устанавливается сигналом W/R (Write/Read). Высокий уровень сигнала соответствует записи, низкий – чтению. После этого процессор в цикле записи выставляет на шину DB слово данных, а в цикле чтения принимает данные с этой шины.

В процессорах Pentium признаком завершения цикла обмена служит сигнал готовности RDY (BRDY# – Burst Ready), который память или устройство-исполнитель должны выдать, чтобы подтвердить, что данные получены и записаны (цикл записи) или выставлены на шину DB (цикл чтения). Циклы обмена, организованные таким образом называются асинхронными.

Синхронный обмен отличается от асинхронного тем, что на выполнение цикла обмена отводится заранее установленное время. Например, 2 - 4 такта. Предполагается, что за это время исполнитель гарантированно выполнит заданную операцию. Поэтому в синхронном обмене не требуется сигнала обратной связи RDY от исполнителя к задатчику, подтверждающего завершение цикла.

Сайт управляется системой uCoz