48
- ELETTRONICA OGGI 434 - MARZO 2014
DIGITAL
DSP
DSP vettoriali
in virgola mobile
L’
enorme quantità di segnali che impegna i DSP per
applicazioni audio e video sta favorendo l’evolvere
delle architetture vettoriali capaci di eseguire le istruzioni
simultaneamente sugli array di dati (SIMD, Single Instruction
Multiple Data) in modo tale da processare in parallelo altret-
tanto numerosi flussi di segnali e soddisfare efficacemente
le esigenze di calcolo dei moderni sistemi multimediali.
Com’è noto, il settore storicamente più affamato di proces-
sori di segnali impostati in questo modo è quello dei video-
giochi ed è proprio per sviluppare le consolle più sofisticate
che l’elaborazione grafica ha fatto passi da gigante negli
ultimi anni.
Cresce pertanto la presenza nei processori per applicazioni
grafiche e multimediali dei core di calcolo con unità Floating
Point Vector Multiply-Accumulate capaci di accelerarne le
prestazioni sulle operazioni vettoriali aumentando il paralle-
lismo e consentendo di eseguire funzioni algebriche custom
per le applicazioni che fanno uso di calcoli complessi ma
ripetitivi sia in virgola mobile sia in virgola fissa. A bordo
dei moderni DSP possono trovarsi decine di questi motori di
calcolo che possono essere programmati per eseguire istru-
zioni SIMD oppure MIMD (Multiple Instruction Multiple Data)
e, inoltre, possono anche essere raggruppati a due a due
in modo tale da disporre ove necessario di una larghezza
raddoppiata per gli operandi.
I DSP in virgola fissa usano unità aritmetico-logiche stan-
dard (ALU) capaci di eseguire i calcoli solo sui numeri
interi o frazionali con un numero prefissato di cifre dopo la
virgola, il che semplifica l’architettura hardware di calcolo
ma limita la precisione al numero dei decimali disponibili.
Quest’approccio ha il vantaggio di eseguire le operazioni
molto più velocemente rispetto alla virgola mobile ma può
richiedere una gestione più sofisticata del livello di preci-
sione garantibile sui calcoli più impegnativi. I DSP basati su
unità di calcolo in virgola mobile (Floating Point Unit, FPU)
esprimono i numeri in termini di mantissa ed esponente
senza perderne alcuna frazione e perciò consentono un’as-
soluta fedeltà aritmetica alle operazioni e quindi il massimo
livello di precisione possibile, ma solo a patto che gli ope-
randi siano originariamente impostati in virgola mobile e,
d’altra parte, la precisione perfetta implica che la velocità sia
inevitabilmente molto inferiore rispetto a quella dei disposi-
tivi in virgola fissa.
In proposito vige il 754-1985 IEEE Standard for Binary
Floting-Point Arithmetic che chiarisce anche la differen-
za fra singola e doppia precisione decretando che i dati
debbano essere larghi 32 bit nel primo caso e 64 bit nel
Lucio Pellizzari
Grafica e multimedialità sono più efficienti con
l’elaborazione vettoriale in virgola mobile ma la
maggior precisione richiede risorse sul silicio
più impegnative in termini di consumi e costi,
talvolta inadeguate nei prodotti smart e palmari
Fig. 1 – I nuovi core ARM Cortex-A15 incorporano la tecnologia VFPv3 che
consente di eseguire i calcoli vettoriali in virgola mobile pur garantendo
bassi consumi e bassi costi