|
CAM-память на ПЛИС, Ассоциативная память, как лучше сделать? |
|
|
|
 |
Ответов
|
Mar 25 2015, 10:03
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(ilkz @ Mar 25 2015, 16:37)  Даже не знаю с чего начать и куда копать. Посоветуйте как подобные задачи вообще решаются. из сдрам будет медленно и печально. Как вариант считать хеши по пакетам, делать CAM на элементах xilinx SRL16/RAMxD16/RAMxD64 для этих хешей с адресами пакетов. Затем поиск в 2 шага : 1. поиск хешей -> определение списка адресов 2. уточнение поиска из сдрам. На сыклоне, сделать большой CAM почти не реально, ресурса сожрет мама не горюй. Еще совет, поищите в сети xapp201-204. На сайте xilinx их убрали почему то. Там на простых камах (типа CAM8x16) разбираются архитектуры КАМ и рассматриваются сильные и слабые стороны каждой архитектуры. Цитата(ilkz @ Mar 25 2015, 16:37)  - количество плиток на поиск пускай не более 1500 для 3-го Сыклона (обсуждаемо) На пальцах : по сути КАМ это быстрый массив компараторов. Положим хотим быстро искать слово 32-бита. Итого нужно хранить само слово + логику сравнения. На сыклоне 64 плитки минимум. Итого 1024 плитки на 16 слов, остальное будет стыковая логика. Итого сможете сделать что-то вроде CAM16x32 (глубина 16, разрядность слова 32). Можно сделать на блочной памяти, но там память всего 13 бит по адресу (M9k), итого потребуется минимум 3 блока RAM, и это на одно вхождение слова, или 4 блока на 8 вхождений (память в режиме 1024х8). Т.е. 4 блока памяти на КАМ8х32 (глубина 8, разрядность слова 32). ЗЫ. если ваше поле небольшое, то можно сделать CAM только для этого поля. Если больше 32-х бит, то лучше считать хеш.
--------------------
|
|
|
|
|
Mar 25 2015, 11:01
|
Местный
  
Группа: Участник
Сообщений: 295
Регистрация: 2-12-05
Пользователь №: 11 695

|
Цитата(des00 @ Mar 25 2015, 13:03)  Еще совет, поищите в сети xapp201-204. На сайте xilinx их убрали почему то. Там на простых камах (типа CAM8x16) разбираются архитектуры КАМ и рассматриваются сильные и слабые стороны каждой архитектуры. Мои извинения... А это что ??? http://www.xilinx.com/support/documentatio...tes/xapp201.pdf
|
|
|
|
|
Mar 25 2015, 11:31
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Alex77 @ Mar 25 2015, 19:01)  Мои извинения... А это что ??? это оно, но я на него выходил как раз из гугла, поиск по сайту xilinx.com ничего не дал в свое время. Цитата(Dr.Alex @ Mar 25 2015, 19:01)  Если под меткой вы подразумеваете то же что и я (по сути номер пакета, или время там), то всё это не важно. Важно только то, что пакетов единовременно не более 100 000, и метки уникальны. хмм, может туплю. Пусть у нас 128 пакетов, пишем с 0. записали 126, 127, затем счетчик обернулся и началась запись в 0, 1 и т.д. И вот стоит задача, найти самый старый пакет, после оборота адрес пакета уже не будет совпадать с меткой времени. Тут нужно следить за "головой и хвостом".
--------------------
|
|
|
|
Сообщений в этой теме
ilkz CAM-память на ПЛИС Mar 25 2015, 09:37   Kuzmi4 Цитата(des00 @ Mar 25 2015, 13:31) это он... Mar 25 2015, 16:45    Maverick Цитата(Kuzmi4 @ Mar 25 2015, 18:45) Сабж:... Mar 25 2015, 21:30 ilkz Цитата(des00 @ Mar 25 2015, 13:03) из сдр... Mar 25 2015, 10:19 des00 Цитата(ilkz @ Mar 25 2015, 18:19) К сожал... Mar 25 2015, 10:30 Dr.Alex Цитата(ilkz @ Mar 25 2015, 12:37) Посовет... Mar 25 2015, 10:37 des00 Цитата(Dr.Alex @ Mar 25 2015, 17:37) Но в... Mar 25 2015, 10:55  Dr.Alex Цитата(des00 @ Mar 25 2015, 13:55) Как я ... Mar 25 2015, 11:01 krux ЦитатаПосоветуйте как подобные задачи вообще решаю... Mar 25 2015, 10:45 ilkz Интересную тему поднял оказывается ))
Постараюсь ... Mar 25 2015, 11:40 krux задача получается - глубокую очередь правильно орг... Mar 25 2015, 16:44
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|