To improve the accessibility of our content, please find the audio version of this blog post.
As ST continues to improve the graphical performances of its microcontrollers, we are announcing today 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 GPU 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.
Table of Contents
From Chrom-ART to NeoChrom GPU
What Are Chrom-ART and NeoChrom GPU?
Readers familiar with ST technologies can guess that NeoChrom GPU 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 GPU 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 GPU 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 GPU 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 GPU 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 GPU 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.