Davide contro Golia: SoC dello smartphone vs. CPU del PC
4/4/2018
Traduzione: Leandra Amato
Anche se quotidianamente gestiamo computer e smartphone, spesso non ci rendiamo conto che la tecnologia dei due dispositivi differisce in modo significativo. Non solo in termini di prestazioni, ma anche di struttura dei componenti principali.
Se il computer classico dispone di un processore integrato, lo smartphone possiede un SoC. Le tre lettere stanno per «System on a Chip» (sistema su chip o sistema su circuito integrato). Esso rappresenta un sistema informatico racchiuso in un solo chip. Quindi racchiude processore centrale, scheda grafica, blocchi di memoria e altri componenti come interfacce input/output (Ethernet, Bluetooth ecc).
Architettura del processore
Forse ti sei già chiesto perché il tuo telefono cellulare con più core di processore e possibilmente con una frequenza di clock più alta non offra più prestazioni del tuo vecchio notebook. Ciò è dovuto all'architettura del processore. Le due architetture più comuni al mondo sono x86 e ARM. I notebook e i sistemi desktop possiedono l'architettura x86, gli smartphone e i tablet hanno processori con architettura ARM integrati nel SoC.
Anche se conosciamo i processori ARM della famiglia RISC tramite smartphone e tablet, erano già stati sviluppati negli anni Ottanta. Nel 1983, la società britannica Arcon ha lanciato il suo primo prototipo da 32 bit e 4 MHz. A quel tempo ancora con la denominazione di «Acorn Risc Machine», oggi ARM sta per «Advanced RISC Machines». Il successo non si è fatto attendere a lungo e la produzione seriale con una frequenza di clock di 8 MHz seguì già nel 1986.
L'architettura x86, invece, vide la luce già alla fine degli anni Settanta. Il primo processore con architettura x86 sotto forma di Intel i8086 fu lanciato nel 1978. Alcuni di noi potevano già gioire ai tempi, vedi termini come «Intel 80286», «Intel 80386» (AMD Am386) o «Intel 486» (AMD Am486). Anche io ho fatto i miei primi esperimenti al computer su un 286, ho imparato i comandi DOS ed ero felice con giochi dall'aspetto grottesco.
Architetture differenti
I processori ARM sono progettati con particolare attenzione ai bassi consumi energetici e alla semplicità dei set di istruzioni. Al contrario, i processori x86 sono progettati principalmente per ambienti ad alte prestazioni ed elevata produttività. Le differenze tra le famiglie di processori sono molteplici e riguardano la potenza di calcolo, il consumo energetico e l'eventuale software dell'utente.
Potenza di calcolo: a cosa sono destinati i processori?
Nei processori ARM persino il nome dice molto: RISC è l'acronimo di «Reduced Instruction Set Computing» (set di istruzioni ridotto). Il processore si concentra quindi sul mantenere il numero di comandi più basso e semplice possibile. La semplicità ha diversi vantaggi per gli ingegneri hardware e software. Con semplici istruzioni, il circuito richiede meno transistor, lasciando maggiore spazio per i chip. Tuttavia, i comandi semplici presentano anche degli svantaggi: ad esempio, sono necessarie più istruzioni per eseguire i task, con conseguente aumento del consumo di memoria e dei tempi di esecuzione. Il processore ARM cerca di compensare questa situazione con una maggiore velocità di clock e con una pipeline dati intelligente (elaborazione dei comandi macchina suddividendoli in sottoattività).
Al contrario, i processori x86 appartengono alla famiglia CISC. «Complex Instruction Set Computing» significa «set di istruzioni complesso» ed è progettato per eseguire compiti complessi con grande flessibilità. Per i sistemi basati su CISC, ad esempio, è possibile eseguire calcoli tra diversi registri dei processori senza che il software debba caricare le variabili richieste in precedenza. Altre operazioni comuni sono la moltiplicazione con numeri in virgola mobile, complesse manipolazioni della memoria, conversioni di dati e molto altro ancora.
Inoltre:
a differenza di x86, le CPU ARM comprendono solo tre categorie di comandi.
- Comandi per l'accesso alla memoria (Carica/Salva)
- Comandi aritmetici o logici per i valori nei registri
- Comandi per modificare il flusso del programma (salti, chiamate ai sottoprogrammi)
Consumo elettrico
Poiché la capacità della batteria dei dispositivi mobili è relativamente limitata a causa delle loro dimensioni, il consumo di energia di un SoC è uno dei criteri più importanti. Il SoC dello smartphone consuma meno di 5 watt. Inoltre, è possibile (quasi sempre) rinunciare al raffreddamento attivo, che consente inoltre di risparmiare energia.
Un processore high-end x86, d'altra parte, può rapidamente consumare 130 watt di potenza a causa della sua complessità.
Davide contro Golia: confronto della conversione video
Normalmente, un confronto tra le due architetture di processori non ha senso. Ogni architettura ha i suoi vantaggi e i suoi campi di applicazione. Tuttavia, vorrei farti notare quanto siano diverse le prestazioni dei due processori. Così ho preso il DVD di «Sleepy Hollow» e convertito il filmato da MPEG-2 a H264. In breve: ho ridotto un film di circa 6,3 GB a 1400 MB mantenendo la stessa qualità.
I seguenti dispositivi concorrono tra di loro:
- Notebook Lenovo X220 (2012) con Intel Core i5-2520M, 2 core, 2.50 GHz di frequenza clock di base (max. frequenza di clock turbo di 3.20 GHz)
- Smartphone Blackberry Priv (2015) con Qualcomm Snapdragon 808, 6 core, frequenza di clock fino a 2.0 GHz
Naturalmente, mi assicuro che lo stesso bit rate sia preimpostato su entrambi i dispositivi oltre allo stesso codec. Converto (software decoding) il filmato con 1400 kbps, per scopi di test solo in un passaggio (di solito, per convertire i video occorrono almeno due passaggi per garantire una qualità migliore). Lascio le tracce audio intatte nel formato DTS.
Conversione su notebook
Per la conversione con il notebook uso VirtualDub. Lascio le barre nere intorno al video al fine di creare le stesse condizioni come più tardi sullo smartphone (non è possibile ritagliare).
Con il Core i5-2520M, un po' superato, il processo dura circa un'ora. Nel 2002 il mio Pentium avrebbe richiesto circa 8 ore. A quel tempo lasciavo il PC tutta la notte acceso per convertire i film.
Conversione su smartphone
Per convertire un file da 6,3 GB con il mio smartphone, devo cercare un software che non si arresti in modo anomalo o che non visualizzi messaggi di errore durante l'elaborazione dei dati. Alla fine, l'applicazione «A/V Converter» funziona.
Il mio smartphone avvia la conversione e riesce a rendere circa 10 fotogrammi al secondo. Attendo cinque minuti e il tempo totale suggerito è di 4 ore e 3 minuti.
Conclusione
L'esempio di conversione mostra bene che un SoC per smartphone non può essere paragonato a una CPU per PC convenzionale. Il tempo che ne consegue per la stessa operazione, quattro volte superiore, ci rende consapevoli di quanto siano deboli i nostri compagni di viaggio quotidiani.
Considerando il consumo energetico molto basso di soli 5 watt con un SoC smartphone, l'asino zoppo si trasforma rapidamente in un mulo laborioso. Il mio i5 consuma circa 35 watt, che potrebbero alimentare sette SoC. Se fossero collegati, la conversione sarebbe più veloce con lo stesso consumo di energia che con la CPU del PC.
Martin Jud
Senior Editor
martin.jud@digitecgalaxus.chLa mia musa ispiratrice si trova ovunque. Quando non la trovo, mi lascio ispirare dai miei sogni. La vita può essere vissuta anche sognando a occhi aperti.