Sei sulla pagina 1di 29

Architetture DSP

Architetture DSP

Politecnico di Torino
Dip. di Automatica e Informatica
2
Tipi di elaborazione

3
Il Mercato dei processori DSP

4
5 ISA = Instruction Set Architecture
Caratteristiche DSP
1. Progettato per elaborazioni real-time.
2. Ottimizzato per operazioni di streaming dati.
3. Separazione fra memoria programma e memoria dati (architettura
Harvard).
4. Speciali istruzioni dedicate ad operazioni SIMD (Single Instruction,
Multiple Data).
5. Nessun supporto hardware per funzionamento in multitasking.
6. Possibilità di effettuare l'accesso diretto (DMA) alla memoria di un host.
7. 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).

6
Architetture

7
Super Harvard Architecture
Nell’architettura Harvard il bus della memoria dati è più occupato
rispetto al bus di memoria di programma, in quanto ogni istruzione
può avere più dati (es. istruzione di moltiplicazione richiede due
operandi contro un solo program counter.
Per ovviare si procede in due modi:
1. Si mettono alcuni dati (es. i coeff. dei filtri che risultano
costanti) nella program memory
2. Si utilizza una cache per istruzioni che minimizza
l’occupazione dei bus della program memory
Inoltre si aggiunge una gestione dma per trasferire i dati
(normalmente campioni del segnale) direttamente alla data memory
8
Architetture DSP moderni
Super Harvard Architecture
SIMD architecture
Superscalari
VLIW

9
VLIW

10
Real-time processing
vs off-line processing
Nell’elaborazione off-line in generale tutti i dati da elaborare
sono già noti e in memoria (RAM o disco), es. elaborazione di
una radiografia medica.
Nell’elaborazione real-time i dati in input e in output sono
acquisiti/generati ad intervalli fissi e definiti, es. telefono
cellulare o radar.

Ad esempio se un segnale in input (voce) è campionato a 10


kHz, significa che ogni 0.1 ms devo acquisire un campione x(n)
e produrre un campione in uscita y(n), eventualmente dopo un
delay fissato,D. (per voce max 10 ms). Quindi il tempo di
elaborazione totale per produrre y(n) è al max D, ma ogni y(n)
deve essere prodotto ogni 0.1 ms.
11
12
13
14
Esempio filtro FIR
Y(n) = a*x(n) + b*x(n-1) + c*x(n-2)

Y(z) = a*X(z) + b*X(z)*z-1 + c*X(z)*z-2

H(z) = Y(z)/X(z) = a + b*z-1 + c*z-2

15
a=1 b=1 c=1

16
a=0.5 b=1 c=0.5

17
18MOP=Millions of arithmetic operation Taps=coeff./elemento di ritardo
19
20
21 DCT usata in JPEG/MPEG per compressione spaziale
MAC (Multiply&Accumulate)

22
Architettura Base DSP

Realizza operazione base: Multiply&accumulate (MAC)

23 MAC = A*B+C
24
Circular buffer

25
Circular buffer

26
27
28
Fine Capitolo