73
PORTING |
SOFTWARE
EMBEDDED
55 • FEBBRAIO • 2015
semplice architettura a 32 bit può non solo svol-
gere tutte le operazioni di una CPU a 8 bit, ma
anche numerose funzionalità aggiuntive tra cui:
•
calcoli più complessi, come ad esempio DSP in
modo nativo, elaborazione dell’immagine e rico-
noscimento dei gesti;
•
analisi dei data e data mining (ovvero estrazio-
ne di conoscenza da database di ampie dimensio-
ni) e database lookup (ricerca in un database);
•
funzionamento multitasking sfruttando un si-
stema operativo real-time (RTOS).
Anche se non è richiesta alcuna delle funziona-
lità avanzate appena sopra descritte, l’adozione
di una CPU a 32 bit può contribuire al miglio-
ramento di un progetto nei termini che seguono.
Consumi:
si consideri un tradizionale progetto
a basso consumo con una CPU che resta in uno
stato di riposo (sleep mode) in modalità a basso
consumo e che periodicamente si sveglia (wake
up) per eseguire il codice (modalità attiva), come
riportato in figura 2. Le CPU a 32 bit possono
richiedere più potenza rispetto a una CPU a 8
bit in entrambe le modalità ma sicuramente l’e-
secuzione del codice è più rapida.
Di conseguenza una CPU a 32 bit
trascorre più tempo nella modalità
a basso consumo e, in molti casi, ciò
contribuisce a ridurre la potenza
media.
Scalabilità:
attualmente molte
CPU sono disponibili sotto forma di
famiglie di dispositivi simili offerte
in diverse versioni che si differen-
ziano in termini di prestazioni. Se
il prodotto finale deve garantire le
medesime doti di scalabilità, è sen-
za dubbio consigliabile scegliere
una CPU di tipo scalabile. La scalabilità di una
CPU è solitamente definita in termini di:
•
set di istruzioni. I componenti di fascia alta
di una medesima famiglia dovranno avere più
istruzioni, o più modalità di funzionamento per
le istruzioni esistenti, preservando nel contempo
la compatibilità con le istruzioni dei componenti
di fascia bassa;
•
registri aggiuntivi, oppure più definizioni dei
bit nei registri esistenti;
•
funzioni aggiuntive, come ad esempio controllo
dell’interrupt e debug.
Un ottimo esempio del concetto di scala-
bilità della CPU è rappresentata dalla se-
rie di processori ARM Cortex-M (Fig. 3).
Costo:
una barriera che sovente ha ostacolato
il porting su una piattaforma a 32 bit è l’incre-
mento dei costi. Grazie ai recenti progressi tec-
nologici, in ogni caso, dispositivi a 32 bit sono ora
offerti a un costo equiparabile a quello di dispo-
sitivi a 8 bit. Sul mercato sono state introdotte
numerose CPU a 32 bit a basso costo. La CPU
ARM Cortex-M0, ad esempio, grazie alla sempli-
cità progettuale e alla ridotta area di silicio ri-
Tabella 1 – Potenziali migliorie che è possibile apportare a un pro-
dotto effettuando il porting su una piattaforma a 32 bit
Feature
Product Improvements
Faster code execution
1
Increase system speed;
Reduce power;
Possible cost reduction
Greater code density
1
Add new features;
Use less memory;
Possible cost reduction
Larger address space
Add new features
Acces to better compilers
and other development tools
Bring an enhanced product
to market quickly
Fig. 2 – Confronto
tra i consumi medi di
potenza di una CPU
a 8 bit e una a 32 bit
nel caso di esecuzio-
ne di compiti onerosi
in termini computa-
zionali




