Що може зробити dsPIC, який не може зробити скромний мікроконтролер PIC?


10

Я ще не використовував чіп DSP. Все, що я знаю, - це те, що їх архітектура така, що вони можуть проводити обчислення досить швидко, як правило, протягом годинного циклу, вони множать-накопичують інструкції у своєму наборі інструкцій, і вони мають DMA, тому процесор не повинен витрачати дорогоцінний час на переміщення даних навколо. Я думаю, що в цьому є більше, але це кілька основних моментів.

Я бачу, що у Microchip є dsPIC, який є їх чіп-лінією DSP. Чи не можемо ми просто використовувати PIC18 або PIC32, який також має вбудовані множники, щоб робити DSP? Чим dsPIC відрізняється від звичайного ПОС?

Моє головне питання таке: Чому нам потрібно мати щось відокремлене і чітке під назвою мікросхема DSP, а не інтегрувати можливість обчислення одиниці високої точності з плаваючою комою на всіх мікроконтролерах? Безумовно, що з технологіями технологічних процесів у нас зараз це не повинно займати багато місця.

Крім того, як я знаю, що мені потрібно використовувати чіп DSP у своєму проекті, а не звичайний мікроконтролер>


1
Тут є хороші відповіді на подібне запитання: electronics.stackexchange.com/questions/3067/…
David

Відповіді:


3

Як правило, "DSP ..." означає "більш відповідні кінські сили та / або більш відповідне обладнання на момент введення продукту ".
Узагальнені процесори, як правило, наздоганяють старі спеціалізовані пристрої.
DSPIC - це [10+ років - Олін буде знати.

[Елементи в дужках відносяться до деяких прикладів DSPIC - не вичерпно].

У продуктах DSP очікується певна суміш:
очікуйте таких речей, як перемикачі стволів,
широкі швидкі трубопроводи та швидкі часи виконання одного циклу,
широкі інструкції щодо одного циклу,
DMA [6 або 8 каналів, двопортові буфери оперативної пам’яті] великі лінійні діапазони адресації пам’яті [4 програма Mword , 64 кБ дані] спеціальні функції, орієнтовані на арифметику,
можливо:
спеціалізовані периферійні пристрої, такі як управління двигуном,
апаратне забезпечення для декількох стандартів coms [CAN, IIC, UART, IIS, AC97, ...] глибші, ніж звичайні буфери coms [4 байти], швидше і / або ширше, ніж звичайні АЦП [2 Msps, 10 або 12 біт]

Ви знайдете більшість із них у сімействі DSPIC - і все частіше в сімействах процесорів gp.
В крайньому випадку ви отримуєте мікрокодування користувача та багато іншого.


1
Якщо я добре пам’ятаю, я вперше почув про зусилля дизайну dsPIC в 1999 році. Перші зразки були видані на початку 2002 року, виробничі частини - наприкінці 2002 року або на початку 2003 року. У мене все ще десь є фірмовий 30F2010 в 28-контактному керамічному пакеті DIP, який був випадково позначений як 30F6010. Він пробіг лише на 1/3 можливої ​​повної швидкості, і був відзначений вручну як №55 чи щось.
Olin Lathrop

1
Вони також можуть тактовувати до 200 або 260 МГц, тоді як лінія PIC підтримує лише до 4 до 20 МГц. Бути в 10 разів швидше - це, безумовно, важливий момент.
Хавенард

1
@Havenard - Зауваживши, що це питання з 2014 року: Він згадав PIC32 як можливу альтернативу DSPIC. 2007 PIC32MX має Cmax (максимальна тактова частота) 80 МГц. У 2013 році PIC32MZ має Cmax 252 МГц. || Корисно хоча і неповні порівняння тут {Вікіпедія}.
Рассел Макмахон

11

Деякі переваги dsPIC над PIC-кодами ранньої архітектури, як-от сімейства PIC 16 та 18:

  1. 16 бітових шляхів передачі даних та ALU, призначених для 8.

  2. Можливість безпосередньо звертатися (пізніші версії обох архітектур розширювали це різними дивними способами) більше пам'яті даних. Основний PIC 16 може адресувати 128 байт, 512 - банківською. Новіша версія PIC 16F1xxx розширила банківську діяльність, що дозволяє адресувати більше пам'яті даних. Архітектура PIC 18 обмежена 4 к байтами. Архітектура dsPIC може адресувати 64k байтів або 32k 16-бітних слів безпосередньо, хоча з різних причин лише половина з них доступна для оперативної пам'яті в базовій архітектурі. Банківська схема в деяких з пізніших моделей розширила це.

  3. Швидше. Оригінальний 30F міг працювати на 30 МІП, тепер 40 норм МІП є нормою. Нова серія E може працювати до 70 MIP, хоча є більше причин, які можуть затримати очікування на щось, ніж на більш ранніх повільних моделях. Вони в середньому все ще значно швидші.

  4. Можливість DSP. Двигун DSP має два 40-бітові акумулятори та звичайне обладнання для виконання послідовності операцій MAC на масивах один MAC за цикл інструкцій (див. Відповідь Дейва Твіда). MAC та відповідні інструкції перетинають індексацію масиву та завершення циклу фактичним множенням-накопиченням.

  5. 15 програмних 16-розрядних "робочих регістрів" замість одного 8-бітного W-регістра 8-бітної архітектури PIC.

  6. Бочкозамінник.

  7. Одноциклічне 16x16 -> 32-бітне множення.

  8. Обладнання розділити. 32 дів 16 -> 16 бітова операція займає 18 циклів.

  9. Багато інструкцій з 3-х операндів. Наприклад, ви можете додати вміст двох робочих регістрів і вивести результат в третій, і все це за один цикл. Це стосується більшості математичних, логічних та операцій зсуву.

  10. Загалом більш регулярний і симетричний набір інструкцій.

  11. Векторе перериває. PIC 16 має один вектор переривання, а PIC 18 - два. На 16 бітових частинах (PIC 24, dsPIC 30 і 33) кожне джерело переривання має свій вектор. Це зменшує затримку в процедурі переривання, оскільки не потрібно витрачати цикли, з'ясовуючи, які перерви в роботі.

    Це також дозволяє покращити архітектуру програмного забезпечення. Процедура переривання для певної периферії може бути в тому ж модулі, що і інший код, що обробляє цю периферію, замість того, щоб мати одну глобальну процедуру переривання.

  12. Різні інші переваги, які випадають із ширшої архітектури.


8

Як правило, ключовою відмітною особливістю DSP при порівнянні з процесором загального призначення є те, що DSP може виконувати певні операції з обробки сигналів з кількома, якщо такі є, циклами процесора витрачаються на інструкції, які не обчислюють результати.

Однією з найбільш основних операцій у багатьох ключових алгоритмах DSP є операція MAC (множитися-накопичувати), яка є основним кроком, який використовується в матричних крапкових та крос-продуктах, фільтрах FIR і IIR, а також FFT. DSP, як правило, має організацію реєстру та / або пам'яті та шлях даних, що дозволяє йому робити щонайменше 64 операцій MAC на унікальних парах даних поспіль без будь-яких годин, витрачених на накладні петлі або рух даних. Процесори загального призначення зазвичай не мають достатньої кількості регістрів для цього, не використовуючи додаткових інструкцій для переміщення даних між регістрами та пам'яттю.


1
+1 для акценту на операціях MAC. Вони, без сумніву, є основою більшості DSP-операцій.
Метт Янг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.