Background Image
Table of Contents Table of Contents
Previous Page  73 / 86 Next Page
Information
Show Menu
Previous Page 73 / 86 Next Page
Page Background

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