Сигнальний процесор. СПК

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
Довідник Список використаних джерел Список учасників НОП

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

Архітектура сигнальних процесорів має помітні особливості:

  • Швидке виконання операцій, характерних для цифрової обробки сигналів, наприклад, операція «множення з накопиченням» (MAC) (Y:=A*B+X) зазвичай виконується за один такт.
  • «Безплатні» за часом цикли із заздалегідь відомою довжиною.
  • Більшість сигнальних процесорів мають вбудовану оперативну пам'ять, з якої може здійснюватися вибірка декількох машинних слів одночасно.
  • Детермінована робота з відомими часом виконання команд, що дозволяє виконувати планування роботи в реальному часі.
  • Досить велика довжина конвейєра, так що незаплановані умовні переходи можуть займати відносно багато часу.
  • Екзотичний набір регістрів і інструкцій, часто складний для компіляторів. Деякі архітектури використовують VLIW.
  • В порівнянні з мікроконтролерами, обмежений набір периферійних пристроїв — втім, існують «перехідні» чіпи, що поєднують в собі властивості DSP і широку периферію мікроконтролерів.


Історія

До 1980 року декілька компаній виготовили мікросхеми, які можно вважати першими ЦСП. Так, в 1978 Intel випускає «процесор аналогових сигналів» 2120. В його склад входили АЦП, ЦАП і процесор обробки цифрових даних, однак апаратна функція множення була відсутня. В 1979 AMI випускає S2811 — периферійний пристрій, керований основним процесором комп'ютера. Обидві мікросхеми не досягли успіху на ринку.

Області застосування

  • Комунікаційне обладнання:
  • Ущільнення каналів передачі даних;
  • Кодування аудіо- і відеопотоків;
  • Системи гідро- і радіолокації;
  • Розпізнавання голосу і зображень;
  • Голосові і музичні синтезатори;
  • Аналізатори спектру;
  • Керування технологічними процесами;
  • Інші області, де необхідна швидкісна обробка сигналів, в тому числі в реальному часі.

Оцінка продуктивності

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

  • СІХ- і БІХ-фільтри;
  • Множення векторів;
  • Декодери Вітербі;
  • ШПФ - швидке перетворення Фур'є

Найавторитетнішим пакетом тестів вважається тест BTDImark2000 , який крім вказаних алгоритмів включає також оцінку використаної алгоритмом пам'яті, тривалість розробки системи та інші параметри.