Arm Announces Cortex-R82: First 64-bit Real Time Processor
by Andrei Frumusanu on September 3, 2020 9:00 AM ESTArm is known for its Cortex range of processors in mobile devices, however the mainstream Cortex-A series of CPUs which are used as the primary processing units of devices aren’t the only CPUs which the company offers. Alongside the microcontroller-grade Cortex-M CPU portfolio, Arm also offers the Cortex-R range of “real-time” processors which are used in high-performance real-time applications. The last time we talked about a Cortex-R product was the R8 release back in 2016. Back then, the company proposed the R8 to be extensively used in 5G connectivity solutions inside of modem subsystems.
Another large market for the R-series is storage solutions, with the Cortex-R processors being used in HDD and SSD controllers as the main processing elements.
Today, Arm is expanding its R-series portfolio by introducing the new Cortex-R82, representing the company’s first 64-bit Armv8-R architecture processor IP, meaning it’s the first 64-bit real-time processor from the company.
To date, previous generation R processors were based on the predecessor Armv7-R or ArmV8-R 32-bit architecture, such as the Cortex-R52. This was for years still fine and sufficient for the use-cases in which these processors were deployed. In modern products however, we’re seeing designs in which larger memory addressing is becoming necessary. Modern SSDs right now for example routinely use up to 2GB of DRAM memory on their controllers, which comes near to the 32-bit 4GB memory addressing limit of the R8 CPUs.
The new Cortex-R82 enhances the core to enable up to a 2x performance improvement over the R8, uses a wider physical address space up to 1TB which is coherent with the rest of the system.
Arm currently doesn’t divulge much about the microarchitecture of the R82 and how it differs from the R8, but we imagine there to be some significant changes with the shift to the Armv8-R architecture.
An important addition here from the architecture and µarch side is the optional inclusion of NEON units for SIMD processing, including new dot-product instructions. This would enable for higher performance parallel processing compute capacity on the processor itself, allowing customers such as SSD-controller designers more flexibility as to their designs.
Another big change to the microarchitecture is the inclusion of an MMU, which allows the Cortex-82 to actually serve as a general-purpose CPU for a rich operating system such as Linux. This is actually quite a huge change in regards to the target market possibilities of the -R series going forward if the processor can run its own OS all by itself.
Arm’s product presentations focus on storage controllers, able to run both real-time workloads like they have been until now, but add in a rich OS for more complex algorithms and higher-level applications that aren’t as feasible on a bare-metal and real-time operating system.
A chip designer for example can tape-out a drive controller with multiple R82 cores (the design scales up to a 8-core cluster), and flexibly change the processing resources between the real-time application and the higher-level computation workload.
As the storage market evolves, one of the biggest requirements we’ve seen from our partners is flexibility. The new features of the Cortex-R82 processor give partners the possibility to design multi-core implementations of up to 8 cores, and adjust the types of workload running on the storage controller based on external demands in software. For example, parking lots will regularly use video surveillance to recognize license plate information which is later used for billing. During the day vehicle registration plate data is collected, meaning most cores are being used for intensive storage. At night, these cores will be used to process the data for billing and will adjust to carry out the data analysis and machine learning needed. As storage controllers are becoming more diverse to address different markets and features, Cortex-R82 delivers an architecture to provide this extreme flexibility – reducing costs and time to market.
Arm states that 85% of current storage solutions use Cortex-R processors, so the new R82 likely will represent a big jump in performance and open new possibilities for vendors to design new differentiating features in future designs.
26 Comments
View All Comments
SarahKerrigan - Thursday, September 3, 2020 - link
Cortex-A has lockstep execution and Cortex-R has an MMU now? Wonder how long it's going to be worth maintaining them as separate product families.Peter Greenhalgh - Thursday, September 3, 2020 - link
Merging the Cortex-A and Cortex-R profiles is quite unlikely as Cortex-R has a host of features around Tightly Coupled Memories and multiple low latency interfaces for peripherals and external devices that we would not add to the Cortex-A profile. There are various other low level feature differences that are required for the Cortex-R real-time CPU's which would add unnecessary "weight" to Cortex-A application CPU's.skavi - Friday, September 4, 2020 - link
(https://www.linkedin.com/in/peter-greenhalgh-89007...PaulHoule - Thursday, September 3, 2020 - link
Looks like Risc-V has some competition.FreckledTrout - Thursday, September 3, 2020 - link
I'm a fan of RISC-V but it never really has caught up to ARM as far as actual core implementations go.Desierz - Thursday, September 3, 2020 - link
I wasn't aware of “real-time” processors. I've heard of real-time operating systems though. Afaik, they run on regular CPUs. So is this simply marketing speak, or a real special feature?Peter Greenhalgh - Thursday, September 3, 2020 - link
Not marketing speak. For example, interrupt latency and latency to peripherals needs to be low and deterministic in real-time CPU's. Less so for applications CPU's like Cortex-A. These points, as well as features like Tightly Coupled Memories and a number of other features are what drove the creation of the Cortex-R profile back in 2004 and the roadmap ever since.Desierz - Thursday, September 3, 2020 - link
Aha. I wasn't aware. Thanks for clearing that up for me!quiksilvr - Thursday, September 3, 2020 - link
I never appreciated how dumb I was until I read through this explanation three times and I still don't grasp this concept of "real-time" processing.eddman - Thursday, September 3, 2020 - link
I'm not an expert on this matter, far from it, but the way I understand it is this:Real-time tasks: "Hey, processor, calculate X. No, you cannot do it after something else. I need it RIGHT NOW. No time to lose; get a move on."
Regular applications: "Ok, I need you to process X, Y and Z. Oh, you think doing Y first would make the whole thing be done sooner? Ok, that's fine, go ahead."