Background Image
Table of Contents Table of Contents
Previous Page  54 / 84 Next Page
Information
Show Menu
Previous Page 54 / 84 Next Page
Page Background

EMBEDDED

56 • maggio • 2015

hardware

|

MANY-CORE

54

indicatore della sua qualità. L’unica cosa da fare

per risolvere le probabilità di conflitto fra le task

è complicare ulteriormente sia la progettazione

degli algoritmi in parallelo sia la loro verifica

funzionale in hardware e ciò significa innalzare

esponenzialmente i tempi e i costi del ciclo di svi-

luppo.

Array di core

È soprattutto per questa ragione che da qualche

anno i principali laboratori dei costruttori di pro-

cessori hanno pensato bene di separare ancora

di più i core, pur continuando a integrarli sullo

stesso silicio e iniziare a realizzare i nuovi many-

core. In pratica, i core sono connessi in rete e an-

che le risorse più critiche come i bus, gli I/O e le

memorie vengono condivise in rete, in modo tale

che ciascun core possa decidere quali utilizzare e

per quanto tempo. In que-

sto modo, obbedendo alle

istruzioni sull’algoritmo,

ciascuna task occupa i

core che le servono e poi li

libera quando è conclusa,

mentre l’arbitraggio si

occupa di fare in modo

che siano eseguite in pa-

rallelo tutte le task che

riescono a occupare i core

presenti. In altre parole,

viene eseguito task dopo

task tutto il programma

con un livello di paral-

lelismo variabile, che si

adatta alla disponibilità

delle risorse e impedi-

sce che si creino conflit-

ti. Questa impostazione

di calcolo parallelo viene

chiamata anche Invasi-

ve Computing, oppure

Resource Aware Compu-

ting, perché è l’algoritmo

parallelo che decide da

solo quali e quante risor-

se occupare e per quanto

tempo, nonché il numero

di task effettivamente

Fig. 2 – Nei processori many-core le risorse

sono assegnate in parallelo ai diversi core in-

sieme alla temporizzazione sincrona in funzione

delle task da eseguire e con dimensioni decise di

volta in volta per ciascuna task

Fig. 3 – Schema a blocchi dell’MPPA256, che esprime ben 500 GOPS

con un consumo massimo di 5W ossia circa 80 GOPS/W oppure 50

GFLOPS/W