By: Maynard Handley (name99.delete@this.name99.org), May 19, 2013 5:44 pm
Room: Moderated Discussions
Ricardo B (ricardo.b.delete@this.xxxxxx.xx) on May 19, 2013 7:20 am wrote:
> tianbing (tianbing1212.delete@this.gmail.com) on May 18, 2013 9:08 pm wrote:
> > A few years ago, they told me that OOO parts consume lots of energy,
> > so they gave it up in Atom to achieve low power consumption.
> > But now, you say, the OOO get better performance power ratio compared with MT.
> > Who can explain it...
>
> It mostly depends on where in the single threaded power/performance curve the design is aiming for.
> If you're aiming for low performance, a simple design will yield the best power efficiency.
> But you're aiming at high performance, you need to use OoO to get
> there and make good use of the execution logic, caches, etc.
It's more than just that. The balance between power and performance is still not perfectly understood. The most obvious example is looking at the POWER architecture where IBM went from aggressively OoO designs (POWER4, POWER5) to an essentially in-order design (with only a very careful selection some of the tricks of OoO) for POWER6 back to an OoO design for POWER7. IBM thought the tradeoffs (ability to run at higher GHz at acceptable power levels) made sense for their in-order POWER6 design, and POWER6 was a fine CPU, by no means a Pentium4 style misfire; but they also believed that OoO was the better choice for POWER7.
I think the main thing this tells us is that the trade-offs are not nearly as obvious as people claim.
> tianbing (tianbing1212.delete@this.gmail.com) on May 18, 2013 9:08 pm wrote:
> > A few years ago, they told me that OOO parts consume lots of energy,
> > so they gave it up in Atom to achieve low power consumption.
> > But now, you say, the OOO get better performance power ratio compared with MT.
> > Who can explain it...
>
> It mostly depends on where in the single threaded power/performance curve the design is aiming for.
> If you're aiming for low performance, a simple design will yield the best power efficiency.
> But you're aiming at high performance, you need to use OoO to get
> there and make good use of the execution logic, caches, etc.
It's more than just that. The balance between power and performance is still not perfectly understood. The most obvious example is looking at the POWER architecture where IBM went from aggressively OoO designs (POWER4, POWER5) to an essentially in-order design (with only a very careful selection some of the tricks of OoO) for POWER6 back to an OoO design for POWER7. IBM thought the tradeoffs (ability to run at higher GHz at acceptable power levels) made sense for their in-order POWER6 design, and POWER6 was a fine CPU, by no means a Pentium4 style misfire; but they also believed that OoO was the better choice for POWER7.
I think the main thing this tells us is that the trade-offs are not nearly as obvious as people claim.