LINUX.ORG.RU

Производительность сигнальных процессоров

 ,


0

1

Часто вижу в описаниях сигнальных процессоров такие характеристики как 64 MAC за такт, даже 256 MAC за такт для разных форматов операндов. Объясните, как достигается такая производительность, хочу понять насколько это может заменить мне ПЛИС, к которым я прирос, и быть может уже неадекватно оцениваю возможности DSP

В то же время я вижу что ширина команды она небольшая, ну там 32-64 бита, как оно может запланировать выполнение 256 MAC за такт?

Я правильно понимаю что DSP обладает широченным интерфейсом к своей встроенной статической памяти, и может по типа SIMD, одним махом взять данные для всех 256 входов пары операндов, выполнить умножение и положить обратно 256 результатов? Вся суть именно в выполнении такого рода действий, которые будут разбавлены медленными относительно одиночными операциями типа переходы по циклам и так далее?

Просто много однообразных действий, одинаковых, над данными, лежащими в ряд? Всё верно понимаю?

Просто много однообразных действий, одинаковых, над данными, лежащими в ряд? Всё верно понимаю?

Там комплекс факторов, влияющих на производительность, начиная с классических архитектур ©
с улучшайзерами типа DSM ©
и до пока ещё экзотических optical computing ©.

quickquest ★★★★★ ()

В принципе верно понимаешь. Это ведь верно в целом и для ПЛИС и для видеокарт - вешание «на такт» всё бОльшего и бОльшего количества «приборов», срабатывающих за этот такт.

kilokolyan ()
Ответ на: комментарий от kilokolyan

Говорится что это делается за 1 такт. Мое предположение, что это действительно делается за 1 такт только лишь потому что приняв в очередь на исполнение, оно потом готово принять новые данные. За 1 такт, но latency будет например 5-10 тактов

Примерно как в ПЛИС FFT ядро готов принимать всё новый и новый семпл на каждый такт, но данные будут получены через сотни тактов, ибо latency конвейера

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

Примерно как в ПЛИС FFT ядро готов принимать всё новый и новый семпл на каждый такт, но данные будут получены через сотни тактов, ибо latency конвейера

В некоторых случаях latency конвейера можно уменьшить впихнув в 1 такт несколько слоёв жёсткой логики , при условии, что переходные процессы мультислоя меньше 1 такта.

Такой финт работает, например, в однородных сетях типа ©: мультислой – логические кружочки между тактируемыми регистрами-квадратиками ©.

quickquest ★★★★★ ()
13 ноября 2021 г.

Привет! Ты год назад писал про orange pi и его определение пк какмыщи с клавой. Можешь, пожалуйста помочь мне с этим?

hed0xakep ()

а в сигнальных разве не VLIW?

xmikex ★★★★ ()
Ответ на: комментарий от hed0xakep

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

I-Love-Microsoft ★★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.