Я еще не использовал чип DSP. Все, что я знаю, это то, что их архитектура такова, что они могут выполнять вычисления довольно быстро, обычно в пределах тактового цикла, у них в наборе команд есть команды с множественным накоплением, и у них есть DMA, поэтому ЦПУ не нужно тратить драгоценное время на перемещение данных. около. Я думаю, что это еще не все, но это несколько основных моментов.
Я вижу, что у Microchip есть dsPIC, который является их чиповой линейкой DSP. Разве мы не можем просто использовать PIC18 или PIC32, которые также имеют встроенные множители, для выполнения DSP? Чем dsPIC отличается от обычного PIC?
Мой главный вопрос заключается в следующем: почему нам нужно иметь что-то отдельное и отличное, называемое DSP-чипом, а не интегрировать высокоточные вычисления с плавающей запятой во все микроконтроллеры? Конечно, с технологиями процесса, которые мы имеем сейчас, это не должно занимать много места.
Кроме того, как я знаю, что мне нужно использовать чип DSP в моем проекте, а не обычный микроконтроллер>
Ответы:
Обычно «DSP ...» означает «более релевантная мощность и / или более подходящее оборудование на момент выпуска продукта» .
Генерализованные процессоры имеют тенденцию догонять старые специализированные устройства.
DSPIC старше 10 лет, - будет знать Олин.
[Пункты в скобках относятся к некоторым примерам DSPIC - не являются исчерпывающими].
В продуктах DSP ожидают некоторого сочетания: ожидайте таких
вещей, как переключатели бочек,
широкие быстрые конвейеры и быстрое время выполнения одного цикла,
широкие инструкции одиночного цикла,
DMA [6 или 8 каналов, двухпортовые буферы ОЗУ] большие линейные диапазоны адресации памяти [программа 4 Mword , Данные 64 кБ] специализированные арифметически ориентированные функции
Может быть:
специализированные периферийные устройства, такие как управление двигателем,
аппаратное обеспечение для нескольких различных стандартов com [CAN, IIC, UART, IIS, AC97, ...] глубже, чем обычные буферы coms [4 байта] быстрее и / или шире, чем обычные АЦП [2 Msps, 10 или 12 бит]
Вы найдете большинство из них в семействе DSPIC - и все чаще в семействах процессоров gp.
В крайних случаях вы получаете пользовательское микрокодирование и многое другое.
источник
Некоторые из преимуществ dsPIC перед PIC более ранней архитектуры, например семейства PIC 16 и 18:
Это также позволяет улучшить архитектуру программного обеспечения. Процедура прерывания для определенного периферийного устройства может находиться в том же модуле, что и другой код, обрабатывающий это периферийное устройство, вместо того, чтобы иметь одну глобальную процедуру прерывания.
источник
Обычно ключевой отличительной чертой DSP по сравнению с центральным процессором общего назначения является то, что DSP может выполнять определенные операции обработки сигналов с небольшим количеством циклов ЦП, если таковые имеются, тратится впустую на команды, которые не вычисляют результаты.
Одной из самых основных операций во многих ключевых алгоритмах DSP является операция MAC (умножение с накоплением), которая является фундаментальным шагом, используемым в матричных точечных и перекрестных произведениях, фильтрах FIR и IIR, а также FFT. DSP обычно имеет организацию регистра и / или памяти и тракт данных, который позволяет ему выполнять как минимум 64 операции MAC с уникальными парами данных в строке без потери времени на издержки цикла или перемещения данных. ЦП общего назначения обычно не имеют достаточно регистров, чтобы выполнить это без использования дополнительных инструкций для перемещения данных между регистрами и памятью.
источник