КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Шины и карты расширения

Адрес для каждой последующей фазы данных пакета увеличива-

184
Глава 6. Шины и карты расширения
ется на 4 (следующее двойное слово), но в командах обращения к памяти порядок может быть иным (см. ниже). Байты шины AD, несущие действительную информа¬цию, выбираются сигналами С/ВЕ[3:0]# в фазах данных. Внутри пакета эти сигна¬лы могут менять состояние от фазы к фазе произвольным образом. Разрешенные байты могут быть разрозненными; возможны фазы данных, в которых не разре¬шено ни одного байта. В отличие от шины ISA, на PCI нет динамического измене-ния разрядности — все устройства должны подключаться к шине 32-разрядным способом. Если в устройстве PCI применяются функциональные схемы иной раз¬рядности (к примеру, нужно подключить микросхему 8255, имеющую 8-битную шину данных и четыре регистра), то приходится принимать схемотехнические методы преобразования, отображающие все регистры на 32-разрядную шину AD.
Адресация памяти, портов и конфигурационных регистров различна.

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

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

10 — Cacheline Wrap mode, сворачивание адресов с учетом длины строки кэш-памяти. В транзакции адрес для очередной фазы увеличивается до дос¬тижения границы строки кэша, после чего переходит на начало этой строки и увеличивается до адреса, предшествующего начальному. Если транзакция длиннее строки кэша, то она продолжится в следующей строке с того же смещения, что и началась. Так, при длине строки 16 байт и 32-битной шине транзакция, начавшаяся с адреса xxxxxxOSh, будет иметь последующие фазы данных, относящиеся к адресам xxxxxxOCh, xxxxxxOOh, xxxxxx04h; и далее к xxxxxxlSh, xxxxxxlCh, xxxxxxlOh, xxxxxx!4h. Длина строки кэша пропи¬сывается в конфигурационном пространстве устройства (см. п. 6.2.12). Если
устройства не имеет регистра Cache Line Size, то оно должно прекратитьтранзакцию после первой фазы данных;

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

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

Hosted by uCoz