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

Матеріал з Вікіпедії — вільної енциклопедії.
Версія від 13:06, 14 лютого 2022, створена Yuriz (обговорення | внесок) (→‎Джерела)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Процесор цифрової обробки сигналів (процесор ЦОС, англ. 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 стор.