Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Architectures and Processors blog Wouldn't it be interesting if we... - Giving Birth to "Elba"
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tell us what you think
Tags
  • soc_design
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Wouldn't it be interesting if we... - Giving Birth to "Elba"

John Goodacre
John Goodacre
September 11, 2013
3 minute read time.

"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 Management
Part 4: Elba - Bringing it all together

Anonymous
Architectures and Processors blog
  • When a barrier does not block: The pitfalls of partial order

    Wathsala Vithanage
    Wathsala Vithanage
    Acquire fences aren’t always enough. See how LDAPR exposed unsafe interleavings and what we did to patch the problem.
    • September 15, 2025
  • Introducing GICv5: Scalable and secure interrupt management for Arm

    Christoffer Dall
    Christoffer Dall
    Introducing Arm GICv5: a scalable, hypervisor-free interrupt controller for modern multi-core systems with improved virtualization and real-time support.
    • April 28, 2025
  • Getting started with AARCHMRS Features.json using Python

    Joh
    Joh
    A high-level introduction to the Arm Architecture Machine Readable Specification (AARCHMRS) Features.json with some examples to interpret and start to work with the available data using Python.
    • April 8, 2025