|
Jackson Technology And SMT
The much discussed Jackson Technology, which has not debuted, is rumored to be SMT. No one (outside of Intel, and NDA holders) knows whether or not Jackson Technology is indeed SMT, but there are reasons to back it up.
First, as an x86 CPU, Pentium 4 would only require 8 registers, plus the renaming registers, to be duplicated. This means that far fewer aggregate registers are needed for the same number of threads for an x86 SMT chip than on a traditional RISC chip. Due to the already-long pipeline of the Pentium 4 (20 stages), the reduced number of registers required would also mean that, depending upon the number of threads supported by the processor, it might be possible for the Pentium 4 architecture to remain "as is" without adding the two additional stages to the pipeline. This would bode well, as branch mispredicts already hurt the Pentium 4's performance.
Despite the 100Mhz quad-pumped bus, the ratio is still radically out of place (though closer than it has been since the days of the Pentium 2 450's) and, despite the use of dual channel RDRAM, RDRAM still has high latencies. The use of SMT would allow the Pentium 4 to deal even better than it does now with long latencies, which is a must considering the soaring clock speeds.
Next, of course, there are the hints from the Linux community. And the question from Anand Lal Shimpi, and the subsequent responses (Click here) :
A very big hint was when I asked a lot of the software developers on the floor what they thought of SMT and they immediately respondend with "Jackson technology?"
SMT shows radically higher performance than a similarly equipped CMP processor (over single threaded applications), a much better price/performance ratio (imagine two P4's on one die - even if they share a L2 cache), and better performance at any rate. It seems that my reasons [13] are outweighed by the evidence for a more aggressive and elegant form of multithreading found in SMT.
This is all fine and well, but to some degree it does require software support: the programs either need to be multithreaded, or running multiple programs at the same time and expediting their aggregate execution time. Judging by the typical PC program, which tends only to use one thread of a program at a time, most programs would not receive the intrinsic advantages of running on an SMT architecture over a superscalar.
>> Applications Of Multithreading: Dynamic Multithreading
|