Nuovi sviluppi su Arm

Fino a ieri le prestazioni di elaborazione più estreme erano associate alle architetture x86, caratterizzate da un notevole consumo di energia. Marvell, società produttrice di processori Arm, ha però dimostrato con il proprio Armada XP che è possibile unire alte prestazioni e risparmio energetico. Destinata in origine alle applicazioni in cui il basso consumo è prioritario rispetto alla potenza di elaborazione, l’architettura Arm si è affermata in sistemi come i router e i telefoni cellulari ma, recentemente, ha iniziato a essere utilizzata anche in applicazioni di fascia alta come i server e le workstation. L’ingresso dei processori Arm in questo segmento di mercato potrà portare a una nuova generazione di data center silenziosi, poiché il minor consumo riduce la necessità di raffreddamento e quindi anche il rumore delle ventole.

L’architettura Arm
La sigla Arm sta per Advanced Risc Machine e indica un’architettura di processore a 32 bit che è divenuta molto comune e che continua a essere sviluppata dall’azienda che porta lo stesso nome. Un aspetto interessante dell’attività di Arm è che la società non vende processori ma si limita a fornire ai clienti licenze d’uso della propria architettura in forma di proprietà intellettuale. Le società che acquistano una licenza possono utilizzare l’architettura nei loro chip e integrare le proprie periferiche intorno al core del processore. Alcune società sono autorizzate anche a intraprendere ulteriori sviluppi del core Arm per perseguire miglioramenti: tra queste c’è Marvell, azienda che affonda le proprie radici nel settore del networking e dello storage e che si è affermata recentemente nel mercato dei processori Arm. Nel proprio portafoglio di prodotti, Marvell distingue tra processori applicativi rivolti ai dispositivi mobili dotati di display e processori embedded utilizzati per “macinare numeri” nei router e in molte altre applicazioni. Il lavoro di ottimizzazione condotto dalla società sul core Arm si concentra sul bilanciamento tra alte prestazioni e basso consumo.

La famiglia Armada XP e il core Sheeva
La famiglia Armada XP di Marvell (dove XP sta per Extreme Performance) comprende cinque modelli di processore che offrono diversi livelli di prestazioni e un diverso mix di periferiche. Tutti i modelli sono compatibili tra loro a livello di piedinatura, pertanto ogni membro della famiglia può essere facilmente sostituito da un altro. I processori impiegano un contenitore Fcbga di 23 x 23 mm a 732 pin. Il processore Armada XP è basato sulla versione più recente del core Sheeva, indicata con il nome in codice PJ4B-MP e caratterizzata da un clock fino a 1,6 GHz. Il core Sheeva regge molto bene il confronto con il proprio concorrente, il core Arm standard Cortex-A8/A9: nel benchmark Dhrystone raggiunge infatti 2,6 Dmips/MHz (contro i 2,44 Dmips/MHz del Cortex-A9) e nel benchmark coreMark ottiene un punteggio di 3,42 per MHz (contro 2,88 per MHz di Cortex-A9). Il mercato offre anche core di processori che raggiungono punteggi migliori ma pochissimi di essi rientrano nella categoria di consumo inferiore a 10 watt. Uno sguardo ravvicinato al core Sheeva, che può utilizzare i set di istruzioni Armv6 e Armv7, consente di evidenziare i punti di forza di Armada XP. Fabbricato con un efficiente processo a 40 nm, il core offre le modalità di elaborazione Amp (Asymmetric Multiprocessing), Smp (Symmetric Multiprocessing) e Bmp (Bound Multiprocessing). Nella modalità Amp ogni core è governato da un proprio sistema operativo, il che consente di implementare meccanismi di sicurezza in cui i diversi core operano indipendentemente e si controllano a vicenda. Il bilanciamento del carico, però, è statico e viene definito una volta per tutte nella programmazione del sistema. La modalità Smp offre una maggiore dinamicità del bilanciamento del carico; in essa, infatti, un sistema operativo (o meglio un kernel) distribuisce i processi ai core disponibili. Le applicazioni, pertanto, condividono i core del processore e la memoria. Un altro vantaggio della modalità Smp è la minore latenza degli interrupt, che vengono immediatamente eseguiti da uno dei core. La modalità Bmp rappresenta un’evoluzione della Smp; permette allo sviluppatore di scegliere quale core eseguirà una determinata applicazione, mantenendo i vantaggi della Smp per tutte le altre. Oltre alle modalità Smp/Bmp, Marvell ha aggiunto un’ulteriore tecnologia per aumentare la velocità di elaborazione: l’Smt (Single Multithreading). Questa modalità consente l’esecuzione parallela su un singolo core di diversi thread tra loro indipendenti. In questo modo le unità di esecuzione inutilizzate non vengono bloccate da questi processi e sono rese disponibili per altre elaborazioni. Ad esempio, un processo può eseguire un’operazione in virgola mobile mentre un altro compie un’operazione su numeri interi.

Fpu, cache e controllore di memoria
Il dispositivo comprende anche un’unità a virgola mobile a precisione singola/doppia, per assicurare una rapida esecuzione di questo tipo di operazioni. Èinoltre dotato di una pipeline variabile, con profondità compresa tra sei e dieci stadi, che consente l’esecuzione fuori ordine e la branch prediction. La pipeline lavora sempre a livelli di capacità ottimali grazie alla previsione dei salti e dei relativi indirizzi. Armada XP comprende tre memorie cache: una piccola cache di livello 0 da 4 KB mappata direttamente sul relativo core e accessibile in soli due cicli di clock; una cache di livello 1 da 32 KB accessibile in sei cicli; infine una cache di livello 2 accessibile in 26 cicli. La capacità di quest’ultima dipende dalle versioni del processore e raggiunge i 2 MB nel caso del modello a quattro core MV78460. La cache di livello 2 è condivisa tra tutti i core e può essere distribuita tra essi in modo dinamico e flessibile, assicurando l’esecuzione ottimale delle operazioni. Un meccanismo integrato mantiene la coerenza dei contenuti di questa cache, impedendo al core di leggere i dati mentre un altro core li sta modificando. Armada XP comprende inoltre un controllore di memoria Ddr2/Ddr3 compatibile anche con la versione a basso consumo Ddr3L a 1,35 volt. Il controllore, che si caratterizza per la bassa latenza e l’elevata larghezza di banda, può utilizzare la Lpae (Large Physical Address Extension) e può quindi indirizzare fino a 1 TB di memoria. Si tratta di un vantaggio importante rispetto al Cortex-A9, che non è dotato di questa funzionalità. Nella famiglia Cortex, infatti, i dispositivi inferiori a Cortex-A15 non offrono la Lpae.

Una vasta scelta di periferiche
I processori embedded di Marvell si caratterizzano anche per la vasta gamma di periferiche integrate, disponibili su 16, 12 o 7 corsie Serdes. Su tre o quattro porte è presente l’interfaccia Gigabit Ethernet, con Mac integrati compatibili anche con lo standard Eee (Energy Efficient Ethernet). La dotazione comprende inoltre tutte le comuni interfacce Ethernet, comprese RGMII e QSGMII. Quest’ultima consente di riunire i dati provenienti dalle quattro porte SGMII, a 1,25 Gigabit per secondo, in una singola coppia differenziale a 5 Gigabit per secondo. Ciò consente di ridurre i consumi e il numero dei pin. L’elenco delle interfacce integrate in Armada XP comprende anche PCI Express Gen 2 (fino a un massimo di quattro); un bus della larghezza di 8/16/32 bit per collegare componenti paralleli come gli Fpga; le comuni soluzioni di interconnessione on-chip come Spi, Uart, Sdio e I2C; un ulteriore blocco di periferiche con 32 interfacce Tdm, ideali per i sistemi Voip; fino a tre porte Usb 2.0 con Phy integrato per collegare periferiche esterne, che possono funzionare come host o come dispositivo; due interfacce Sata con velocità fino a 3 Gb/s per collegare dischi rigidi esterni. Completa la dotazione un controllore Lcd con risoluzione Uxga (1600 x 1200 pixel). La vasta dotazione di periferiche non va a discapito dei consumi. Marvell, infatti, si propone di raggiungere il miglior rapporto prestazioni/consumi, che nel caso di MV78460è di oltre 2200 Dmips per watt. Armada XP offre in totale oltre 16.000 Dmips con un consumo inferiore a 9 watt, grazie anche a un’ottima gestione dell’alimentazione e all’efficienza del processo Tsmc a 40 nm.

Uno sviluppo rapido
Per ridurre i tempi dello sviluppo hardware, Marvell fornisce una scheda di sviluppo utilizzabile per progetti a core singolo, doppio o quadruplo. Entro quest’anno, inoltre, la società renderà disponibile una scheda di riferimento per un micro-server. Lo sviluppo software è facilitato da un kit comprendente tutti gli strumenti necessari: il file system di boot U-Boot, il kernel Linux, i driver per i blocchi hardware, i vari patch e plug-in. La dotazione include inoltre il debugger di Marvell, denominato Blackstone, e il debugger Jtag di Lauterbach. Usati in combinazione con Extreme Debugger di Marvell, questi strumenti consentono agli sviluppatori di arrestare i diversi core contemporaneamente. Va ricordato inoltre che Armada XP comprende, per ogni core, un sottosistema di debug CoreSight e un trace buffer. Verso la fine dell’anno Marvell renderà disponibile uno stack LAmp composto da driver Linux, Apache, MySQL, PHP e Java.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome