Computer a scheda singola x86

Pubblicato da

Per anni i computer a scheda singola (SBC, Single Board Computer) sono stati strettamente combinati con le schede madri. Svolgevano funzioni simili ed entrambi puntavano a offrire velocità, grafica e memoria migliori. Con l'arrivo degli SBC amatoriali, ad esempio Raspberry Pi 3, che eseguono le operazioni di base a un livello accettabile e comportano un investimento finanziario nettamente inferiore, nei computer a scheda singola si è creata una spaccatura. Alcuni, come Pi e BeagleBone, mirano alla massima diffusione a un prezzo ragionevole. Altri, quali NVIDIA Jetson e Intel Joule 570x, stanno ancora migliorando le capacità degli SBC.

Fondamenti dell'architettura

RISC o CISC? È sempre la solita questione. Gli utenti tendono a scegliere l'una o l'altra in base alla propria esperienza con i computer desktop e i cellulari o in seguito ad altre interazioni di alto livello con dispositivi basati su queste architetture. Ma il mercato SBC ha fornito una visione più approfondita delle differenze e dei vantaggi. 

La CPU (Central Processing Unit) di un dispositivo, RISC o CISC, utilizza un codice speciale, ovvero "istruzioni", per controllare l'hardware circostante. Queste istruzioni formano un codice di assemblaggio, che rappresenta uno dei livelli finali di astrazione del codice binario effettivo ed è estremamente granulare, ma in qualche modo leggibile. 

0117 x86 SBC img1

Figura 1. Codice di assemblaggio A64, come quello in esecuzione su Raspberry Pi 

RISC è l'acronimo di Reduced Instruction Set Computing, mentre CISC è l'acronimo di Complex Instruction Set Computing. Le istruzioni RISC, come quelle riportate sopra, sono abbastanza semplici da potere essere eseguite in un singolo ciclo di clock. Tra queste figurano istruzioni di base come ADD, SUB (sottrazione), MOV (spostamento) e BIC (cancellazione dei bit, bit per bit). Il codice RISC è più lungo perché ogni operazione deve essere eseguita in più passi semplici, ma è una rappresentazione molto accurata di come il processore interpreta il codice. Il codice CISC consente di svolgere operazioni più complesse, ad esempio IMUL (moltiplicazione con firma) e MOVS (spostamento dei dati da stringa a stringa), che non possono essere completate in un singolo ciclo di clock e che richiederebbero diverse righe di codice nell'assemblaggio RISC. 

0117 x86 SBC img2

Esistono interi libri in cui le due architetture vengono esaminate nei dettagli. Ai fini di questo articolo è importante sottolineare che i programmi CISC sono più corti e quindi richiedono meno RAM, mentre i programmi RISC prevedono velocità di clock superiori perché le istruzioni più complesse limitano la velocità di clock massima di una CPU. I primi computer venivano costruiti quasi interamente con CISC, ma man mano che la RAM è diminuita di prezzo, RISC è diventata l'architettura più comune. Tradizionalmente ARM ha utilizzato RISC per il potenziale risparmio energetico. Ciò significa che i core ARM sono efficienti e comunemente diffusi nei progetti incorporati o mobili. Intel è il marchio più importante che continua a utilizzare CISC e sfrutta le istruzioni complesse a proprio vantaggio nei computer e nei server di fascia alta che non devono risparmiare la batteria o preoccuparsi troppo del calore.

Implicazioni per i computer a scheda singola

Quando si tratta di acquistare un computer a scheda singola, non è solo una questione di preferenze. I processori incorporati (quasi sempre RISC) dominano lo spazio SBC amatoriale per efficienza e velocità. Dragonboard410c si basa sul processore Snapdragon410c di Qualcomm, presente in molti cellulari. 

Schede come questa offrono le migliori prestazioni possibili del core per garantire uno sviluppo e una sperimentazione ottimali. Queste schede possono eseguire Android come un telefono, ma utilizzano uno schermo HDMI da 1080p, nonché una tastiera o un mouse USB come un computer desktop tradizionale. In questo modo non è necessario che uno sviluppatore passi da un ambiente virtuale all'altro. Purtroppo queste schede non riducono necessariamente gli svantaggi di un processore incorporato. I processori mobili come Snapdragon 410 utilizzano GPIO a 1,8 V, che può essere difficile da integrare con i sensori o altro hardware. Gli sviluppatori possono inoltre riscontrare limiti intrinseci di memoria o velocità del core se provano a usarlo come un vero computer desktop.

Una scheda come Intel Joule 570x, tuttavia, è stata ridimensionata e non migliorata. Intel è ancora un marchio importante nei settori delle schede madri e dell'elaborazione dalle prestazioni elevate. L'obiettivo è trasformare un intero core CISC in modo da utilizzarlo su un SBC. I processori come Intel Pentium possono consumare oltre 20 watt sotto carichi elevati, il che richiede una gestione termica più complessa di quella prevista per un computer a scheda singola. 

In questo modo il processore Atom presente sui nuovi SBC Joule è il risultato degli sforzi compiuti per concentrare la massima potenza di elaborazione possibile in un core adatto ad applicazioni con un consumo energetico inferiore. La famiglia Atom utilizza l'architettura x86, che tecnicamente è un'architettura CISC che in qualche modo si ispira a RISC ma che in realtà è più un ibrido che un'architettura CISC pura. Sicuramente è in grado di gestire istruzioni complesse, ma ricorre a un'operazione secondaria per regolare queste istruzioni in modo da ridurre l'impatto di lunghe istruzioni sulla velocità di elaborazione. 

Provare a realizzare lo stesso progetto con un core migliorato e uno ridimensionato può essere estremamente complesso. Se sono necessari una potenza di elaborazione minima e un fattore di forma ridotto, Raspberry Pi rappresenta un ottimo punto di partenza e probabilmente le schede più costose sarebbero eccessive. I progetti come server farm, media center o addirittura attrezzatura da gioco possono essere molto difficili da realizzare su schede basate su processori incorporate perché non offrono la velocità e le prestazioni necessarie. Esiste il rischio di dovere usare programmi con cui non si ha dimestichezza a causa dei vincoli del sistema operativo. Le schede basate su CISC tendono a funzionare molto più come un vero computer desktop in termini di prestazioni e disponibilità dei programmi comuni, perché x86-64 viene utilizzato nella maggior parte dei computer commerciali. La scelta della scheda adatta all'applicazione è ciò che fa la differenza tra la creazione di un sistema potente con prestazioni elevatissime e la riproduzione di StarCraft nell'ambito di una configurazione che prevede lo stesso processore del cellulare.  


Se desideri saperne di più e scoprire le ultime novità, abbonati alla newsletter.

Abbonati

Ultime notizie

Sorry, your filter selection returned no results.

Non perderti le ultime novità sull'elettronica

Abbiamo aggiornato la nostra politica sulla privacy. Si prega di prendere un momento per rivedere questi cambiamenti. Cliccando su Accetto, l'utente accetta la Politica sulla privacy e Condizioni di utilizzo di Arrow Electronics.

Il nostro sito web mette i cookies sul vostro dispositivo per migliorare la vostra esperienza e il nostro sito. Leggete altre informazioni sui cookies che usiamo e su come disabilitarli qui. I cookies e le tecnologie di tracking possono essere usati per scopi commerciali.

Con un click su “Accept”, voi consentite l'inserimento dei cookies sul vostro dispositivo e l'uso da parte nostra di tecnologie di tracking. Per avere altre informazioni e istruzioni su come disabilitare i cookies e le tecnologie di tracking, clickate su “Read More” qui sotto. Mentre l'accettazione dei cookies e delle tecnologie di tracking è volontaria, una loro disabilitazione potrebbe determinare un funzionamento non corretto del sito web, ed alcuni messaggi di allarme potrebbero essere per voi meno importanti.

Noi rispettiamo la vostra privacy. Leggete qui la nostra politica relativa alla privacy