Интерфейсы и шины в вычислительной системе
Скачать 0.6 Mb.
|
Шина PCIОперация чтения на шине PCI 1 2 3 4 5 6 7 CLK Frame# AD C/BE# IRDY# TRDY# DEVSEL# Разрешающий сигнал Команда Адрес #1 #2 #3 #4 Рассмотрим операцию в которой процессор считывает из памяти 32-разрядное слово. Ее инициатором является процессор, а целевым устройством – память. Полная операция пересылки данных по шине, включающая пересылку адреса и пакета данных, называется транзакцией. Пересылка отдельного слова в ходе транзакции называется фазой. Тактовый сигнал используется для координирования различных фаз транзакции. Все изменения сигналов инициируются передним фронтом тактового сигнала. Из-за задержек изменения сигналов следуют через некоторое время после тактовых импульсов. На такте 1 процессор помещает на шину сигнал FRAME#, сообщая тем самым о начале транзакции. Одновременно он помещает адрес на линии AD и команду на линии С/ВЕ#. В данном случае команда указывает, что запрошена операция чтения и что в ней используется адресное пространство памяти. Такт 2 предназначен для переключения линий шины AD. Процессор удаляет с них адрес и отключает свои выходные повторители. Выбранное целевое устройство, напротив, включает свои повторители на линиях AD и в течение такта 3 помещает на эти линии запрошенные данные. Затем оно активизирует сигнал DEVSEL# и поддерживает его в активном состоянии до конца транзакции. Линии С/ВЕ#, использовавшиеся для пересылки команды на такте 1, в оставшейся части транзакции применяются для другой цели. Каждая из них связана с одним байтом данных на линиях AD. Инициатор активизирует одну или несколько линий С/ВЕ#, для того чтобы указать, какие из линий AD должны использоваться для пересылки данных. Если целевое устройство способно одновременно пересылать 32 бита данных, все четыре линии С/ВЕ# устанавливаются в 1. В течение такта 3 инициатор активизирует сигнал IRDY#, с тем чтобы сообщить о своей готовности к получению данных. Если целевое устройство к этому моменту уже готово к отправке данных, оно устанавливает сигнал TRDY# и помещает на шину слово данных. В конце такта инициатор загружает данные в свой входной буфер. На тактах 4-6 целевое устройство отсылает инициатору еще три слова данных. С помощью сигнала FRAME# инициатор указывает длину пакета данных. Во время передачи предпоследнего слова он снимает этот сигнал, отмечая окончание пакета. В нашем примере инициатор хочет прочитать четыре слова. Поэтому он снимает сигнал FRAME# на такте 5, во время которого получает третье слово данных. После отправки четвертого слова на такте 6 целевое устройство отсоединяет свои повторители от линий AD и в начале такта 7 снимает сигнал DEVSEL#. Шина PCIРоль сигналов IRDY# и TRDY# в операции чтения Разрешающий сигнал Команда Адрес #1 #2 #3 #4 CLK Frame# AD C/BE# IRDY# TRDY# DEVSEL# С помощью сигналов IRDY# и TRDY# инициатор и целевое устройство делают паузы в середине транзакции. Целевое устройство отсылает третье слово на такте 5. Предположим, что в этот момент инициатор не готов к его получению. Тогда он снимает сигнал IRDY#, а целевое устройство сохраняет третье слово на линях AD до тех пор, пока сигнал IRDY# не появится снова. На такте 6 инициатор активизирует сигнал IRDY# и в конце этого такта загружает данные в свой входной буфер. Допустим, что теперь целевое устройство не готово к немедленной отправке четвертого слова данных. В начала такта 7 оно снимает сигнал TRDY#, а на такте 8 помещает четвертое слово на линии AD и активизирует сигнал TRDY#. Поскольку на третьем слове данных сигнал FRAME# снимается, после пересылки четвертого слова данных транзакция завершается. С помощью сигналов IRDY# и TRDY# инициатор и целевое устройство делают паузы в середине транзакции. Целевое устройство отсылает третье слово на такте 5. Предположим, что в этот момент инициатор не готов к его получению. Тогда он снимает сигнал IRDY#, а целевое устройство сохраняет третье слово на линях AD до тех пор, пока сигнал IRDY# не появится снова. На такте 6 инициатор активизирует сигнал IRDY# и в конце этого такта загружает данные в свой входной буфер. Допустим, что теперь целевое устройство не готово к немедленной отправке четвертого слова данных. В начала такта 7 оно снимает сигнал TRDY#, а на такте 8 помещает четвертое слово на линии AD и активизирует сигнал TRDY#. Поскольку на третьем слове данных сигнал FRAME# снимается, после пересылки четвертого слова данных транзакция завершается. |