Quando si parla di SoC (acronimo di System-on-a-chip, sistema su un circuito integrato) ci si riferisce ad una componente hardware fondamentale per lo sviluppo della comunicazione mobile così come oggi la conosciamo.
Cos'è un System on a chip
Un SoC, come lascia intendere il nome, è un sistema informatico racchiuso in un solo chip (o circuito integrato che dir si voglia): su un solo supporto fisico sono presenti il processore centrale (o CPU), il controller grafico (equivalente alla GPU), blocchi di memoria (ROM, RAM, EPROM, ecc.) e interfacce per la circuiteria input/output (USB, Ethernet, Wireless, Firewire, ecc.). In questo modo si riesce a creare un sistema dalle dimensioni e dai consumi energetici estremamente ridotti ma adatto agli scopi più vari.
I SoC, pur essendo noti soprattutto per il loro utilizzo nel campo della telefonia mobile, trovano applicazione nei settori più svariati. Dalla robotica alla meccanica di precisione, sono sempre più i dispositivi che montano un SoC al posto di un normale sistema informatico. Estendendo il concetto e rischiando di cadere nel banale, si potrebbe dire che un dispositivo elettronico che sta in una mano ed è alimentato a batteria ha ottime possibilità di essere basato su un SoC.
Struttura e funzionamento del SoC
L'architettura di un SoC è composta da diversi blocchi operativi, ognuno dei quali svolge un compito ben preciso. Il fulcro stesso del system-on-a-chip, così come accade anche nei sistemi informatici 'normali', è il processore centrale (che può essere composto da uno o più core) affiancato da un modulo di memoria composto da vari blocchi di tipo ROM, RAM, EPROM e memoria Flash. In un circuito integrato del genere sono presenti anche un generatore di clock e un PLL, varie interfacce input/output, convertitori analogici/digitali e convertitori digitali/analogici, regolatori di tensione. I vari componenti sono collegati tra di loro per mezzo di un BUS, il più delle volte proprietario (come ad esempio il BUS “Amba” di ARM).
Un SoC, però, è composto anche da una controparte software, il cui compito è quello di gestire l'interazione del processore centrale con gli altri componenti del circuito integrato. Lo sviluppo dei system on a chip parte il più delle volte da blocchi hardware standard e dai relativi driver che ne gestiscono il funzionamento. Assumono particolare importanza, quindi, i driver e gli altri software che gestiscono l'interfacciamento dei blocchi con il BUS, permettendo la comunicazione tra i vari blocchi che compongono il SoC. Prima di poter essere messo in produzione, un system on a chip passa per la fase dell'emulazione, fondamentale per testare l'integrazione tra i vari componenti. I vari blocchi sono montati su un chip FPGA mentre il software di gestione e i driver sono caricati nella RAM di sistema. In questa maniera è possibile testare la compatibilità dei vari componenti e affinare le prestazioni del chip prima che venga immesso sul mercato. La verifica del funzionamento del SoC viene affidata a linguaggi di programmazione ad hoc come Verilog e VHDL.
SoC vs. CPU
La differenza principale che sussiste tra un “normale” processore e un system on a chip sta nelle dimensioni. Il SoC è solitamente poco più grande di una CPU ma è allo stesso tempo in grado di svolgere un numero di funzioni infinitamente maggiore. Questo elevato grado di integrazione e la sostanziale assenza di qualsiasi tipo di cablaggio (i cavi che collegano i vari componenti sono molto corti se non completamente assenti) permette di ridurre notevolmente il fabbisogno energetico dei dispositivi.
Inoltre, eliminando parte dei chip necessari al funzionamento di un sistema informatico “normale” si riducono notevolmente anche i costi di produzione.
Uno dei pochi svantaggi dei system-on-a-chip è la sostanziale mancanza di flessibilità. In un computer (sia esso desktop o laptop) è possibile cambiare CPU, acceleratore grafico, RAM o disco rigido senza la necessità di dover cambiare l’intero sistema: i vari componenti sono fisicamente indipendenti l'uno dall'altro e possono essere sostituiti o aggiornati senza troppe difficoltà. Ciò non è al momento possibile con i SoC, anche se non mancano ricerche in tal senso come quella della Motorola che sta facendo passi in avanti in questa direzione.
Il futuro
Viste le premesse, si può dire che il system-on-a-chip sia il futuro dell'informatica. I processori così come oggi li conosciamo, infatti, sono avviati verso il viale del tramonto e gli ultimi modelli realizzati da Intel e AMD possono essere già considerati degli ibridi tra CPU e SoC. I processori Intel Ivy Bridge e AMD Llano integrano, oltre ai vari core, anche moduli di memoria, interfacce PCI Express e acceleratori grafici.
La tendenza, insomma, sembra essere ben definita: circuiti integrati leggermente più grandi di una CPU, ma costituiti da un numero maggiore di componenti per miniaturizzare le dimensioni totali dei dispositivi. Un mercato per processori general purpose esisterà comunque, soprattutto in quei settori dove è richiesta grande potenza (vedi supercomputer). Ma il futuro è dei SoC: l'informatica si sta trasformando sempre di più in un mercato dominato da dispositivi portatili (smartphone e tablet) e dispositivi indossabili (smartwatch), dove le dimensioni e il consumo energetico dettano legge.