# DSP

DSPs (do inglês Digital Signal Processor) são microprocessadores especializados em processamento digital de sinal usados para processar sinais de áudio, vídeo, etc., quer em tempo real, quer em off-line.
Um dos usos do DSP que chamou a atenção da mídia foi a proposta do cancelamento de ruídos: através do sistema proposto um dispositivo captaria o ruído ambiente e geraria um "antirruído", com as ondas simétricas: a cada vale corresponderia um pico e vice-versa. Assim poderia se cancelar o ruído de um ambiente, por exemplo, dentro de um automóvel.
Outra grande característica do DSP é sua alta velocidade comparada a outros microcontroladores. Sua velocidade é medida em mips (million instruction per second).
Os DSPs ganharam popularidade na electrônica de consumo em aparelhos como os teclados, que sintetizam os sons de diversos instrumentos, como por exemplo os órgão de tubos, o piano e o violão.
A capacidade que os DSPs têm de repetir (com uma instrução prévia, por exemplo "RPT") em extrema velocidade uma instrução complexa (como por exemplo a "MPYA": "Multiply and Accumulate Previous Product") faz com que sejam rapidamente resolvidas, por exemplo, as Transformadas Rápidas de Fourier (FFT), permitindo a implementação de filtros digitais. Estes filtros são muito usados em telecomunicações, por exemplo para decodificar a sinalização (DTMF, MFC, etc).

## História
### Intel e AMI

No final dos anos 1970 a Intel e a AMI apresentaram dispositivos para processar sinais, porém não obtiveram muito exito comercial:
* Em 1978 a Intel lançou o 2920 como sendo um "analog signal processor" ("processador de sinais analógicos"). Este tinha um ADC/DAC "on-chip", isto é, incorporado ao mesmo chip do processador de sinais interno, mas não tinha um multiplicador e também não fez sucesso no mercado.
* Em 1979, AMI lançou o S2811. Este foi projetado para ser um microprocessador periférico, e tinha que ser iniciado pelo processador principal. O S2811 também não obteve successo no mercado.

### Bell Labs

* Em 1979 os laboratórios Bell (Bell Labs) apresentaram o primeiro chip para processar digitalmente sinais, o microprocessador Mac 4..

### AT&T e NEC

Em 1980 os primeiros DSPs completos e funcionando de per si—o NEC µPD7720 e o AT&T DSP1—foram apresentados na IEEE International Solid-State Circuits Conference. Ambos foram inspirados na pesquisa das telecomunicações (PSTN).

### Texas Instruments

O primeiro DSP produzido pela Texas Instruments (TI), o TMS32010 apresentado em 1983, provou ser um grande successo e a TI é agora a líder do mercado de DSPs de uso geral. O desenvolvimento da ferramenta RTDX (Real Time Data Exchange) foi uma grande inovação da TI para a aplicação em tempo real de DSPs.

### Motorola

Outro grande projeto bem-sucedido foi o do Motorola 56000, mas esta não obteve sucesso com os dispositivos que se seguiram, não sendo mais líder no mercado.

### Altera Devices

Grande fabricante de DSPs. Atualmente largamente utilizando-se o DSP EP2S60.
Hoje em dia os quatro fabricantes mais importantes são a Texas Instruments, a Analog Devices, a Motorola e a Altera Devices.

## Programação

Um DSP pode ser programado tanto em assembly como em outras linguagens de baixo nível. Cada família de DSP tem sua própria linguagem de montagem e suas próprias ferramentas de desenvolvimento fornecidas pelo fabricante. Pode-se também utilizar as ferramentas como Matlab/Simulink e LabView para a criação de diagramas de blocos e criação de projetos em DSP, desde que um compilador adequado seja utilizado em conjunto.

## Aplicações

As aplicações mais usuais em que se empregam DSP são o processamento de áudio e vídeo, no entanto pode ser usado em qualquer outra aplicação que requeira o processamento em tempo real, como controle e automação de dispositivos.

## Arquitetura

Os DSPs são projetados levando-se em consideração que as operações mais habituais do processamento digital são as de adição, multiplicação e transferência de memória consecutivos. Para tanto existem instruções de repetição que precedem as instruções acima, tornando possível a execução destas usando-se muitas vezes apenas um ciclo de memória, por ser desnecessária a instrução de retorno (branch) para se permanecer no laço (loop).
Os DSPs têm arquitetura Harvard e alguns podem operar com números de ponto flutuante.

## Fabricantes

* Analog Devices
* Texas Instruments
** TMS320C2x (Descontinuado)
** TMS320C24x
** TMS320C28x
** TMS320C3x (Descontinuado)
** TMS320C33
** TMS320C4x (Descontinuado)
** TMS320C5000 (Descontinuado)
** TMS320C54x
** TMS320C55x
** TMS320C62x
** TMS320C64x
** TMS320DM64x
** TMS320C67x
* Motorola
** 56000
* Hewlett-Packard
* Cirrus
* Creative
* Forte Media
* Philips
* Yamaha
* Airelog Device
* ATT
* SGS-Thomson