Відмінності між версіями «Процесор цифрових сигналів. СПК»
Міщенко (обговорення • внесок) (Створена сторінка: '''Процесор цифрової обробки сигналів''' (процесор ЦОС, англ. digital signal processor, DSP; рос. ЦСП) —...) |
Міщенко (обговорення • внесок) |
||
Рядок 1: | Рядок 1: | ||
− | '''Процесор цифрової обробки сигналів''' (процесор ЦОС, | + | '''Процесор цифрової обробки сигналів''' (процесор [[Цифрова обробка сигналів|ЦОС]], {{lang-en|digital signal processor}}, DSP; {{lang-ru|ЦСП}}) — це спеціалізований програмований [[мікропроцесор]], призначений для маніпулювання в реальному масштабі часу потоком цифрових даних. |
− | + | ||
− | + | ||
+ | Архітектура сигнальних процесорів має помітні особливості: | ||
* Швидке виконання операцій, характерних для цифрової обробки сигналів, наприклад, операція «множення з накопиченням» (MAC) (Y:=A*B+X) зазвичай виконується за один такт. | * Швидке виконання операцій, характерних для цифрової обробки сигналів, наприклад, операція «множення з накопиченням» (MAC) (Y:=A*B+X) зазвичай виконується за один такт. | ||
* «Безплатні» за часом цикли із заздалегідь відомою довжиною. | * «Безплатні» за часом цикли із заздалегідь відомою довжиною. | ||
− | * Більшість сигнальних процесорів мають вбудовану оперативну пам'ять, з якої може здійснюватися вибірка декількох машинних слів одночасно. | + | * Більшість сигнальних процесорів мають вбудовану [[оперативна пам'ять|оперативну пам'ять]], з якої може здійснюватися вибірка декількох машинних слів одночасно. |
* Детермінована робота з відомими часом виконання команд, що дозволяє виконувати планування роботи в реальному часі. | * Детермінована робота з відомими часом виконання команд, що дозволяє виконувати планування роботи в реальному часі. | ||
* Досить велика довжина конвейєра, так що незаплановані умовні переходи можуть займати відносно багато часу. | * Досить велика довжина конвейєра, так що незаплановані умовні переходи можуть займати відносно багато часу. | ||
− | * Екзотичний набір регістрів і інструкцій, часто складний для компіляторів. Деякі архітектури використовують VLIW. | + | * Екзотичний набір [[Регістр процесора|регістрів]] і інструкцій, часто складний для компіляторів. Деякі архітектури використовують [[VLIW]]. |
* В порівнянні з мікроконтролерами, обмежений набір периферійних пристроїв — втім, існують «перехідні» чіпи, що поєднують в собі властивості DSP і широку периферію мікроконтролерів. | * В порівнянні з мікроконтролерами, обмежений набір периферійних пристроїв — втім, існують «перехідні» чіпи, що поєднують в собі властивості DSP і широку периферію мікроконтролерів. | ||
+ | |||
+ | ==Області застосування== | ||
+ | *Комунікаційне обладнання: | ||
+ | *Ущільнення каналів передачі даних; | ||
+ | *Кодування аудіо- і відеопотоків; | ||
+ | *Системи гідро- і радіолокації; | ||
+ | *Розпізнавання голосу і зображень; | ||
+ | *Голосові і музичні синтезатори; | ||
+ | *Аналізатори спектру; | ||
+ | *Керування технологічними процесами; | ||
+ | *Інші області, де необхідна швидкісна обробка сигналів, в тому числі в реальному часі. | ||
+ | [[Файл:Nintendo DSP-1 chip.jpg|thumb|300px|Процесор ЦОС для обробки відео [[Nintendo]]]] | ||
+ | [[Файл:Blackfin BF537 63.jpg|thumb|300px|Процесор ЦОС в корпусі [[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 ({{nobr|<nowiki>Y := X + A × B</nowiki>}}) вдалось скоротити до 3 нс. | ||
+ | |||
+ | Кращі процесори ЦОС можно характеризувати наступними параметрами: | ||
+ | |||
+ | *Тактова частота — 1 ГГц і вище; | ||
+ | *[[Багатоядерність]]; | ||
+ | *Наявність двухрівневого кеша; | ||
+ | *Встроєні багатоканальні контролери прямого доступу до пам'яті; | ||
+ | *Продуктивність десь біля кількох тисяч MIPS і MFLOPS; | ||
+ | *Виконання до 8 паралельних інструкцій за такт; | ||
+ | *Сумісність зі стандартними шинами ([[PCI]] та ін.) | ||
+ | |||
+ | ==Оцінка продуктивності== | ||
+ | Для порівняння характеристик різних процесорів ЦОС використовують спеціальні набори тестів, імітуючих деякі розповсюджені задачі цифрової обробки сигналів. Кожний тест складається з декількох невеликих програм, які пишуться на асемблері і оптимізуються під задану архітектуру. Ці тести можуть включати такі задачі: | ||
+ | |||
+ | *[[Цифровий фільтр|СІХ- і БІХ-фільтри]]; | ||
+ | *[[Векторний добуток|Множення векторів]]; | ||
+ | *[[Цифровий зв'язок|Декодери Вітербі]]; | ||
+ | *ШПФ - [[швидке перетворення Фур'є]] | ||
+ | |||
+ | Найавторитетнішим пакетом тестів вважається тест BTDImark2000 , який крім вказаних алгоритмів включає також оцінку використаної алгоритмом пам'яті, тривалість розробки системи та інші параметри. | ||
+ | |||
+ | == Джерела == | ||
+ | |||
+ | *[[:ru:Цифровой сигнальный процессор]] {{lang-ru|}} | ||
+ | *Craig Marven, Gillian Ewers ''A simple approach to digital signal processing'' - Wiley, 1996 - 236 стор. | ||
+ | {{Доробити}} | ||
+ | |||
+ | [[Категорія:Мікропроцесорна техніка]] | ||
+ | [[Категорія:Вбудовані мікропроцесори]] |
Версія за 13:33, 10 листопада 2014
Процесор цифрової обробки сигналів (процесор ЦОС, [Кіровоград(андрій)][Новини][Додаткова інформація[, DSP; Шаблон:Lang-ru) — це спеціалізований програмований мікропроцесор, призначений для маніпулювання в реальному масштабі часу потоком цифрових даних.
Архітектура сигнальних процесорів має помітні особливості:
- Швидке виконання операцій, характерних для цифрової обробки сигналів, наприклад, операція «множення з накопиченням» (MAC) (Y:=A*B+X) зазвичай виконується за один такт.
- «Безплатні» за часом цикли із заздалегідь відомою довжиною.
- Більшість сигнальних процесорів мають вбудовану оперативну пам'ять, з якої може здійснюватися вибірка декількох машинних слів одночасно.
- Детермінована робота з відомими часом виконання команд, що дозволяє виконувати планування роботи в реальному часі.
- Досить велика довжина конвейєра, так що незаплановані умовні переходи можуть займати відносно багато часу.
- Екзотичний набір регістрів і інструкцій, часто складний для компіляторів. Деякі архітектури використовують VLIW.
- В порівнянні з мікроконтролерами, обмежений набір периферійних пристроїв — втім, існують «перехідні» чіпи, що поєднують в собі властивості DSP і широку периферію мікроконтролерів.
Зміст
Області застосування
- Комунікаційне обладнання:
- Ущільнення каналів передачі даних;
- Кодування аудіо- і відеопотоків;
- Системи гідро- і радіолокації;
- Розпізнавання голосу і зображень;
- Голосові і музичні синтезатори;
- Аналізатори спектру;
- Керування технологічними процесами;
- Інші області, де необхідна швидкісна обробка сигналів, в тому числі в реальному часі.
Історія
До 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 (Шаблон:Nobr) вдалось скоротити до 3 нс.
Кращі процесори ЦОС можно характеризувати наступними параметрами:
- Тактова частота — 1 ГГц і вище;
- Багатоядерність;
- Наявність двухрівневого кеша;
- Встроєні багатоканальні контролери прямого доступу до пам'яті;
- Продуктивність десь біля кількох тисяч MIPS і MFLOPS;
- Виконання до 8 паралельних інструкцій за такт;
- Сумісність зі стандартними шинами (PCI та ін.)
Оцінка продуктивності
Для порівняння характеристик різних процесорів ЦОС використовують спеціальні набори тестів, імітуючих деякі розповсюджені задачі цифрової обробки сигналів. Кожний тест складається з декількох невеликих програм, які пишуться на асемблері і оптимізуються під задану архітектуру. Ці тести можуть включати такі задачі:
Найавторитетнішим пакетом тестів вважається тест BTDImark2000 , який крім вказаних алгоритмів включає також оцінку використаної алгоритмом пам'яті, тривалість розробки системи та інші параметри.
Джерела
- ru:Цифровой сигнальный процессор Шаблон:Lang-ru
- Craig Marven, Gillian Ewers A simple approach to digital signal processing - Wiley, 1996 - 236 стор.