|
Фришный мультипроцессор в ПЛИС, есть ли такой? |
|
|
|
Mar 6 2011, 22:00
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Не встречал. Считаю, что из трех понятий - ПЛИС, плавающая_точка и производительность- одно лишнее. В некоторых специальных случаях, бывают исключения. Но чтобы победить конкурентов по цене, потреблению или производительности, нужна хитрая задача, 81-битные или 129-ти битные числа, а еще лучше, 21-битные. Ну и т.п. случаи, когда руками оптимизированный конвейер плотно руками же утрамбован в аккуратный квадратик, который размножен на всю микросхему.
Потому и не кусают (С)
|
|
|
|
|
Mar 7 2011, 12:41
|
Частый гость
 
Группа: Участник
Сообщений: 101
Регистрация: 3-09-10
Пользователь №: 59 274

|
Цитата(vadimuzzz @ Mar 7 2011, 02:46)  opensparc t1, t2? О, похоже на то что нужно, спасибо! Буду изучать.
|
|
|
|
|
Mar 7 2011, 15:42
|
Частый гость
 
Группа: Участник
Сообщений: 101
Регистрация: 3-09-10
Пользователь №: 59 274

|
Ух, если честно, OpenSPARC меня немного напугал. Очень уж там много всего и тулзы совершенно незнакомые используются...документация просто гигантская. Я такое наверное не потяну, буду искать чего-нибудь попроще.  Да и 50Mhz на Virtex5 как-то не очень впечатляют.
Сообщение отредактировал FROL_256 - Mar 7 2011, 15:44
|
|
|
|
|
Mar 7 2011, 17:38
|
Частый гость
 
Группа: Участник
Сообщений: 101
Регистрация: 3-09-10
Пользователь №: 59 274

|
Ну вообще то что я делаю с FPGA - это больше академический интерес. Я хотел бы включить это в свой диссер. Хочу сделать процессор для рейтрейсинга) Суть идеи в том, что можно было бы большую часть функциональности реализовать программно, а то, что занимает много времени - аппаратно, в виде отдельных юнитов. Вообще я думаю что так можно было бы ускорять не только рейтрейсинг. Для начала я хочу приделать к процессору юнит, который будет считать аппаратно пересечение луча и треугольника - то есть в среднем за один такт. И посмотреть насколько эффективно можно ускорить таким образом работу алгоритма. Мультипроцессор с эффективными операциями FPU мне нужен потому что помимо подсчета пересечений остальные вычисления тоже довольно тяжелые. Если процессор держит на себе скажем 16 потоков одновременно то даже если длинна конвейера 16, то никаих хазардов не будет и перформанс будет 100 MFlops на 100Mhz именно из-за того, что нет зависимостей по данным. Если я буду использовать Nios 2 то во-первых, производительность окажется совсем на нуле, а во-вторых мое сравнение будет не совсем верным. Чтобы процессор не простаивал во время подсчета пересечений мне нужно как можно больше потоков на него повесить. Просто одно поточный CPU это не совсем не то что мне нужно. Я хотел бы показать, насколько можно поднять перформанс в трассировке лучей, добавив спец. фукнц. юниты. То есть я буду сравнивать производительность просто мультипроцессора без этого юнита и с ним. Но вообще чем больше времени я на это трачу тем больше понимаю, что затея не очень удачная. Собственно я пока-что делаю свой мультипроцессор, но замучался) Подумал, что может лучше поискать на стороне.
|
|
|
|
|
Mar 7 2011, 19:04
|
Знающий
   
Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827

|
>Но вообще чем больше времени я на это трачу тем больше понимаю, что затея не очень удачная. >Собственно я пока-что делаю свой мультипроцессор, но замучался) Подумал, что может лучше поискать на стороне
Нормальная, нормальная затея.
Будем считать, что чистая производительность синтезируемых в микросхеме FPU вам подходит. Пусть этих FPU 100-200 шт.
Оборачиваем каждый FPU триггерами и блоками памяти для подачи данных и снятия результата. Это будет процессор. Считаем, что процессор будет специализированным и что "программу" можно реализовать аппаратно. Соединяем процессоры древовидной или кольцевой шиной, возможно, с переходом на пониженную частоту. Получаем мультипроцессор, что-то вроде GPU. С мультипроцессорами работаем из корневого узла шины
Дополнительные компоненты процессора и шины должны быть на уровне 10-20% от ресурсов FPU. Иначе перформанс вряд ли получится впечатляющим.
|
|
|
|
|
Mar 7 2011, 19:36
|
Частый гость
 
Группа: Участник
Сообщений: 101
Регистрация: 3-09-10
Пользователь №: 59 274

|
Цитата(jojo @ Mar 7 2011, 22:04)  >Но вообще чем больше времени я на это трачу тем больше понимаю, что затея не очень удачная. >Собственно я пока-что делаю свой мультипроцессор, но замучался) Подумал, что может лучше поискать на стороне
Нормальная, нормальная затея.
Будем считать, что чистая производительность синтезируемых в микросхеме FPU вам подходит. Пусть этих FPU 100-200 шт.
Оборачиваем каждый FPU триггерами и блоками памяти для подачи данных и снятия результата. Это будет процессор. Считаем, что процессор будет специализированным и что "программу" можно реализовать аппаратно. Соединяем процессоры древовидной или кольцевой шиной, возможно, с переходом на пониженную частоту. Получаем мультипроцессор, что-то вроде GPU. С мультипроцессорами работаем из корневого узла шины
Дополнительные компоненты процессора и шины должны быть на уровне 10-20% от ресурсов FPU. Иначе перформанс вряд ли получится впечатляющим. Ну это в идеале наверное, да. Я так далеко не смотрю пока)
|
|
|
|
|
Mar 8 2011, 01:35
|

МедвеД Инженер I
   
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951

|
Цитата(FROL_256 @ Mar 8 2011, 06:16)  Ух-ты здорово, жалко только что верилог) там же на опенкорах и опенриск есть, но он тоже на верилоге и 1 ядро. но зато есть всё остальное гцц4.5.1, ждб и фпу.
--------------------
Cogito ergo sum
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|