EO527
TECH FOCUS HW ACCELERATORS l’archiviazione di dati nella memoria temporanea (data caching) e la loro rimozione (decaching), tutte funzioni fondamentali delle moderne architetture di processore. Gli acceleratori hardware consentono inoltre di ridurre drasticamente i consumi grazie da un lato all’integra- zione delle risorse aritmetiche di dimensioni adeguate e dall’altro all’eliminazione dell’hardware necessario per la gestione di flussi di istruzioni e dei relativi dati. Inoltre, l’utilizzo di tecniche di “clock gating” (disatti- vazione del segnale di clok relativamente a blocchi logici che non sono attivi) o di “power gating” (interruzione dell’alimentazione per i blocchi logici che non sono in funzione) permette di ottimizzare i consumi gli accele- ratori hardware. Principio di funzionamento Poiché gli acceleratori hardware operano in sinergia con i processori, in genere richiedono la comunicazione per mappare un’istruzione o una funzione del processore nell’acceleratore hardware e iniziare così l’elaborazione. Per riguarda l’accesso ai dati, alcuni acceleratori hanno prevedono un accesso diretto alla memoria (dati), mentre altri si affidano al processore per le operazioni di lettura e scrittura dei dati. Poiché l’accesso ai dati può rappre- sentare un “collo di bottiglia” per le prestazioni, è ne- cessario prestare molta attenzione alla progettazione del processore, dell’acceleratore e dei sottosistemi di memo- ria per garantire prestazioni elevate. Tipi di acceleratori hardware Tra i più diffusi acceleratori hardware si possono anno- verare le GPU, i circuiti ASIC e gli FPGA. L’acceleratore oggi più diffuso è sicuramente la GPU, nata a metà degli anni ’90 per elaborare le informazio- ni video, cioè le caratteristiche di ogni singolo pixel che compone un’immagine. Il punto di forza delle GPU è la presenza di un grandis- simo numero di core più semplici rispetto a quelli delle CPU, che consente loro di gestire molti thread contem- poraneamente. Questo è il motivo per cui risultano par- ticolarmente adatte all’esecuzione di programmi paral- leli. Verso la metà degli anni 2000 nascono le GPGPU (Gene- ral Purpose GPU) quando le GPU vengono impiegate per accelerare operazioni che non hanno nulla a che fare con il rendering video, sfruttando l’estremo parallelismo dell’architettura hardware applicato ad operazioni one- rose dal punto di vista computazionale, tipiche ad esem- pio dell’algebra matriciale. Oggi non è possibile pensare ad applicazioni di intelligenza artificiale senza l’impiego delle GPU per l’addestramento dei modelli di machine learning basato su enormi quantità di dati. Ma ci sono anche altri settori che si basano sull’utilizzo delle GPU, ad esempio i database, la biologia, la medicina (ricostru- zione delle immagini delle scansioni). Gli ASIC (Application Specific Integrated Circuit) sono un altro tipo di acceleratore, specializzati per una specifi- ca funzionalità fin dalla progettazione del circuito inte- grato su silicio e sono utilizzati per accelerare specifiche funzioni, scaricando quindi la CPU dal relativo carico computazionale: ad esempio i DSP utilizzati per l’ela- borazione del segnale audio, i NIC (Network Interface Card) utilizzati per l’accelerazione dei protocolli di rete, i TPU (Tensor Processor Unit) utilizzati per l’accelerazione della libreria TensorFlow dedicata al machine learning. I circuiti ASIC sono in generale utilizzati per applicazioni che prevedono elevati volumi di produzione, che posso- no giustificare il costo della personalizzazione. FPGA (Field Programmable Gate Array). Questi disposi- tivi sono caratterizzati dalla presenza di un elevato nu- mero elevato di blocchi di logica programmabile (fino a 4 milioni e oltre), una fittissima rete di interconnessioni a loro volta programmabili ed una crescente varietà di componenti complementari quali memorie RAM mul- tiporta, ALU, PLL e porte seriali multigigabit. Il tratto distintivo degli FPGA è la loro riprogrammabilità, che consente la personalizzazione per l’esecuzione di com- piti specifici. Questo elevato livello di flessibilità fa di questi dispositivi la soluzione ideale in applicazioni dove i requisiti cambiano rapidamente, come accade ad esempio nei settori automotive e delle telecomunicazio- ni. Gli FPGA assicurano un bilanciamento ottimale tra prestazioni ed efficienza energetica, requisiti cruciali in applicazioni che richiedono elaborazione in tempo reale e latenza ridotta. Il “cervello” di numerosi sistemi ADAS è un acceleratore hardware grazie al quale è possibile percepire l’ambiente che circonda l’autoveicolo a garanzia di una maggiore sicurezza ELETTRONICA OGGI 527 - GIUGNO/LUGLIO 2025 37
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzg4NjYz