Pagine

La realizzazione di un SoC ARM segue regole decisamente diverse, almeno per il momento, rispetto alla realizzazione di un SoC o di una CPU x86 di Intel. Queste regole sono imposte non tanto dall'ISA in sé, quanto dagli ambiti di utilizzo cui sono destinati questi prodotti, decisamente agli antipodi.

Caratteristica essenziale dei SoC ARM è la modularità unitamente alla varietà degli IP vendor, qualità che permettono al produttore di turno di utilizzare quanto realmente gli è utile, evitando di sprecare silicio ed abbassando di conseguenza il costo del chip prodotto (più chip vengono prodotti per wafer, minore sarà il costo unitario dei chip stessi). Non deve sorprendere, quindi, se ARM offre una dozzina di core diversi (ARM11, A5, A7, A8, A9, A12, A15, A17, A53, A57), e se a questi possono essere accoppiate diverse GPU (di Vivante, di Imagination Technologies, di ARM, di nVidia, Broadcom, di Qualcomm, e via di questo passo) e diversi componenti opzionali (SIMD NEON, coprocessori matematici VFP, ecc). Il singolo produttore può scegliere che CPU e GPU inserire ed in quali quantità, a seconda del target di riferimento (low, medium ed high performance), per poi aggiungere quanto serve alla creazione di un SoC più o meno completo dal punto di vista delle feature dedicate al mercato Mobile: GPS, Radio FM, Bluetooth, sistema di riconoscimento video, DPS, e via di questo passo. Al produttore del SoC importa relativamente poco la retro-compatibilità, in quanto questi SoC sono dedicati a terminali (Smartphone e Tablet) su cui gireranno versioni compilate ad hoc di Android, o sistemi chiusi (Windows Phone e iOS), sistemi operativi, va detto, molto recenti. Quello che realmente è importante per il produttore di turno, è inserire almeno le funzionalità minime per rendere il terminale compatibile con le applicazioni più utilizzate (Whatsapp, Skype, Chrome, ecc), nulla di più.

I SoC e le CPU x86 seguono, da decenni, una diversa filosofia. Fin dal 80286 la priorità di Intel è stata quella di realizzare CPU compatibili al 100% con le CPU delle generazioni passate, così da aiutare sia gli sviluppatori sia le aziende. L'80286 doveva essere compatibile con gli 8086/8088, il Pentium doveva essere compatibile con le CPU a 16 Bit (dal 80286 in poi), e le recenti CPU Core devono essere compatibili con le CPU posteriori al Pentium. Questo è il punto di forza di Intel, ma questo è anche il suo più grande difetto, in quanto buona parte del silicio delle recenti CPU è occupato da istruzioni o SIMD che sono lì non tanto perché veramente necessarie, quanto perché permettono la piena retro-compatibilità con software scritti anche 20 anni fa (cosa che interessa moltissimo le aziende più grandi, pigre ad aggiornare i propri software, ma poco o nulla gli utenti casalinghi, attirati dai software più recenti). Prendiamo quale esempio l'introduzione delle istruzioni SSE con i Pentium III:

Da: "Pentium III = Pentium II+SSE", di Keith Diefendorff, Microprocessor Report, 8/3/99

Tale filosofia di sviluppo ha reso le CPU x86 dei veri e propri elefanti in confronto ai più piccoli ed agili SoC ARM, privi di questa necessità, e questo si traduce in consumi maggiori e spese di produzione di ben altre proporzioni. Per fare un esempio, due core Cortex-A9 prodotti a 40nm (TSMC) occupano 6,7 mm2, mentre un singolo core Sandy Bridge occupa circa 18,4 mm2 @32nm. Nel medesimo spazio, quindi, sarebbe possibile inserire 4 core Cortex-A9. Non offrendo l'ISA x86 in licenza, lo sviluppo delle soluzioni CPU e SoC ricadono sulle sole spalle della stessa Intel, la quale deve produrre chip adatti tanto al mercato consumer quanto a quello enterprise (i SoC Atom utilizzano lo stesso Die per tutti questi mercati, ma vengono disabilitate porzioni del medesimo Die a seconda del mercato di riferimento).

Non deve sorprendere, quindi, se osservando la tabella qui in basso noterete una certa disparità nei consumi a favore dei SoC ARM. Disparità che ha ancora più dell'incredibile se osserviamo la quantità di feature integrate nei SoC ARM, del tutto assenti nella CPU Intel. Questo perché, come già detto, i SoC Atom devono essere utilizzati in settori molto differenti, e spesso Intel preferisce aggiungere alcune funzioni necessarie tramite chip esterni (questo accade soprattutto per quanto riguarda il mercato Mobile). La situazione, in questo ambito, dovrebbe cambiare verso la fine del 2015, quando verranno presentati i primi SoC frutto della collaborazione tra Intel e le cinesi RockChip e Spreadtrum.

SoC/CPU Allwinner A20 RockChip RK3066 Samsung Exynos 4412 Intel Celeron 847
Core Cortex-A7 Rev 4 Cortex-A9 Rev 0 Cortex-A9 Sandy Bridge
Arch ARMv7 ARMv7 ARMv7 Sandy Bridge
Numero Core 2 2 4 2
Frequenza 1 GHz 1,6 GHz 1,7 GHz 1,1 GHz
Cache L1 32KB/32KB 32KB/32KB 32KB/32KB 32KB/32KB
Cache L2 256KB 512KB 1024KB 246KB/256KB
Cache L3 - - - 2048KB
SIMD NEON NEON NEON MMX, SSE, SSE2, SSE3, SSSE3, SSE4, SSE4.1, SSE4.2
FPU VFPv4-D32 VFPv3 VFPv3 Integrata
VPU CedarX RK3X Samsung Integrata
CTRL RAM LPDDR2/DDR3/ DDR3L LPDDR/LPDDR2/ DDR3/DDR3L LPDDR/LPDDR2/ DDR3/DDR3L DDR3
GPU ARM Mali400 MP2 ARM Mali400 MP4 ARM Mali400 MP4 HD2000 (6 EU)
Frequenza 400 MHz 250 MHz 440 MHz 350/800 MHz
Librerie OpenGL ES 2.0/1.1 OpenGL ES 2.0/1.1 OpenGL ES 2.0/1.1 DirectX 10.1, OpenGL 3.0/3.1
Video Decoding Mpeg1/2, Mpeg4, SP/ASP, GMC, H.263, H.264, VP6/8, AVS jizun, Jpeg/Mjpg Mpeg1/2, Mpeg4, SP/ASP, GMC, H.263, H.264, H.265, VP6/8/9, AVS jizun, Jpeg/Mjpg Mpeg1/2, Mpeg4, SP/ASP, GMC, H.263, H.264, P6/8/9, AVS jizun, Jpeg/Mjpg H.264, VC-1,MPEG-2
Video Encoding H.264 1080p @ 30fps, H.264 720p @ 60fps H.264 1080p @ 30fps, H.264 720p @ 60fps H.264 1080p @ 30fps, H.264 720p @ 60fps -
Risoluzione Max 2160p 2160p 2160p 2560x1600
Camera Parallel 8-bit I/F YUV sensor, 24-bit parallel YUV 444 I/F, Supports 5M CMOS sensor, Supports dual sensors Parallel 8-bit I/F YUV sensor, 24-bit parallel YUV 422 I/F, Supports 5M CMOS sensor, Supports dual sensors Dual camera input, Image signal processing, Dynamic range correction, Face detection -
Audio Hi-Fi 100dB audio codec, Dual analog mic amplifiers Hi-Fi audio codec, Dual analog mic amplifiers AC97 audio codec, Dual analog mic amplifiers -
TDP 1,6 Watt 2,26 Watt 2-4 Watt 17 Watt
Nodo 40nm BULK 40nm BULK 32nm BULK 32nm BULK