Перейти к содержанию
    

Вопрос по PCI Express

вопрос: возможно ли на PCI Express реализовать \ условно\ одновременную передачу двум абонентам одного и того же потока данных?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я, хоть с ней и не работал, но могу предположить, что нет.

Дело, видимо, в том, что PCI Express совместима в программной модели с PCI, а там каждому ресурсу отведен свой адрес и нельзя обращаться одним циклом к двум девайсам сразу.

Вам, наверное, подойдет Ethernet. Там есть адресация мультикастом и бродкастом. Видимо, это Вам надо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вопрос: возможно ли на PCI Express реализовать \ условно\ одновременную передачу двум абонентам одного и того же потока данных?

 

 

"Условно" - можно, например, когда PCIe устройства высасывают своим DMA контроллером одну и ту же область памяти.

Но в физическом смысле одновременно это не будет, потому как PCIe шина она point-to-point.

Можно извратиться и найти / построить репитер который будет передавать данные двум и более устройствам от исходной ПЦИе шины.

Изменено пользователем Cordroy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вроде можно настроить порты коммутатора тактим образом. инфу если найду, то выложу.

Вот нашел.. документ назывется "implementing multicast using dma in а pcie switch" Чтоб открыть - нужен NDA (у нас он подписан).

Принцип уже описал Cordroy.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно извратиться и найти / построить репитер который будет передавать данные двум и более устройствам от исходной ПЦИе шины.

Ну да, я тоже хотел про это написать, но подумал, что это не прокатит. Этот вариант аналогичен езернетовскому хабу, который раздает пакеты всем станциям, к нему подключенным. Но тогда девайсы должны работать в полудуплексе. И, естественно, мультикаст\бродкаст должен быть. Если даже сделать такой репитер, и поставить позади него два девайса, которые будут настроены на одно и то же адресное пространство, то писать в них будет можно. А вот, девайсы уже никуда сами обратиться не смогут, т.к., насколько я знаю, в PCI Express нету средств мониторинга состояния канала. В езернете-то эти средства есть и хорошо отработаны.

Кому нужно будет устройство, доступное только по записи?

С помощью DMA, очевидно, можно попробовать имитировать езернетовский CSMA, но получается, что устройства сами будут читать данные. Хотя, если все равно, кто инициатор обменов, то можно и так...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну да, я тоже хотел про это написать, но подумал, что это не прокатит. Этот вариант аналогичен езернетовскому хабу, который раздает пакеты всем станциям, к нему подключенным. Но тогда девайсы должны работать в полудуплексе. И, естественно, мультикаст\бродкаст должен быть. Если даже сделать такой репитер, и поставить позади него два девайса, которые будут настроены на одно и то же адресное пространство, то писать в них будет можно. А вот, девайсы уже никуда сами обратиться не смогут, т.к., насколько я знаю, в PCI Express нету средств мониторинга состояния канала. В езернете-то эти средства есть и хорошо отработаны.

Кому нужно будет устройство, доступное только по записи?

С помощью DMA, очевидно, можно попробовать имитировать езернетовский CSMA, но получается, что устройства сами будут читать данные. Хотя, если все равно, кто инициатор обменов, то можно и так...

 

у меня задача такая. есть некая рабочая система, там со входного устройства валится поток на последующие устройства. Вот мне нужно прозрачно по отношению ко всему реализовать слив потока со входного устройства наружу, т.е. воткнуть туда платку с торчащим наружу интерфейсом,на который все утекает. Проблема в том, что мастер не я.

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

М. Что кстати может оказаться вовсе невозможным, т.к. после проведения штатного цикла чтения из памяти входное устройство считает свои буфера пустыми и начинает наваливать туда данные нового цикла измерений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Воткнуться в слот между мастером и слейвом можете? Если нет, то без шансов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Воткнуться в слот между мастером и слейвом можете? Если нет, то без шансов.

 

Что значит между ? Вы имеете в виду плату - переходник для платы ввода потока ?

Я не знаю как иначе понять слово между - ведь там соединение точка - точка, любой другой способ подключения будет мастер - точка 1 и мастер - точка 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что значит между ? Вы имеете в виду плату - переходник для платы ввода потока ?

Да. И на этой врезке делать репитер. С ним сможете только слушать.

 

А может можно подключиться к другому интерфейсу? Вы же сказали, что епоток из одного устройства передается в другое. Между ними, я так понял - PCI Express. А что на внешних концах? Если какие-то сетевые интерфейсы, то проще там будет слушать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да. И на этой врезке делать репитер. С ним сможете только слушать.

 

А может можно подключиться к другому интерфейсу? Вы же сказали, что епоток из одного устройства передается в другое. Между ними, я так понял - PCI Express. А что на внешних концах? Если какие-то сетевые интерфейсы, то проще там будет слушать.

 

Не, на внешних не прокатит. На входе - много - много аналоговых концов /довольно быстрых/, а на выходе не интересно. Ясно. Кажется тема закрыта. А ведь так просто - сливать не в один канал а в 2. :crying: :crying:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У PLX есть нечто именуемое DualCast

http://www.plxtech.com/support/training/Du...ure%20Explained

Прикольно. Спасибо. У них еще и мультикаст есть, оказывается! Вот этот, например, аж до 11 абонентов обслуживает.

Хотя, все это работает только для отложенной записи.

 

Вообще, конечно, все правильно. PCI Express - наиболее явный конкурент езернету, особенно в промышленной области, поэтому они там начинают добавлять туда такие функции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прикольно. Спасибо. У них еще и мультикаст есть, оказывается! Вот этот, например, аж до 11 абонентов обслуживает.

Хотя, все это работает только для отложенной записи.

 

Вообще, конечно, все правильно. PCI Express - наиболее явный конкурент езернету, особенно в промышленной области, поэтому они там начинают добавлять туда такие функции.

Вы видимо забыли про расстояние, на котором всё работает ;) так что всетаки PCIe и Ethernet разные вещи...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы видимо забыли про расстояние, на котором всё работает ;) так что всетаки PCIe и Ethernet разные вещи...

Нет, не забыл. На высоких скоростях там расстояния уже сравнимые. Конкуренция между ними особенно сильная внутри прибораов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...