EMB_85
EMBEDDED 85 • SETTEMBRE • 2022 50 HARDWARE | ADAPTIVE COMPUTING le funzioni di protezione a fronte dell’evoluzione delle mi- nacce informatiche. Sta emergendo una nuova generazione di piattaforme di calcolo, più adatte alle esigenze della robotica. Questi moduli comprendono elementi di elaborazione eteroge- nei che consentono agli esperti di robotica di costruire architetture di calcolo flessibili. Questo articolo ne valuta la composizione esaminando le varie risorse di calcolo di- sponibili per i progettisti di robotica, che includono CPU, DSP, GPU, FPGA e ASIC. Ciascuno di questi dispositivi presenta punti di forza specifici e quindi ha un ruolo co- stante con il progredire dell’evoluzione della tecnologia robotica. Tecnologie di calcolo per applicazioni nella robotica Processori scalari (CPU) Le CPU, in quanto elementi di elaborazione scalari, pos- sono gestire in modo efficiente algoritmi complessi con diversi alberi decisionali e un’ampia serie di librerie. Sebbene le CPU siano altamente flessibili e i processori multi-core possano gestire diverse attività in esecuzio- ne contemporaneamente senza interruzioni o problemi di coordinamento, il loro hardware sottostante è fisso. La maggior parte delle CPU funziona ancora secondo il principio del computer a programma memorizzato, in cui i dati vengono trasferiti dalla memoria al processore, elaborati e quindi riscritti in memoria. Il punto centrale dell’architettura è l’unità logica aritmetica (ALU), la qua- le richiede il trasferimento dei dati in ingresso e in uscita a ogni operazione. Fondamentalmente, ogni CPU funziona in modo sequen- ziale, un’istruzione alla volta e in genere sono necessari numerosi passaggi per completare un’attività. Nonostante questi svantaggi, le CPU scalari hanno un ruolo fondamentale nelle moderne architetture dei robot. Sono adatte per coordinare i flussi di informazioni attra- verso i vari sottosistemi e componenti di rilevamento, at- tuazione e apprendimento. Processori vettoriali Gli elementi di elaborazione vettoriale (DSP, GPU) sono più efficienti in un insieme più ristretto di funzioni di cal- colo parallelizzabili, ma subiscono penalizzazioni in ter- mini di latenza ed efficienza dovute alla gerarchia della memoria non flessibile. Le architetture GPU contengono un gran numero di core ottimizzati per eseguire alcuni compiti specifici. Tali ar- chitetture sono più efficienti nell’eseguire i compiti simul- taneamente e contemporaneamente. Quindi i processori vettoriali superano uno dei principali limiti delle CPU nella robotica con la loro capacità di elaborare grandi quantità di dati in parallelo. Logica programmabile (FPGA) A differenza dei processori che contengono unità di ela- borazione con funzione generica e strutture di memoria, la logica programmabile (FPGA) può essere precisamen- te personalizzata in base alle esigenze per eseguire una particolare funzione di calcolo. Pur essendo questo ap- proccio altamente efficace per le applicazioni in tempo reale critiche per la latenza, esso comporta una maggiore complessità di programmazione. Inoltre, la riconfigura- zione e la riprogrammabilità hanno tempi di compilazio- ne più lunghi rispetto ai processori scalari e vettoriali. I progettisti di robot possono utilizzare gli FPGA per creare hardware riconfigurabile per robot in fase di ese- cuzione che può essere riprogrammato e adattato trami- te software. Queste unità sono in grado di gestire l’ela- borazione del flusso dati in modo rapido ed efficiente e quindi sono adatti per impieghi come l’interfacciamento con sensori e attuatori e la gestione degli aspetti di rete. I progettisti possono anche creare kernel di accelerazione hardware personalizzati per gestire le funzioni di elabo- razione dati che altrimenti dovrebbero essere assegnate ai processori vettoriali. Circuiti integrati specifici per un’applicazione (ASIC) In un ASIC, gli elementi di elaborazione possono essere personalizzati, come con un FPGA. Tuttavia, una volta determinati, essi non possono essere modificati. Questa architettura fissa consente di ottenere prestazioni e un’ef- ficienza energetica ineguagliate, con prezzi concorren- ziali per la produzione di massa in grandi volumi. D’altra parte, gli ASIC possono richiedere tempi di sviluppo di Fig. 1 – Un FPGA System-on-Module fornisce una piattaforma per la robotica deterministica in tempo reale ( https://www.xilinx.com/ products/som/kria/k26i-industrial.html#documentation )
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzg4NjYz