Процесор цифрових сигналів

Процесор цифрової обробки сигналів (процесор ЦОС, англ. digital signal processor, DSP; рос. ЦСП) — це спеціалізований програмований мікропроцесор, призначений для маніпулювання в реальному масштабі часу потоком цифрових даних.

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

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

Області застосування ред.

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

Історія ред.

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

Перше покоління (початок 1980-х) ред.

Історію ЦСП розглядають від 1979–1980 років, коли Bell Labs виготовила перший однокристальний ЦСП Mac 4, а також на «IEEE International Solid-State Circuits Conference '80» були показані µMPD7720 компанії NEC і DSP1 компанії AT&T, які, однак, не набулили широкого вжитку. Стандартом де-факто став випущений трохи пізніше кристал TMS32010 фірми Texas Instruments, який багатьма параметрами і вдалими технічними рішеннями переважав вироби конкурентів. Ось деякі його характеристики: Арифметичний блок:

  • Розмір слова: 16 біт;
  • Розрядність обчислювального пристрою : 32 біт;
  • Швидкість: 5 млн операцій додавання або множення в секунду;
  • Тривалість командного циклу: 160–280 нс;

Пам'ять:

  • Оперативна пам'ять: 144–256 слів;
  • Постійна пам'ять програм: 1,5—4 К слів;
  • Програмовна постійна пам'ять: до 4К слів (окремі моделі);

Зовнішня шина:

  • Розрядність: 16 біт;
  • Адресовна пам'ять : 4К слів
  • Пропускна здатність: 50 Мбіт/с
  • Пристрої введення-виведення: 8 портів по 16 розрядів

Друге покоління (середина 1980-х) ред.

Завдяки прогресу в технологіях, в цей період були випущені ІС з розширеними функціями порівняно з першим поколінням:

  • Збільшено об'єм оперативної пам'яті до 0,5 К слів;
  • Додана можливість підключення зовнішньої пам'яті програм і пам'яті даних до 128 К слів;
  • Швидкість збільшено в 2—4 рази;
  • Покращено підсистеми переривання і введення-виведення.

Набагато пізніше були зроблені наступні вдосконалення:

  • Збільшена розрядність даних;
  • Знижено напругу живлення і, як наслідок, енергоспоживання;
  • Введені режими економії енергії;
  • Апаратна підтримка мультипроцесорності (система спільного доступу до зовнішньої пам'яті);
  • Апаратна підтримка кільцевих регістрів;
  • Апаратна підтримка операцій циклів;
  • Розширені способи адресації;
  • Дві внутрішні шини даних, що дозволяє значно прискорити парну обробку даних (координати X/Y, дійсна і уявна частина і т. д.), або віртуально подвоїти розрядність оброблюваних даних;
  • Введена кеш-пам'ять.

Третє покоління (кінець 1980-х) ред.

Третє покоління ЦСП прийнято зв'язувати з реалізацією арифметики з рухомою крапкою (комою). Характерні особливості :

  • Продуктивність: біля 20-40 млн оп./сек. (MIPS);
  • Два блоки оперативної пам'яті по 1 К 32-розрядних слів з можливістю одночасного доступу;
  • Кеш-пам'ять об'ємом 64 слова;
  • Розрядність регістрів: 32 біт;
  • Розрядність арифметичного блоку: 40 біт;
  • Регістри для операцій з підвищеною точністю;
  • Вбудовані контролери ПДП;
  • Розрядність шин: 32 біт для команд і 24 біт для адреси;

Четверте покоління ред.

Четверте покоління процесорів ЦОС характеризується значним розширенням комплекту команд, створенням VLIW і суперскалярних процесорів. Помітно виросли тактові частоти. Так, наприклад, час виконання команди MAC (Y := X + A × B) вдалось скоротити до 3 нс.

Найкращі (станом на травень 2008) процесори ЦОС можна характеризувати наступними параметрами:

  • Тактова частота — 1 ГГц і вище;
  • Багатоядерність;
  • Наявність дворівневого кешу;
  • Вбудовані багатоканальні контролери прямого доступу до пам'яті;
  • Продуктивність десь біля кількох тисяч MIPS і MFLOPS;
  • Виконання до 8 паралельних інструкцій за такт;
  • Сумісність зі стандартними шинами (PCI та ін.)

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

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

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

Джерела ред.

  • Craig Marven, Gillian Ewers A simple approach to digital signal processing — Wiley, 1996–236 стор.