ARM o x86

ARM o x86
25 maggio 2015 Matteo Giurdanella

Al giorno d’oggi tutti noi possediamo dispositivi mobili: cellulari, smartwatch, tablet, notebook. Sono dispositivi alimentati da batterie che si consumano rapidamente, consumo dovuto oltre che a tutti i sensori presenti nel dispositivo, anche alla potenza della CPU. Oggi le CPU hanno raggiunto potenze computazionali enormi, confermando la Legge di Moore: “Le prestazioni dei processori, e il numero di transistor ad esso relativo, raddoppiano ogni 18 mesi”.

Purtroppo, però, questa elevata potenza comporta anche una diminuzione della caridecisamente più veloce. Così le grandi produttrici di hardware, in particolare di CPU, stanno sempre più cercando di trovare un equilibrio tra consumi e prestazioni, così da non danneggiare il cliente finale, stanco di avere un dispositivo mobile, che tanto mobile non è, senza interferire con l’esperienza d’uso.

Prima della nascita di questi dispositivi alimentati a batteria, non ci si poneva molto il problema di quanta energia potesse consumare una CPU. Essa veniva sempre migliorata e resa sempre più potente. Parliamo di un’evoluzione partita ad inizio degli anni 70’ con il primo processore Intel 4004 con una frequenza di 704kHz, 16 pin, un set di istruzione pre x86 (46 istruzioni in totale di cui 41 a 8 bit e 5 a 16 bit) e un’alimentazione di 12 Volt, fino ad arrivare ai giorni nostri con le più potenti CPU per uso “Desktop” lanciate recentemente da Intel: Intel Core i7 con un set di istruzioni a 64 bit, una frequenza massima di 3 GHz, un voltaggio massimo di 3.3 Volt e un consumo energetico di massimo 28 Watt.

Negli anni, oltre ad essere aumentata il Clock sono anche aumentati il numero di transistor e il consumo energetico; è invece diminuita la dimensione. Nonostante le dimensioni ormai ridottissime, nei dispositivi mobile non è possibile installare queste CPU, in quanto esse produco troppo calore e consumano molto. Negli stessi notebook che comunque sono dotati di ventole di raffreddamento, di solito vengono installate le versioni di tali CPU meno potenti, dual-core anziché quad-core, per evitare che la CPU riscaldi troppo e che la batteria si esaurisca in tempi brevi. Un decennio dopo la creazione del primo Intel, nasce il primo processore con architettura ARM, chiamato: ARM1. Quest’ultimo nasce e muore semplicemente come prototipo; bisogna aspettare il 1985 per avere il primo processore con architettura ARM realmente prodotto: ARM2. Esso era composto da registri a 16 o 32 bit e aveva 30.000 transistor ed un consumo energetico decisamente molto più basso rispetto ai processori con architettura x86. L’architettura ARM oggi si trova su circa il 75% dei dispositivi mobile[1], e l’implementazione più diffusa è l’ARMv7.

Dunque perché l’architettura ARM si è affermata sul mondo mobile e invece quella x86 nel mondo del Desktop e Notebook?

Innanzitutto bisogna esplicare una differenza non ancora presa in considerazione. Detta in maniera semplicistica, mentre le CPU ARM sono di tipo RISC quelle x86 sono di tipo CISC. Si tratta di due filosofie di progettazione dei microprocessori; la prima (RISC) predilige lo sviluppo di un’architettura semplice e lineare che permette di eseguire il set di istruzioni in tempi molto ristretti rispetto alla classica architettura CISC. Quest’ultima, invece, prevede un set esteso di istruzioni con metodi di indirizzamento complessi e dunque riesce a gestire una mole di dati superiore e a pari frequenza. Ovviamente, l’architettura CISC è più vantaggiosa. Le CPU ARM sono solitamente a 32 bit, solo a partire dal 2014 sono state presentate quelle a 64 bit, arrivano fino al Clock di 2,5 GHz, sono state create anche quelle octa-core, nonostante ciò hanno un consumo massimo di circa 3W, questo comporta una durata della batteria e un surriscaldamento relativamente tollerabile.

Dall’altra parte le CPU x86 ormai sono solitamente tutte a 64 bit, le più potenti versioni Desktop possono raggiungere gli 8 core e Clock di 3,5 GHz con un consumo enorme rispetto agli ARM. Una CPU con le caratteristiche appena descritte può arrivare a consumare anche 140W[2]. Questo è il caso di una CPU davvero potente, ma nel caso di una CPU Desktop “normale” si parla di un consumo che oscilla tra i 15W[3], quelle di ultima generazione, e i 60W o anche più, per quelle un po’ più vecchiotte o più potenti. Si capisce facilmente che è improponibile montare CPU con tali consumi in dispositivi quali cellulari, smartwatch o wearable. Ultimamente, come detto sopra, le CPU x86 stanno prendendo una direzione che porta al risparmio energetico, con soli 15W. Dunque, potrebbe esistere la possibilità un giorno di vedere sui nostri dispositivi mobili tale architettura. Bisognerebbe però evitare il surriscaldamento, ma soprattutto abbattere i costi, decisamente più onerosi rispetto a una CPU ARM.

[1]. Fonte: www.arm.com

[2]. Fonte: http://ark.intel.com/it/products/82930?_ga=1.54511720.1760434292.1431283113

[3]. Fonte: http://www.intel.it/content/www/it/it/processors/core/core-i5 processor.html