[image]

выбор SoC

 
1 2 3
+
-
edit
 

Harsky

опытный

господа форумчане, кто с какими системами на чипе работал или изучал спеки?

интересует скромный набор возможностей:
система команд - любая, но MIPS приветствуется
контроллер DRAM (от 256М) / Flush
ROM опционально, чтобы свой загрузчик можно было прожечь
1 порт ethernet 1000
pci / pcie шина на 2-3 устройства
JTAG
пара GPIO
скорость - 200-500 mips. может быть и на порядок меньше, но тогда нужно отдельно иметь аппаратный XOR

буду признателен за ссылки, даташиты, цены

UPD: FPU не нужен
   3.0.83.0.8
Это сообщение редактировалось 02.05.2009 в 21:54

AXT

инженер вольнодумец
★☆
Не раскрыта важная тема: какие ещё интерфейсы требуются? И сколько непосредственно (программой) управляемых выводов нужно? (UPD: "пара GPIO" - это что: пара проводов, пара байтов?)

А так - под заявленные требования подходит (например) BF-535. Минус - совместимый с официальным софтом JTAG адаптер ("эмулятор") стоит совершенно бесчеловечных денег.

Требование 200+ MIPS сильно сужает выбор - остаются ARM, BlackFin, PowerPC и TMS320. Из SoC на их основе и придётся выбирать.

UPD: Не обратил внимания на требование сети и PCI одновременно. Тогда BF не годится. Но стирать не буду - мало ли что :)
   3.0.83.0.8
Это сообщение редактировалось 03.05.2009 в 16:06

Harsky

опытный

AXT> Не раскрыта важная тема: какие ещё интерфейсы требуются? И сколько непосредственно (программой) управляемых выводов нужно? (UPD: "пара GPIO" - это что: пара проводов, пара байтов?)
это как раз и есть ввод/вывод для кнопок/индикаторов, возможно для зуммера, не более
на устройстве планируется одна/две кнопки и столько же LED

AXT> А так - под заявленные требования подходит (например) BF-535. Минус - совместимый с официальным софтом JTAG адаптер ("эмулятор") стоит совершенно бесчеловечных денег.
посмотрел. а чего денег за него хотят (самыми мелкими партиями)?
смущает также его самобытная система команд
JTAG - только для отладки. хотя за это отдавать килоденьги тоже не хотелось бы, но в единственном экземпляре можно и потерпеть

AXT> Требование 200+ MIPS сильно сужает выбор - остаются ARM, BlackFin, PowerPC и TMS320. Из SoC на их основе и придётся выбирать.
это пока совершенно отфонарная оценка, сделанная методом аналогий.
80% времени устройство будет делать XOR (практически RAID) и от того какой именно блок будет его делать и придется в итоге подбирать производительность.

AXT> UPD: Не обратил внимания на требование сети и PCI одновременно. Тогда BF не годится. Но стирать не буду - мало ли что :)
не критично. поддержка 3-х устройств pci[e] снимет требование к встроенному ethernet.
других интерфейсов (кроме кнопок/LED) не требуется


UPD: цену нашел. ребята не скромничают ;)
   3.0.83.0.8
RU Серокой #03.05.2009 21:29
+
-
edit
 

Серокой

координатор
★★★★
А чем не пойдёт какой-нибудь R9000 + системный контроллер?
// ЗЫ, а что такое XOR?
   
RU Harsky #04.05.2009 18:35  @Серокой#03.05.2009 21:29
+
-
edit
 

Harsky

опытный

Серокой> А чем не пойдёт какой-нибудь R9000 + системный контроллер?
ценой. хочется стоимость всей обвязки в 30-50уе, а не только cpu

Серокой> // ЗЫ, а что такое XOR?
"исключающее ИЛИ"
далее идет имхо, я пока не разобрался, насколько оно близко к реальности:
если использовать встроенную команду ассемлера, то получается медленно для больших блоков данных (для RAID это большие блоки), по слову за операцию, да еще необходимость load и store для каждой операции.
время от времени встречаю упоминания о том, что отдельные контроллеры умеют это делать быстрее (i960 например). возможно они имеют спец-блок для работы с большими блоками прямо в памяти, без необходимости загружать каждое значение в регистр, потом выгружать обратно и т.д.

может быть кто-то из присутствующих прояснит? ссылки на реальные железки приветствуются
   3.0.83.0.8
RU Серокой #04.05.2009 18:51  @Harsky#04.05.2009 18:35
+
-
edit
 

Серокой

координатор
★★★★
Harsky> "исключающее ИЛИ"
А... Нет, RISC-процессор прямо в памяти не умеет, возможно, это поддержка cp2 (второго сопроцессора, первый - это плавучка), когда по DMA закачивается во внутреннюю память кусок данных, внутри переваривается (VLIW), затем так же по DMA выплёвывается.
   
RU Harsky #04.05.2009 19:48  @Серокой#04.05.2009 18:51
+
-
edit
 

Harsky

опытный

Harsky>> "исключающее ИЛИ"
Серокой> А... Нет, RISC-процессор прямо в памяти не умеет
ну да. и это только пол вопроса, что приходится load/store делать
прям напрашивается это на сопр повесить. пока ничего внятного по этой теме не нашел, кроме намеков, из которых я свое мнение и скомпилировал
   3.0.83.0.8
RU Harsky #04.05.2009 22:46  @Серокой#04.05.2009 18:51
+
-
edit
 

Harsky

опытный

Серокой> возможно, это поддержка cp2 (второго сопроцессора, первый - это плавучка), когда по DMA закачивается во внутреннюю память кусок данных, внутри переваривается (VLIW), затем так же по DMA выплёвывается.

Поскольку XOR – ассоциативная и коммутативная операция, ее результат над несколькими операндами можно найти путем выполнения XOR сначала на любых двух операндах, затем выполнением XOR над результатом этой операции и следующим операндом, и так далее со всеми операндами, пока не будет достигнут результат
 



Понимание RAID 5 - TIMcompany


Понимание RAID 5 - TIMcompany.

// www.timcompany.ru
 
   3.0.83.0.8

AXT

инженер вольнодумец
★☆
Harsky> это как раз и есть ввод/вывод для кнопок/индикаторов, возможно для зуммера, не более
Harsky> на устройстве планируется одна/две кнопки и столько же LED

А. Для этого хватит.

Harsky> смущает также его самобытная система команд

Да, это минус. По факту, из доступного есть среда разработки VisualDSP (официально поддерживаемая), ну и энтузиасты спортили GCC. Ещё GreenHills (или как их там) свою среду+компилятор адаптировали, компилятор C у них даже получше оптимизирует. Но пакет стоит порядка $10000 ЕМНИМС,
Есть грабли: процессорное ядро 535 немного отличается от ядра всех остальных моделей. Отчего бинарники и объектники не всегда переносимы.

Harsky> JTAG - только для отладки. хотя за это отдавать килоденьги тоже не хотелось бы, но в единственном экземпляре можно и потерпеть

В платах серии EZ-LITE есть свой встроенный JTAG эмулятор, но очень медленный. Заливка 3 МБ пакета данных занимает минут 10, если не больше.

А в принципе, можно и вообще без JTAG. Загружать с SPI флешки (один хрен в серии так и будет скорее всего), отслеживать работу по отладочной печати через UART.

Harsky> 80% времени устройство будет делать XOR (практически RAID) и от того какой именно блок будет его делать и придется в итоге подбирать производительность.

(а сколько XOR в секунду надо-то?)

XOR у блекфина не параллелится с записью/чтением. Отчего при ксорке 2 векторов будет производительность 3 такта на 4 байта. Если собираем больше, чем два вектора за раз, то будет чуть быстрее.

Harsky> не критично. поддержка 3-х устройств pci[e] снимет требование к встроенному ethernet.

PCIE в нём нет. PCI-X тоже :) Только обычный 32bit/33MHz PCI.

Harsky> UPD: цену нашел. ребята не скромничают ;)

Всем хочется кушать, даже спекулянтам :) Да, если себестоимость планируется не выше $50, то он не годится.

PS: Раз уж делается устройство с одной функцией - вариант на FPGA оказался почему-то неприемлем?
   3.0.103.0.10
RU Серокой #05.05.2009 00:46  @Sandro#05.05.2009 00:27
+
-
edit
 

Серокой

координатор
★★★★
AXT> PS: Раз уж делается устройство с одной функцией - вариант на FPGA оказался почему-то неприемлем?

На FPGA Вы не получите большой частоты...
   
+
-
edit
 

Harsky

опытный

Дяденьки, я не настоящий сварщик (с)
это я к тому что последний раз держал паяльник лет 15 назад, обходясь при этом рассыпухой и 155-й серией.
но сейчас открылась пока (надеюсь) гипотетическая возможность сделать NAS для домашнего пользователя.
сам я выступаю инициатором этого дела, паять и продавать коробки будут другие люди. и если со вторыми все понятно - устройство для них - черный ящик, а для меня, в свою очередь, их методы ведения бизнеса инкапсулированы, то с первыми все не так просто.
сейчас я пытаюсь породить драфт спецификации на ящик, по которой потом он будет паяться, держа в уме ту самую себестоимость в 30 копеек с одной стороны, и приемлемый (в первую очередь для меня, как для домашнего пользователя) функционал с другой.

отсюда постулаты, на которых этот ящик будет построен:
linux с соответствующей обвязкой внутри;
минимум дешевых микрух, чтоб не вылезти за 30 копеек себестоимости;

пока в качестве потребительских качеств остановился на:
4-6 дисков;
raid 0, 1, 10 и (если будет не смертельно медленно) 5;
100 Mbit сеть.

AXT> (а сколько XOR в секунду надо-то?)
в идеале - чтобы упиралось в сетевой интерфейс. т.к. скорее всего все чипы будут висеть на 32/33 шине, то не более 20 миллионов (при записи)

собственно с аппаратным XOR я до истины догуглился
действительно, все примерно как я и предполагал. у intel это прям отдельный сопр внутри i960 (сейчас iop3xx). linux эти акселераторы знает и любит
   3.0.83.0.8
+
-
edit
 

Harsky

опытный

пока решил попробовать BCM4704
благо материнка и он (вместе с обвязом) есть прямо на руках
посморю как бодро работает на нем raid, дальше поглядим

но по прежнему интересно ваше мнение, т.к. чует мое сердце что выбор вынужденный и никудышный
   3.0.83.0.8
UA zyxman #06.05.2009 16:17  @Серокой#05.05.2009 00:46
+
-
edit
 

zyxman

опытный

AXT>> PS: Раз уж делается устройство с одной функцией - вариант на FPGA оказался почему-то неприемлем?
Серокой> На FPGA Вы не получите большой частоты...

Частоты чего?
- Как раз указанный XOR на FPGA решается вообще красиво и даже параллельно (насколько ног хватит), PCIE вобщем-то тоже есть интегрированный в виде универсального последовательного интерфейса (фактически там только нужно сверху добавить конечный автомат состояний).

Единственный проблем что я сейчас вижу, что без изощрений врядли получится запихать PCIE+DRAM+CPU в дешевый чип, потому как оно каждое несколько сотен блоков + шина между ними + потери на трассировку - как раз наверное еле-еле в самый большой чип из дешевого семейства и влезет.

Теоритически можно было-бы вклеить логику PCIE и DRAM прямо в микрокод процессора (он конечно тогда станет еще медленнее, но как раз смысл что FPGA будет главную операцию считать аппаратно те очень быстро, а от проца многого не потребуется), но эх.. я так понял что у автора темы просто некому это сделать :(
   1.5.0.61.5.0.6
RU Серокой #06.05.2009 16:21  @zyxman#06.05.2009 16:17
+
-
edit
 

Серокой

координатор
★★★★
zyxman> Частоты чего?
Процессора, надо полагать. В связке PCIE+DRAM+CPU только ему нужна частота выше 133 МГц.
   
UA zyxman #06.05.2009 22:59  @Серокой#06.05.2009 16:21
+
-
edit
 

zyxman

опытный

zyxman>> Частоты чего?
Серокой> Процессора, надо полагать. В связке PCIE+DRAM+CPU только ему нужна частота выше 133 МГц.

А также кэшу процессора в таком случае.

В случае-же рассчета XOR в FPGA уже такая большая частота не нужна совсем, потому что в FPGA XOR можно считать не в 4 потока (в случае типичного SIMD) а где-то потоков в 40 на самых мелких FPGA (на крупных там и 1000 потоков может влезть).
   1.5.0.61.5.0.6
RU Серокой #06.05.2009 23:03  @zyxman#06.05.2009 22:59
+
-
edit
 

Серокой

координатор
★★★★
zyxman> А также кэшу процессора в таком случае.
Ну это тоже процессор в общем-то.
Мой опыт показывает, что процессор с RISC-ядром, кэшами двух уровней и вообще сделанный по спецификации, а не урезанный, не разгоняется выше 36 МГц. В современной ПЛИС типа Стратикс 2. И при этом требует очень интенсивного охлаждения.
   
UA zyxman #07.05.2009 04:14  @Серокой#06.05.2009 23:03
+
-
edit
 

zyxman

опытный

Серокой> Мой опыт показывает, что процессор с RISC-ядром, кэшами двух уровней и вообще сделанный по спецификации, а не урезанный, не разгоняется выше 30 МГц. В современной ПЛИС типа Стратикс 2.

Это понятно. Но как раз этой задаче ИМХО и не нужен мощный процессор, я думаю для задач управления и сервисных, хватило-бы вообще atmega, а XOR даже самая мелкая FPGA легко переварит.
И тут совсем не обязательно RISC, точнее не обязателен само собой разумеющийся сейчас конвеерный дизайн - хватило-бы и оптимизированного под задачу форт-процессора (с минимальным набором команд и со спец-командой или с "сопроцессором"). Кстати есть и atmega с FPGA на одном чипе ;)

Ну и с 3-й стороны, не смотря на то что первые статьи про асинхронный дизайн появились чуть ли не в 90-е, похоже везде так до сих пор и используют синхронный, а это как раз и означает что скорость процессора ограничивается именно задержкой распространения сигнала между самыми дальними геометрически частями процессора - и в HDL тоже кризис программистов..
   1.5.0.61.5.0.6
CA pokos #07.05.2009 10:46  @Серокой#06.05.2009 23:03
+
-
edit
 

pokos

аксакал

Серокой> Мой опыт показывает, что процессор с RISC-ядром, кэшами двух уровней и вообще сделанный по спецификации, а не урезанный, не разгоняется выше 36 МГц.
В общем-то, это распрекрасно понятно, да уж. Некоторые, правда, находятся в благостном заблуждении, что процессоры в ПЛИСинах получаются так же хорошо, как и в отдельных кристаллах. Ну, это те, кто не нюхал...
   6.06.0
RU Серокой #07.05.2009 11:37  @zyxman#07.05.2009 04:14
+
-
edit
 

Серокой

координатор
★★★★
zyxman> Ну и с 3-й стороны, не смотря на то что первые статьи про асинхронный дизайн появились чуть ли не в 90-е, похоже везде так до сих пор и используют синхронный
У нас есть попытки, пока что тестовые, использовать асинхронную делилку-умножилку, сам проект правда не наш, сторонний... Пока не заработало.

pokos> Некоторые, правда, находятся в благостном заблуждении
Да до сих пор умилительно читать в статьях при сравнении реализаций что-то типа: скорость на заказной такая,скорость на ПЛИС - такая (и что-то за 200 МГц). Сразу видно, что взяли время пересылки регистр-регистр, указанное (абсолютно честно!) производителем в спецификации, и, получив обратную величину, назвали частотой работы. )
   
CA pokos #07.05.2009 12:02  @Серокой#07.05.2009 11:37
+
-
edit
 

pokos

аксакал

Серокой> У нас есть попытки, пока что тестовые, использовать асинхронную делилку-умножилку, сам проект правда не наш, сторонний... Пока не заработало.
Вспоминайте дисциплину "Риски сбоев" и 11-ти символьную таблицу...
Вообще, мне думается, асинхроника вся эта в ПЛИСинах - дело дохлое. Проложило оно тебе трассу по-другому при очередной компиляции, сразу песец, все временные окна уплыли. В очко, короче. Легче кристалл нормальный нарисовать.
   6.06.0
+
-
edit
 

Wyvern-2

координатор
★★★★★
Серокой>> Мой опыт показывает, что процессор с RISC-ядром, кэшами двух уровней и вообще сделанный по спецификации, а не урезанный, не разгоняется выше 30 МГц. В современной ПЛИС типа Стратикс 2.
zyxman> Это понятно. Но как раз этой задаче ИМХО и не нужен мощный процессор, я думаю для задач управления и сервисных, хватило-бы вообще atmega, а XOR даже самая мелкая FPGA легко переварит.

А сеть FPGA+процессор в одном флаконе, причем дешевые - называются AVR FPSLIC :)


Atmel Corporation - Home


Learn More
|
Watch Video
Learn More
Learn More
|
Buy Dev Kit

// www.atmel.ru
 
   3.0.103.0.10
UA zyxman #07.05.2009 15:11  @Серокой#07.05.2009 11:37
+
-
edit
 

zyxman

опытный

zyxman>> Ну и с 3-й стороны, не смотря на то что первые статьи про асинхронный дизайн появились чуть ли не в 90-е, похоже везде так до сих пор и используют синхронный
Серокой> У нас есть попытки, пока что тестовые, использовать асинхронную делилку-умножилку, сам проект правда не наш, сторонний... Пока не заработало.

И давно делают?

pokos>> Некоторые, правда, находятся в благостном заблуждении
Серокой> Да до сих пор умилительно читать в статьях при сравнении реализаций что-то типа: скорость на заказной такая,скорость на ПЛИС - такая (и что-то за 200 МГц). Сразу видно, что взяли время пересылки регистр-регистр, указанное (абсолютно честно!) производителем в спецификации, и, получив обратную величину, назвали частотой работы. )

Я в своих суждениях опираюсь на измеренные значения выполнения синтетических тестов на проце семейства и на FPGA соответственно. И там действительно получается что в FPGA, естественно при соответствующем размере матрицы, некоторые частные случаи (очень хорошо распараллеливающиеся операции), действительно удается производить с ускорением в сотни раз, хотя конечно понятно что общий случай надежнее делать на самом хреновом риске а не на FPGA.
   1.5.0.61.5.0.6

zyxman

опытный

pokos> Вообще, мне думается, асинхроника вся эта в ПЛИСинах - дело дохлое. Проложило оно тебе трассу по-другому при очередной компиляции, сразу песец, все временные окна уплыли. В очко, короче.

С окнами это не асинхроника а клиника, и за окна в цифре (не важно, хоть в ПЛИС, хоть на кристалле, хоть на плате в дискретной логике), надо если не вешать, то по крайней мере пороть публично.
Асинхроника это когда дизайн делится на крохотные части, которые работают изолированно и соединяются только при передаче результата на следующее звено, классическая синхронка в том и состоит, что время такта заведомо больше задержки от тактового генератора до самого дальнего вентиля.
Ну как пример представьте себе Питер, где все встают в одно время и начинают завтракать, только когда все точно уже встали :D

pokos> Легче кристалл нормальный нарисовать.

Для прямых рук разница несущественная и надо конкретный случай смотреть по экономике - если заведомо ясно что можно неспешно годы отлаживать, а потом будет в короткое время изготовлено хотя-бы 10000 экземпляров устройства (или как-то по-другому будет компенсировано изготовление шаблонов), то конечно надо делать кристалл, а иначе ПЛИС или выеживаться на серийных процах.
   1.5.0.61.5.0.6

pokos

аксакал

zyxman> С окнами это не асинхроника а клиника, и за окна в цифре (не важно, хоть в ПЛИС, хоть на кристалле, хоть на плате в дискретной логике), надо если не вешать, то по крайней мере пороть публично.
Тем не менее, во всех нормальных процессорах так и сделано. С окнами и расчётом всех таймингов.

zyxman> Асинхроника это когда дизайн делится на крохотные части, которые работают изолированно и соединяются только при передаче результата на следующее звено,...
Я эта, тово, в курсе.
Так оно у тебя и работает внутри ячейки, когда синхронно. А вот если переползать за пределы ячейки с таким подходом, то и будет такая вот асинхроника и жоппа.

zyxman> Для прямых рук разница несущественная и надо конкретный случай смотреть по экономике ...
Согласен. Только асинхронику не от хорошей жизни пытаюися в ПЛИСины впихнуть - быстродействия не хватает.
   6.06.0

zyxman

опытный

zyxman>> С окнами это не асинхроника а клиника, и за окна в цифре (не важно, хоть в ПЛИС, хоть на кристалле, хоть на плате в дискретной логике), надо если не вешать, то по крайней мере пороть публично.
pokos> Тем не менее, во всех нормальных процессорах так и сделано. С окнами и расчётом всех таймингов.

Увы экономика заставляет.. Причем тут именно дело в сложности разработки полноценной асинхронки и в дороговизне соответствующих специалистов.

pokos> Так оно у тебя и работает внутри ячейки, когда синхронно. А вот если переползать за пределы ячейки с таким подходом, то и будет такая вот асинхроника и жоппа.

Ну реально производители выеживаются и делают подпорки, вроде скоростных синхролиний через весь кристалл

zyxman>> Для прямых рук разница несущественная и надо конкретный случай смотреть по экономике ...
pokos> Согласен. Только асинхронику не от хорошей жизни пытаюися в ПЛИСины впихнуть - быстродействия не хватает.

Быстродействия не хватает всегда, как и денег ;)
Но в данном случае также пытаются преломить общий тренд индустрии, направленный на избавление от полноценных программистов-инженеров в пользу быдлокодеров которые дешевле.
   1.5.0.61.5.0.6
1 2 3

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru