An Impatient Prescott: Scheduler Improvements

Prescott can’t keep any more operations in flight (active in the pipeline) than Northwood, but because of the longer pipeline Prescott must work even harder to make sure that it is filled.

We just finished discussing branch predictors and their importance in determining how deep of a pipeline you can have, but another contributor to the equation is a CPU’s scheduling windows.

Let’s say you’ve got a program that is 3 operations long:

1. D = B + 1
2. A = 3 + D
3. C = A + B

You’ll notice that the 2nd operation can’t execute until the first one is complete, as it depends on the outcome (D) of the first operation. The same is true for the 3rd operation, it can’t execute until it knows what the value of A is. Now let’s say our CPU has 3 ALUs, and in theory could execute three adds simultaneously, if we just had this stream of operations going through the pipeline, we would only be using 1/3 of our total execution power - not the best situation. If we just upgraded from a CPU with 1 ALU, we would be getting the same throughput as our older CPU – and no one wants to hear that.

Luckily, no program is 3 operations long (even print “Hello World” is on the order of 100 operations) so our 3 ALUs should be able to stay busy, right? There is a unit in all modern day CPUs whose job it is to keep execution units, like ALUs, as busy as possible – as much of the time as possible. This is the job of the scheduler.

The scheduler looks at a number of operations being sent to the CPU’s execution cores and attempts to extract the maximum amount of parallelism possible from the operations. It does so by placing pending operations as soon as they make it to the scheduling stage(s) of the pipeline into a buffer or scheduling window. The size of the window determines the amount of parallelism that can be extracted, for example if our CPU’s scheduling window were only 3 operations large then using the above code example we would still only use 1/3 of our ALUs. If we could look at more operations, we could potentially find code that didn’t depend on the values of A, B or D and execute that in parallel while we’re waiting for other operations to complete. Make sense?

Because Intel increased the size of the pipeline on Prescott by such a large amount, the scheduling windows had to be increased a bit. Unfortunately, present microarchitecture design techniques do not allow for very large scheduling windows to be used on high clock speed CPUs – so the improvements here were minimal.

Intel increased the size of the scheduling windows used to buffer operations going to the FP units to coincide with the increase in pipeline.

There is also parallelism that can be extracted out of load and store operations (getting data out of and into memory). Let’s say that you have the following:

A = 1 + 3
Store A at memory location X


Load A from memory location X

The store operation actually happens as two operations (further pipelining by splitting up a store into two operations): a store address operation (where the data is going) and a store data operation (what the data actually is). The problem here is that the scheduler may try to parallelize the store operations and the load operation without realizing that the two are dependent on one another. Once this is discovered, the load will not execute and a performance penalty will be paid because the CPU’s scheduler just wasted time getting a load ready to execute and then having to get rid of it. The load will eventually execute after the store operations have completed, but at a significant performance penalty.

If a situation like the one mentioned above does crop up, long pipeline designs will suffer greatly – meaning that Prescott wants this to happen even less than Northwood. In Prescott, Intel included a small, very accurate, predictor to predict whether a load operation is likely to require data from a soon-to-be-executed store and hold that load until the store has executed. Although the predictor isn’t perfect, it will reduce bubbles of no-execution in the pipeline – a killer to Prescott and all long pipelined architectures.

Don’t look at these enhancements to improve performance, but to help balance the lengthened pipeline. A lot of the improvements we’ll talk about may sound wonderful but you must keep in mind that at this point, Prescott needs these technologies in order to equal the performance of Northwood so don’t get too excited. It’s an uphill battle that must be fought.

Prescott's Crystal Ball (continued) Execution Core Improvements
Comments Locked

104 Comments

View All Comments

  • Chadder007 - Monday, February 2, 2004 - link

    I can't imagine how HOT that sucker will be when up to 5ghz!!!! 150oC??? LOL
    For the heat issues alone, im thinking about going AMD in my next rig.
  • CRAMITPAL - Monday, February 2, 2004 - link

    Ace's Hardware summed it up well: Prescott is a DOG, or to be exact a HOT DOG ! See the picture in the review of the dog warming it's toes next to the Prescott powered PC. Talk about one sad CPU piece of crap...

    Here is the FLAME THROWER reality check:

    "Currently there is no reason to upgrade to Prescott, as the gaming performance is more or less ok, but many applications report pretty poor results. On top of that, the new Intel CPU gets hot very quickly and requires a well ventilated case. The Athlon 64 3200+ is not always the clear winner in games compared to 3.2 GHz Prescott, but the 3400+ will have little trouble beating the 3.4 GHz Prescott in most benchmarks. Prescott will have to scale incredibly quickly to outperform the Athlon 64, because the latter scales excellently with clockspeed, and we definitely prefer Cool'n'Quiet over Hot'n Prescott! "

    As shown this FLAME THROWER don't scale well, especially when it runs 15-20C hotter than an equal speed Northwood. Intel really fugged up this time. Ya gotta love seeing the Satan eat shit and choke! When every hardware review site on the planet, including THG's tells ya Prescott is a piece of crap, then you might as well resign to reality. DENIAL is futile!

    Dell will be selling FLAME THROWING PC Heaters to any gullible sheep foolish enough to buy a Prescott. A fool and his money are soon parted !
  • AnonymouseUser - Monday, February 2, 2004 - link

    "Ummmm yea, kinda reminds me of cooking an egg on an Athlon XP"

    Yeah, kinda, except the Prescott can do the same work in about half the time. Sounds like something they should advertise that as a feature...
  • Stlr22 - Monday, February 2, 2004 - link

    What happened to CRAM's post???
  • INTC - Monday, February 2, 2004 - link

    #43 cliffa3 - http://www.x86-secret.com/articles/cpu/prescott/p4...

    It doesn't look good for P4G8X with either the 2.8/533 or the 800 MHz FSB flavors.
  • mkruer - Monday, February 2, 2004 - link

    For those who missed it, X-bit gave a temperature comparison, for the all the chip.
    http://www.xbitlabs.com/articles/cpu/display/presc...

    Processor; Idle, Burn
    Pentium 4 (Prescott) 3.2GHz; 45oC, 61oC
    Pentium 4 (Northwood) 3.2GHz; 30oC, 48oC
    Pentium 4 Extreme Edition 3.2GHz; 32oC, 51oC

    This does not bode well for Intel unless they are going to make water cooling a standard.

    But this Quote sums it up nicely IMHO “I am scared to imagine what happens to Prescott when we close the system case…”

  • lmonds - Monday, February 2, 2004 - link

    what??? no talk about heat on this chip? Come on anand this is vital info about prescott. Other sites are reporting temps up around 80c with the stock cooler. I understand that as it gets faster in mhz it will be a better performing chip but what kinda heat are we looking at at 4ghz? No way is a 80c chip going in any of my boxes. If keeping an intel badge on the front of my case means i have to have a delta fan in my box then you can forget about it.
  • Stlr22 - Monday, February 2, 2004 - link

    :D
  • Captante - Monday, February 2, 2004 - link

    Stlr22 ....Re post # 31 Hahahahahahahahahahahahahahahahahahahahahaaha!!!!
    That one had me cracking up for 5 minutes!
    It is good to laugh!!! :-)
  • Stlr22 - Monday, February 2, 2004 - link

    Moreless a Prescott....

Log in

Don't have an account? Sign up now