MadSci Network: Computer Science |
Computer processors are distinguished from one another in a number of different ways. Two common ones that people are interested in are:
Sometimes, the instruction sets of two different processor chips are related to one another. The Intel family of processors is such a case. The first IBM PC in 1981 had an Intel 8088 chip in it. Later, in 1983, the IBM PC-AT had an Intel 80286 chip in it. The instruction set of the 80286 contained all of the instructions from the 8088 along with some new ones. This was done deliberately so that the PC-AT would be able to run all the programs that ran on the original IBM PC. This same "upward compatibility" continued with each of the generations of Intel family processors and is still true for the Pentium II processor.
The instruction set of this family of Intel processors is quite well known (it has to be or people couldn't write programs that use it) and so, using this knowledge, other manufacturers have built processors with the same instruction set. Processors that have the same instruction set as one of the Intel processors used in the IBM-compatible PCs are generically referred to as 8x86 processors no matter who makes them. Generally a processor that claims to be a member of the 8x86 family really is and so can run the same programs the others can. At least at some speed.
In any case, the time it takes to execute an instruction is measured in cycles witch is a count of the average number of "clock ticks" it takes to execute a given instruction. The speed at which the clock ticks in a given computer is the "MegaHertz rating" you see in the ads for computers. For example, a 300MHz PC's clock ticks 3,000,000 times each second. If a certain instruction takes 2.3 cycles to execute on average, the computer can execute 3,000,000 / 2.3 = 1,304,000 of them per second.
So, if two computers have the same clock rate and the same instruction set, they run at the same speed, right? Well, no, not necessarily. The most important reasons are two. First, the number of cycles it takes to execute a given instruction depends on the internal design of the chip. Different chip designs take different numbers of clock cycles to execute their various instructions. Chip design "A" might take fewer cycles to add two numbers than chip design "B", but "B" might beat "A" at doing, say, division. Second, access to memory is a big deal -- it typically takes many cycles. There are many "tricks" the processor designers employ to cut down on this, and different chip designs can vary widely in this, particular from generation to generation. For example a 486-class design uses many more tricks in this area than a 286-class design.
But it's worse than this because it turns out the even identical chips running at the same clock rate but installed in two different computers will run at different speeds. This chief reason for this is access to RAM. There are lots of circuits between the processor and the RAM which can vary in speed and even the RAM itself varies in its speed.
Also, the apparent speed of two computers can differ quite a bit depending on what program they are running. Suppose we built two computers that are identical except that one has processor design "A" from the example above in it and the other one has "B". Suppose we write a test program and see how long it take the computers to run it. If the test does a lot of adds, "A" will win. If the program does a bunch of divides, "B" will. So it all depends.
Nevertheless, competition being what it is, the effect on speed of different designs are usually relatively modest (generally quite a bit less than a factor of two) for most scenarios. So higher MegaHertz is faster. Usually. Which is why that's what you see advertised. Also the clock speed has increased dramatically over the years (see below) and big changes in clock speed almost always indicate big changes in processor performance.
The bottom line is that, no matter whose chip is in it, a widely available 300MHz PC is certainly faster than a widely available 150MHz PC for almost any purpose your can think of. And it's probably a lot faster for most "real world" applications. But the only way to tell for sure is to run the program of interst, the "benchmark", on the two and see. I say "widely available" because it's possible to construct a 300MHz and a 150MHz PC for which this is not true, but I bet neither would sell very well...
Year Introduced | Manufacturer | Chip | Transistors/chip |
1979 | Intel | 8086 | 30,000 |
1981 | Motorola | 68000 | 60,000 |
1984 | Intel | 80286 | 140,000 |
1984 | Motorola | 68020 | 200,000 |
1986 | Intel | 80386 | 300,000 |
1989 | Intel | 80486 | 1,200,000 |
1993 | Intel | P5 pentium | 3,000,000 |
1994 | DEC | Alpha 21164 | 10,000,000 |
1995 | Intel | P6 Pentium II | 6,000,000 |
The Intel processors are all from the 8x86 family. The others have various different instruction sets and are not compatible with the 8x86 family. Since the instruction set of the family is basically the same (the biggest change was the MMX extensions between the P5 and P6), what are all the transistors being used for? The answer, basically, is to cut the average number of cycles that it takes to execute an instruction. This makes the chips run faster per cycle. So, for example, a 60MHz '486 would be faster than a 60MHz '386.
As the number of transistors in the processors grew over time, so did the other capabilities of the typical PC. Here's some data from a representative manufacturer (the guys I work for) to give you some idea of how those parts changed over time. Other manufacturers stories would be similar yet different.
1981 IBM PC
Intel 8088 Microprocessor,
5MHz (actually 4.77MHz)
;
8-bit data bus, 16-bit internal arithmetic
;
20-bit address, 1MB addressability
Optional 8087 math
coprocessor
;
Shared instruction stream with 8088
;
Executed floating point instructions
Memory on planar 16KB --
64KB (used 16Kb chips)
;
Memory expansion card 64KB
All I/O expansion beyond
keyboard done through bus
Total 5 bus expansion slots
I/O Expansion bus -- 8-bit
ISA (industry standard architecture)
;
8-bit data, 20-bit address
;
(Bus actually a derivation of System/23 DataMaster bus, which
;
used an Intel 8085 microprocessor)
1983 IBM PC XT
8088 microprocessor (same
as PC)
Optional 8087 math
coprocessor
Memory on planar 64KB --
256KB (used 64Kb chips)
All I/O expansion done
through
bus
Total 8 bus expansion slots
;
Machine shipped with serial adapter in slot 8
Same I/O expansion bus
1983 IBM PCjr
(A branch of the family
tree that died out, but
;
interesting anyway)
8088 microprocessor (same
as PC)
Memory on planar 64KB (used
64Kb chips)
;
Single memory expansion slot for add'l 64KB
Video integrated on planar
3 dedicated slots within
machine for expansion
;
Memory expansion
;
Diskette adapter
;
1200 bps modem
Additional expansion done
though "side-car" modules
;
Electrically an 8-bit ISA bus
1984 IBM PC AT
Intel 80286 Microprocessor,
originally 6MHz
;
Later versions 8MHz and up
;
16-bit data bus, 16-bit internal arithmetic
;
24-bit address bus, 16MB addressability
;
Segmented address model
;
Protected mode operation in addition to 8086 mode
Optional 80287 math
coprocessor
Memory on planar 256KB --
1MB (used 256Kb chips)
;
Memory expansion card 512KB or 1MB
All I/O expansion beyond
keyboard done through bus
Total 8 bus expansion slots
;
2 slots 8-bit only
I/O Expansion bus -- 16-bit
ISA (industry standard architecture)
;
First introduction of what would be universally called ISA
;
16-bit data, 24-bit address
;
7 DMA channels, 15 interrupt levels
1987 IBM PS/2
Family of products that
expanded over the next five years
I'll mention only the
significant
things
PS/2 Family
Family of compatible
computers
;
Primary differences related to size and expansion
;
Desktop units with 3 to 5 expansion slots
;
Deskside units with 5 to 8 expansion slots
Integration of substantial
I/O function on the planar
;
Video (VGA intro'd in 1987)
;
Diskette & Hard Disk
;
Serial and Parallel port(s)
Memory sizes generally 1MB
or 2MB expandable to 6-8MB
;
Used 1Mb chips
Models 50 and higher (30
& 40 had an ISA bus)
MicroChannel I/O bus
;
Architected for 8-bit, 16-bit and 32-bit data bus
;
All PS/2 had either 16-bit (286, 386SX machines)
;
or 32-bit data (386 and 486)
;
32-bit address
;
Programmable Option Select (POS) -- first instance of
;
Plug and Play capability
Models 70 & 80 (and
others
later)
Intel 80386 Microprocessor,
originally 16MHz, later higher
;
32-bit data, internal 32-bit arithmetic
;
32-bit address, 4GB addressability
;
Protect mode, 8086 mode and new Virtual 8086 mode
;
Added fixed block paging for virtual memory
Optional 80387 math
coprocessor
1990 IBM PS/2
Model 70 486
Intel i486 Microprocessor,
originally 25MHz, later faster
;
Integration of 80386 processor, 80387 math coprocessor
;
and 8KB data/instruction cache
First processor card upgrade
(386 -> 486)
Models 90 & 95
Designed with separate,
interchangable processor card
;
Allowed for 386, 486 and later Pentium in same system
1994 IBM PC
Pentium (tm) Microprocessor,
originally 60MHz, later faster
;
64-bit data, 32-bit internal arithmetic
;
32-bit address, 4GB addressability
;
Internal math coprocessor
PCI Bus
;
32-bit data, 32-bit address
;
33MHz clock -- 133MB/sec max transfer rate
;
Devices are self-identifying for Plug&Play
Memory -- typical systems
have 4-8MB of memory
;
Use 4Mb chips
;
Introduction of North bridge/South bridge architecture
;
North bridge converts processor local bus to
; &n
bsp;
PCI and memory controller
;
South bridge converts PCI to ISA and other
; &n
bsp;
I/O devices contained in SuperIO chip
1997 IBM PC
Pentium II Microprocessor,
originally 200MHz, later higher
;
64-bit data, 32-bit internal arithmetic
;
36-bit addressing, 64GB addressability
;
Internal math coprocessor
;
MMX (MultiMedia eXtensions) instructions
;
Use floating point registers for parallel
; &n
bsp;
integer operations optimized for matrix
; &n
bsp;
operations common in audio/video conversions
Memory -- typical systems
have 16-32MB of memory
;
Use 16Mb chips
Universal Serial Bus
introduced
as low speed I/O connection
;
12Mbps, intended for desktop peripherals -- mouse, KB,
;
joystick, speakers, phone, printers...
Hope this is useful to you.
Try the links in the MadSci Library for more information on Computer Science.