| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Общи насоки за pciexpress разработка http://mcu-bg.com/mcu_site/viewtopic.php?f=16&t=18135 |
Страница 1 от 1 |
| Автор: | gicho [ Съб Дек 11, 2021 11:01 am ] |
| Заглавие: | Общи насоки за pciexpress разработка |
Вътри ми се една идея, ама не съм уверен че имам знанията, да преценя доколко е постижимо и какви параметри ще получа. Става въпрос за pcie хардуер от тип endpoint, т.е. слейв устройство на бъса на компютър (по-скоро на SBC - те масово имат експрес новите SoC-ове). Имам избран "микроконтролер" с поддръжка на root complex или на endpoint - мисля че имплементацията вътре е не Cadence (IP-то). На високо ниво, това устройство (PCIe или miniPCIe или нещо къстъм като форм-фактор) трябва да си върти неговия софтуер, да си обслужва интерфейсите (перифериите) на микроконтролера (не е много "микро" всъщност) и да обмяна данни в Host PC-то през експреса. Специфичното в трансферите е че се гони ниска латентност - всъщност, "ниска" е в смисъла на няколко микросекудни, да кажем под 10мкс, което по стандартите на pcie май е детска игра. Да кажем че на всеки 100мкс трябва да се хвърлят по няколко стотин байта във всяка посока (и в двете посоки). Очаква се картата да инициира трансферите и да оставя и взема данните във системната памет на ПЦ-то (или SBC-то). Там ми е чуденката какви "есктри" има експреса (наследени от пци или нови) - например, доколко микроконтролера ще може да "алоцира" памет в пространството на ПЦ-то и да пише в нея - т.е. дали е типично endpoint контролерите да могат да "map"-ват ПЦ паметта в своето пространство и да се избегне копирането примерно? Типично е и да се организира tripple buffer между картата и ПЦ-то. Играх си с едно nvme ssd на същата платформа, ама докато върви Линукс на "микрото" и го играе root complex - новите евтини ССД-та нямат РАМ буфер на тях, но се хвалят с "HBM" - "Host Memory Buffer". Като тръгне животното и гледам в логовете че се обажда че са резервирани 64Мбайта от хост паметта за HBM. Това би било интересно да се ползва и в моя случай. Та, ако не е станало ясно, тъмна ми е тая част от Вселената и се надявам някой да ме осветли дали разсъждавам правилно. "Алтернативните" предложения са нагъчкани със скъпи бриждове и ASIC-и и, поне ценово, решението изглежда перспективно. |
|
| Автор: | ike [ Съб Дек 11, 2021 11:11 am ] | |||||||||
| Заглавие: | Re: Общи насоки за pciexpress разработка | |||||||||
Не съм аз човека, дето да ти дава акъл за PCIe, но за няколкото байта защо първо не пробваш по стандартния метод. В BAR конфигурацията се задава прекъсване и регион памет. Настройваш картата да генерира прекъсване на всеки 100мкс и от драйвера четеш и пишеш байтвете в картата. |
||||||||||
| Автор: | gicho [ Съб Дек 11, 2021 4:18 pm ] |
| Заглавие: | Re: Общи насоки за pciexpress разработка |
Щото още съм далеко - обмислям дизайна и събирам ингормация да видя дали има шанс да стане. Прекъсването е ясно - софтуера в мцу-то ще блъска прекъсване за събитията като приети/предадени данни и други. По принцип, разните мрежови карти, дискове и прочие показват че е напълно възможно като производителност - моите изисквания са аналогични на етернет пакет примерно, и знаем че там постгат далеч по-високи скорости и по-ниски латентности. Едит: препрочетох ти идеята - имаш предвид хоста да си търси данните след известие от картата. И така може, но в крайния вариант трябва да имам другото - картата е сложила приетите данни вече и сръчква хоста да ги взима и ползва. |
|
| Автор: | HCL [ Съб Дек 11, 2021 6:50 pm ] |
| Заглавие: | Re: Общи насоки за pciexpress разработка |
И аз не съм в позиция да давам акъли по високите нива на протокола, но защо не погледнеш как го правят в RIFFA (Reusable Integration Framework for FPGA Accelerators) https://sites.google.com/a/eng.ucsd.edu ... /riffa_2_0 Тази магистъратура би трябвало да свърши работа като въведение "Interconnecting a Linux Host with a FPGA Board through PCI-Express" https://pergamos.lib.uoa.gr/uoa/dl/fron ... 21/theFile Успех и пиши от време на време по темата. ще е интересно. |
|
| Автор: | gicho [ Нед Дек 12, 2021 6:15 pm ] |
| Заглавие: | Re: Общи насоки за pciexpress разработка |
Благодаря за линковете, има интересна информация. Засега съм на много начално проучвателно ниво, но ако тръгне нанякъде ще споделя. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|