Il Raspberry Pi 4 ha segnato un notevole passo avanti rispetto ai precedenti modelli, con delle prestazioni di tutto rispetto soprattutto se pensiamo che si tratta di un single-board computer dal prezzo così conveniente.
Il merito è soprattutto del suo SoC basato su core ARM Cortex-A72, un processore quad-core da 1,5 GHz, in grado di fornire prestazioni elevate - per la categoria s’intende. Come abbiamo visto in un precedente articolo, la potenza di questo processore non si ferma a quella dichiarata, anzi, è facilmente overcloccabile e si può riuscire a ricavarne ulteriore potenza.
Siamo riusciti a overcloccare il Pi 4 portando la frequenza della CPU fino a 1,75 GHz, ma supponevamo che potesse raggiungere i 2 GHz grazie a un aggiornamento firmware. Aggiornamento che è prossimo all’arrivo ma che è già possibile provare, a patto che apportiate delle dovute modifiche per rendere la vostra configurazione stabile.
Nei test condotti (dei quali potete vedere i risultati più in basso), le prestazioni in overclock sono migliorate da un massimo del 33% a solo il 2,9% rispetto alla velocità stock del processore, a seconda del benchmark, e un particolare carico di lavoro è andato in crash. Questo aumento di prestazioni così variabile è legato a un fenomeno noto come “lotteria del silicio” (silicon lottery) – ossia la tolleranza specifica della CPU del vostro Pi 4.
Per i dettagli completi su come e perché overcloccare il Raspberry Pi 4, potete consultare il nostro precedente articolo sull'argomento. È bene sapere che prima di iniziare a cercare di ottenere maggiori prestazioni da un Raspberry Pi 4, la prima cosa da fare dovrebbe essere gestire la sua tendenza a raggiungere il throttling termico (abbassa la frequenza operativa) e scendere a 1 GHz o meno - nulla di più semplice: basta aggiungere un sistema di raffreddamento attivo.
Tutti i benchmark in questo articolo sono stati svolti su un Raspberry Pi 4 Model B con 4 GB di RAM e una ventola Shim Pimoroni montata e impostata in modalità sempre attiva.
Questione di fortuna...
È bene sapere che non tutti i Raspberry Pi 4 saranno probabilmente in grado di raggiungere i 2 GHz di frequenza, che rappresentano un overclock del 33% rispetto alla velocità di 1,5 GHz di base. Non si tratta di un problema riconducibile al calore, bensì alla cosiddetta "lotteria del silicio".
Ogni specifico semiconduttore ha un intervallo di tolleranza ed è certificato per operarci all’interno. Nel caso del BCM2711B0, il cuore del Raspberry Pi 4, tale certificazione dice che il chip può funzionare stabilmente a 1,5 GHz.
Quando si overclocca un chip, lo si spinge oltre la sua velocità nominale; più lo si spinge, più è probabile che raggiungerà i limiti massimi delle tolleranze produttive. Alcuni chip saranno già vicini a quei limiti e l’overclock incrementerà di poco le loro prestazioni; altri invece si troveranno lontani da tali tolleranze e overcloccarli li porterà a migliorare nettamente le loro prestazioni.
Sfortunatamente, non esiste un modo semplice per sapere dove un dato chip si trovi nel “range di tolleranza” se non overcloccarlo per vedere come si comporta. Dato un trio di Raspberry Pi 4 apparentemente identici, uno potrebbe felicemente girare 2 GHz tutto il giorno; un altro potrebbe diventare instabile e crashare se sottoposto a determinati carichi di lavoro o condizioni ambientali; e un altro ancora potrebbe non avviarsi del tutto.
La buona notizia è che non ci sono costi reali per la sperimentazione: nel peggiore dei casi, si potrebbe finire col corrompere i dati presenti sulla scheda microSD e si dovranno installare nuovamente NOOBS o Raspbian.
Come overcloccare il Raspberry Pi 4 a 2 GHz
Come già dettagliatamente descritto nella nostra precedente guida dedicata all'overclock, overcloccare un Raspberry Pi è facile come modificare un singolo file: config.txt. Il file in questione si trova nella cartella /boot. Questo file funge da equivalente al BIOS di un PC desktop, memorizzando le impostazioni che controllano il funzionamento di Raspberry Pi.
Per provare Raspberry Pi 4 a 2 GHz, bisogna aprire questo file con privilegi elevati.Per prima cosa, aprite un Terminale con CTRL + ALT + T e digitate:
sudo nano /boot/config.txt
Cercate la sezione contrassegnata con [pi4], che contiene le impostazioni che funzionano solo su un Raspberry Pi 4 - significa che non rischierete accidentalmente a overcloccare un Raspberry Pi più datato a 2 GHz se andrete a condividere la microSD tra più Raspberry Pi, e digitate quanto segue come nuove linee, aggiungendole direttamente sotto:
over_voltage=4arm_freq=2000
La prima impostazione, over_voltage = 4, andrà ad aumentare la tensione del core del BCM2711B0 di circa 0,1 V. La maggior parte dei Raspberry Pi 4 non sarà in grado di avviarsi a 2 GHz senza questa tensione aggiuntiva; se ve la sentite di sperimentare, potreste provare a ridurla a 2 (0,05 V di tensione aggiuntiva) in modo da ridurre il calore.
La seconda impostazione, arm_freq = 2000, andrà ad impostare la frequenza dei quattro core ARM a 2000 MHz o 2 GHz. Non cercate di aumentare ulteriormente questo valore: dato che il vecchio firmware aveva un limite di 1,75 GHz, l'ultimo firmware nel momento in cui scriviamo ha un limite di 2 GHz. I valori sopra 2000 porteranno semplicemente a un Raspberry Pi 4 che non si avvia.
Una volta apportate, salvate queste modifiche con CTRL + O, quindi uscite da Nano con CTRL + X. Prima di riavviare per provare le nuove impostazioni, dovrete installare il nuovo firmware. Sempre dal Terminale, digitate:
sudo rpi-update
Questo comando carica Raspberry Pi Updater, che estrae i più recenti modelli di kernel e firmware - versioni anche più recenti di quelle a cui è possibile accedere usando i comandi generali apt update && apt upgrade. Verrà visualizzato un avviso che vi avvertirà che lo strumento che state utilizzando non è per uso generale; leggetelo e accettate per continuare.
Quando l’updater avrà terminato l’installazione, riavviate digitando:
sudo reboot
Con un po’ di fortuna, Raspberry Pi 4 si riavvierà normalmente. Se viene visualizzata una schermata vuota, il Raspberry Pi 4 continuerà a riavviarsi o se si verificano altri problemi, provate ad aumentare l'impostazione di over_voltage portandola a 6. Se il vostro Raspberry Pi 4 continua a non avviarsi, provate a ridurre le impostazioni arm_freq di 50 MHz alla volta fino a quando il sistema non sarà stabile. In tal caso il vostro Raspberry Pi 4 non ha un SoC “fortunato”.
Benchmark
L'aumento della frequenza della CPU ha, come ci si aspetterebbe, un impatto reale sui benchmark sintetici e sui carichi di lavoro reali, sebbene il primo passo per migliorare le prestazioni di un Raspberry Pi 4 che raggiunge spesso il punto di throttling termico dovrebbe essere l'aggiunta di un sistema di raffreddamento attivo.
Il benchmark sintetico Linpack è in grado di misurare le prestazioni in virgola mobile. È qui che la differenza di prestazioni appare più evidente: aumentare la velocità del 33% ha fatto salire le prestazioni, misurate in milioni di istruzioni al secondo (MIPS), quasi esattamente nella stessa quantità. Il risultato a 2 GHz è un buon 15% in più rispetto al precedente ottenuto a 1,75 GHz. Questo divario lo ritroviamo in tutte e tre le versioni del benchmark: singola precisione, doppia precisione e una versione del benchmark a precisione singola che usa le istruzioni NEON di ARM per accelerare le prestazioni.
In questa immagine potete vedere come viene compresso un file di grandi dimensioni contenente dati casuali, prima usando l'applicazione bzip2 a thread singolo e poi di nuovo usando l'applicazione multithread lbzip2. Come prevedibili, i miglioramenti reali non sono all'altezza di quelli mostrati dal test sintetico: il guadagno è solo del 13% nel test a thread singolo, mentre scende a poco più del 5% nella versione multithread.
È qui che vediamo anche i primi possibili segni di un calo delle prestazioni: mentre bzip2 single thread a 2 GHz ha prestazioni migliori di circa il 4% rispetto a 1,75 GHz, lbzip2 multithread è addirittura più lento del 3%, il che suggerisce che la velocità di clock ideale per questo carico di lavoro potrebbe risiedere in una via di mezzo tra i due.
Vediamo ora cosa succede durante l’esecuzione del benchmark Speedometer 2.0, che misura le prestazioni delle applicazioni Web ed è fortemente legato alla velocità della CPU. A 2 GHz, il Raspberry Pi 4 ha un punteggio di quasi il 27% migliore rispetto agli 1,5 GHz stock e il 13% migliore dell’impostazione a 1,75 GHz - avvicinandosi di fatto, ma non raggiungendo del tutto, il massimo guadagno prestazionale dimostrato nel benchmark sintetico Linpack.
Secondo i nostri test precedenti, overcloccare la CPU non sembra aiutare molto con le prestazioni della GPU. Lo sparatutto in prima persona OpenArena mostra un miglioramento del 2,9% degli fps rispetto allo stesso Raspberry Pi 4 che lavora a frequenza stock, sebbene questo risultato sia notevolmente superiore al semplice aumento delle prestazioni di 0,1 fps del test a 1,75 GHz. Come sempre, invece, le applicazioni 3D trarranno maggiori benefici seguendo la nostra guida sull'overclock della GPU.
Capiamo di non avere un SoC fortunato con l’ultimo test, il popolare GIMP per l’editing delle immagini: il nostro Raspberry Pi 4 non è riuscito a svolgere il benchmark a 2 GHz, arrivando a bloccarsi e riavviarsi svariate volte. Questi problemi non erano affatto correlati a una temperatura eccessiva – la ventola ha permesso al BCM2711B0 di stare ben al di sotto del punto di throttling di 80 °C anche sotto i carichi più esigenti – né potevano essere corretti aumentando la tensione del core. Purtroppo, per questo particolare carico di lavoro, i 2 GHz su questo Raspberry Pi 4 rimangono appena fuori portata.
Conclusioni
Overcloccare rimane sempre un mezzo sicuro ed efficace per riuscire ad ottenere dal vostro Pi 4 un po’ di potenza in più. Inoltre la disponibilità pubblica del firmware aggiornato che consente di superare il precedente limite degli 1,75 GHz aiuta sicuramente nel perseguire tale scopo.
Come sempre la soluzione migliore per trarre benefici dal BCM2711B0 risulta essere quella di accompagnarlo a un componente aggiuntivo per il raffreddamento attivo. Un Pi 4 dotato di sistema di raffreddamento ed eseguito con velocità stock è in grado di comportarsi meglio di uno overcloccato ma privo di sistema di raffreddamento per lunghi carichi di lavoro a causa della facilità con cui è in grado di raggiungere gli 80° C che lo fanno entrare in stato di throttling termico.
Però, una volta che si è dotati di un sistema di raffreddamento, non c’è alcun motivo per non giocare un po’ con l’overclock e strappare al proprio Pi 4 un po’ di potenza in più. Assicuratevi di svolgere una varietà di carichi di lavoro sufficiente a scoprire se la velocità che avete raggiunto, che sia 2 GHz o inferiore, sia veramente stabile.