| When symmetric multiprocessing (SMP) first became | | | | implements hyper-threading; this analysis should give |
| cheap enough to come within reach of the average | | | | us a pretty good idea of what’s in store for |
| PC user, many hardware enthusiasts eager to get in | | | | Prescott. Also, it’s rumored that the current crop |
| on the SMP craze were asking what exactly (besides | | | | of Pentium 4’s actually has SMT hardware |
| winning them the admiration and envy of their peers) | | | | built-in, it’s just disabled. (If you add this to the |
| a dual-processing rig could do for them. It was in this | | | | rumor about x86-64 support being present but |
| context that the PC crowd started seriously talking | | | | disabled as well, then you can get some idea of just |
| about the advantages of multi threading. Years later | | | | how cautious Intel is when it comes to introducing |
| when Apple brought dual-processing to its PowerMac | | | | new features. I’d kill to get my hands on a 2.8 |
| line, SMP was officially mainstream, and with it multi | | | | GHz P4 with both SMT and x86-64 support turned |
| threading became a concern for the mainstream user | | | | on.) |
| as the ensuing round of benchmarks brought out the | | | | SMT, in a nutshell, allows the CPU to do what most |
| fact you really needed multi threaded applications to | | | | users think it’s doing anyway: run more than one |
| get the full benefits of two processors. | | | | program at the same time. This might sound odd, so |
| Even though the PC enthusiast SMP craze has long | | | | in order to understand how it works this article will |
| since died down and, in an odd twist of fate, Mac | | | | first look at how the current crop of CPUs handles |
| users are now many times more likely to be sporting | | | | multitasking. Then, we’ll discuss a technique called |
| an SMP rig than their x86-using peers, multi threading | | | | super threading before finally moving on to explain |
| is once again about to increase in importance for PC | | | | hyper-threading in the last section. So if you’re |
| users. Intel’s next major IA-32 processor | | | | looking to understand more about multi threading, |
| release, codenamed Prescott, will include a feature | | | | symmetric multiprocessing systems, and |
| called simultaneous multi threading (SMT), also known | | | | hyper-threading then this article is for you. |
| as hyper-threading. To take full advantage of SMT, | | | | As always, if you’ve read some of my previous |
| applications will need to be multi threaded; and just | | | | tech articles you’ll be well equipped to |
| like with SMP, the higher the degree of multi | | | | understand the discussion that follows. From here on |
| threading the more performance an application can | | | | out, I’ll assume you know the basics of pipelined |
| wring out of Prescott’s hardware. | | | | execution and are familiar with the general |
| Intel actually already uses SMT in a shipping design: | | | | architectural division between a processor’s front |
| the Pentium 4 Xeon. Near the end of this article | | | | end and its execution core. |
| we’ll take a look at the way the Xeon | | | | |