"Wouldn't it be interesting if we....". That's the way many step changes have started in ARM. In the next four blogs I'd like to take this opportunity to tell you about just one of those, we called it "The Elba Program". The Elba program is just coming to its end, but its effect is starting to be seen in various places across the web as new markets and devices are starting to appear.
First, a very basic history lesson. ARM processors really took off as the processor that powered the first mobile phones. Phones as I'm sure you know need to be turned on to receive a call, and until more recently most calls were fairly short in comparison to the time a phone sat in what was called standby mode. This requirement quickly became the dominant characteristic for embedded processors and drove an entire branch of the semiconductor industry to look at manufacturing devices that consumed as little energy as possible when in standby at the cost of higher energy consumption when active. At the fabrication level, this technology gained a geometry label "LP" (low power), to differentiate it from the "G" (generic) process that was used by the more general purpose microprocessors.
Even today, I find a number of engineers believe that because "LP" stands for low power, that the power consumed by such a device would be very low - but this is potentially not the case. Remember that primary embedded requirement of long standby time? "LP" would have been much better called "LL" for low leakage, a design choice that ensured long standby times, but which for quite a few process geometries has meant that the active energy cost was almost double that of a "G" like processor, (yes, I know, leakage in such processes can be much, much higher - please read on, I come to that). Oh, and all the extra energy required to switch the state of those LP transistors also typically meant that a device using LP vs. G would only achieve half the speed.
Now back to the start of Elba. ARM was just about to announce the Cortex-A9 multicore processor. We'd started benchmarking its performance and it became clear that those big-brained engineer types that had been pulsing away at every blip on the RTL simulator wave forms as they micro architecturally optimized the Cortex-A9 processor had achieved something rather special. The resulting IPC, or number of instructions the processor can execute per clock cycle, was actually rather impressive. As can be seen today in many of the benchmarks being compared against Cortex-A9 processor-based phones and tablets, it can outperform other products with processors running 40% or even 60% faster. And it is only a little slower than others that could be clocked two or three times faster. So back to that "Wouldn't it be interesting if we..." statement. "Wouldn't it be interesting if we implemented the Cortex-A9 processor in the same "G"-like process like these faster processors, rather than using our typical slower LP implementation, and investigate (and solve) the aspects associated with implementing in a "G" process."
So, there we have it, the basis of a new project to investigate a "G" implementation of the Cortex-A9 processor. It wasn't long before we needed to start to investigate a number of what I will call challenges and the number of challenges started to extend to groups right across ARM, and into the partnership and so started "The Elba Program".
I'll let you know how we progressed in my second blog. Stay tuned...
Part 2 of this blog: Elba - How do we know it works?
Part 3: Elba Processor Power ManagementPart 4: Elba - Bringing it all together