Great Moments in Microprocessor History
An anonymous reader writes "The microprocessor changed the world: how did we get from the first 4-bit models in the 1970s to today's 64-bit multicore monsters? This article covers the history of the micro from the vacuum tube to today's dual-core multithreaded madnes."
Wow, it is pretty amazing how far we have come in CPU technologies. My introduction to computing came in the form of the MOS 6502 chip in my Apple II plus computer with a whopping 64k of RAM and a disk drive ! and a handset modem which I then used to talk to people all over the world. Pretty cool stuff for a twelve year old back in 1982. For my uses at the time however, that CPU speed was plenty and I was not processor bound in any of the tasks I handed it. Later uses however, started pushing the limits of CPU's and my computational (and financial) expenditures increased significantly. I realized that for our uses, the MIPS folks had the right concept going and I ended up buying SGI machines for our work in molecular modeling and statistics at the time, but those systems were soooo expensive. For comparison however, I have kept a standard dataset for years that has become my benchmark of sorts and have run calculations on it with a number of systems I've owned. On my old Indigo and Mac Quadra 840av's and Pentium I systems, this dataset would run for about three days before finishing. Just for kicks, I ran the same calculation on my new G5 and I was astounded to see it finish almost as quickly as I could press the "run" button. The G5 from IBM is truly amazing and I can get this performance in a dual G5 system all for a cost 1/8th of my SGI Octane.
Visit Jonesblog and say hello.
My question is this: Are all of these "Pent"iums still of the "586" generation? If not, which of these were in the same generation? What is the "X86" generation equivilent of the most-recent Pentium IV that we are currently in? Anyone know?
I am guessing lightning rods have been around since people first created metal rods and stood out in fields during lightning storms. The hard part isn't making a lightning rod, but staying alive long enough to claim to be the inventor.
I Am My Own Worst Enemy
Yeah, who could withstand the 1.21 jigowatts?
It appears the server was alive for mere moments before being slashdotted to death. With only 9 comments the site is completely dead.
In the end they will lay their freedom at our feet and say to us, Make us your slaves, but feed us. - Fyodor Dostoyevsky
The Pentium MMX, II and III were just beefed up iterations of the original Pentium (increased bus and clock speeds, smaller and smaller dye sizes, more extensions such as SSE, MMX, etc).
Not true. The jump to the PII was a big one. The Pentium had dual integer execution units, and it was a big deal to manually reorder code in order to keep both units working. The PII was where cycle counting lost all meaning, as it included out of order execution, a huge bank of internal behind-the-scenes registers, register renaming--the works. That was the first of the super-complex modern processors in the x86 family tree.
I'd like to know why you consider the P4 to be the most innovative of the Pentium line since the original?
That article has a great deal of IBM bias, as one might expect. Great Microprocessors of the Past and Present is a much more detailed, comprehensive and informative look at microprocessor history. It deals with some very strange and innovative designs that the IBM article doesn't mention.
Stick Men
There's an excellent book on the subject, small and very readable, called The Chip: How Two Americans Invented the Microchip and Launched a Revolution . I read this last year and found it to be a good story.
quiquid id est, timeo puellas et oscula dantes.
What a great company. Too bad they were late with both the R6000 and the R4000 processors, back-to-back. That pretty much killed them, or drove them into SGI's arms (same thing). Don't know much about v2, but v1 was a damn fine place to work. The buildings on Arques in Sunnyvale also went on to house Crescendo (remember CDDI?), Cisco's first acquisition, and Mosaic/Netscape in it's early time.
"I'd rather be a lightning rod than a seismometer." -Ken Kesey
The jump from the 6502 to the 68000 (a scant four years apart), was a huge one. Ditto for many of the x86 generations. But performance has leveled off quite obviously in the last few years. The difference between a 3GHz P4 and a 3.6GHz P4 is fairly small, as both tend to be memory bound for real-world applications. And at the same time the power consumption for the 3.6GHz has increased more than the performance.
So what's going to be the next big leap for desktops and notebooks? 64-bit processors are here, yes, but all else remaining the same these run *slower* than 32-bit processors, because the cache effects of 64-bit pointers more than offsets the ability to do 64-bit integer math (note that the x86 FPU has been 80-bit since its inception). Dual core is nice...but it's only a win for multithreaded applications or when you're running multiple applications at the same time. Even then, the effect of multiple threads sharing a cache can result in lower performance than many people expect.
Surely someone is going to set the PC world on its ear with a massive performance leap that doesn't require 1000 watt power supplies?
The history of the micro from the vacuum tube to today's dual-core multithreaded madness
Level: Introductory
W. W. Warner (wade1warner@yahoo.com)
Freelance author
22 Dec 2004
At the dawn of the 19th century, Benjamin Franklin's discovery of the principles of electricity were still fairly new, and practical applications of his discoveries were few -- the most notable exception being the lightning rod, which was invented independently by two different people in two different places. Independent contemporaneous (and not so contemporaneous) discovery would remain a recurring theme in electronics.
So it was with the invention of the vacuum tube -- invented by Fleming, who was investigating the Effect named for and discovered by Edison; it was refined four years later by de Forest (but is now rumored to have been invented 20 years prior by Tesla). So it was with the transistor: Shockley, Brattain and Bardeen were awarded the Nobel Prize for turning de Forest's triode into a solid state device -- but they were not awarded a patent, because of 20-year-prior art by Lilienfeld. So it was with the integrated circuit (or IC) for which Jack Kilby was awarded a Nobel Prize, but which was contemporaneously developed by Robert Noyce of Fairchild Semiconductor (who got the patent). And so it was, indeed, with the microprocessor.
Before the flood: The 1960s
Just a scant few years after the first laboratory integrated circuits, Fairchild Semiconductor introduced the first commercially available integrated circuit (although at almost the same time as one from Texas Instruments).
Already at the start of the decade, process that would last until the present day was available: commercial ICs made in the planar process were available from both Fairchild Semiconductor and Texas Instruments by 1961, and TTL (transistor-transistor logic) circuits appeared commercially in 1962. By 1968, CMOS (complementary metal oxide semiconductor) hit the market. There is no doubt but that technology, design, and process were rapidly evolving.
Observing this trend, Fairchild Semiconductor's director of Research & Development Gordon Moore observed in 1965 that the density of elements in ICs was doubling annually, and predicted that the trend would continue for the next ten years. With certain amendments, this came to be known as Moore's Law.
The first ICs contained just a few transistors per wafer; by the dawn of the 1970s, production techniques allowed for thousands of transistors per wafer. It was only a matter of time before someone would use this capacity to put an entire computer on a chip, and several someones, indeed, did just that.
Development explosion: The 1970s
The idea of a computer on a single chip had been described in the literature as far back as 1952 (see Resources), and more articles like this began to appear as the 1970s dawned. Finally, process had caught up to thinking, and the computer on a chip was made possible. The air was electric with the possibility.
Once the feat had been established, the rest of the decade saw a proliferation of companies old and new getting into the semiconductor business, as well as the first personal computers, the first arcade games, and even the first home video game systems -- thus spreading consumer contact with electronics, and
TI didn't make the TRS80, of course. That was Radio Shack.
Slashdot's name? When my compiler sees
Prior to the release of that processor, all Intel compatible CPU's essentially licensed Intel microcode.
The Nx586 was a risc processor that translated Intel instructions into its native format. To this day, this is how all subsequent processors have functioned, including Intel processors starting with the Pentium II. The success of NexGen also spelled the death of the PowerPC breaking into the mainstream. There was no need to limit yourself to CISC's limitations when you could virtualize the whole architecture inside a RISC processor.
In 1994, everyone complained about Intel's oppressive licensing and told us RISC processors would take over the world. Then came NexGen and they were wrong. What's funny is IBM manufactured most of the Nx586 processors...
I don't read or respond to AC posts
My first experience with a "real" CPU was a RCA 1802-based Elf computer I built (from a kit) when I was 13. From the article:
The slow clock speed (and static CMOS design) were actually blessings in disguise. With a simple bit of hardware logic, you could stop the clock, and single-step the CPU at the clock-cycle level. In fact, this was the standard way to debug code on the Elf -- it had only a 16-key hex keyboard and two-digit hex display. Those were the days...
How about when Federico Faggin first powered it up.
try { do() || do_not(); } catch (JediException err) { yoda(err); }
I'd like to know why you consider the P4 to be the most innovative of the Pentium line since the original?
It's because its NetBurst architecture makes for a faster internet browsing experience!
*ducks*
Chronologically speaking, out of order execution was introduced in Pentium Pro and not Pentium II. Unless you count the inclusion of MMX instruction set a revolution, the evolution from P-Pro to PII was not very big.
My life in the land of the rising sun.
8086 was a fairly average 16-bit chip (with the 8088 variant which had an 8-bit external bus being more popular). Also available as a separate chip was the 8087 maths coprocessor (FPU).
80186 was basically an 8086 with a few other bits on die. Quite popular as a microcontroller in the telecommunications arena.
(80)286 was a beefed up 8086 with some added bonuses. I believe support for paged and segmented memory addressing was added in this generation. The coolest thing about the 286 was the chip form factor (like a gold square, with the `pins' along the side). 80287 also avaliable.
386 was the first IA32 chip. Added some horrible extensions to an already fairly horrible architecture. 387 also available. Not to worry though, everyone will be moving to i860 soon...
486 added an FPU on die. Later the 486SX was introduced, without the FPU and an external FPU module was available (which was really just a 486DX which disabled the original CPU when you plugged it in). `Clock doubling' (running the CPU at twice and later three times the clock speed of the mother board was introduced in this generation. Early 486 chips, while slower on paper than the i860, performed significantly faster since it was very hard to generate optimal code for the i860 (remind anyone of the Itanium?) i860s found a home as graphics coprocessors in several workstations, including the high end NeXT Cubes (and if you think current Macs are expensive, this beast - from which modern Macs are a direct descendent - cost around $10,000).
The Pentium was a pipelined superscalar chip. Out-of-order execution was the buzzword of the day. Out-of-order had another meaning for initial versions of this chip - in 1994 a bug in the FPU caused Intel to recall the lot of them in exchange for free replacements at a cost of around half a billion dollars.
The Pentium Pro was a workstation chip. It had support for 2- and 4- way SMP configurations and had the level 2 cache in the same package (but not the same die). The Pentium Pro also added a hack which allowed the OS to address up to 64GB of RAM. Applications can also make use of more than 4GB of address space, but they must use special instructions to do this (standard pointers are still 32-bit). The Pentium Pro was targeted at users of Windows NT, since it did not handle 16-bit code as well as the Pentium (it was faster for pure 32-bit stuff though).
The Pentium MMX was a slightly faster (around 10%) version of the original Pentium, which included a primitive vector unit. MMX was almost as hideous to code for as the rest of IA32, and lacked a number of important features.
The Pentium II was a Pentium Pro with MMX. It came in a slot form-factor, unlike the Pentium Pro (which was a two-die chip). This made it cheaper to produce, since the cache and the core could be tested independently before assembling into a unit. By this stage, no one really cared about performance of 16-bit code.
The Pentium III (or !!! as Intel liked to write it) was a variant of the Pentium II with a newer vector unit (KNI, later known as SSE). These chips `made the Internet faster' and were (allegedly) made by men in psychedelic bunny suits[1]. Later generations moved the level 2 cache on die and came in a socket form factor.
The Pentium IV was a typical Intel project - hugely complicated and full of features that sounded so good on paper. The pipeline is so long that it can have around 200 instructions in-flight at once. This makes a branch prediction failure incredibly expensive. There are some novel features (as well as yet another attempt to produce a useful vector unit), such as the trace cache, which stores decoded micro-ops in non-branching blocks. The long pipeline meant that they could be clocked at insane speeds, unfortunately this did not convey a corresponding performance boost (as AMD and IBM have show).
The Pentium M is a descendent of the Pentium III with a faster external bus and significantly better power management. Clock for clock (and watt for watt) it performs significantly better than the Pentium IV.
[1] A bunny suit is the name given to the whole-body covering worn in clean rooms.
I am TheRaven on Soylent News
I can't believe they didnt mention the evolution of the 68000. It didnt just end at the 68060 (which isnt mentioned either) but evolved into the ColdFire chips and the DragonBall cpu's that were used in Palm PDA's until fairly recently.
-- Senior Software Engineer, Attorney appearance services, locallawyerapp.com.
The 80286 was the first Intel CPU that had support for multitasking. By this, I mean that the processor would prevent programs from overwriting arbritrary memory locations. Plus several useful instructions to help this. And it could access more than 1 Mbyte of RAM (technically the 8086 and 8088 could do this, but only with cludges like EMS memory, which swapped memory into the accessible 1 Mbyte a page at a time, under direct control of the applications).
386 had math emulation.
This is a bit of an understatement, because the 80386 was the first 32-bit CPU from Intel. Also, it had support for running multiple "virtual" 8086 machines - fantastic stuff!
In my mind, the 80386 is when the PC became a "real" computer.
486 was better than 386 ;)
True. The biggest innovation of the 80486, IMHO, was that it included the equivalent of the earlier math co-processors (which cost hundreds of dollars) on the CPU. All of the tricks I'd learned to do integer math became obsolete overnight - and I was glad!
To be fair, the 80486 moved a lot of instructions that had been performed in microcode into hard-wired circuits. The majority of commonly-used instructions were now executed in one CPU cycle. In fact, with the 80486 a lot of earlier specialised instructions became obsolete.
Pentium is basically the 586.
The Pentium is, indeed, the 80586, but Intel was reacting to competitors making cheaper chips that implemented the same instruction set and selling them with the same name. The courts ruled that Intel couldn't trademark a number (486), so all future CPU's have names. Branding!
The Pentium didn't add that much in terms of features, but it did support a kind of super-scalar processing (meaning running more than 1 instruction per CPU cycle), in a very cumbersome and strange way, with one "pipeline" that could execute a limited subset of instructions in parallel with the other, main pipeline. This is the beginning of the end for hand-crafted assembly code as a way of life.
Pentium Pro isn't supposed to be good at multimedia, it's supposed to be a math processor, chunking out numbers like crazy, a lot like todays xeons..
The Pentium Pro was the bomb! Your summary does a huge disservice to this CPU.
The Pentium Pro was, in my mind, a work of genius. The folks at Intel did not ignore the results that the RISC folk were using. Instead they hit upon a way to get (most of) the advantages of RISC and maintain compatibility with the CISC instruction set. They broke the Intel instructions up into RISC-like instructions, and those were executed RISC-style by the processor, and then "retired" one CISC instruction at a time.
As others have mentioned, this allowed out-of-order instructions, multiple execution cores, and all of the goodness that we still rely on today.
Pentium II was the big one. MMX multimedia functions, out of order processing etc ..
The Pentium II was just a Pentium Pro targeted at desktops rather than at servers. A good thing, mind you.
Of course, MMX was added, but in the first MMX instructions only had a very limited set of applications, and MMX had already been present on some of the earlier Pentium models.
Pentium III/IV are leaps and bounds of improvements and innovations from the it's predesessors.
The Pentium III is not a big improvement over the Pentium II, or indeed over the Pentium Pro! The MMX (or rather SSE) was improved again, and gave compiler writers better control over cache behaviour, which did result in impressive gains in certain applications.
The Pentium 4 is the first truly different architecture since the Pentium Pro - and Intel appears to be moving away from it towards the Pentium M-style chips (which are basically the Pentium Pro again, with emphasis on low power). The idea with the Pentium 4 was to have a very, very long pipeline to allow the processor to scale up to ridiculous speeds. It worked! But as Mac fanatics will be happy to tell you, processor performance is more than just high megahertz.
Later Pentium 4's had hyper-threading, which is cool, and indeed a bit of a departure, and will be present on all desktops soon enough. Yay!
These things aren't at all inevitable.
First, the 20 year delay between Lilienfeld and the realization of the transistor should be evidence alone of the fact that something more than "the inevitable" was going on with the transistor. Additional evidence is that the inventors of the transistor did their work against orders from Bell Labs management to stop work. they actually had to hide their work on a roller-cart which they hid in a closet until their management was gone when they would roll it out and continue their work. It could easily have been 20 more years -- or more -- if they hadn't risked their jobs to do what Bell Labs management tried to stop them from doing.
Secondly, all you need to do to observer that "ripe" technological advances are not inevitable is just look at what NASA has done to kill the spirit of enterprise in launch vehicles for the last 30 years or more. You can kill almost any technology by simply creating a government bureaucracy chartered to develop it which continues to get money to "solve" the problem so long as the problem remains unsolved. They'll have billions per year to make sure it never happens -- and when it comes to lowering the price per lb to low earth orbit they have succeeded in that task beyond anyone's wildest expectations.
Seastead this.
Then there are the uncounted numbers of anonymous microcontrollers in just about everything you can think of. How many are in your PC, let alone your entire house and car?
Mea navis aericumbens anguillis abundat
Comment removed based on user account deletion
ObTrivia: One of the earliest attempts to build a supercomputer cluster out of commodity parts used a matrix of over 1024 6502 processors in parallel. As I recall, it didn't get very far, but it was probably the earliest attempt at what would be called a Beowulf-style cluster today.
Personally, I'd like to see some cheapo microprocessor in modern CD and DVD drives. Have the decoding offloaded onto the drive itself. (The Commodore PET did this via the IEEE 488 bus, in the late 1970s, You could copy one disk to another, or print a file from disk, without ever having to use the central processor.)
CPU design is fascinating, as there have been so many potentially amazing designs (such as the T400 Transputer) whose ideas were revoltionary for the time but have slowly been adopted by mainstream manufacturers.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
I've fallen off your lawn, and I can't get up.
This is an excellent article, it's nice to see some processor history that's not dominated/biased by x86 content; good to hear about some of the underdogs and where they are now. These are all the things I wondered about as I looked at processor timelines in the not-so-informative text books through high school and college; every single book hyped Intel as the sole creator of every single processor innovation. The truth is that Intel was very innovative in the beginning, then slowly became fat and MHz-marketing driven, then had a chance to redeem themselves, and learn great lessons from the engineers acquired from the DEC Alpha team, but cranked out the piece of crap Itanic instead.
We do owe Intel for the proliferation of the PC, and the Centrino and Pentium M are good technology, but now they have to copy pages from AMD's book to bring 64 bit to the mainstream, just like they did back with the superscalar Pentium and Pentium Pro. The P4, though competitive, and good enough for most folks, is not so great technology compared to what AMD and the various PowerPC processors have. It's sad how marketing forces drive the industry more than value, speed (not MHz but instructions per clock), and power/thermal advantages. The Celeron derivative of the P4 is udder crap though, the P4's performance is heavily dependent upon lot's of cache, which the Celeron does not have enough of.
grep -iw skynet
A few points and items that people have missed, and a question: - An important feature of the Pentium II was that it had optimizations to run both 16-bit and 32-bit code with reasonable performance (at least according to Intel's marketing at the time). The PPro ran NT great, but was slower than a Pentium running 16 bit. At the time of release, this was still an issue. The MMX thing was at initially perceived as a cool for NT based 3D gaming crowd, but lack of driver support and then the ugly, early days of DirectX sort of killed that idea. - The P-III release was, at the time, something of a farce. There was almost no major core design improvements besides KNI, and clock-speed improvements were modest, at best. There was the whole "Internet Optimized" hype, which I've never heard justified. The most notorious item at the time of the release of the P-III was the addition of the on-chip serial number, which really seemed at the time to be more intended to play big brother and/or to let OS vendor's crack down on piracy than to provide "security" as it was hyped. I suspect if it wasn't for public recoil, that may have been the case. Somone asked about Celerons: Celerons, the 486SX, the 386SX, and also AMD Durons are variations of the same, somewhat despicable marketing concept of taking a processor and crippling it in some way so you can sell it for less without devaluing the rest of your chips. FSB speed, data bus bit size, floating point processor, reduced cache, and hacked down clock rates have all been used. The only time it was justified was with the 486SX where the high failure rate of 486DX chips in floating point unit and/or at higher clock speeds made the 486SX a necessary way of unloading failed chips. Speaking of that concept, I think a bunch of crappy XT clones used the 8088 instead of the 8086 for much of the same reason: the 88 had an 8 bit bus and the 86 had a 16 bit bus. Is that correct? One last thing, as far as what was originally going to be the P7 (by Intel's standards), they released the original P4 as a P6 generation chip to tide over until their 64-bit chip co-developed with HP came into realization. The "786" was supposed to be a 64 bit processor. Which brings up my question: even with 64bit Windows being more or less viable, it seems like Intel's 64 bit push has lost all of its steam, and HP has supposedly dropped out. What happened?
Page 3 of Intel's pdf "The Microarchitecture of the Pentium 4 Processor" has a bar graph (Figure 2) that "shows the relative clock frequency of Intel's last six processor cores." According to Intel's graph, the last six cores are 286, 386, 486, P5, P6, and P4P.
The core that Intel calls "P5" is obviously the Pentium and Pentium MMX. The "P6" core is the Pentium Pro, Pentium II, and Pentium 3. The "P4P" core (Pentium 4 Processor) is the next core after P6.
TO START
PRESS ANY KEY
Where's the 'ANY' key? I see Esk, Kitarl, and Pig-Up...
The Commodore 64 had a 6510 CPU, not a 6502.
The Commodore VIC-20 had a 6502 processor, and while they looked similar on the outside ( of the computer ), they were incredibly different in performance and capability. The 6510 was a BIG step forwards.
Let's face it. CPU's have gotten so fast that they are essentially outrunning almost every other component on the computer itself.
Fortunately, things are getting better. I can cite the following improvements in the last 4-5 years:
1. Faster memory access. System RAM memory speeds has gone from running at 33/66 MHz for many years to today's DDR400 (PC3200) DDR-SDRAM, with even faster speeds coming over the next 18 months or so.
2. Faster graphics cards. With AGP 8x and now PCI Express, graphics cards can process and display highly-complex 3-D graphics that would have been the realm of extremely expensive dedicated workstations just a few years ago.
3. Faster disk access. Thanks to ATA-100/133 IDE, Serial ATA (and soon Serial ATA-II) IDE, and UltraSCSI 160/320 interfaces, not to mention hard drives with 7200 to 10,000 RPM spin speeds and 8-16 MB of hard drive memory cache, you can access data on a hard drive very quickly nowadays. Even optical drives have become quite fast thanks to these interfaces.
4. Better motherboard designs. Motherboard interconnects have gotten quite a bit faster, thanks to much-improved chipset designs and the use of HyperTransport and similar technologies.
5. Faster external data access. 100 mbps 100Base-T Ethernet connections are common on motherboards now, and some motherboards now even have 1000Base-T Gigabit Ethernet connections. External devices that used to connect to the computer through slow serial ports now connect through vastly faster USB and IEEE-1394 ports, fast enough that USB 2.0 and IEEE-1394 connections can support the downloading of video data from digital camcorders!
The 386 finally added the ability for the control program to switch back to real mode. With that it carried a bug that allowed the user to set a segment limit of 4GB while in protected mode and then quickly switch back to real mode, giving the user access to a 4GB address space in real mode (where only a 1MB address space should be available). Many games and demos circa 1992-1993 exploited this "Unreal-mode" feature like Ultima 7 and Zone 66, and were known to be the nastiest, most incompatible programs ever to exist, never getting along with any memory manager or multitasking operating system. If only game programmers had used something sane like DPMI back then!
Yes, it added an 8KB on-chip instruction cache - to the dismay of many legacy programs which used precisely timed tight loops for program timing.LRC, the best-read libertarian site on the web