HARDWARE
|
FPGA VERSUS GPU
52
S
istemi basati su FPGA offrono migliori
prestazioni per le applicazioni embedded attra-
verso ottime strategie di gestione di potenza, ri-
programmabilità e costi ridotti. Questa filosofia
di design consente un funzionamento prolunga-
to in applicazioni a bassa potenza, come sistemi
UAV. Sistemi basati su GPU, invece, offrono pre-
stazioni di elaborazione grafica a prezzi ragione-
voli a causa della loro grande base di mercato.
Negli ultimi anni, le GPU sono andate oltre la
grafica diventano potenti piattaforme di elabo-
razione in virgola mobile con ulteriori migliora-
menti in termini di efficienza energetica. I conti-
nui sviluppi in termini di prestazioni e consumo
hanno cambiato il design dei sistemi embedded
con varie opzioni di scelta tale da creare una
enorme competizione in termini di programma-
zione, costi ed interfacce.
Cenni su FPGA e GPU
Field Programmable Gate Array (FPGA) è un
dispositivo a semiconduttore che può essere
programmato per realizzare qualsiasi funzione
logica. A differenza di FPGA della generazione
precedente, quelle di oggi consistono di varie mi-
scele di configurazione. In particolare, conten-
gono componenti logici programmabili chiamati
elementi logici (LE) e una gerarchia di intercon-
nessioni che permettono ai LE di essere connessi
fisicamente. Rispetto a ASIC o ASSP, le FPGA
offrono molti vantaggi di design, tra cui: prototi-
pazione rapida, costi NRE inferiori e un lungo ci-
clo di vita per ridurre i rischi di obsolescenza. In
generale, la struttura è descritta da una matrice
a blocchi detti CLB (Configurable Logic Blocks),
connessi fra loro attraverso interconnessioni pro-
grammabili che realizzano le funzioni logiche
(Fig. 1).
Una unità di elaborazione grafica (GPU), anche
occasionalmente chiamato unità di elaborazione
visiva (VPU), è specializzata nel rendering di
immagini grafiche. Principali applicazioni si tro-
vano nei personal computer, workstation e, so-
prattutto, nelle console di gioco. La sua struttura
altamente parallela lo rende più efficace delle
CPU general-purpose per gli algoritmi in cui l’e-
laborazione di grandi blocchi di dati avviene in
parallelo. La prima azienda a sviluppare la GPU
è stata la NVIDIA con la sua GeForce 256 GPU
in grado di effettuare miliardi di calcoli al secon-
do con oltre 22 milioni di transistor rispetto ai 9
milioni del Pentium III (Fig. 2).
FPGA e GPU
a confronto
I continui sviluppi in termini di
prestazioni e consumo hanno
cambiato il design dei sistemi
embedded con varie opzioni
di scelta tale da creare una
enorme competizione in termini di
programmazione, costi e interfacce
Maurizio Di Paolo Emilio
Fig. 1 - Struttura di una FPGA
EMBEDDED
59 • FEBBRAIO • 2016