ARM announces 32-bit Cortex-A32 for wearables and IoT
Today, ARM has announced its latest Cortex
processor, the Cortex-A32, offering wearable and rich embedded processor
manufacturers a new upgrade path over the older Cortex-A5 and A7 CPU cores. The
Cortex-A32 is ARM’s smallest and lowest power ARMv8-A processor. You would
normally associate ARMv8 with 64-bit computing, but unlike the company’s other
ARMv8-A designs the A32 is 32-bit only. That is why ARM prefers to talk about
AArch32 and AArch64, but more about that in a moment.
Unlike ARM’s Cortex-R8 announcement last
week, the Cortex-A32 is designed for Rich OS and high performance situations,
where ultra-high energy efficiency is a requirement. This is unlikely to power
your next smartphone, but it has been specifically designed with wearable and
internet-of-things (IoT) devices in mind.
Looking a little closer at the chip, it is
based on a very similar design to the Cortex-A35, but it isn’t just a cut down
version. The Cortex-A32 can be scaled up to quad-core implementations while
still drawing less than 75mW when clocked at 1GHz. Alternatively, the design
can draw less than 4mW in a single core configuration clocked at just 100MHz,
all while fitting in an area smaller than 0.25 mm2. Hardware vendors can also
configure cache sizes, with L1 configurable from 8KB to 32KB and L2 reaching up
to 1MB in size.
ARM boasts 25 percent greater energy
efficiency than the Cortex-A7, allowing for more performance and lower power
consumption than before. In streaming and crypto scenarios, ARM touts major
performance improvements for the Cortex-A32 over the older A5 and A7,
suggesting that it can reach roughly the same performance as the A35 while
being 10 percent more energy efficient.
Now for the part about 32-bit. Although we
have already seen some wearables make the move into the 64-bit era, ARM expects
that the vast majority of embedded devices while remain on 32-bit for the
foreseeable future. So, ARM is essentially offering developers an optimized chip
that features the level of performance and energy efficiency that they need,
without the specifications that would be left redundant.
This is quite a smart move for another reason
too. Not only is AArch32 backwards compatible with ARMv7-A, but there are also
more than 100 additional 32-bit instructions included with ARMv8-A as well.
These include additional floating-point instructions for MaxNum and float to
int conversions among others, advanced SIMD improvements, instruction level
support for Cryptography, and load acquire/store release. In other words,
certain programming instances can be made more efficient and perhaps even run
faster than on the older ARMv7-A processors, even though they are both 32-bit.
The 32-bit nature of the CPU core does have
some drawbacks though. It obviously can’t make use of the improved 64-bit
instructions in ARMv8 or larger registers, and isn’t compatible for use in a
big.LITTLE multi-core arrangement, but these are outside of the target use
cases for the core anyway.
For developers, they can quickly get starting
using the same development tools as before for ARMv8 AArch32, complete with
NEON and Crypto instructions. All of the development tools are already in
place, so we’ll just be waiting on the silicon.