Author Topic: Why is the P4 bad? (Part 1)  (Read 234 times)

Offline bloom25

  • Silver Member
  • ****
  • Posts: 1675
Why is the P4 bad? (Part 1)
« on: April 28, 2001, 01:26:00 AM »
This article is very long, but worth it I believe.  If you've ever wanted to know the basics of PC processor design, keep reading.   I recommend you read this at your own pace so you don't get overwhelmed.  Perhaps copy and paste it into a text editor and save it.

Most of you have probably been hearing a lot about the P4 and AMD Athlon.  You may have also seen myself and several others telling you not to buy a P4.  If you want to know the full story, read on.

I'll first start with some technical information on the Athlon.  (None of first two paragraphs are very important.  Unless you are interested skip to the 3rd paragraph.)

The AMD Athlon is a processor made by Advanced Micro Devices originally intended to compete with the P3.  One of its main features is its EV6 derived bus protocol borrowed from the popular server processor, the Alpha.  (The bus is basically the way the processor communicates with the rest of the computer.)  AMD has not yet utilized one of the main strong points of this interface, but not for much longer.  The EV6 bus is ideal for use in multiple processor systems.  Basically it allows multiple processors to work independantly without sharing available bus bandwidth between multiple processors.  Other features have been added as well, the most important being the ability for one processor to directly access the data contained in the cache memory of the other processor.  AMD will be releasing its 760MP chipset very soon, which will allow dual processor Athlon systems to be possible.  All current Thunderbirds are already capable of being used in a dual processor setup.  

The Athlon also uses a DDR bus interface operating at 100 Mhz which due to the DDR gives an effective speed of 200Mhz.  The newer Athlon 'C' processors are 133 -> 266 Mhz processors.

The Athlon basically caught and surpassed the famous 'P6' Intel design first used in the pentium pro, p2, and then p3.  It did this by remedying many of the faults with the p6 design.  To totally understand why the Athlon is so good, and why the p4 sucks so much you need to understand the concept of a "pipeline."  Without taking several years of classes this is hard to understand, but the basic principles aren't too hard to grasp.  If you are interested, read on.  

First of all let me start by mentioning programming languages.  Many of you have probably heard of basic, cobal, fortran, c, c++, java, etc.  These are all high level languages used to write the programs we use.  (Ah is written in C.)  When you write a program in one of these languages it is later processed by what is known as a "compiler."  The compiler's job is to translate the high level language instructions into a number of very basic instuctions the processor can understand.  Some programmers even write their programs using these instructions, called "assembly language."  (I've done this a few times now, it is very time consuming and very hard to debug.   )  Assembly instructions are then further decoded into the binary instructions that the processor can work with.  All Pc processors to date understand what is known as the x86 instruction set.  Basically this is a set of instructions, like add (add), multiply (mul), etc.  To expand the functionality of x86 processors manufacturers have recently been adding more instructions as a way to speed up a number of often repeated tasks within the computer.  The first example was the "MMX" instructions first added in the original pentium.  The next was AMD's 3d now.  Then came Intel's SSE, and now with the Pentium 4, SSE2.

Even though these special instructions can greatly speed up execution of a program, they are not yet widely used.  Only MMX has really begun to be used in any frequency.  (3d now and SSE1 enhancements are occasionally used now.)  Why, you ask, if these instructions are so great, aren't they added right away?  The simple reason is that to do so would require all the compilers to be updated with newer versions and all computer programmers to be taught how to properly use them.  This takes time and money.  Usually when money is on the line, retraining all your programmers and buying new software and getting no immediate profit boosts results in no real interest from the software companies.  (If people have to buy their products anyway, why should they spend money to make their programs faster?)  Eventually though these instructions do come into use, but that can take several years.

This brings me to the P4.  Intel is agressively touting the P4 as being future ready, largely as a result of SSE 2 intructions.  It is true that if these instructions are used that performance of the P4 gets better.  Intel tried this back in the days of the Pentium 1 with MMX.  (You guys might remember all the ads then touting how you'll now be able to do voice dictation and play your games faster.)  If history repeats itself, and it almost always does, by the time the intructions come into real use the P4 will be long obsolete!  Who really cares if 3 years from now your Quake 3 game gained 5 fps, if there are now newer processors, also using the instructions that are 3 times as fast.  MMX backfired horribly on Intel.  They even went so far as to remove the MMX from the Intel Inside logo for the later p2s and p3s.  As if this wasn't enough, AMDs next processor will also understand the SSE2 intructions.  Basically what I'm saying is that when programmers finally get around to using SSE2 every processor on the market will understand them.

>Please go to part 2<  

------------------
bloom25
-MAW-
(Formerly of the)
THUNDERBIRDS

[This message has been edited by bloom25 (edited 04-28-2001).]