Aggiornamento: i modelli STM32H7R e STM32H7S sono ora dotati di GPU NeoChrom. Dai un’occhiata al nostro post sul blog per maggiori informazioni: STM32H7R, STM32H7S: il primo STM32 con bootflash e crittografia al volo #STM32Summit
ST annuncia oggi la GPU NeoChromVG, il primo acceleratore grafico vettoriale per microcontrollori general-purpose. Disponibile sui prossimi STM32U5G9 e STM32U5F9, si basa sulla GPU Neochrom, lanciata nel 2023, e porta funzionalità come le font vettoriali, disponibili su TouchGFX 4.23, a un livello superiore consentendo un tipo di ottimizzazione completamente nuovo nei sistemi embedded. I lettori assidui del blog ST noteranno che NeoChromVG GPU è il culmine della nostra spinta verso la grafica vettoriale, nella speranza di aiutare i produttori a ridurre l’impronta di memoria. Forniamo anche kit di sviluppo e demo per aiutare gli ingegneri a capire se questa soluzione è adatta al loro progetto.
Indice dei contenuti
Cosa c’è di nuovo? GPU NeoChromVG!
La sfida di creare interfacce utente con poca memoria
Il motivo per cui ST ha deciso di rilasciare un IP hardware specifico che accelera le operazioni vettoriali è che si tratta di una richiesta sempre più diffusa da parte dei clienti che vogliono ridurre la loro dipendenza dai moduli flash esterni. I mercati della memoria sono sempre stati volatili, ma molti analisti, secondo Forbes, prevedono una forte domanda di flash nel 2024, sostenuta in parte da nuove applicazioni di intelligenza artificiale che cercano di creare “sistemi di archiviazione di oggetti all-flash”. Di conseguenza, le aziende più piccole con un minore potere d’acquisto potrebbero incontrare seri problemi nell’approvvigionamento dei moduli o semplicemente trovarsi di fronte a prezzi troppo alti per rendere i loro prodotti redditizi. Per questo motivo, molte aziende stanno cercando di ridurre il fabbisogno di NAND esterne o di eliminarle del tutto, il che ci ha portato a offrire la GPU NeoChromVG nei nuovi MCU STM32U5F9 e STM32U5G9.
La soluzione GPU NeoChromVG
In sostanza, NeoChromVG GPU è una GPU Neochrom tradizionale con un’unità hardware che accelera i calcoli di grafica vettoriale, come le curve quadratiche di Bézier, molto comuni nelle font vettoriali, la tassellatura di Bézier per il rendering delle superfici e i calcoli vettoriali per la trasformazione dei vertici, tra le altre cose, per disegnare rapidamente la grafica vettoriale sullo schermo. Si basa ancora sullo stesso texture mapper della normale GPU Neochrom e ha caratteristiche simili come la compressione L8. L’accelerazione grafica vettoriale diventa semplicemente uno strumento aggiuntivo nell’arsenale degli sviluppatori per ottimizzare l’interfaccia utente. Questa funzione arriva anche sulla scia di TouchGFX 4.23, che ha appena ottenuto il supporto per i font vettoriali. Gli ingegneri vedono quindi la strategia generale che ST sta utilizzando per aiutare la dipendenza dalla memoria.
La GPU NeoChromVG sarà disponibile sui nuovi STM32U5G9 e STM32U5F9, il primo dei quali è la versione che ospita un crypto core. Entrambi avranno 3 MB di RAM e 4 MB di flash dual-bank. Questa configurazione hardware ha permesso ad alcuni dei nostri clienti di passare a un design a chip singolo che non richiedeva alcuna memoria esterna, mentre l’aumento della memoria interna e il supporto alla grafica vettoriale hanno aiutato altri a utilizzare dispositivi NAND più piccoli. In entrambi i casi, il passaggio a soli quattro strati aiuta a semplificare il progetto del PCB e a ridurre la distinta dei materiali. Allo stesso modo, dato che i sistemi embedded tendono a mappare la memoria NOR per una maggiore ottimizzazione, non dover mappare nulla che superi i 32 MB diventa un notevole risparmio di tempo.
Il modo migliore per iniziare a usare la grafica vettoriale su STM32
La grafica vettoriale non è adatta a tutti i sistemi. Anche con l’accelerazione hardware, la penalizzazione delle prestazioni causata dal rendering vettoriale potrebbe essere eccessiva in alcune interfacce utente. Tuttavia, stiamo garantendo agli sviluppatori strumenti di prototipazione rapida per testare la GPU NeoChromVG in pochi minuti. Stiamo rilasciando la STM32U5G9J-DK, con un display da 480 x 480, e la STM32U5G9J-DK2 con uno schermo da 800 x 480, oltre a una demo dell’interfaccia utente che mostra ciò che gli sviluppatori possono ottenere grazie alla grafica vettoriale. Anche il partner ST Riverdi, famoso per i suoi display embedded STM32, offrirà presto un modello con l’STM32U5G9 per aiutare a sviluppare e sfruttare l’acceleratore grafico vettoriale.
Da Chrom-ART a NeoChrom GPU
Cosa sono le GPU Chrom-ART e NeoChrom?
I lettori che hanno familiarità con le tecnologie ST possono intuire che NeoChrom GPU è l’evoluzione successiva di Chrom-ART. Quest’ultimo è un acceleratore 2D (DMA2D) integrato in diversi MCU STM32 che ottimizza l’accesso alla memoria per manipolare le immagini più velocemente. Molti strumenti e prodotti dei partner ST lo utilizzano, come Storyboard di Crank, Microvisor di Twilio o le interfacce di PsiControl, un implementatore TouchGFX, solo per citarne tre. In confronto, NeoChrom GPU si basa sulla stessa filosofia e offre una maggiore gamma di ottimizzazioni. Grazie alla mappatura delle texture con campionamento bilineare e puntiforme, la nuova tecnologia offre una nuova accelerazione del disegno e supporta le animazioni. Pertanto, ciò che prima richiedeva una scheda GPU per PC Desktop ora può essere eseguito su un microcontrollore.

Come si integra la GPU NeoChrom nell’ecosistema TouchGFX?
Storicamente, Chrom-ART ha rappresentato una delle prime incursioni della ST nelle ottimizzazioni grafiche. Da allora abbiamo acquisito TouchGFX e costruito un intero ecosistema con TouchGFX Designer, Simulator e Generator. Di conseguenza, ST sta integrando la GPU NeoChrom in questi strumenti fin dall’inizio. TouchGFX Designer contiene demo che mostrano un’animazione fluida a 60 FPS su un display circolare. Ma soprattutto, mostra l’impatto sulla frequenza dei fotogrammi quando NeoChrom GPU è disattivato per aiutare i responsabili delle decisioni a comprenderne l’importanza. Allo stesso modo, il widget di mappatura delle texture utilizzerà automaticamente la nuova GPU se l’MCU la supporta. Per questo motivo, l’immediata integrazione della nuova IP all’interno di TouchGFX serve a testimoniare l’ecosistema coeso di ST invece di un semplice elenco di funzionalità.
Dalla GPU NeoChrom alle prestazioni del mondo reale
Quali sono le sfide per le prestazioni grafiche?

Esistono due sfide principali alle prestazioni grafiche: una limitazione delle istruzioni per clock e un problema di memoria. La prima segue spesso le innovazioni architettoniche. I microcontrollori hanno limitazioni in termini di ALU e FPU a causa delle loro dimensioni e del basso consumo energetico, ma i miglioramenti nei processi di produzione permettono di avere più transistor in grado di gestire un maggior numero di operazioni. NeoChrom GPU segue queste tendenze con un IP hardware che accelera più tipi di calcoli grafici. La seconda sfida è più difficile ma ancora più critica perché la memoria rimarrà sempre una risorsa scarsa. Sebbene l’STM32U599 sia dotato di 2,5 MB di RAM interna in grado di memorizzare due frame buffer, molti sistemi embedded necessitano di una RAM esterna. Il problema è che questo comporta una significativa riduzione delle prestazioni.
Quali sono le implementazioni uniche di STM32?
Per risolvere questa seconda sfida, NeoChrom GPU è dotato di ottimizzazioni hardware specifiche per le MCU STM32. Ad esempio, la STM32U5 si affida a un’interfaccia periferica seriale ottale a 8 bit (OSPI) o a un’interfaccia ad alta velocità a 16 bit (HSPI) a 160 MHz verso moduli di memoria esterni per accelerare le operazioni di fetching alla cache L2. Allo stesso modo, la cache L1 può accedere direttamente a due frame buffer da 832 KB nella RAM interna. Di conseguenza, la tassellatura è notevolmente più veloce grazie all’accesso rapido a tutti i dati necessari per il rendering dell’immagine in tempo reale. In parole povere, i nostri ingegneri hanno ottimizzato le prestazioni lavorando sulla riduzione dei tempi di accesso alle texture e agli altri asset, accelerando il rendering fino a sei volte.
Cosa succederà?
Il primo feedback del settore sulla GPU NeoChrom è stato molto positivo. Sebbene molti produttori di MCU dispongano di IP simili per accelerare i calcoli grafici, le ottimizzazioni specifiche per STM32 e l’ecosistema TouchGFX hanno spinto molti dei primi alpha tester ad adottare NeoChrom GPU invece delle soluzioni concorrenti. La nuova tecnologia è già supportata da TouchGFX 4.19 e alcuni clienti alpha hanno già lavorato su interfacce pronte per la produzione utilizzando un kit di sviluppo STM32U599 di prossima uscita. ST includerà la GPU NeoChrom anche in altri microcontrollori di prossima uscita e aggiorneremo questo blog post non appena saranno resi pubblici.