The Pentium IV Dissected
An AC pointed sent us this: "In this extremely well written and technical article, the author points out the various mistakes that Intel made with the production of the Pentium IV, the fact that Intel and other manufacturers have been misleading customers about the performance of the Pentium IV, and the amount of work that will be pushed onto software developers backs to get a piece of software to run at a reasonable speed." Beginning section readable by anybody; by the end you need to know a little more assembly language than is healthy for anyone, but excellent overall. For a Cliff's Notes version of the above, try this NYTimes article discussing the chip in non-technical terms. My guess is that most computer buyers will continue to compare only clock speeds, however.
I think a lot of people need to take a chill pill. The guy's not saying Intel sucks, period. He's saying that the P4, in its present form, is not a good value for your money. That's it. That's all he's saying.
He didn't say that the overall architecture is bad. He didn't say that the P4 will lead to bad designs in the future. He said that some of the choices for the present P4 configuration are bad and that people would be better served by spending their money elsewhere. If people buy Intel chips no matter what the actual price to value ratio is, then Intel has won and the consumer has lost.
The author gives very good explanations of the limitations of the present incarnation of the P4. He also explains what he thinks needs to be fixed. With all those fixes, the P4, in a few years, will likely be a really good chip. The design isn't beyond repair, it's just flawed.
I remember the 486SX clearly - and how my father was duped by the hype. The same thing's happening here. Also, if Intel really believed the P4 was its best chip, why are the colored guys on TV hyping the P3 like there's no tomorrow? (No, that's not a racist remark. If you've seen the ad, you know what I mean.)
The bigger problem is that, even though you can get around the limitations of the P4 chip by writing a really smart compiler, the P3's and below will be around for years, so you won't necessarily be using the optimization settings in generic code. You'll likely see 'Word 2005 for the P4' and 'Word 2005 for the P3 and below', although there's nothing preventing them from being on the same DVD and the installer choosing the right version.
If you can get past some of the strong language in the article (Intel engineers are stupid; boycott Intel; etc.) you can see that he's not anti-Intel per se. He's anti-Intel's marketing guys, who seem to be running the company at the moment. The decisions made in the present P4 incarnation have to be marketing's - no other explanation holds water. You can't design the next generation chip and then deliberateley cripple it. That's like having a son and then cutting off his foot to see how he gets along in the real world. I doubt engineers had much to say in the present P4 configuration.
The author provides pretty convincing proof that the best value for your money is an Athlon system, right now. I haven't seen anyone here able to refute that statement. It's the same conclusion that a couple of other people have reached. From all I've read over the past few months, I have to agree.
--
Another technical flaw in the article is the assertation that the processor in the original IBM PC was the 8086. This is incorrect. I've actually got an original IBM PC sitting in my basement, and it definitely has an 8088 in it. For that matter, even the IBM XT had an 8088 in it. Some early IBM PC clones and other "MS-DOS but not quite compatible" machines like the Zenith Z100 used the 8086, but IBM didn't use the 8086 until later machines like the IBM PC convertable (early attempt at a laptop) or the PS/2 Model 25 and Model 30. The reason that IBM picked the 8088 is that its pinout was designed to be more closely compatible with the Z80, which was the CPU used in IBM's early engineering prototypes for the IBM PC. Those early designs were basically formulaic 8-bit CP/M machines.
It is also worth noting that to a certain extent, history is repeating itself. The Zilog Z80 was itself a clone of the Intel 8080. By the late 70's, Zilog, which was originally an upstart clone chip vendor, had overtaken Intel by building a better and cheaper product. Intel's follow-on to the Z80, the 8085, much like the P4 today was largely a disappointment. Intel was forced to move to 16 bit with the 8086 (and the 'ginsu' 8088) in order to grab back the market they had lost to Zilog. Intel was successful mainly because they succeded in selling the 8088 to IBM, which bailed them out. Zilog's 16 bit processor the Z8000 was a failure because it was too ambitious, and not at all compatible with their 8 bit designs, despite the fact that many people thought it was superior to Intel's 16 bit chips which were largely just warmed over 8 bit designs with larger registers.
It remains to be seen how things will sort out now. For all intents and purposes, Intel's P3 and P4 look to be beaten technically and price/performance wise by AMD. Intel appears to be largely betting on the IA64 to win back the market, but unlike the 8 bit -> 16 bit transition, it is Intel who is betting on a totally new and mostly incompatible architecture for 64 bits rather than AMD, who appears to be charting a much more conservative extension of the basic x86 architecture to 64 bits. If AMD gets software support for their 64 bit architecture before Intel does, which may happen because it is less of a jump, or AMD is able to push 64 bit processors into lower pricepoint boxes quicker, which also seems doable, Intel could be in trouble. One other big thing will be whether the AMD architecture runs existing 32 bit x86 code faster than the Intel IA64 processors do. Since many people will be largely dependant on legacy applications, if AMD can offer the promise of 64 bit applications in the future and better performance for existing 32 bit apps, then Intel will really be hurting.
That is excatly what people said about the Pentium Pro when it came out and ran 16-bit code slower than the Pentium. And look what happend. The P6 arch proved to be extremly scalable, extensible, and yes, profitable. At this early point, I see no reason to assume that PentiumIV can't repeat this.
--
Secondly, I thought the entire point of the Pentium IV is that it is focused on different areas to the PIII and others. Specifically, it is designed for a media rich environment, and was designed with the future in mind. I would guess (bear in mind, I don't have any credentials) that we won't see the best of the PIV until a year or two down the line, when compilers are properly optimised for it and people start programming with its architecture in mind. Until then, I fear we are making unfair comparisons. Just my guess!
--Anticipation of a New Lover's Arrival, The
In this extremely well written and technical article...
Yeah, right. Ok, lets address stuff in order:
1. Prime95. Prime95 right now is optimized for current processors. The author received a Pentium 4 system a couple weeks ago, and is rewriting his code right now. When the reoptimization is completed, expect a factor of two improvement.
2. Small L1 cache. The author seems to believe that a larger L1 cache is always good. What he fails to address is that larger caches are inherently slower, and going from a 3 cycle 16KB cache to a 2 cycle 8KB cache improves performance, given a fast L2 cache.
3. No L3 cache. Sure this would have been nice -- but also expensive. Given the intelligence of the i850 chipset (including memory look-ahead reads) and the bandwidth of RDRAM, it isn't really necessary.
4. Instruction decode. Hello? Anyone home? At most 1% of instructions will have to be decoded. That's the point of the trace cache. And yes, Virginia, that cache is large enough.
5. Slow rotates and shifts. That's the price you have to pay if you want a fast clock. Variable shifts are algorithmically expensive (in fact, within a factor of log log N of multiplies, but that's a different matter).
6. Etc. I could go on point by point, but the pattern remains. The author clearly doesn't understand the tradeoffs necessary when designing processors, and looks at one side without considering what it is being traded for.
My opinion is that the Pentium 4 is a very well designed processor. Not only did the designers build a processor which can be run at high speeds, they allowed themselves room to add improvements later without requiring a lengthy redesign of the entire processor. High clock speeds mean that signal flight time is a problem? That's why there are two cycles dedicated to moving data across the processor. Got extra silicon? Double the number of SSE units to allow SSE instructions to complete in half the time. Decide that you want an L3 cache? Throw one on.
Sure the Pentium 4 doesn't perform great on code not optimized for it. But neither did the 486, the Pentium, or the Pentium Pro. And which would you prefer to have right now, a 250MHz 386, or a 1GHz Pentium III?
Tarsnap: Online backups for the truly paranoid
However, that's not the whole story. Intel has always introduced new chips, tweaked them, put production in gear, lowered the cost, then inundated the public with high quality, high performance, low cost processors. I doubt the P4 will be much difference. With the process change (to 0.13 micron I believe) for the P4 comes, combined with the normal bug fixes, combined with better memory support (such as DDR SDRAM), combined with much higher clock speeds (we're talking over 2 GHz), combined with major production volumes and lower prices, the result will be a screaming fast processor that will be hard to beat. The P4's main advantage (and essentially it's entire raison d'etre) is that it has a whopping 20 stage pipeline. That means one thing, you can shove gigahertz down it's throat like you can't do to any other processor. Sure the P4 may not be as "tight" and efficient as some of the other processors out now (which is why it's foolish to be an early adopter), but what it lacks in effectiveness it will eventually make up for in raw cycles. Right now (with all of the P4's flaws, including those that can be fixed, mind you) the P4 runs at maybe 80% of what the idealized speed of a PIII or Athlon would be at the same clock speed, but they expect the P4 to hit 2GHz by Q3 '01 which means you need around a 1.6 GHz proc. of the old style to keep up with it. And this assumes that some of the weak points of the P4 (most importantly, the horrendous memory system forced on it by the Rambus contract) remain, which won't be the case.
I'm not saying the P4 will blow everything out of the water next year (it won't), but it will be fully mature and it will be leading the pack and will be very difficult to compete with.
1. Prime95. Prime95 right now is optimized for current processors. The author received a Pentium 4 system a couple weeks ago, and is rewriting his code right now. When the reoptimization is completed, expect a factor of two improvement.
I'd contend that it's a fair comparison with what AMD had to put up with -- FPU benchmarks intended for two FPU pipeline chips on a three FPU pipeline system (Athlon). Were benchmarks rewritten right away? No.
A good editor would have removed the BOYCOTT ALL INTEL stuff or at least moved it down a bit. But I feel for the author here: he paid $4000 for a system which isn't as good as a (much) cheaper Athlon.
Crusoe watchers take note: there's a nice little summary of the Crusoe's performance and why he's very impressed with that CPU's architecture. That summary alone is worth reading.
--- Hot Shot City is particularly good.
Buying products from everyone doesn't accomplish this. If you buy both Sega's and Sony's systems, both companies get what they want: your money. Sega has no reason to improve its products because you already bought one; and Sony has also no reason to improve because you also bought one of theirs as well. If consumers don't discriminate between quality and non-quality goods (or cheap and non-cheap goods), then no competitive situation exists.
So if you really want to see forward progress, don't support both. Support whichever one is putting out the product you believe is most worthy of success. If you like Sega's system better, buy it; now you're giving Sony an incentive to make its system more attractive to you by being more like Sega -- which is good for you! And if you like Sony's better, buy it and give Sega to do business like Sony.
Of course, competition also requires consumers not to be very brand loyal. A lot of die-hard Linux or Windows users would be reluctant to switch operating systems even if they'd be happier with the other one. So, there's no harm in changing your "loyalty" and finding a new "adversary" (as you put it) to go up against. In an ideal world, people wouldn't have any consumer loyalty at all -- they'd always vote with their money and buy whatever product is the best product available.
Yu Suzuki
Yu Suzuki
Deamcast. It's thinking.
No the PIV is not a great chip. Hell, it's not even a good chip. But once AMD got onto the scene, it looked like we were itching and scratching to find a way to go against the "bigger company" (Intel, Microsoft, and now RedHat notwithstanding). In 6 months, we'll have a whole new "adversary" to rile up the tech community.
Enough is enough. Yes, the PIV has flaws. Every chip has flaws. You pay extra to get just a smidgen more performance, but that's why AMD is referred to as the "price/performance leader".
However, if we don't root for Intel, and AMD suddenly takes over, who won't put their money down that we will go against AMD? I say support both (I use the same mentality in buying a Sega Dreamcast/PS2; boxed distros of Linux and Windows 2000). Without competition on both sides, even "the Man's", there will be no forward progress.
- I don't care if they globalize against free speech. All my best free thoughts are done in my head.