Jump to content

    
Sign in to follow this  
Demeny

Как на одной PCI-плате разместить 2 разных PCI-устройства ?

Recommended Posts

При том, что существует только одна линия запроса шины. Если два устройства независимы, то кто будет выступать арбитром? Шина то одна. Вот вам и связь. Значит между двумя функциями должен быть арбитр некий.По своей сути - тот же мост.

Share this post


Link to post
Share on other sites
При том, что существует только одна линия запроса шины. Если два устройства независимы, то кто будет выступать арбитром? Шина то одна. Вот вам и связь. Значит между двумя функциями должен быть арбитр некий.По своей сути - тот же мост.

 

Какая линия запроса? Если Вы говорите про циклы доступа к пространству конфигурации, то в этом случае устройство определяется сигналом IDSEL (общим для всех функций многофункционального устройства) и номером функции. Если говорить про работу в пространстве ввода-вывода или памяти, то устройство уже должно иметь правильные значения в регистрах BAR всех функций и откликаться оно будет только за заданные в BAR адреса. Зачем здесь еще какой-то арбитр? Мы, на сколько я понимаю, говорим про target, а не про master.

Share this post


Link to post
Share on other sites

Не встречал никогда езернет контроллер - не мастер. Разумеется про мастер. Таргетов лепи хоть милон и программно разбирайся с ними...

Share this post


Link to post
Share on other sites
Не встречал никогда езернет контроллер - не мастер. Разумеется про мастер. Таргетов лепи хоть милон и программно разбирайся с ними...

 

Если в составе обсуждаемого многофункционального PCI-устройства будет только один мастер (например, Ethernet-контроллер), то ему будет вполне достаточно штатного арбитра и единственной пары сигналов REQ/GNT. Поэтому даже в этом случае проблемы не будет.

Share this post


Link to post
Share on other sites

Тема нашла неожиданное развитие. :yeah:

Смотрел даташиты на 10/100 PCI Ethernet-контроллеры от Realtek и нашёл интересную возможность, уже заложенную в чипы Realtek-ом. Вот картинка из даташита на RTL8139D (хоть и написано на картинке RTL8102L - она взята всё же из даташита RTL8139D):

 

post-14237-1216903068_thumb.jpg

 

Возможность эта заключается в наращивании функциональности PCI-устройства, причём не только Target, но и Master, с помощью трёх сигналов - REQB2, GNTB2, IDSEL2. Это же как раз то, что мне нужно - Realtek разрешает повесить на шину PCI параллельно ещё одно PCI-устройство, на которое заводятся эти три сигнала REQB2, GNTB2 и IDSEL2 из основного чипа, таким образом, второе PCI-устройство становится отдельной функцией, откликается на свой IDSEL в циклах конфигурации и может захватывать мастеринг на шине у системного арбитра с помощью своих REQB и GNTB. При этом все остальные сигналы PCI (насколько я понимаю) просто распаиваются параллельно. Никакой PCI-PCI Bridge при этом не требуется.

Какие мнения будут по этому способу подключения второго PCI-устройства ?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this