EMBEDDED
54 • NOVEMBRE • 2014
52
HARDWARE
MULTICORE
asPer la maggior parte delle applicazioni, questi dispositivi
possono essere attuati senza dissipatore.
Tra i vantaggi dei multicore si ha una possibile utilizzazio-
ne del clock a frequenze maggiori, un uso più efficiente
delle memorie cache, dei tempi di risposta migliori con ca-
richi di lavoro intensi, una notevole riduzione del PCB per
lavorare con correnti più basse, quindi meno dispersione
di calore. Per far ciò sono necessarie modifiche al sistema
operativo e ai programmi e in generale sono più difficili da
gestire rispetto ai sistemi monoprocessori.
Tipi di multi-core
Data la crescente importanza del multiprocessing, tutto lo
spettro di calcolo e i sistemi di fascia alta, quali le infra-
strutture di telecomunicazione, server e supercomputer,
hanno a lungo utilizzato design multi-core come standard.
Dispositivi multicore sono stati utilizzati in diverse for-
me per molti anni, come ad esempio i dispositivi Power-
QUICCTM Freescale, costruiti sulla tecnologia Power
ArchitectureTM, come i core e500 utilizzati nei dispositivi
PowerQUICC III e core singolo o doppio RISC nella unità
di comunicazione QUICC EngineTM.
La figura 1 mostra diversi tipi di ambienti multicore per Fre-
escale Semiconductor. Un dispositivo che contiene più core
con diversi tipi di set di istruzioni viene indicato come ete-
rogeneo; in contrasto, dispositivi multicore omogenei im-
plementano più core identici, come nel MPC8641 e P2020.
La figura 2, invece, mostra topologie di memoria di base in
riferimento sempre a Freescale Semiconductor:
• nei design a memoria distribuita, ogni CPU ha tipica-
mente una memoria privata e la comunicazione tra le CPU
avviene tramite una rete ad alta velocità;
• in un progetto a memoria condivisa, c’è una memoria
pubblica che è condivisa da più core;
• in un design ibrido, vi è una risorsa di memoria condivi-
sa ma ogni core ha una memoria privata.
Questo permette ad ogni CPU/core di avere una memoria
privata che può essere agevolmente condivisa su una me-
moria pubblica.
Come la tecnologia di processo si restringe sotto i 45 nm,
i dispositivi possono essere realizzati non solo con due e
quattro core, ma con molte decine di core, un approccio
comunemente indicato come many-core piuttosto che mul-
ticore. Un dispositivo dual-core in genere può fornire un
aumento delle prestazioni senza alcuna modifica, poiché il
sistema operativo può dedicare un core per l’applicazione
principale e l’altro per compiti particolari quali la gestione
di interrupt.
Parallelismo
La parallelizzazione è la sfida centrale nello sviluppo di un
ambiente multicore e può essere pensata con quattro livelli
Fig. 2 – Design di memoria in sistemi multi-core