Haswell's Wide Execution Engine

Conroe introduced the six execution ports that we've seen used all the way up to Ivy Bridge. Sandy Bridge saw significant changes to the execution engine to enable 256-bit AVX operations but without increasing the back end width. Haswell does a lot here.

Just as before, I put together a few diagrams that highlight the major differences throughout the past three generations for the execution engine.


The reorder buffer is one giant tracking structure for all of the micro-ops that are in various stages of execution. The size of this buffer is directly impacted by the accuracy of the branch predictor as that will determine how many instructions can be kept in flight at a given time.

The reservation station holds micro-ops as they wait for the data they need to begin execution. Both of these structures grow by low double-digit percentages in Haswell.

Simply being able to pick from more instructions to execute in parallel is one thing, we haven't seen an increase in the number of parallel execution ports since Conroe. Haswell changes that.

From Conroe to Ivy Bridge, Intel's Core micro-architecture has supported the execution of up to six micro-ops in parallel. While there are more than six execution units in the system, there are only six ports to stacks of execution units. Three ports are used for memory operations (loads/stores) while three are on math duty. Over the years Intel has added additional types and widths of execution units (e.g. Sandy Bridge added 256-bit AVX operations) but it hasn't strayed from the 6 port architecture.

Haswell finally adds two more execution ports, one for integer math and branches (port 6) and one for store address calculation (port 7). Including both additional compute and memory hardware is a balanced decision on Intel's part.

The extra ALU and port does one of two things: either improve performance for integer heavy code, or allow integer work to continue while FP math occupies ports 0 and 1. Remember that Haswell, like its predecessors, is an SMT design meaning each core will see instructions from up to two threads at the same time. Although a single app is unlikely to mix heavy vector FP and integer code, it's quite possible that two applications running at the same time may produce such varied instructions. Having more integer ALUs is never a bad thing.

Also using port 6 is another unit that can handle x86 branch instructions. Branch heavy code can now enjoy two independent branch units, or if port 0 is occupied with other math the machine can still execute branches on port 6. Haswell moved the original Core branch unit from port 5 over to port 0, the most capable port in the system, so a branch unit on a lightly populated port makes helps ensure there's no performance regression as a result of the change.

Sandy Bridge made ports 2 & 3 equal class citizens, with both capable of being used for load or store address calculation. In the past you could only do loads on port 2 and store addresses on port 3. Sandy Bridge's flexibility did a lot for load heavy code, which is quite common. Haswell's dedicated store address port should help in mixed workloads with lots of loads and stores.

The other major addition to the execution engine is support for Intel's AVX2 instructions, including FMA (Fused Multiply-Add). Ports 0 & 1 now include newly designed 256-bit FMA units. As each FMA operation is effectively two floating point operations, these two units double the peak floating point throughput of Haswell compared to Sandy/Ivy Bridge. A side effect of the FMA units is that you now get two ports worth of FP multiply units, which can be a big boon to legacy FP code.

Fused Multiply-Add operations are incredibly handy in all sorts of media processing and 3D work. Rather than having to independently multiply and add values, being able to execute both in tandem via a single execution port increases the effective execution width of the machine. Note that a single FMA operation takes 5 cycles in Haswell, which is the same latency as a FP multiply from Sandy/Ivy Bridge. In the previous generation a floating point multiply+add took 8 cycles, so there's a good latency improvement here as well as the throughput boost from having two FMA units.

Intel focused a lot on adding more execution horsepower in Haswell without creating a power burden for legacy use cases. All of the new units can be shut off when not in use. Furthermore, Intel went in and ensured that this applied to the older execution units as well: in Haswell if you're not doing work, you're not consuming power.

Prioritizing ILP Feeding the Beast: 2x Cache Bandwidth in Haswell
Comments Locked

245 Comments

View All Comments

  • lmcd - Saturday, October 6, 2012 - link

    Interestingly, this might be the first chance in forever AMD has at competing with Intel. If Haswell's sole goal is to hit lower power targets, and Piledriver hits its 15% and Steamroller its 15% over that, AMD is suddenly right up with Intel's i5 series with its GPU-less chips, and upper i3-range with their APUs, which is absolutely perfect positioning: most i5 purchases are for people planning to pair with discrete graphics, while most i3 series seem to go to the PC buyer looking for low price tags.

    The one downside is that the i7 series is Intel's money-maker: the clueless people who think they're getting maximum performance but are really just feeding the binning system and buying an unbalanced PC.
  • milkod2001 - Sunday, October 7, 2012 - link

    u got it wrong bro, Intels money maker is not i7, it's i3 and i5(low end and a bit of mainstreem)

    as for Haswell, on paper it looks too good to be true as Ivy did last year and ended up everything but impressive.

    Since Intel conroe core(2006) there actually were not any significant improvements worth mentioning.There's not much extra what todays CPUs can do and Pentium4 could not a decade ago.

    I would love to see some innovations user could really benefit from(something like reattachable,thin, light, portable, firm solar panel hooked at the back of screen or even build in as last layer into screen itself) and not that crap Intel/AMD gives us year by year.
  • xeizo - Sunday, October 7, 2012 - link

    Anand is very right, it's everything about power savings which in effect makes smaller and more portable form factors possible!

    As for mainstream perfomance, my Linux workstation still uses a Q9450 rev. C1 from 2008 clocked at 3.2GHz and a SSD of course. That box feels in every way as snappy as my Windows-box with Sandy Bridge at 4.8GHz. Which means, I really didn't need more performance than what C2Q already gave. Of course the SB-box benchmarks much faster, about twice as fast in most things, but the point is for myself I really don't need that perfromance except for some occasional game.

    But I could use a smaller, cooler running device instead!
  • Teknobug - Tuesday, October 16, 2012 - link

    LOL my Linux system still runs a Sempron and it's still fast.
  • oomjcv - Sunday, October 7, 2012 - link

    Very interesting article, enjoyed reading it.

    Something I would like to see is a decent comparison between Intel's and AMD's plans. Many might be able to outline the basics, but a thorough article on the subject should be rather enlightening... Comparing their design philosophies, architectures, possible pitfalls and successes etc, pretty much what's been done with this article only with both companies.
    I know it might be time consuming but I imagine it could be quite a nice read.
  • zwillx - Monday, January 21, 2013 - link

    agreed; it's difficult to find the common ground with so many different chip architectures. x86 is a big enough competition but now it's getting split wide open with ARM and BIG/litle etc etc so it's always helpful to have either more charts or real world examples lol.

    My take from this article though: Haswell still won't have the prowess to beat the GT650. I have GTX660 in my laptop w/ Optimus (TM). It works. Runs a game on HD4000 at 17 FPS. On the GTX660 I get 100+ fps, and am able to use higher anti-aliasing settings. So, clearly a 100% improvement over Ivy bridge is only putting the chip into "mediocre" category by the time its released.
  • alexandrio - Sunday, October 7, 2012 - link

    "The bigger concern is whether or not the OEMs and ISVs will do their best to really take advantage of what Haswell offers. I know one will, but will the rest?"

    I am curious who is that one OME that will do their best to really take advantage of Haswell offers?
  • zwillx - Monday, January 21, 2013 - link

    Apple. Or are you joking. I personally hate Apple and have since the original iMac but their engineering is top notch when it comes to getting ideal performance from silicon to user. So.. guessing that's the reference.
  • Silma - Monday, October 8, 2012 - link

    A fine read, technically very comprehensive, but still overly melodramatic.

    While it is true that it is crucial for Intel to step a foot in the byod market some things still hold true:
    - In value and profit the PC processor market is much bigger than the byod processor market and will stay so for years because PCs, especially business PCs won't disappear anytime soon.
    - Nobody can touch Intel in this market, it has been proved for decades. Not AMD at the height of its success, not mighty IBM, not Sun, nobody.
    - Contrary to what you say Intel has a definitive production advantage and there are very few fabs able to compete. Note that Apple is incapable of producing processors, it is dependent on external manufacturers.
    - What Apple does with its processor is interesting business wise for its iPods/Pads/Phones, but Apple doesn't have the research power Intel and others have in the chip space and I can't see how it will innovate better than Intel and other competitors.
    - Intel is aware of its shortcomings, is pushing tremendously in the right direction. A competitor that doesn't rest on its laurels is a mighty threat, ARM beware.
    - If Apple stops using Intel processors, it will of course wipe a few hundred millions of Intel's turnover but won't be anything remotely dangerous for Intel
    - It remains to be seen that Apple users will accept yet another platform change.
    - It remains to be seen that it would make sense business-wise for Apple
    - I am quite sure many phone companies will be open about renewed chip competition and not letting a single platform become too powerful.

    All in all it seems to me Intel is as dangerous as ever, executing very well in its core business and heading towards great things in the phone/pad space.
  • johnsmith9875 - Thursday, October 11, 2012 - link

    Why couldn't they at least stick to LGA2011?

Log in

Don't have an account? Sign up now