DSP (Digital signal processor)
Tipico processore progettato per operazioni real time e per analizzare e modificare vari tipi di segnali tramite funzioni matematiche complesse, lanciato dalla INTEL nel 1978. È classificato a seconda dell’ampiezza e del tipo di segnale che è capace di processare: si hanno per es. DSP a 32, 24, 16 bit a virgola fissa e a virgola mobile e il loro campo di applicazione è molto vasto, dalle tecnologie musicali, alla medicina, all’automazione industriale. Tali processori, progettati per impiego nell’automazione industriale eseguono più di 160 milioni di istruzioni al secondo, impiegando meno di 6 ns per istruzione, hanno tre distinte unità di calcolo, l’ALU (l’unità aritmetico/logica), il multiplier (moltiplicatore) e lo shifter, in grado di eseguire ogni istruzione in un singolo ciclo di clock e di funzionare tra loro in parallelo. Hanno la possibilità di accedere a due memorie separate chiamate Program memory (PM) e Data memory (DM); nella prima possono essere memorizzati sia istruzioni che dati, mentre nella seconda solo dati, utilizzano inoltre due coppie di bus separati per leggere o scrivere nell’una o l’altra memoria. La memoria è suddivisa in banchi con la possibilità di definire via software gli indirizzi iniziali e finali di ogni banco e di configurare ogni banco con un diverso valore di stati di attesa (wait states) così da poter ottimizzare il dialogo tra il DSP e le periferiche esterne (diverse velocità operative). Il linguaggio di programmazione usato è il C++, che presenta i vantaggi di un linguaggio ad alto livello (come gli array e le funzioni) ma anche le caratteristiche di un linguaggio a basso livello (come la manipolazione dei bit e l’accesso diretto all’hardware); questa duttilità rende il C un linguaggio ideale per il DSP. Per ogni tipologia o gruppo di applicazione si ha un adatto DSP che oltre ad avere un particolare numero di bit ha anche una serie di apparecchiature correlate, per es. un DSP utilizzato per automazione industriale possiede: (a) un convertitore analogico-digitale ADC; (b) un’unità di generazione della PWM utilizzata per la modulazione di segnali; (c) un’interfaccia encoder per i segnali di feedback relativi alla posizione; (d) dodici porte digitali I/O (input-output) configurabili come ingressi, uscite; (e) un interrupt controller che si occupa della gestione di tutti gli interrupt delle periferiche; (f) un circuito Power-on-reset (POR) integrato che può essere utilizzato per generare i segnali di reset desiderati al momento dell’accensione; (g) porte seriali di comunicazione per diversi standard industriali (per es. RS232).
→ Automazione industriale; Microprocessori