ARM Cortex A9: What I'm Excited About

NVIDIA won't talk about Tegra GPU architecture, but ARM is more than willing to talk about the Cortex A9.

I'm not used to seeing so much pipeline variance between microprocessor cores. The ARM11 core was introduced in 2003 and featured a single-issue 8-stage integer pipeline. Floating point was optional. The Cortex A8 was announced in 2005 and doubled the front end with. The A8 has a dual-issue in-order 13-stage integer pipeline. Doubling issue width increased IPC (instructions per clock) and the deeper pipeline gave it frequency headroom.

The Cortex A9 goes back down to an 8-stage pipeline. It's still a dual-issue pipeline, but instructions can execute out of order. What's even more ridiculous are the frequencies you can get out of this core. TI is going to be shipping a 750MHz and 1GHz SoC based on the Cortex A9. NVIDIA's Tegra 2 will run at up to 1GHz. And even ARM is willing to supply Cortex A9 designs that can run at up to 2GHz on TSMC's 40nm process. Privately I've heard that designs scaling beyond 2GHz, especially at 28nm, are going to be possible.

This is huge for two reasons. Cortex A9 has a shallower pipeline compared to A8, so it does more per clock. It also has an out of order execution engine, allowing it to also do more per clock. At the same clock speed, A9 should destroy A8. ARM estimates that the A8 can do up to 2 DMIPS per MHz (or 2000 DMIPS at 1GHz), whereas the A9 can do 2.5 DMIPS per MHz (2500 DMIPS at 1GHz). Given that most A8 implementations have been at or below 600MHz (1200 DMIPS), and TI's A9s are running at 750MHz or 1GHz (1875 DMIPS or 2500 DMIPS) I'd expect anywhere from a 30 - 100% performance improvement over existing Cortex A8 designs.

That's just for a single core though. At 40nm there's enough room to cram two of these out of order cores on a single SoC. That's what NVIDIA's doing at first with Tegra 2. Two cores together running multithreaded code and now you're looking at multiples of Cortex A8 performance. I'm talking iPhone to 3GS levels of performance improvement. And then some.

The shallower pipeline is very important for keeping power consumption low. Mispredicted branches have a much lower performance and power impact on shallow pipelines than they do on deep ones.

Each Cortex A9 MPCore has its own private L1 instruction and data caches. I'd expect these to be 32KB in size (each) just as they are today on the A8s. The L2 cache is shared by all cores on the SoC. A shared L2 makes sense, especially with a dual-core design. The architecture can scale up to 8MB of L2, but it seems a bit excessive. I'd expect L2 sizes to stay at around 256KB or 512KB. The L2 can run at the CPU's clock speed or for extremely high clocked versions of the A9 it can run at a divider.

What we're seeing is repetition of the sort of evolution we had in the desktop microprocessor, just on a much smaller scale. The Pentium processor was Intel's last high end in-order chip. The Pentium Pro brought out of order execution into the mix. ARM took that same evolutionary step going from the Cortex A8 to A9.

The world is very different today than it was when the Pentium Pro first came out. Multithreaded code is far more commonplace and thus we see that ARM's first out-of-order processor is also multi-core capable. Technically ARM11 could be used in multi-core environments, it just wasn't (at least not commonly). Even NVIDIA's Tegra 1 used the ARM11 MPCore processor, but only used one of them on its SoC. Cortex A9 will change all of that. The first implementations announced by TI as well as NVIDIA are dual-core designs. The next stage in smartphone evolution is enabling usable multitasking through interfaces like what we saw on the Palm Pre. In order to enable good performance in smartphone multitasking you'll need multiple cores.

There is of course a single core version of the Cortex A9. ARM suggests that the single core A9 is a great upgrade path for ARM11 designs. You get full backwards compatibility on code, an extremely small core (most ARM11 designs were 130nm, at 40nm a single A9 core is very space efficient) and much higher performance.

NEON Optional

With the Cortex A8 ARM introduced its own vector FP instruction set called NEON (think of it like ARM's SSE). A8 processors included a NEON core, but with Cortex A9 partners can either choose to use an ARM FPU or NEON. The FPU based Cortex A9s will most likely be single core implementations designed to be ARM11 replacements. The FPU will be smaller to implement than a full NEON unit and thus save cost/power.

Tegra Tablets Today, Smartphones Soon Atom vs. Cortex A9
Comments Locked

55 Comments

View All Comments

  • sprockkets - Friday, January 8, 2010 - link

    It's a loser called DLeRium who thinks I don't know the diff btw x86 and PPC or ARM.

    Perhaps he doesn't know I compile code from scratch all the time for Linux and most of that code easily compiles on multiple archs. That doesn't mean its automatic to go from x86 to ARM, but it isn't an insurmountable hurdle either.
  • sprockkets - Friday, January 8, 2010 - link

    Hasn't stopped Doom or Quake 3 from arriving on the iphone, has it?
  • SilthDraeth - Friday, January 8, 2010 - link

    WoW runs in OpenGL as well.
  • rennya - Friday, January 8, 2010 - link

    And that's why Quake 3 is used in the demo. They are easily portable, unlike WoW or Sims games.

    Now if we have WoW or Sims games on iPhone you may have a point.
  • sprockkets - Friday, January 8, 2010 - link

    WoW is a ways off perhaps, but again, my original point was it is on OSX, which doesn't have DirectX. The previous poster was going on about x86 vs. ARM limitations.

    UT2004 had DirectX and OpenGL versions.

    For that matter, I believe the real question is, why would you want to game on a 3.7-5 inch screen? Even if you used video out, you would then end up hooking up some form of controller, and you'd be back to square one where you were with a computer.

    But hey, surprise me. Boxee has the Tegra2 in it. Linux is a common denominator in phones and with ARM and OpenGL ES.
  • Genx87 - Friday, January 8, 2010 - link

    How big at Nintendo DS screens? Those seem to sell at a clip higher than the stand alone consoles.
  • puffpio - Thursday, January 7, 2010 - link

    My next smartphone better have this...as well as my future HTPC/NASbox/fileserver/DNLA server/torrentbox all in one device thingy
  • puffpio - Thursday, January 7, 2010 - link

    and said smartphone needs hdmi out to drive a 1080p display
  • Goty - Thursday, January 7, 2010 - link

    I can find solutions that perform "well enough" until NVIDIA decides to stop being one of the most underhanded and disrespectful companies I can think of.
  • sprockkets - Thursday, January 7, 2010 - link

    " But rest assured that if you're buying a smartphone in 2010, it's not Snapdragon that you want but something based on Cortex A9"

    LOL, now we are basing our smartphone purchases like we did 10 years ago with computers?

    OK, let's wait for Tegra2 so we can watch an 8-12GB pirated 1920x800 HDx264 hi profile movie on an 800x480 screen with headphones or even worse, a 2 inch tinny speaker even though it has DTS audio. LOL.

Log in

Don't have an account? Sign up now