L'architettura Silvermont

Intel ci ha presentato la nuova architettura Silvermont dedicata ai chip a 22 nanometri Atom per smartphone e tablet. Ecco cosa cambia nel cuore di un progetto nato per recuperare il gap con le soluzioni ARM e conquistare il mercato.

Avatar di Tom's Hardware

a cura di Tom's Hardware

L'architettura Silvermont

Silvermont è basato su architettura out-of-order e questo ha un grande impatto sulle prestazioni rispetto ai design precedenti, comunque già competitivi sotto il profilo prestazionale con gli altri SoC attualmente disponibili. Intel continua tuttavia ad affidarsi all'esecuzione di macro-op per una gestione più efficiente di determinate combinazioni di istruzioni x86.

The Saltwell Execution Pipeline

Saltwell Execution Pipeline - Clicca per ingrandire

La pipeline excution dell'architettura Saltwell a 32 nanometri è lunga 16 stadi, e poiché è in-order, le macro-op devono passarvi interamente attraverso, anche se non hanno bisogno degli stadi di accesso alla cache (cache access stages). Il risultato è che la branch misprediction richiede 13 cicli. In Silvermont, l'op può bypassare gli stadi di accesso ed essere eseguita anche quando la cache non è necessaria. La branch misprediction di conseguenza brucia solo 10 cicli.

The Silvermont Execution Pipeline

Silvermont Execution Pipeline - Clicca per ingrandire

Ogni core Silvermont ha ricevuto diverse modifiche e miglioramenti, dai branch predictor più ampi a un'unità di esecuzione rielaborata e cache più capienti. Tanto impegno è stato posto sull'identificazione delle istruzioni più lente sull'architettura Bonnell. Silvermont fa grandi progressi in tal senso, riducendo la latenza e aumentando il throughput. Le "floating-point add operation" richiedono ognuna meno cicli, i "packed SIMD double results" sono raggiunti in quattro cicli di clock anziché nove, e i cosiddetti "signed multiplie" sono molto più veloci. Oltre a questo, Intel indica di aver incrementato le istruzioni per ciclo di clock, per ogni core, del 50% con una larga parte dei carichi di lavoro. Per avere un termine di paragone considerate il passaggio da Sandy a Ivy Bridge, contraddistinto da miglioramenti dell'IPC a singola cifra. Un incremento del 50% è quindi un passo avanti decisamente ampio.

Silvermont Block Diagram

Diagramma a blocchi di Silvermont - Clicca per ingrandire

Atom tuttavia è solitamente disponibile in configurazioni multi-core. Quando la nuova serie di processori venne introdotta, era basata su un chip single-core. Poco dopo, Intel introdusse un modello dual-core, prodotto anch'esso a 45 nanometri. Passando al processo produttivo a 32 nanometri sono rimaste solo le soluzioni dual-core. Con l'avanzare della tecnologia produttiva è chiaro che diventano possibili configurazioni più parallelizzate.

Ora, la cache L2 è strettamente accoppiata ai core, portando a minore latenza e a un bandwidth più alto. Gli ingegneri di Intel non volevano però condividere la cache tra i due core e sono quindi passati a un approccio modulare. Ogni piccolo blocco base include un paio di core e 1 MB di cache L2 condivisa tra loro – i processori Atom precedenti avevano 512 KB di cache L2 per core. I singoli core, la cache L2, l'interfaccia tra i core e la cache possono essere tutti sottoposti a "power-gating". I core all'interno di un modulo possono persino lavorare a frequenze differenti, anche se di default opereranno in modo simmetrico.

Silvermont Module Architecture

Architettura a moduli di Silvermont - Clicca per ingrandire

I moduli comunicano attraverso un'interfaccia in-die punto-punto con canali di lettura e scrittura indipendenti, rimpiazzando del tutto la topologia FSB (Front Side Bus). Per inciso, Intel identifica il proprio IDI come una delle chiavi della modularità della generazione Nehalem/Westmere, e sembrerebbe che molto lavoro fatto nell'ambito dei grandi core delle CPU tradizionali abbia influenza lo sviluppo di Atom Silvermont.

Intel ha dato uno sguardo all'architettura del "vecchio core", ottimizzato le prestazioni per singoli thread, insieme al suo approccio modulare alla scalabilità e scelto di abbandonare l'Hyper-Threading. Includere questa tecnologia che avrebbe incrementato l'uso di energia con i carichi di lavoro single-thread. L'azienda ha quindi bypassato del tutto l'SMT, favorendo più core per incrementare le prestazioni con operazioni parallelizzate.

Allo stesso tempo, gli ingegneri di Intel hanno accresciuto il set di istruzioni supportate dall'architettura, replicando le peculiarità del core Westmere del 2010. Abbiamo quindi l'ingresso di SSE4.1, SSE4.2 e POPCNT (che opera su registri integer), tutte in grado di ampliare le capacità complessive di Atom. Sono presenti anche l'accelerazione AES-NI e Secure Key (inclusa l'istruzione RDRAND e il generatore di numeri casuali digitale).

Sul fronte della virtualizzazione si passa dal supporto VT-x alla seconda generazione della tecnologia, introdotta con Nehalem, e dotata di supporto alle Extended Page Tables (tabelle di pagine estese).