MadSci Network: Computer Science
Query:

Re: What is a 6 X 86 Computer?

Date: Mon May 4 16:03:18 1998
Posted By: David Ehnebuske, Sr. Technical Staff Member, Software, IBM Corporation
Area of science: Computer Science
ID: 892340450.Cs
Message:

Computer processors are distinguished from one another in a number of different ways. Two common ones that people are interested in are:

  1. The instruction set the processor executes
  2. The speed at which it carries out its work
Let's take each in turn.
 

Instruction Set

The programs a computer runs are composed of instructions and data. For a given program to have any chance of working correctly on a particular computer, the instructions in it must be ones the computer understands. The set of instructions a given computer processor understands is called its instruction set. Different kinds of processors have different instruction sets. Sometimes the instruction sets are completely different in different processors For example, a Power Mac, which contains a Power-PC chip, and an IBM-compatible PC, which contains, say, a Pentium, have completely different instruction sets. That's one of the chief reasons a program written for a Mac won't run on a PC or vice versa.

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.

The Speed of Execution

That two processors have the same instruction set is a good start because it tells you that they can run the same programs (assuming the computers thay are installed in are similar), but it tells you nothing about how quickly they run a given program. It takes a processor time to execute (i.e., carry out) each kind of instruction in its instruction set. How long it takes depends on a number of things, but chiefly on two factors. First, it depends on which instruction in the instruction set you're talking about. Some are harder than others and so take longer. Second, it depends on how much data (if any) the instruction needs that is in the random access memory (RAM) of the computer. It takes quite a long time as these things go to get to data that's in RAM so instructions that don't access RAM go a lot faster than ones that do.

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...

Just For Fun

In looking into this question I asked around for some historical data on the evolution of microprocessors over the last 20 years. Here's some representative data you might find interesting.
 
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.


Current Queue | Current Queue for Computer Science | Computer Science archives

Try the links in the MadSci Library for more information on Computer Science.



MadSci Home | Information | Search | Random Knowledge Generator | MadSci Archives | Mad Library | MAD Labs | MAD FAQs | Ask a ? | Join Us! | Help Support MadSci


MadSci Network, webadmin@www.madsci.org
© 1995-1998. All rights reserved.