Якщо чесно, то лінія між цими двома майже відсутня в даний час, і є процесори, які можна класифікувати як обидва (наприклад, AD Blackfin).
Загалом:
Мікроконтролери - це цілі математичні процесори з підсистемою переривання. Деякі можуть мати апаратні пристрої множення, деякі - і т. Д. Точка полягає в тому, що вони розроблені для простої математики і в основному для управління іншими пристроями.
DSP - це процесори, оптимізовані для обробки потокового сигналу. Вони часто мають спеціальні інструкції, які прискорюють поширені завдання, такі як множення і накопичення в одній інструкції. Вони також часто мають інші векторні або SIMD інструкції. Історично вони не були системами на основі переривань, а працювали з нестандартними системами пам'яті, оптимізованими за своїм призначенням, що ускладнює їх програмування. Зазвичай вони були розроблені для роботи в одному великому циклі, який обробляє потік даних. DSP можуть бути розроблені як цілі, фіксовані точки або процесори з плаваючою точкою.
Історично, якби ви хотіли обробляти аудіопотоки, відеопотоки, робити швидкий контроль двигуна, все, що вимагало б обробляти потік даних з високою швидкістю, ви б звернулися до DSP.
Якщо ви хочете керувати деякими кнопками, вимірювати температуру, запускати символьний РК-дисплей, керувати іншими ІС, які обробляють речі, ви використовуєте мікроконтролер.
Сьогодні ви здебільшого знаходите процесори мікроконтролерів загального призначення з вбудованими інструкціями, схожими на DSP, або з чиповими спільними процесорами для роботи з потоковими даними або іншими операціями DSP. Ви не бачите чистих DSP, які використовуються набагато більше, за винятком конкретних галузей.
Ринок процесорів набагато ширший і розмитіший, ніж раніше. Наприклад, я навряд чи вважаю ARM cortex-A8 SoC мікроконтролером, але він, ймовірно, відповідає стандартному визначенню, особливо в пакеті PoP.
EDIT: Подумав, що я додам трохи, щоб пояснити, коли / де я використовував DSP навіть у дні процесорів програм.
Нещодавно розроблений мною продукт робив обробку аудіо за допомогою X-каналів входу та X-каналів виходу на "зону". Задумане використання продукту означало, що він часто може сидіти там, роблячи свою справу, обробляючи аудіоканали роками, не торкаючись ніхто. Обробка звуку складалася з різних акустичних фільтрів та функцій. Система також була "гарячою плагією" з можливістю додавати деяку кількість незалежних "зон" все в одне поле. Всього було 3 конструкції друкованих плат (материнська плата, задня планка та модуль для підключення), а планка підтримувала 4 модулі. Досить цікавий проект, коли я робив це соло, я повинен був зробити дизайн системи, схематичне розташування друкованої плати та прошивки.
Тепер я міг би зробити всю справу з одним об'ємним ядром ARM, мені було потрібно лише близько 50MIPS роботи DSP на 24-бітових номерах з фіксованою точкою на зону. Але тому, що я знав, що ця система буде функціонувати надзвичайно довго і знав, що це критично, що вона ніколи не клацає та не клацає чи щось подібне. Я вирішив реалізувати його з низькою потужністю DSP на зону та одним мікроконтролером PIC, який відігравав роль управління системою. Таким чином, навіть якщо одна з функцій UC вийшла з ладу, можливо, атака DDOS на його Ethernet-порту, DSP із задоволенням просто триматиметься, і, швидше за все, ніхто цього не дізнається.
Таким чином, мікроконтролер відігравав роль запуску 2-лінійного РК-дисплея, деяких кнопок, моніторингу температури та контролю вентиляторів (на кожній платі було також кілька досить потужних аудіопідсилювачів) і навіть обслуговував веб-сторінку в стилі AJAX через Ethernet. Він також управляв DSP через послідовне з'єднання.
Отже, це ситуація, коли навіть у ті часи, коли я міг би використовувати одне ядро ARM, щоб зробити все, дизайн продиктував спеціальну ІС для обробки сигналів.
Інші області, де я зіткнувся з DSP:
* High End аудіо - дуже високі кінцеві приймачі та якість концертних механізмів для змішування та обробки
* Радіолокаційна обробка - я також використовував ARM ядра для цього в додатках низького рівня.
* Сонарна обробка
* Комп'ютерне бачення в режимі реального часу
Здебільшого низький та середній кінці аудіо / відео / подібного простору були перейняті процесорами додатків, які поєднують процесор загального призначення з двигунами для завантаження ко-pro для різних застосувань.