Microprocessor Evolution: Dream or Reality?by Anand Lal Shimpi on November 22, 1997 7:59 AM EST
- Posted in
On November 15, 1971, a group of three engineers revealed the World's first Microprocessor, the Intel 4004TM. While this processor could only be used for simple mathematics calculations, and while it was no more powerful than a simple hand held calculator, the 4004 was the beginning of an industry that now dominates our media time, our air-waves, and our Internet bandwidth.
Since that memorable day in 1971 the microprocessor has come a long way, separated by 12 - 24 month intervals after which a new generation was added to the line, each more powerful, more productive, and naturally, more expensive than its predecessor. A series of small enhancements and improvements were made to the 4004 to make it more useful of a microprocessor, however it wasn't until the 8086 and the 8088 that the microprocessor became a product for the masses. After the huge introduction of the 8086/8088 Intel didn't really release a processor that provided any huge improvement over the 808x line until approximately 7 years later, in 1985.
Intel proposed a dramatic change in the architecture of their processors in 1985, they proposed a change that would double the width of the Processor's Bus Interface, a change that would also provide users with the ability to address 250 times as much memory as they previously could, and this very change would lay another layer of solid rock on the foundation of what became today's high speed microprocessor market...this new processor was Intel's very first 32-bit processor, the Intel 386TM DX. No processor since then has made an impact even remotely as great as that of the 386 DX, primarily because we are still living in a 32-bit world, regardless of what fractional part of our entire system makes use of a 64-bit Data Bus. Some speculate that the next major jump will occur in late 1999, or early in the year 2000 when Intel unveils their Merced processor which will make use of Intel's IA64 [64bit] Microprocessor Architecture, very similar to that of the DEC Alpha in most respects however according to sources at Intel the processor will make use of a new type of Instruction Set (consider the Instruction Set of a processor its "language") never seen before, dubbed EPIC (Explicitly Parallel Instruction Computing). Whether the release of the Merced will achieve this predicted affect is up to your own speculation, however what is important now is to reflect upon how far the architecture of our x86 processors has evolved in the past 2 - 3 years...if it has at all.
Leveling the playing field
What makes a Pentium MMX different from a Pentium II? How about from a K6? A 6x86MX? Well, the microprocessor giants, Intel, AMD, and Cyrix respectively, have all taken measures to make sure that you, as a user, can't really compare the "core" (or internal electronics) of their processors to each other. Intel's Pentium II is supposedly a much more advanced microprocessor than its predecessor, the Pentium MMX...however how do we know this for sure? The slowest Pentium II runs at 233MHz, with the most common chips ranging in speed from 266 to 333MHz, while the slowest desktop Pentium MMX runs at 166MHz, with the most common chips clocking in at 200 - 233MHz. Comparing a Pentium II - 300 to a Pentium MMX 233 won't really accomplish much, even comparing a Pentium II - 233 to a Pentium MMX 233 won't do much either since the Pentium II's Level 2 Cache operates at 1/2 the clock speed where as the Pentium MMX 233's Level 2 Cache operates at 66MHz. A nice little predicament we have here, we have 4 different processors, but no way to know for sure which is the most advanced...or do we?
Have you ever wondered if Intel's Slot-1 architecture used by the Pentium II is really necessary? Is the Socket-7 market really dead...or are we experiencing the calm eye of the storm? Could the Pentium II last a second without its precious high speed L2 cache? Is AMD's K6 as advanced as the folks down in Texas boast it to be? ...and truthfully, how bad is the FPU of the Cyrix 6x86MX? Let's start answering some of these questions shall we?
Setting up the Pins
Comparing Socket-7 processors to each other isn't all that difficult since they all operate on the same bus, using the same interface architecture...throwing in a Slot-1 processor into the comparison, such as the Pentium II, complicates things. How does one bridge the gap between the worlds of Intel's 7th Socket and their first Slot?
Well, take a look at it this way, the Socket-7 processors have anywhere from 32KB - 64KB of Level 1 Cache, operating at clock speed. Meaning if you have a 200MHz Socket-7 processor (i.e. AMD K6-200) its Level 1 Cache, which is essentially high speed memory located on the processor, will run at 200MHz. Slot-1 processors, the only one at this point being the Pentium II, currently have 32KB of Level 1 Cache that also operates at clock speed. This leaves us with a very small gap to bridge, and if it were that easy this article would've never been written...however it isn't that easy.
The Level 2 Cache on a Socket-7 system runs on an external bus and isn't located on the processor, the speed of this external bus is called the memory bus speed, and is commonly known as the bus speed of a system. So if you have a normally clocked 200MHz Socket-7 processor, its L2 cache will run at a 66.6 MHz bus speed provided you are using a 3.0x clock multiplier. The memory bus speed, when multiplied by the clock multiplier yields the actual clock speed of the processor and in turn the actual clock speed of the L1 cache (66.6 MHz x 3.0 = 200MHz). However, the Level 2 Cache on a Slot-1 system runs on an independent bus which is located on the processor's cartridge, this independent bus was designed, according to Intel, in order to allow for a high speed L2 cache which operates at 1/2 the speed of your CPU. In this case, if you have a 200MHz Slot-1 processor, its L2 cache will run at 1/2 the clock speed, which would be a clock speed of 100MHz, a clock speed 50% greater than that of an equivalently clocked Socket-7 system. This is where the problem lies...keep that in mind as we explore another possibility.
You may be wondering why Intel didn't chose to run all the cache, L1 and L2, at the clock speed of the processor. Intel did try this, with the Pentium Pro (Socket-8), however by placing their own L2 cache on the chip Intel did two things: Intel managed to cut out the cache memory manufacturers from the equation since the L2 cache would be integrated into the processor, and for the most part that cache came directly from Intel and no where else. Intel also managed to increase the costs of producing a processor by an enormous amount, not only did they have to factor in the cost of the expensive L2 cache, but they also had to be more careful with the production of their processors. If a processor failed its quality assurance tests the entire processor had to be thrown away, INCLUDING the expensive L2 cache. Those two reasons combined lead to the outrageous prices of the Pentium Pro, they also lead to the fairly unsuccessful Socket-8 market...Intel needed a solution to this problem as well as another one they faced...the competition [AMD & Cyrix] were quickly gaining on them in the Socket-7 market, mainly because anyone could make a Socket-7 processor...so Intel needed an architecture that would keep the competition from having a chance as well as an architecture that would allow them to place their L2 cache off the processor without sacrificing much performance.
We're back to step 1, we have two different architectures, with the main difference being the placement and the speed of the L2 cache, and we have no way to bridge the gap between them...or do we?
Knocking them down
Comparing Socket-7 processors to each other isn't all that difficult since they all operate on the same bus, using the same interface architecture...throwing in a Slot-1 processor into the comparison, such as the Pentium II, complicates
Take any Socket-7 processor, regardless of its rated clock speed, run it at an external bus frequency of 83.3MHz (if you've ever wondered what the term Megahertz meant, 1 MHz is just 1 million cycles per second) and use a 2.0x clock multiplier. By doing that you obtain a system whose processor runs at a 166MHz clock speed, whose L1 cache runs at 166MHz, whose memory bus runs at 83.3MHz, and whose L2 cache runs at 83.3MHz. Now take a Pentium II, or Slot-1 processor, regardless of its rated clock speed, run it at a bus frequency of 83.3MHz and use a 2.0x clock multiplier. In this case you have a system whose processor/L1 cache runs at 166MHz, whose memory bus runs at 83.3MHz...and since the speed of the L2 cache on a Pentium II is derived by halving the speed of the actual processor, the system's L2 cache will also run at 83.3MHz. That way we have isolated quite a few variables in the attempt to level the playing field and we have essentially bridged the gap between the Slot-1 and Socket-7 worlds.
You may believe that in order for a fair comparison one would have to disable the L1 cache on all the processors, however doing so is penalizing a processor for being "itself," the way its manufacturer intended it to be. For example, the Pentium II mutates from a hideously fast daemon to a mere tortoise when you take away its precious L1 cache, to put it into perspective, imagine running Win95 on a 286..it isn't pretty, try running it on a Pentium II without L1 cache...the scene isn't all that different. So none of the processors were penalized for any enhancements that happened to be included in the physical die of the chip (the actual chip, not any additional enhancements made outside of the chip's packaging) since you can't order a 6x86MX with only 32KB of L1 cache and you can't order a Pentium II with 64KB of L2 (not yet at least), the L1 cache is part of the processor so it would be unfair to disable it. Now let's get to the testing...
Here's how the tests were conducted, each processor was run at 83.3MHz x 2.0 for a resulting clock speed of 166MHz. The only variable introduced in the tests was, naturally, the motherboard since you can't use a Socket-7 processor in a Slot-1 motherboard and vise versa. The breakdown of how each individual processor was benchmarked is as follows:
|AMD K6||Cyrix 6x86MX||Intel Pentium MMX||Intel Pentium II "Deschutes" MMX||Intel Pentium II - MMX|
|L1 Cache (size)||64KB||64KB||32KB||32KB||32KB|
|L1 Cache (speed)||166MHz||166MHz||166MHz||166MHz||166MHz|
|L2 Cache (size)||512KB||512KB||512KB||512KB||512KB|
|L2 Cache (speed)||83.3MHz||83.3MHz||83.3MHz||83.3MHz||83.3MHz|
|External System RAM||64MB SDRAM||64MB SDRAM||64MB SDRAM||64MB SDRAM||64MB SDRAM|
|External Bus Clock||83.3MHz||83.3MHz||83.3MHz||83.3MHz||83.3MHz|
|Motherboard||AOpen AX5T||AOpen AX5T||AOpen AX5T||AOpen AX6L||AOpen AX6L|
|Chipset||Intel 430TX||Intel 430TX||Intel 430TX||Intel 440LX||Intel 440LX|
Each processor was benchmarked using Ziff-Davis Publications' Winstone 97, each test was run a total of 3 times and an average of the three scores was taken and recorded as the final score. Each test system used 2 x 32MB Advanced Megatrends SDRAM DIMMs, a 1.6GB Western Digital EIDE HDD, a Matrox Millennium II (PCI) Video Card, and the latest drivers for all of the devices installed in the test system. None of the processors failed the tests so without further adieu here are the results: