Come abbiamo affermato nell'incipit dell'articolo, questa non voleva essere una recensione approfondita di alcune schede basate su SoC ARM, o degli stessi SoC utilizzati, quanto un confronto tra ARM e x86 nell'utilizzo generale. Nei forum e nei portali specializzati da tempo si legge che ARM non può ora, e non potrà ancora per molto tempo, sostituire l'ISA x86 nei PC, sia perché mancano i software sia perché manca la potenza computazionale pura, ma è veramente così che stanno le cose?
Analizzati i risultati dei benchmark, tutti realizzati sotto GNU/Linux, con software compilati per le rispettive architetture, ora possiamo cercare di fare un po' di chiarezza.
Prima di tutto va detto che i SoC ARM sono basati sulle architetture di base di ARM, quindi non custom, e questo gioca a loro sfavore in un confronto con l'affinata architettura Sandy Bridge di Intel, ricca di SIMD adatte a diversi scopi. Non per questo, comunque, ARM ne esce con le ossa rotte, soprattutto se confrontiamo i consumi dei SoC con il Celeron 847 di Intel, e se pensiamo che i Cortex-A7 e Cortex-A9 sono stati presentati nel lontano 2009 (il Celeron 847 è del 2012).
Passando ai risultati, il passaggio dal Cortex-A7 a Cortex-A9 ha portato a notevoli miglioramenti prestazionali, ed il Samsung Exynos 4412, caratterizzato dalla presenza di 4 core ad elevata frequenza, in certe occasioni riesce a giocarsela quasi alla pari con la CPU x86 soprattutto nei calcoli Integer.
Il problema principale dei SoC ARM, al momento, è determinato dalla scarsa presenza di SIMD adatte a compiti particolari, in quanto il set di istruzioni NEON risulta sotto dimensionata per i compiti più gravosi. Proprio in questo ambito potranno venire in aiuto le architetture custom di AMD, di Qualcomm, di Apple e di altre case, in quanto potranno sopperire a tale mancanza con l'introduzione di set di istruzioni proprietari, adatti a questi carichi di lavoro.
Il recente annuncio di Microsoft di voler realizzare Windows 10 sia per x86 sia per ARM dovrebbe portare un po' di luce in questo senso, perché significa che il gap prestazionale tra le due ISA potrebbe venire livellato nell'arco di pochi anni. Lo abbiamo visto con questi test, ARM non è poi così distante da Intel, ed anche dal punto di vista dell'utilizzo, durante la fruizione del Celeron 847 con Fedora 21 e dell'Exynos 4412 con Ubuntu 14.04, non ho notato troppe differenze (contrariamente a quanto accaduto con il Raspberry Pi) utilizzando un programma alla volta. Differente lo scenario quando si utilizzano due o più programmi contemporaneamente. Qu l'eleganza delle architetture x86 (Branch Prediction, Scheduler, Cache, ecc) è attualmente irraggiungibile.
Personalmente non vedo l'ora di mettere le mani su qualche scheda dotata almeno di SoC quad o octa core Cortex-A57 o superiore. Considerato il salto accorso tra Cortex-A7 a Cortex-A9, in questo caso il boost prestazionale dovrebbe essere terrificante.