Analisi del SoC Snapdragon S4 di Qualcomm: vantaggi e caratteristiche

Approfondimento su Qualcomm Snapdragon S4 dal MWC 2012I nuovi SoC Qualcomm Snapdragon S4 sono stati esposti nella vetrina del Mobile World Congress di Barcellona. Ma cosa sappiamo di preciso e quanto possiamo aspettarci dalla nuova generazione di CPU/GPU Qualcomm?

Annunciati ufficialmente al Mobile World Congress 2011, a distanza di un anno i nuovi System-on-Chip Snapdragon top di gamma appaiono finalmente al pubblico per un assaggio delle loro potenzialità. Dopo i test preliminari effettuati dai colleghi di AnandTech, subito prima dell'inizio dell'MWC 2012, molta era l'attesa concentrata attorno al chip Qualcomm Snapdragon S4 MSM8960. Altro grande atteso era il modello APQ8064, anch'esso anticipato lo scorso anno ma equipaggiato con una più potente CPU basata su architettura Krait quad-core.

Non solo conferme però per Krait, ma anche una novità inaspettata: Qualcomm ha infatti annunciato durante la fiera un nuovo membro della famiglia Snapdragon S4, MSM8960 Pro. In base a quanto comunicato, si tratterebbe di un "ibrido" tra 8960 e 8064, offrendo i vantaggi dell'integrazione del modem LTE on-die e la potenza del Krait quad-core con GPU di prossima generazione Adreno 320.

Reference design di tablet equipaggiato con il processore quad-core Qualcomm Snapdragon S4 Pro

La passerella del Mobile World Congress, la cui popolarità cresce di anno in anno, è stata quindi l'occasione ideale da parte di Qualcomm per soddisfare tutti coloro che aspettavano con impazienza la risposta della multinazionale di San Diego al SoC Tegra 3 "Kal-El" di Nvidia, che ricordiamo essere il primo ad aver presentato una architettura con CPU quad-core per smartphone e tablet.

In questo articolo coglieremo anche noi l'occasione offertaci da Qualcomm per approfondire quanto già sapevamo e valutare quanto abbiamo potuto "toccare con mano" al Mobile World Congress 2012.

Snapdragon S4 MSM8960: caratteristiche tecniche

Diagramma a blocchi del SoC Qualcomm Snapdragon S4 MSM8960

Basta uno sguardo sommario alle caratteristiche tecniche del chip Qualcomm per capire che siamo di fronte ad un prodotto davvero completo. Il SoC 8960 mette a disposizione dei produttori di dispositivi mobili una piattaforma proprietaria integrata con CPU, GPU e modem LTE multimodale con supporto a connettività wireless Wi-Fi, Bluetooth, FM e GPS.
La "filosofia" di sviluppo che soggiace all'architettura è stata efficacemente sintetizzata con poche parole da Sebastiano Di Filippo, Responsabile Business Development di Qualcomm QCT Italia, durante un'intervista al MWC 2012 per NotebookItalia:
"La soddisfazione dell'utente finale viene percepita quando il software passa attraverso tutta la catena[...]: tutto deve essere perfettamente integrato per deliverare il massimo della user experience."

Perfetta integrazione ma anche massimo rendimento. Un doppio obiettivo che Qualcomm ha cercato di perseguire sviluppando un'architettura nuova e proprietaria mentre altri chipmaker consolidavano la loro presenza sul mercato con aggiornamenti "evolutivi" della propria offerta. Per quanto si sia trattato di una mossa non priva di rischi, tutti i risultati preliminari collezionati da Snapdragon S4 sembrano indicare che l'obiettivo sia stato raggiunto.

Senza nulla togliere ai meriti e agli indubbi vantaggi della tecnologia LTE del modem integrato, il nostro magazine non può che essere maggiormente attratto dal resto del package, ovvero i sottosistemi CPU e GPU. Questi aspetti acquisiscono una rilevanza ancor maggiore se messi in prospettiva con l'avvicinarsi della data di rilascio del nuovo sistema operativo Microsoft Windows 8 che supporterà nativamente l'architettura ARM. Vedremo presto l'arrivo di architetture ARM nel form-factor di notebook mainstream? È probabile, e tra i sistemi fino ad ora presentati Snapdragon S4 è uno di quelli che meglio si qualifica per lo scopo. Spieghiamo le ragioni di questa affermazione nella prossima sezione.


La CPU "Krait"

La CPU utilizzata dall'MSM8960 è basata su instruction-set ARM e interamente realizzata da Qualcomm. Si tratta in altri termini di un processore ARM A9 fortemente personalizzato che dovrebbe garantire prestazioni superiori rispetto all'architettura di riferimento e ai principali competitor mantenendo tuttavia i consumi contenuti.
Di seguito riportiamo una tabella dettagliata delle differenze tecniche tra il nuovo Krait, la precedente generazione Scorpion e l'architettura di riferimento ARM Cortex A9.

Arm Cortex A9Qualcomm ScorpionQualcomm Krait
Ampiezza decodifica 2 2 3
Ampiezza emissione nd 3 4
Porte di esecuzione nd 3 7
Stadi pipeline 8 10 11
Esecuzione out-of-order Parziale
FPU VFPv3 opzionale VFPv3 VFPv3
NEON Opzionale (64bit) Sì (128bit) Sì (128bit)
Processo produttivo 40nm 40nm 28nm

Benché un superficiale confronto numerico mostri come la nuova architettura sviluppata da Qualcomm rappresenti un miglioramento rispetto alla precedente generazione e al Cortex A9, vediamo di approfondire il significato di questi numeri per capire fino in fondo cosa offre di nuovo Krait.

Prestazioni del processore Qualcomm Snapdragon S4 a confronto con una CPU quad-core

Cominciamo con il sottolineare che il nuovo processore impiegato dallo MSM8960 supporta pienamente l'esecuzione fuori ordine di istruzioni. Questo è un requisito cui qualunque sistema ad alte prestazioni non può rinunciare, e permette alla CPU di processare più istruzioni senza dover di volta in volta attendere esecuzione ed emissione di istruzioni precedenti cronologicamente ma non causalmente.

Il back-end di processamento delle istruzioni ha coerentemente ricevuto un potenziamento, permettendo al Krait di decodificare (e quindi preparare per l'esecuzione) fino a 3 istruzioni per clock e di emetterne (cioè concluderne l'esecuzione) fino a 4 per clock. Le porte di esecuzione per il processamento vero e proprio delle operazioni sono state quindi sovradimensionate in numero (ne abbiamo 7) per evitare possibili limitazioni strutturali al parallelismo. Sempre per perseguire quest'ultimo e migliorare efficienza e prestazioni, la pipeline per operazioni integer è stata estesa a 11 stadi: questa permette al processore di diminuire la latenza suddividendo l'esecuzione di un'operazione intera in 11 fasi mettendo in coda più operazioni in stadi di elaborazione differenti e realizzando quindi l'equivalente di una catena di montaggio.

Per tracciare un parallelo con architetture di tutt'altro segmento, l'Intel P6 sul quale si basavano i Pentium M Banias, Dothan e Yonah, sulla carta ha molte somiglianze con Krait, tra cui la dimensione della pipeline e il back-end 4-wide con consegna fuori ordine. Se confrontato con i più recenti Intel Atom Silverthorne, dotati di una microarchitettura con emissione 2-wide di istruzioni e pipeline a 16 stadi in-order, i vantaggi di Krait divengono davvero sostanziali. Non dimentichiamo tuttavia che in entrambi i casi abbiamo fatto riferimento a piattaforme con TDP sensibilmente più elevati (specie nel caso del Pentium M) destinate a dispositivi dotati di batterie ben più capienti e form factor molto meno compatti.

Tornando a Krait e al confronto con ARM Cortex A9 standard, Qualcomm ha dotato la sua CPU di due importantissimi moduli previsti opzionalmente nel Cortex A9: il coprocessore floating point VFPv3 e la media processing engine NEON.
Il coprocessore Vector Floating Point (VFP) v3-D16 di cui l'MSM8960 è dotato rappresenta una soluzione a basso costo per l'accelerazione di operazioni in virgola mobile (single/double-precision). Anche questo opera in modo out-of-order, e in combinazione con NEON garantisce un'accelerazione hardware di applicazioni grafiche che prevedano trasformazioni 2D e 3D, generazione/rendering di font e applicazione di filtri digitali.

NEON è un motore SIMD (Single Instruction Multiple Data) general-purpose in grado di accelerare applicazioni di elaborazione batch multimediale e di segnali. Rispetto all'unità NEON opzionale dell'A9, Krait è dotato di una versione con ampiezza doppia (in modo simile al modulo NEON del Cortex A15) che permette il processamento di vettori da 128 bit in un solo passaggio.
Rispetto a soluzioni alternative sprovviste di FPU e tecnologie SIMD, Krait ha dunque un notevole vantaggio in scenari d'uso disparati sia dal punto di vista prestazionale che per quanto riguarda il livello di efficienza.

Questo aspetto, combinato con il passaggio al processo produttivo da 28 nm, contribuisce a mantenere i consumi di Krait contenuti nonostante l'incremento prestazionale. Come vedremo più avanti nelle demo presentate all'MWC, Qualcomm ha affrontato il tema dei consumi anche su altri fronti.


La GPU "Adreno 225"

Qualcomm Snapdragon S4 MSM8960 è equipaggiato con una GPU Adreno 225, evoluzione del precedente Adreno 220 presente in terminali Snapdragon serie S3. Tecnicamente l'architettura resta quindi invariata, essendo basata su un rendering engine tile-based immediato con early Z-reject. Il numero di shader (unificati) è stato portato a 8 e la riduzione del processo produttivo ha permesso un incremento di frequenza di clock a 400 MHz (contro i 266 MHz di Adreno 220).
Vediamo però di chiarire meglio cosa significano queste caratteristiche e questa nomenclatura tecnica in modo da rendere evidente anche ai neofiti cosa possiamo aspettarci dalla nuova GPU serie 200 di Qualcomm.

Il motore di rendering Adreno è tile-based: ciò significa che l'immagine da processare, prima di essere visualizzata, viene scomposta in tasselli più piccoli in modo da sfruttare l'eventuale coerenza spaziale e ridurre l'utilizzo della larghezza di banda (tecnica cui talvolta si fa riferimento anche con il nome "binning"). Poiché opera in immediate mode, i tasselli elaborati vengono direttamente renderizzati appena disponibili.

Prestazioni della GPU Adreno 255

Questo approccio, tipicamente predominante nel segmento delle GPU desktop/notebook, se sfruttato adeguatamente garantisce allo sviluppatore il massimo controllo e flessibilità nel processo di elaborazione grafica. Di contro un'implementazione IMR pura può comportare un carico computazionale sensibilmente maggiore rispetto ad un approccio di tipo "deferred", adottato ad esempio nei chip grafici PowerVR basati su architettura TBDR ("Tile Based Deferred Rendering"), che minimizza i dati che la GPU deve elaborare cercando di eliminare tutte le informazioni che non si tradurrebbero comunque in pixel visibili sullo schermo.

Per mitigare il consumo di risorse (sia in termini di potenza di calcolo che di requisiti energetici), Qualcomm ha adottato una tecnica nota come "early Z-reject", che consiste nel verificare durante lo stadio di rasterizzazione la posizione del tassello da elaborare rispetto al valore già memorizzato nello Z-buffer: se il tassello non passa il depth-test (cioè, se il tassello non è visibile in quanto è in secondo piano), si verifica la "rejection" e si evita di caricare le texture associate al tassello o di eseguire il codice ad esso associato. Il risultato è una ulteriore riduzione della larghezza di banda in memoria necessaria in molti scenari d'uso che posiziona Adreno a metà tra l'approccio IMR puro e il TBDR di Imagination Technologies.

Distinguendosi da altri competitor, primo fra i quali Nvidia con Tegra 3, Qualcomm ha adottato un'architettura USA (Unified Shader Architecture) per la sua GPU Adreno 225. Ciò significa che ogni unità shader può essere programmata per eseguire operazioni vettoriali o scalari a seconda della tipologia di carico, a differenza di altre architetture in cui pixel e vertex shaders sono altamente specializzati.
Gli shader a loro volta non sono che ALU per operazioni SIMD. Poiché ciascuno shader nell'architettura Adreno è in grado di eseguire 4 MADs (Multiply-Add instructions) e considerando che il numero di shader unificati rispetto alla GPU di generazione precedente è stato raddoppiato, l'incremento teorico in termini di capacità di calcolo dalla serie 220 alla 225 non cosa è di poco conto.

Shader unificati sulle GPU Adreno

Viste le maggiori capacità computazionali e le destinazioni d'uso sempre più orientate all'entertainment, Adreno 225 ha ricevuto un upgrade anche nella gestione della memoria supportando il dual channel per migliorare le prestazioni a risoluzioni video elevate. Confrontando quindi i numeri relativi all'incremento grezzo di frequenza operativa e considerando il raddoppiamento degli shader, l'affermazione di Qualcomm secondo cui Adreno 225 offrirebbe una potenza di elaborazione grafica superiore del 50% rispetto ad Adreno 220 sembra assolutamente realistica.

Considerando il successo e la crescita del segmento dei tablet e l'avvicinarsi del rilascio di Windows 8, abbiamo avuto già modo di verificare come l'interesse per la prossima versione del sistema operativo Microsoft potrà tradursi in tempi brevi nella possibilità di vedere un OS "nato e cresciuto" in ambito desktop accoppiato ad hardware di retaggio prettamente mobile.
Questa visione ci sembra ampiamente condivisa da Qualcomm, come ci conferma Di Filippo:
"Una [possibilità] molto forte è quella offerta da Microsoft, con la quale stiamo facendo una partnership molto stretta.[...] Sullo Snapdragon S4 abiliteremo la piattaforma per il supporto di Windows on ARM - che noi chiamiamo Windows on Snapdragon - in modo tale che a developer selezionati verrà dato in anticipo una pre-versione di questa architettura con una pre-versione di Windows per permettere di iniziare uno sviluppo specifico della piattaforma".

Nonostante le basi solide e le capacità computazionali di Adreno 225, il supporto alle "sole" DirectX 9.3 in un ambito Windows potrebbe sembrare limitante agli occhi di un'utenza particolarmente esigente. In questo senso Qualcomm non ha reso noto quando potrà dotare Snapdragon di una GPU DirectX 11 compliant, ma ci è stato comunque ribadito che "sicuramente c'è un impegno a seguire tutte le ultimissime implementazioni di Microsoft in termini di prestazioni grafiche".


Snapdragon S4 in azione al MWC 2012

Il SoC Qualcomm MSM8960 è stato senza dubbio uno dei protagonisti dello show di Barcellona: sono infatti molti i terminali presentati da molteplici brand ed equipaggiati con il nuovo Snapdragon S4. Sorprende ancora meno che lo stesso booth Qualcomm ruoti attorno a due tecnologie importanti per la compagnia di San Diego, una delle quali è proprio il loro nuovo System-on-Chip.

Tra le demo più significative che avevano come oggetto l'S4 8960, abbiamo assistito ad un test multitask che simulava un caso d'uso medio con browsing di pagine web e riproduzione in background di musica ottenuta in streaming da una web radio.

Questo test mira a dimostrare la capacità dei singoli core di Krait di operare in maniera asincrona. A differenza di soluzioni multicore sincrone in cui la variazione di frequenza interessa tutti i core simultaneamente, Qualcomm ha progettato la microarchitettura Krait come un sistema aSMP (asynchronous Symmetrical Multi-Processor) in cui ciascun core può lavorare a voltaggio e frequenza indipendente.
Qui osserviamo che il carico di sistema produce una variazione di frequenza sui singoli core in modo tale da ottenere una migliore scalabilità ed efficienza in rapporto alle caratteristiche del workload. I risultati ottenuti dal test di Qualcomm suggerirebbero quindi un vantaggio medio del 27-30% sul consumo energetico rispetto ad una soluzione sincrona di stessa potenza.

Qualcomm Snapdragon S4: efficienza termica e consumi

Uno dei grandi attesi della fiera era senza dubbio il Quad-core Krait, e Qualcomm non ha deluso le attese con un test analogo a quello precedente ma eseguito su un tablet prototipale equipaggiato con il SoC Snapdragon S4 APQ8064. Quest'ultimo è il primo modello Quad-core annunciato nella lineup S4, ed è caratterizzato da core Krait operanti a 1.5 GHz accoppiati alla GPU di prossima generazione Adreno 320. A differenza dell'MSM8960 questo modello non possiede un modem multimodale integrato, che sarà invece presente sull'appena annunciato MSM8960 Pro.

Nel test in questione era possibile osservare i quattro core dell'APQ8064 in funzione, ciascuno assegnato alla riproduzione di uno stream video 720p ad alta qualità. Lavorando ciascun core indipendentemente nel rendering di ciascuno stream, è stato possibile apprezzare a pieno le capacità di scalabilità di Krait: non solo il carico variabile si traduceva in una variazione di frequenza del core appropriato, ma fermando l'esecuzione di uno stream si è potuto osservare come il core assegnato veniva di fatto spento.
Nonostante la maggiore potenza di calcolo, quindi, la scelta di adottare un sistema aSMP combinato ad ulteriori tecniche di circuito come il DCVS (Dynamic Clock and Voltage Scaling) dovrebbe permettere ai nuovi SoC Qualcomm di raggiungere un'efficienza considerevole, offrendo prestazioni superiori a fronte di consumi comparabili rispetto a soluzioni concorrenti e agli stessi SoC Scorpion di precedente generazione.

Multiprocessore asincrono su vari prototipi di tablet e smartphone Qualcomm Snapdragon S4

Purtroppo allo stato attuale non sono disponibili ulteriori informazioni sui SoC Quad-core Krait, e specialmente sulla GPU Adreno serie 3xx di prossima generazione, tranne il fatto che Adreno 320 dovrebbe avere prestazioni grafiche eccezionali, con un vantaggio del 400% sulle soluzioni concorrenti. Tuttavia quel poco che sappiamo e abbiamo potuto vedere, la strategia di Qualcomm di arrivare sul mercato delle soluzioni quad-core con un'architettura altamente ottimizzata e customizzata, a fronte di un tempo di sviluppo maggiore rispetto ai competitor, ha tutte le premesse per essere vincente, specie se si considerano gli ottimi e incoraggianti traguardi già raggiunti con l'MSM8960 e confermati dai primi test effettuati sull'architettura.

In conclusione, se Qualcomm sarà in grado di confermare tutte le aspettative con i suoi Snapdragon S4 di fascia alta, questi ultimi potrebbero trovarsi a trainare la pronosticata sovrapposizione tra il mondo del mobile computing e dell'home computing/entertainment, abbreviando i tempi rispetto a tutte le più rosee previsioni. In quest'ottica lo scenario pronosticato al Computex 2011 da Tudor Brown, secondo cui entro il 2015 i dispositivi ARM-based avrebbero avuto una quota del 50% del mercato mobile, appare tutt'altro che fantasiosa.

Ultimo aggiornamento Venerdì 23 Marzo 2012 14:13