Flusso dati tra chip futuristici

Il professore Gian Domenico Licciardo, docente presso l’Università di Salerno, si occupa della progettazione di circuiti e sistemi digitali integrati, privilegiandone l’efficientamento energetico e la miniaturizzazione. In questa intervista per la Società Italiana di Elettronica ha raccontato della progettazione dei sistemi elettronici, partendo dalla sua esperienza nei sistemi per l’elaborazione di segnali audio e video fino allo sviluppo di acceleratori hardware utilizzati oggi per supportare i sistemi di intelligenza artificiale.

“Mi occupo di progettazione di sistemi elettronici digitali dedicando particolare attenzione all’efficienza energetica e alla riduzione dell’area occupata dai circuiti. Mi ha sempre interessato ottenere le prestazioni richieste utilizzando risorse contenute, perché permette di integrare capacità di elaborazione in un numero sempre maggiore di applicazioni. I sistemi elettronici sono apparati più o meno complessi composti da un insieme di dispositivi elettronici a semiconduttore e circuiti che collaborano per svolgere funzioni specifiche. La loro struttura è gerarchica: i componenti più semplici si combinano in blocchi funzionali che vengono poi collegati per realizzare sistemi di complessità crescente. Ne sono esempi i processori e i sistemi dedicati alla codifica e alla decodifica dei segnali audio e video. Fare in modo che questi sistemi raggiungano elevate prestazioni in termini di efficienza, velocità e consumo energetico, non può prescindere dalle componenti elementari e dalla loro realizzazione fisica. L’ingegnere elettronico può progettare un sistema digitale ragionando sui singoli bit, senza dimenticare come questi vengano effettivamente realizzati dal punto di vista elettrofisico. Si devono conoscere i limiti entro i quali un elemento definito “bit” può continuare a comportarsi come tale e comprendere in che modo le caratteristiche dei dispositivi, le tensioni di alimentazione e le condizioni ambientali possano influenzare il funzionamento del sistema. Questi fattori possono infatti fare in modo che il modello sulla base del quale è stato inizialmente progettato il sistema non sia più valido e che il sistema realizzato non funzioni secondo le prestazioni ipotizzate”.

Secondo il prof. Licciardo è fondamentale mantenere un filo conduttore tra il dispositivo elettronico a semiconduttore, il singolo componente, il circuito e l’apparato di calcolo, che viene invece progettato attraverso livelli di astrazione progressivamente crescenti.

“La progettazione di un sistema elettronico è un processo articolato che mette in relazione diversi livelli di astrazione, dalla definizione delle funzionalità del sistema fino alla sua realizzazione fisica. Si parte dalla definizione dell’architettura e delle operazioni che il sistema dovrà svolgere. Queste vengono descritte attraverso modelli logici e linguaggi specifici per la progettazione hardware che permettono di governare la complessità del sistema. La descrizione viene progressivamente tradotta in una rete di porte logiche, realizzate attraverso l’interconnessione di dispositivi a semiconduttore. Più dispositivi costituiscono circuiti elementari, che vengono organizzati in blocchi funzionali, come unità aritmetico-logiche, registri e memorie, fino a formare processori e sistemi di elaborazione complessi. Il progetto deve poi essere tradotto in una disposizione fisica dei componenti all’interno del circuito integrato, definendo anche le interconnessioni elettriche tra di essi. In ogni fase vengono effettuate simulazioni e verifiche per valutare il comportamento del circuito e ottimizzarne parametri quali velocità di elaborazione, tempi di propagazione dei segnali, dissipazione di potenza e occupazione di area sul chip. La progettazione procede quindi attraverso livelli di astrazione progressivamente decrescenti, ma richiede continue verifiche rispetto al comportamento fisico dei dispositivi: le caratteristiche dei transistor, le tensioni di alimentazione, le capacità parassite, le temperature operative e i fenomeni elettrici possono infatti condizionare le prestazioni e l’affidabilità dell’intero sistema. È proprio questa capacità di collegare il modello logico alla sua effettiva implementazione che caratterizza il lavoro dell’ingegnere elettronico”.

L’AI e il memory wall nei sistemi elettronici

Lo sviluppo dell’intelligenza artificiale ha reso sempre più evidente il ruolo dell’elettronica. È infatti possibile applicarla concretamente oggi perché disponiamo di sistemi di processamento capaci di fornire risposte in tempo reale, con prestazioni e tempi compatibili con le aspettative degli utenti.

“Lavorando in questo ambito ho avuto l’opportunità di collaborare con aziende italiane, leader nella progettazione di sensori con le quali ho sviluppato sistemi digitali di dimensioni molto ridotte e a basso consumo energetico, integrabili all’interno di sensori MEMS senza modificarne sostanzialmente le dimensioni e i consumi. Per l’azienda, questo significa poter aggiungere nuove funzionalità con un impatto pressoché nullo in termini di ingombro e di consumo energetico. Questo aspetto è particolarmente interessante se lo si collega al settore che oggi sta vivendo il suo massimo sviluppo: l’intelligenza artificiale. L’impiego dei sistemi digitali all’interno delle applicazioni di AI deve infatti essere pensato in modo da favorirne una realizzazione concreta e sostenibile. Se oggi i sistemi di intelligenza artificiale riescono a essere utilizzati con prestazioni adeguate, lo dobbiamo anche all’evoluzione delle tecnologie di elaborazione digitale. È questo sviluppo che ci consente oggi di avere una prospettiva più concreta anche sulle possibilità di evoluzione nel breve periodo, cosa che per molti anni non è stata possibile”.

Un esempio particolarmente significativo del ruolo dell’elettronica nell’evoluzione dell’intelligenza artificiale è rappresentato dalle nuove architetture di elaborazione in-memory.

“Si tratta di un approccio che mira a superare alcuni dei principali limiti delle architetture di calcolo tradizionali, intervenendo direttamente sul rapporto tra processore e memoria. Un tema di grande attualità è quello del computing-in-memory, un paradigma che punta a rendere più efficienti i sistemi di elaborazione, comprese le applicazioni di intelligenza artificiale, agendo direttamente sui dispositivi e sui circuiti che costituiscono le celle di memoria. Nel corso degli anni abbiamo assistito a un forte sviluppo delle prestazioni dei processori e della capacità delle memorie. Ci siamo però resi conto che non abbiamo dedicato la stessa attenzione all’ottimizzazione delle modalità con cui questi due elementi comunicano tra loro. Si è così venuto a creare quello che viene definito memory wall: un fenomeno che si verifica quando dobbiamo elaborare grandi quantità di dati utilizzando processori estremamente veloci, che tuttavia devono attendere tempi relativamente lunghi per ricevere o trasferire le informazioni necessarie. Il collo di bottiglia, quindi, è la velocità con cui i dati possono essere trasferiti tra la memoria e l’unità di elaborazione. Il costo temporale ed energetico dello spostamento dei dati può diventare un fattore limitante rispetto alla capacità di calcolo disponibile. Questa criticità è particolarmente rilevante nei sistemi di intelligenza artificiale, che richiedono l’accesso e l’elaborazione di enormi quantità di dati. In molte applicazioni, infatti, il limite prestazionale non è rappresentato tanto dalla disponibilità di risorse di calcolo, quanto dalla capacità di movimentare i dati in maniera rapida ed efficiente. Da qui nasce l’esigenza di ripensare il ruolo della memoria e di intervenire direttamente a livello elettronico, affinché una parte delle operazioni che tradizionalmente sarebbero state eseguite dal processore possa essere effettuata direttamente all’interno della memoria. Si tratta di un cambiamento di paradigma che modifica il modo in cui concepiamo le architetture dei sistemi di elaborazione e ci offre un’ulteriore dimostrazione di quanto lo sviluppo dell’elettronica sia fondamentale per rendere possibili e sostenibili le applicazioni di intelligenza artificiale”.

 

La formazione dell’ingegnere elettronico

L’approccio utilizzato dal Prof. Licciardo nella sua attività di ricerca si riflette anche nel modo di intendere la formazione degli ingegneri elettronici.

“Questa visione si ritrova nel laboratorio di cui sono responsabile scientifico, il MiCS&D Lab, Microelectronic Circuits, Systems and Devices, nel quale si incontrano competenze complementari sui dispositivi, sui circuiti e sui sistemi. L’integrazione di queste competenze permette di affrontare problemi che richiedono di collegare il comportamento dei singoli componenti alle esigenze dell’intero sistema. È lo stesso metodo che cerco di trasmettere nella didattica: sin dalla prima lezione invito gli studenti a ragionare su diversi livelli di astrazione, mantenendo il collegamento fra le funzioni logiche e la loro realizzazione elettrica. Progettare con i bit, sapendo che cosa accade nei circuiti che li rappresentano, è una capacità che caratterizza la formazione dell’ingegnere elettronico. In un contesto professionale in continua evoluzione, una preparazione solida permette di comprendere e valutare nuove tecnologie e nuovi strumenti. Questo è particolarmente importante nel contesto italiano, dove l’ingegnere elettronico trova collocazione in settori e ruoli differenti. Vorrei che gli studenti acquisissero un metodo che consenta loro di affrontare problemi nuovi con autonomia, adattarsi ai cambiamenti e contribuire allo sviluppo delle tecnologie che ancora non conosciamo”.