NeoChrom GPU, New 2.5D Accelerator With Massive Hardware Optimizations for Rich UIs on STM32
As ST continues to improve the graphical performances of its microcontrollers, they are announcing NeoChrom GPU, a new graphic processing unit within certain STM32U5s. The technology optimizes animations such as flips, spins, scaling, zooms, and more. In a nutshell, the new hardware IP accelerates texture mapping and alpha blending. Offloading these computations to NeoChrom Graphic Processing Unit vastly increases the number of frames per second. Microcontrollers like the STM32U5 can thus run complex interfaces previously out of reach. A few ST customers successfully completed product development on it. Additionally, we ensured to provide support for the NeoChrom GPU, starting with TouchGFX 4.19.1.
From Chrom-ART to NeoChrom Graphic Processing Unit
What Are Chrom-ART and NeoChrom GPU?
Readers familiar with ST technologies can guess that NeoChrom Graphic Processing Unit is the next evolution of Chrom-ART. The latter is a 2D accelerator (DMA2D) embedded inside several STM32 MCUs that optimizes memory access to manipulate images faster. Many tools and products from ST partners use it, such as Storyboard from Crank, Microvisor from Twilio, or interfaces from PsiControl, a TouchGFX Implementer, to only name three. Comparatively, NeoChrom GPU draws from the same philosophy while offering a greater scope of optimizations. Thanks to texture mapping with bilinear and point sampling, the new technology provides new drawing acceleration and supports animations. Hence, what used to require a Desktop PC Graphic Processing Unit card can now run on a microcontroller.
How Does NeoChrom GPU Integrate Into the TouchGFX Ecosystem?
Historically, Chrom-ART represented one of ST’s first forays into graphical optimizations. Since then, we acquired TouchGFX and built an entire ecosystem with TouchGFX Designer, Simulator, and Generator. As a result, ST is integrating NeoChrom Graphic Processing Unit into these tools right from the start. TouchGFX Designer contains demos showing a smooth animation running at 60 FPS on a circular display. More importantly, it shows the impact on the frame rate when NeoChrom GPU is off to help decision-makers grasp its importance. Similarly, the texture mapping widget will automatically use the new GPU if the MCU supports it. Hence, the immediate integration of the new IP within TouchGFX serves as a witness to ST’s cohesive ecosystem instead of a simple feature list.
From NeoChrom GPU to Real-World Performance
What Are the Challenges to Graphical Performances?
There exist two main challenges to graphical performances: an instructions-per-clock limitation and a memory issue. The first one often follows architectural innovations. Microcontrollers have ALU and FPU restrictions due to their size and low power consumption, but improvements in manufacturing processes allow for more transistors capable of handling more operations. NeoChrom Graphic Processing Unit follows such trends with a hardware IP accelerating more types of graphical calculations. The second challenge is trickier but all the more critical because memory will always remain a scarce resource. While the STM32U599 will come with 2.5 MB of internal RAM capable of storing two frame buffers, many embedded systems need external RAM. The problem is that it comes with significant performance penalties.
What Are Unique STM32 Implementations?
To solve this second challenge, NeoChrom Graphic Processing Unit comes with hardware optimizations specific to STM32 MCUs. For instance, the STM32U5 relies on either an 8-bit Octal Serial Peripheral Interface (OSPI) or a 16-bit high-speed interface (HSPI) at 200 MHz to external memory modules to hasten fetching operations to the L2 cache. Similarly, the L1 cache can directly access two 832 KB frame buffers in the internal RAM. As a result, tessellation is significantly faster thanks to quick access to all the data necessary to render the image in real-time. Put simply, our engineers optimized performance by working on reducing the time it takes to access textures and other assets, ultimately accelerating rendering by up to six times.
The first industry feedback around NeoChrom GPU has been very positive. While many MCU makers have similar IPs to accelerate graphical computations, the specific STM32 optimizations and the TouchGFX ecosystem led many early alpha testers to adopt NeoChrom Graphic Processing Unit instead of competing solutions. The new technology is already supported within TouchGFX 4.19, and a few alpha customers have already worked on production-ready UIs using an upcoming STM32U599 development kit. ST will also include NeoChrom GPU in other upcoming microcontrollers and we’ll update this blog post as they become public.
For more information visit the ST Blog here.