솔직히 말해서 둘 사이의 경계는 오늘날 거의 사라졌으며 둘 다로 분류 될 수있는 프로세서가 있습니다 (예 : AD Blackfin).
일반적으로 말하면:
마이크로 컨트롤러는 인터럽트 서브 시스템이있는 정수 수학 프로세서입니다. 일부는 하드웨어 곱셈 장치를 가질 수 있고, 일부는 그렇지 않을 수도 있습니다. 요점은 간단한 수학을 위해 설계되었으며 대부분 다른 장치를 제어하기위한 것입니다.
DSP는 스트리밍 신호 처리에 최적화 된 프로세서입니다. 그들은 종종 단일 명령으로 곱하기 누적과 같은 일반적인 작업을 가속화하는 특별한 명령을 가지고 있습니다. 또한 종종 다른 벡터 또는 SIMD 명령어가 있습니다. 역사적으로 이들은 인터럽트 기반 시스템이 아니었고 목적에 맞게 최적화 된 비표준 메모리 시스템으로 작동하여 프로그래밍하기가 더 어려워졌습니다. 일반적으로 데이터 스트림을 처리하는 하나의 큰 루프에서 작동하도록 설계되었습니다. DSP는 정수, 고정 소수점 또는 부동 소수점 프로세서로 설계 될 수 있습니다.
역사적으로 오디오 스트림, 비디오 스트림을 처리하려면 빠른 모터 제어를 수행하십시오. 빠른 속도로 데이터 스트림을 처리해야하는 것은 DSP를 찾는 것입니다.
일부 버튼을 제어하고, 온도를 측정하고, 문자 LCD를 실행하고, 물건을 처리하는 다른 IC를 제어하려면 마이크로 컨트롤러를 사용하십시오.
오늘날, 스트리밍 데이터 또는 기타 DSP 작업을 처리하기 위해 DSP와 같은 명령어가 내장되어 있거나 온칩 보조 프로세서가있는 범용 마이크로 컨트롤러 유형 프로세서가 대부분 있습니다. 특정 산업을 제외하고는 순수한 DSP가 더 이상 많이 사용되지 않습니다.
프로세서 시장은 예전보다 훨씬 넓고 흐릿합니다. 예를 들어 ARM cortex-A8 SoC를 마이크로 컨트롤러로 생각하기는 어렵지만 표준 정의, 특히 PoP 패키지에 적합합니다.
편집 : 응용 프로그램 프로세서 시대에도 DSP를 언제 어디서 사용했는지 설명하기 위해 비트를 추가한다고 생각했습니다.
내가 디자인 한 최근 제품은 '영역'당 X 채널 입력 및 X 채널 출력으로 오디오 처리를 수행했습니다. 제품을 의도적으로 사용한다는 것은 누군가가 제품을 만지지 않고 수년 동안 오디오 채널을 처리하면서 종종 그 일을하고 있다는 것을 의미했습니다. 오디오 처리는 다양한 음향 필터와 기능으로 구성되었습니다. 이 시스템은 또한 하나의 박스에 몇 개의 독립적 인 '영역'을 추가 할 수있는 기능을 갖춘 "핫 플러그 가능"기능을 갖추고 있습니다. 총 3 개의 PCB 디자인 (메인 보드, 백플레인 및 플러그인 모듈)이었고 백플레인은 4 개의 플러그인 모듈을 지원했습니다. 솔로로 할 때 꽤 재미있는 프로젝트로 시스템 설계, 회로도, PCB 레이아웃 및 펌웨어를 수행해야했습니다.
이제 부피가 큰 단일 ARM 코어로 전체 작업을 수행 할 수있었습니다. 영역 당 24 비트 고정 소수점 수에 대해 약 50MIPS의 DSP 작업 만 필요했습니다. 그러나이 시스템이 매우 오랫동안 작동한다는 것을 알았 기 때문에 클릭 또는 팝 등을하지 않는 것이 중요하다는 것을 알았습니다. 영역 당 저전력 DSP와 시스템 관리 역할을 수행하는 단일 PIC 마이크로 컨트롤러로 구현하기로 결정했습니다. 이런 식으로 uC 기능 중 하나가 충돌하더라도 이더넷 포트에서 DDOS 공격이 발생하더라도 DSP는 행복하게도 계속 막을 수 있으며 아무도 몰랐을 것입니다.
따라서 마이크로 컨트롤러는 2 라인 문자 LCD, 일부 버튼, 온도 모니터링 및 팬 제어 (각 보드에는 상당히 고출력 오디오 증폭기가 있음)를 실행하는 역할을 수행했으며 이더넷을 통해 AJAX 스타일 웹 페이지를 제공하기까지했습니다. 또한 직렬 연결을 통해 DSP를 관리했습니다.
따라서 단일 ARM 코어를 사용하여 모든 작업을 수행 할 수 있었던 상황에서도 전용 신호 처리 IC를 설계했습니다.
내가 DSP에 부딪친 다른 영역들 :
* 고음질 오디오-매우 고급 수신기 및 콘서트 품질 믹싱 및 처리 장치
* 레이더 처리-저급 앱에서이를 위해 ARM 코어도 사용했습니다.
* 음파 처리
* 실시간 컴퓨터 비전
대부분의 경우, 오디오 / 비디오 / 유사한 공간의 하단 및 중간 끝은 범용 CPU와 다양한 애플리케이션을위한 보조 프로세서 오프로드 엔진을 결합한 애플리케이션 프로세서에 의해 대체되었습니다.