Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PCI/PCI Express TYPE 1 Configuration Header
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISA/PCI/PCI-X/PCI Express
voffka
Как используются регистры I/O, Memory, Prefetchable Memory Base/Limit?

Используются ли они вообще в PCI-Express Root Complex?

И как организовать адресное пространство для такого устройства?

Заранее спасибо)))
xyzzy
В обычном PCI (про экспресс пока не в курсе) BAR регистры бриджа программируются так,
чтобы они покрывали адресные пространства всех устройств на другой стороне бриджа.

Для иллюстрации, если устройства X,Y,Z на вторичной шине живут по адресам 0x80000000, 0x80100000 и 0x80200000 и каждое требует 1М адресного пространства, то бридж должен быть сконфигурурован так, чтобы отвечал не запросы до адресам всех устройств на вторичной шине. В данном случае 0x80000000..0x802fffff.

Код
[host]  
|
-----------------
    |
   [B]
    |
-----------------
|     |    |
[X]  [Y]  [Z]


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

Эта процедура применяется ко всем типам адресов - I/O, prefetchable и non-prefetchable memory.

Если интересны детали, можете заглянуть в исходники NetBSD - там все довольно наглядно.

http://cvsweb.netbsd.org/bsdweb.cgi/src/sy...x-cvsweb-markup
Link
У Root Complex конфигурационные регистры относятся к RCRB. В базовом адресе значения Bus Number и Device Number как правило равны '0'.
voffka
" В базовом адресе значения Bus Number и Device Number как правило равны '0'."
Что значит в базовом адресе? Не понял, объясните плз))

И еще вопрос:

Стандартные PCI Capabilities (MSI, Power management) где должны расролагаться (в конфигурационном пространстве Host Bridge или Root Port (PCI-PCI Bridge)) ?
Link
RCRB -Конфигурационные регистры Root complex'а опциональны (можно не реализовывать), как выполнить доступ к ним - на усмотрение разработчика. Самому Host/PCI bridge обычно присваивается Bus number = '0', device number = '0', а PCI/PCI bridge (в Root Complex'е) - Bus number = '0' , device number = '1'.


> Стандартные PCI Capabilities (MSI, Power management) где должны расролагаться (в конфигурационном
> пространстве Host Bridge или Root Port (PCI-PCI Bridge)) ?

Если RCRB реализуется, то и там и там.

.. вроде так...
voffka
> Стандартные PCI Capabilities (MSI, Power management) где должны расролагаться (в конфигурационном
> пространстве Host Bridge или Root Port (PCI-PCI Bridge)) ?

Если RCRB реализуется, то и там и там.

.. вроде так...
[/quote]


Нет,в RCRB могут находиться только PCI Express Enhanced Capabilities и implementation specific - регистры (PCI Express Base Specification 1.0a, p315):
"These registers are used in a manner similar to configuration space and can include PCI Express extended capabilities and other implementation specific registers that apply to the Root Complex."

Насчет MSI я разобрался - у нас свой механизм сообщения прерываний, через in-band сообщения по системной шине.Т.е. MSI мне реализовывать не нужно.

А вот насчет PCI Power Management Capability я думаю,что ее необходимо реализовать только в регистрах Root Port'a. Как мне кажется, нет смысла реализовывать PM Capabilities для "виртуальной" шины (Host Bridge - PCI-PCI Bridge).
Link
Фраза

Цитата
"These registers are used in a manner similar to configuration space and can include PCI Express extended capabilities and other implementation specific registers that apply to the Root Complex."


означает что RCRB используются аналогично регистрам конфигурационного пространства и могут содержать PCI Express extended capabilities и т.д.
voffka
Цитата(Link @ Dec 7 2006, 00:04) *
Фраза

Цитата
"These registers are used in a manner similar to configuration space and can include PCI Express extended capabilities and other implementation specific registers that apply to the Root Complex."


означает что RCRB используются аналогично регистрам конфигурационного пространства и могут содержать PCI Express extended capabilities и т.д.


1. Implementation Specific Registers - внутренние регистры устройства, в котрых прописываются различные опции (специфичные для конкретного устройства), которые могут и не влиять на работу PCI-E. Я думаю,если бы они имели в виду PCI Capabilities, они бы так и написали.
2. А что мешает расположить PCI Capabilities в стандартном конф пространстве Host Bridge (ниже границы 256 байт)?Имело бы смысл располагать их в RCRB, если бы в этих Capabilities содержалась информация,относящяяся к Root Port'ам(например, Virtual Channel Capability).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.