| Categorie Articoli | > Prove | > Attualità | > Approfondimenti | > Interviste | Altro su HIRC | > Segnalaci una notizia | > Advertising | > Forum | | Ultime dal forum | Visualizza HIRC del | | |
| L'architettura vista dall'alto | Il Cell Broadband Engine non è l’evoluzione di un processore già esistente né di un qualche prototipo, ma è stato progettato da zero, disegnando addirittura alcune parti “a mano”, cioè senza utilizzare programmi per il “placement & routing” automatico; il team di sviluppo si è concentrato sulla realizzazione di un processore potente, estremamente scalabile e votato nativamente al calcolo distribuito.
| Il Cell Processor | Nella mente degli ideatori del Cell ogni singolo processore ed ogni singolo processo deve operare come una vera e propria cellula (rispettivamente cellula hardware e software), capace di organizzarsi e cooperare con altre cellule per risolvere calcoli più complessi.
La prima versione del Cell, costituita da 234 milioni di transistor verrà prodotta con processo a 90nm utilizzando la tecnologia SOI (Silicon-On-Insulator) di IBM e sarà capace di operare a frequenze fino a 4,8GHz.
| Sezione laterale di un transistore NMOS realizzato con tecnologia Silicon On Insulator, che consente di ridurre le correnti di dispersione | Fin dalle prime definizioni dell’architettura si evince la spiccata predisposizione al calcolo distribuito; quando infatti ci si riferisce alla CBEA (Cell Broadband Engine Architecture) si distinguono quattro unità logiche: la PPE (PowerPC Processor Element), la SPU (Synergistic Processor Unit), il MFC (Memory Flow Controller) e l’IIC (Internal Interrupt Controller). Queste quattro unità però possono corrispondere fisicamente a quelle di un singolo processore, di un processore multi-core, di più processori in un sistema o di cluster di server con centinaia di processori. Ciò permette di realizzare un gran numero di dispositivi basati sul Cell, da PDA a supercomputer, nonché di scalare facilmente in prestazioni con sistemi multi-core man mano che i processi produttivi evolveranno.
Le unità di elaborazione sono la PPE e le SPU; ad ogni SPU è dedicata una memoria locale, un MFC con relativa MMU (Memory Management Unit) per la gestione della memoria ed una RMT (Replacement Management Table), tale insieme è definito come SPE (SPU Element). Sulla prima implementazione del Cell sono integrati un PPE ed 8 SPE. Entrambi gli elementi sono strutturati con una pipeline da 23 stadi ed il PPE ha anche una semplice unità di branch prediction.
Il collegamento tra PPE ed SPE (o tra gruppi di PPE ed SPE) avviene attraverso un bus ad elevatissima velocità chiamato Element Interconnect Bus (EIB).
| Una vista dall'alto dell'architettura del Cell | Il PowerPC Processor Element (PPE) è un processore RISC general purpose che non deriva da alcun processore IBM della famiglia PowerPC ma ne eredita il set di istruzioni, è quindi compatibile con tutto il software per PowerPC e fornisce una sorta di retrocompatibilità, il suo scopo principale però non è solo l’elaborazione ma la gestione delle SPE e delle risorse hardware di sistema in generale.
Le Synergistic Processor Unit (SPU) sono unità di calcolo molto più semplici rispetto al PPE non includendo alcuna funzione di gestione di sistema. Utilizzano un set di istruzioni nuovo simile a quello delle unità VMX ed il loro funzionamento può essere invocato direttamente dai programmi o dal sistema operativo. Sono votate al calcolo vettoriale in quanto le istruzioni possono operare su più dati in parallelo (SIMD, Single Instruction Multiple Data).
I Memory Flow Controller si occupano dei trasferimenti, della protezione e della sincronizzazione dei dati tra le memorie locali delle SPE e la memoria di sistema. I comandi per l’MFC vengono detti comandi MFC DMA, ed ogni MFC può in genere processare più comandi ed eseguire più trasferimenti contemporaneamente. Ogni MFC gestisce due code di comandi, una proveniente dalla SPU a cui è associato ed una proveniente dall’”esterno”; possono quindi essere avviati trasferimenti senza coinvolgere la SPU.
L’Internal Interrupt Controller (IIC) invece è un gestore degli interrupt aggiuntivo, dedicato alla gestione delle interruzioni interne al Cell Broadband Engine; in particolare la funzione principale è quella di determinare la priorità degli interrupt che giungono al PPE, generati dalle SPE o da altri componenti interni. Ciò consente di velocizzare la gestione degli interrupt interni, senza coinvolgere il gestore degli interrupt di sistema.
| Il die del Cell Broadband Engine | Le Replacement Management Tables (RMT) sono delle tabelle per la gestione delle cache e dei TLB (Translation Lookaside Buffer).
Infine a livello fisico, sul singolo processore oltre a trovare tutte le unità descritte prima a livello logico, troviamo un memory controller integrato ed una interfaccia di I/O ad elevata velocità, entrambe sviluppate in collaborazione con Rambus.
Grazie a questo tipo di architettura è possibile sfruttare al meglio le caratteristiche dello stream processing, già applicato da anni con risultati sorprendenti sui chip per schede grafiche, ed ora maturo anche per altri ambiti di utilizzo.
| Vuoi segnalarci una tua notizia? Clicca qui! | | Comments | | | Annunci | | Attualità | Fujitsu presenta la soluzione e roadmap Mobile WiMAX System-on-chip | Nuovo masterizzatore DVD esterno Sony DRX-820UL | Nokia 770 Internet Tablet e Google Talk insieme | Core 2 Duo, gioco di parole per i nuovi processori Intel | Recensione Crucial Gizmo! Overdrive 1GB online | LCD con tempo di risposta di 2ms da Acer | ATi ha acquisito la finlandese BitBoys | AMD ritira 3000 CPU Opteron difettose | Intel punta decisa verso i 32 nanometri | Intel vPro: nuova piattaforma per PC aziendali | Prove | Crucial Gizmo! Overdrive 1GB: capacità e prestazioni | Crucial Gizmo!: 1GB per foto, musica e pinguini | Raffreddamento a liquido: quando il gioco si fa duro | Sapphire Radeon X1300: alta definizione per tutti | Enermax Liberty 500W: la libertà fatta alimentatore | Genius Ergo 300: mouse piccolo ma non troppo | Royaltek GPS RBT 2001 | Crucial Ballistix Tracer DDR500: semplicemente estreme | HP Business Desktop dx5150: potenza per ufficio | Dal Radeon X600 all'X800: generazioni a confronto in casa Sapphire | |
|