Загрузка...

Шина расширения PCI


В каждой команде шины указывается адрес данных, передаваемых в первой фазе пакета данных. Адрес для каждой последующей фазы пакета данных увеличивается на 4 (следующее двойное слово), но в командах обращения к памяти порядок может быть иным. Байты шины AD, несущие действительную информацию, выбираются сигналами C/BE[3:0]# в фазах данных. Внутри пакета эти сигналы могут менять состояние от фазы к фазе произвольным образом. Разрешенные байты могут быть разрозненными; возможны фазы данных, в которых не разрешено ни одного байта.

Адресация памяти, портов и конфигурационных регистров различна.

1. В циклах обращения к памяти адрес, выровненный по границе двойного слова, передается по линиям AD[31:2]; линия AD[1:0] задают порядок адресов в пакете.

00 – линейное представление; адрес последующей фазы отличается от предыдущего на число байтов шины (4 для 32-битной и 8 для 64-битной шины).

10 – Cacheline Wrap Mode, сворачивание адресов с учетом длины строки кэш-памяти. В транзакции адрес для очередной фазы увеличивается до достижения границы строки кэша, после чего переходит в начало этой строки и увеличивается до адреса, предшествующего начальному. Если транзакция длиннее строки кэша, то она продолжится в следующей строке с того же смещения, что и началась. Длина строки кэша прописывается в конфигурационном пространстве устройства. Если устройство не имеет подобного регистра, то оно должно прекратить транзакцию после первой фазы данных.

01 и 11 – зарезервировано, может использоваться как указание на отключение после первой фазы данных.

2. В циклах обращения к портам ввода-вывода для адресации любого байта используются все линии AD[31:0]. При этом биты адреса AD[31:2] указывают на адрес двойного слова, к которому принадлежат передаваемые данные, а младшие биты адреса AD[1:0] должны соответствовать байтам, которые могут быть разрешены сигналами C/BE[3:0]#. Эти циклы тоже могут быть пакетными, хотя на практике эта возможность используется редко.

3. В циклах конфигурационной записи/считывания устройство (карта расширения) выбирается индивидуальным адресом IDSEL; функция адресуется битами AD[10:8], а конфигурационные регистры (только двойные слова) адресуются битами AD[7:2], при этом AD[1:0]=00.

Загрузка...