# DSP

Il processore di segnale digitale (in acronimo DSP, dall'inglese Digital Signal Processor), è un processore dedicato e ottimizzato per eseguire in maniera estremamente efficiente sequenze di istruzioni ricorrenti (come ad esempio somme, moltiplicazioni e traslazioni) nell'elaborazione di segnali digitali. I DSP utilizzano un insieme di tecniche, tecnologie, algoritmi che permettono di trattare un segnale continuo dopo che è stato campionato. Rappresenta il sistema hardware per operare l'elaborazione numerica dei segnali. Attualmente è tipicamente implementato come microprocessore monolitico.

## Classificazione

I DSP sono classificati a seconda dell'ampiezza e del tipo di dato che sono in grado di processare: si parla ad esempio di DSP a 32, 24 oppure a 16-bit; a virgola fissa o mobile.
Ogni DSP è quindi adatto ad applicazioni specifiche: ad esempio, i DSP a 16-bit a virgola fissa sono impiegati per il condizionamento di segnali vocali e trovano il loro principale campo di applicazione nella telefonia (fissa e mobile), mentre i DSP a 32-bit in virgola mobile, avendo una dinamica molto superiore, sono principalmente impiegati nell'elaborazione di immagini e nella grafica tridimensionale.

## Caratteristiche di un tipico processore DSP

* Progettato per elaborazioni sistema in tempo reale.
* Ottimizzato per operazioni di streaming dati.
* Separazione fra memoria programma e memoria dati (architettura Harvard).
* Speciali istruzioni dedicate ad operazioni SIMD (Single Instruction, Multiple Data).
* Nessun supporto hardware per funzionamento in multitasking.
* Possibilità di effettuare l'accesso diretto (DMA) alla memoria di un host.
* Elaborazione di segnali digitali ottenuti dalla conversione di segnali analogici, mediante uso di un convertitore analogico-digitale (ADC). Il segnale ottenuto può successivamente essere riconvertito in analogico usando un convertitore digitale-analogico (DAC).

## Evoluzione dei DSP

Le radici del DSP risalgono agli anni sessanta-settanta quando divennero disponibili i primi computer digitali. Al giorno d'oggi infatti esistono anche dei processori software (applicazioni) che permettono di analizzare e modificare vari tipi di segnale tramite funzioni matematiche (ad esempio, è molto utilizzata la FFT - Trasformata di Fourier veloce). Algoritmi DSP vengono impiegati nei più svariati campi delle scienze per i seguenti scopi: miglioramento delle immagini, riconoscimento e generazione vocale, compressione di dati, ecc. Le applicazioni sono innumerevoli poiché quasi tutti i segnali analogici possono essere campionati e convertiti in segnali digitali.
Il primo DSP monolitico, l'Intel 2920, fu lanciato sul mercato nel 1978. Era dotato di ALU priva di moltiplicatore e implementava una architettura Harvard VLIW (very long instruction word) di 24 bit immagazzinata su 192 locazioni di EPROM, uno spazio di RAM di 40 parole da 25 bit ed interfacce ADC e DAC di bordo.
I suoi 2,5 MIPS effettivi erano all'epoca una velocità altissima.

## Utilizzi dei DSP

* Tecnologie spaziali: miglioramento delle fotografie, compressione dei dati, analisi intelligente dei dati ricevuti dai sensori.
* Medicina: diagnosi tramite immagini (CT, MRI, ultrasuoni, e altri), elettrocardiogramma.
* Commercio: compressione dei suoni e delle immagini, effetti speciali, videoconferenze.
* Telefonia: compressione dati e voce, riduzione eco, multiplexing, filtraggio disturbi.
* Militare: radar, sonar, comunicazioni sicure.
* Industrie: monitoraggio risorse petrolifere, disegno CAD.
* Scientifico: analisi terremoti, acquisizione dati, spettroanalisi, simulazioni.
* Multimedia: compressione/decompressione e trattamento audio-video, strumenti musicali digitali e software di elaborazione audio, musica elettronica.