I’ve written up many bits of wisdom from my friend Jack Ganssle before and his latest Embedded Muse newsletter carries a lead article on the new ARM big.LITTLE design philosophy that teams a high-powered ARM Cortex-A15 processor core with a much smaller but architecturally identical ARM Cortex-A7 processor core.
The reasoning behind the ARM big.LITTLE SoC design philosophy is to run the Cortex-A15 when there’s lots of work to do and to switch over to the Cortex-A7 core when there’s less work to do—thus saving power. Here’s what Jack wrote:
“Once upon a time computers were so expensive that they were used sparingly. That persisted far into the microprocessor age. But in many cases things have changed; a lot of embedded systems today sport multiple, even hundreds, of CPUs.
Declining silicon costs enabled this, of course, and increasing computational demands encouraged it. Other factors have had a hand as well. It’s interesting that so many systems use a big processor running Linux, to take advantage of the GUI, filesystem, networking and all, and one or more additional CPUs to run the real-time, deeply embedded aspects. This is a triumph of reuse. And it’s a very strong statement about how much has changed in the 40 years (this month) since the 4004 was introduced. Computers are now so cheap it’s common to add them to reduce software development costs.
But there are other reasons to toss in more processors. ARM’s just-announced big.LITTLE strategy marries a Cortex-A15 (a honking-fast CPU designed to power the most demanding smart phones) to a Cortex-A7. The A7 has the same architecture as the A15 but is designed to trade off performance for better power efficiency. TI’s OMAP5 couples a pair of Cortex-A15s to twin Cortex-M4s, but those two architectures are very different. With an A15/A7 combination applications can migrate between cores. The idea is to shut down the power-hungry A15 when running relatively undemanding code and use the A7. (To insure maximum complexity, ARM talks about clusters of CPUs; a typical application will have multiple A15s and A7s.)
The company claims various benchmarks put the A15 at two to three times faster than the A7, but the latter uses two to four times less power. How much power? ARM doesn’t say, at least anywhere I can find.
It’s dependent on a lot of factors, like process technology, and I suspect we’ll see few naked A7s or A15s; most will be buried in an SoC. There will be a lot of other power-consumers on those chips.
The Cortex-A7 in 28 nm geometry occupies just 0.5 square mm, truly a minute amount of silicon.
Unsurprisingly, the target market is mobile phones. The industry expects that ARM licensees will release their first products using the big.LITTLE technology in 2013.”
The idea that a complex OS like Android can easily switch between high-performance/high-power processors and lower-performance/lower-power processor cores is a major shift in design paradigm for the embedded industry. One of the two (or two of the four or three of the six or four of the eight) processors will always be idle. There are high-performance modes that use the ARM Cortex-A15 processor core(s) and there are low-power modes that use the ARM Cortex-A7 processor core(s).
Contrast this with the last 40 years of embedded design where processors were considered such a valuable resource that they would be loaded with as many concurrent tasks as possible, creating endless problems with programs that interfered with each other in terms of bandwidth consumption, memory contention, or some other sort of resource contention.
Moore’s Law has been busy reducing the cost of system resources for four decades and it’s now starting to show in the way we architect our SoCs and systems. Microcontroller vendors are stepping up to 32-bits. Multicore microcontrollers and embedded application processors are becoming almost commonplace. All of this is having a multiplying affect on software development, but this goes with the territory. With great power comes great responsibility (thanks Spiderman!) and great complexity.
You can (and should) subscribe to Jack’s excellent newsletter here.
For ARM’s big.LITTLE design philosophy, take a look at this White Paper.