If you have ever wondered what the microprocessor in your computer is doing, or if you have ever wondered about the differences between types of microprocessors, then read on. In this article, you will learn how fairly simple digital logic techniques allow a computer to do its job, whether its playing a game or spell checking a document!
Microprocessor Progression: Intel
The first microprocessor to make it into a home computer was the Intel
8080, a complete 8-bit computer on one chip, introduced in 1974. The
first microprocessor to make a real splash in the market was the Intel
8088, introduced in 1979 and incorporated into the IBM PC (which first
appeared around 1982). If you are familiar with the PC market and its
history, you know that the PC market moved from the 8088 to the 80286
to the 80386 to the 80486 to the Pentium to the Pentium II to the
Pentium III to the Pentium 4. All of these microprocessors are made by
Intel and all of them are improvements on the basic design of the 8088.
The Pentium 4 can execute any piece of code that ran on the original
8088, but it does it about 5,000 times faster!
The following table helps you to understand the differences between the different processors that Intel has introduced over the years.

Information about this table:
- The date is the year that the processor was first introduced. Many processors are re-introduced at higher clock speeds for many years after the original release date.
- Transistors is the number of transistors on the chip. You can see that the number of transistors on a single chip has risen steadily over the years.
- Microns is the width, in microns, of the smallest wire on the chip. For comparison, a human hair is 100 microns thick. As the feature size on the chip goes down, the number of transistors rises.
- Clock speed is the maximum rate that the chip can be clocked at. Clock speed will make more sense in the next section.
- Data Width is the width of the ALU. An 8-bit ALU can add/subtract/multiply/etc. two 8-bit numbers, while a 32-bit ALU can manipulate 32-bit numbers. An 8-bit ALU would have to execute four instructions to add two 32-bit numbers, while a 32-bit ALU can do it in one instruction. In many cases, the external data bus is the same width as the ALU, but not always. The 8088 had a 16-bit ALU and an 8-bit bus, while the modern Pentiums fetch data 64 bits at a time for their 32-bit ALUs.
- MIPS stands for "millions of instructions per second" and is a rough measure of the performance of a CPU. Modern CPUs can do so many different things that MIPS ratings lose a lot of their meaning, but you can get a general sense of the relative power of the CPUs from this column.
|
What's a Chip?
A chip is also called an integrated circuit. Generally it is a small, thin piece of silicon onto which the transistors
making up the microprocessor have been etched. A chip might be as large
as an inch on a side and can contain tens of millions of transistors.
Simpler processors might consist of a few thousand transistors etched
onto a chip just a few millimeters square. |
![]() Photo courtesy Intel Corporation Intel Pentium 4 processor |
A microprocessor executes a collection of machine instructions that tell the processor what to do. Based on the instructions, a microprocessor does three basic things:
- Using its ALU (Arithmetic/Logic Unit), a microprocessor can perform mathematical operations like addition, subtraction, multiplication and division. Modern microprocessors contain complete floating point processors that can perform extremely sophisticated operations on large floating point numbers.
- A microprocessor can move data from one memory location to another.
- A microprocessor can make decisions and jump to a new set of instructions based on those decisions.
This is about as simple as a microprocessor gets. This microprocessor has:
- An address bus (that may be 8, 16 or 32 bits wide) that sends an address to memory
- A data bus (that may be 8, 16 or 32 bits wide) that can send data to memory or receive data from memory
- An RD (read) and WR (write) line to tell the memory whether it wants to set or get the addressed location
- A clock line that lets a clock pulse sequence the processor
- A reset line that resets the program counter to zero (or whatever) and restarts execution
Here are the components of this simple microprocessor:
- Registers A, B and C are simply latches made out of flip-flops. (See the section on "edge-triggered latches" in How Boolean Logic Works for details.)
- The address latch is just like registers A, B and C.
- The program counter is a latch with the extra ability to increment by 1 when told to do so, and also to reset to zero when told to do so.
- The ALU could be as simple as an 8-bit adder (see the section on adders in How Boolean Logic Works for details), or it might be able to add, subtract, multiply and divide 8-bit values. Let's assume the latter here.
- The test register is a special latch that can hold values from comparisons performed in the ALU. An ALU can normally compare two numbers and determine if they are equal, if one is greater than the other, etc. The test register can also normally hold a carry bit from the last stage of the adder. It stores these values in flip-flops and then the instruction decoder can use the values to make decisions.
- There are six boxes marked "3-State" in the diagram. These are tri-state buffers. A tri-state buffer can pass a 1, a 0 or it can essentially disconnect its output (imagine a switch that totally disconnects the output line from the wire that the output is heading toward). A tri-state buffer allows multiple outputs to connect to a wire, but only one of them to actually drive a 1 or a 0 onto the line.
- The instruction register and instruction decoder are responsible for controlling all of the other components.
- Tell the A register to latch the value currently on the data bus
- Tell the B register to latch the value currently on the data bus
- Tell the C register to latch the value currently output by the ALU
- Tell the program counter register to latch the value currently on the data bus
- Tell the address register to latch the value currently on the data bus
- Tell the instruction register to latch the value currently on the data bus
- Tell the program counter to increment
- Tell the program counter to reset to zero
- Activate any of the six tri-state buffers (six separate lines)
- Tell the ALU what operation to perform
- Tell the test register to latch the ALU's test bits
- Activate the RD line
- Activate the WR line
![]() ROM chip |
ROM stands for read-only memory. A ROM chip is programmed with a permanent collection of pre-set bytes. The address bus tells the ROM chip which byte to get and place on the data bus. When the RD line changes state, the ROM chip presents the selected byte onto the data bus.
![]() RAM chip |
By the way, nearly all computers contain some amount of ROM (it is possible to create a simple computer that contains no RAM -- many microcontrollers do this by placing a handful of RAM bytes on the processor chip itself -- but generally impossible to create one that contains no ROM). On a PC, the ROM is called the BIOS (Basic Input/Output System). When the microprocessor starts, it begins executing instructions it finds in the BIOS. The BIOS instructions do things like test the hardware in the machine, and then it goes to the hard disk to fetch the boot sector (see How Hard Disks Work for details). This boot sector is another small program, and the BIOS stores it in RAM after reading it off the disk. The microprocessor then begins executing the boot sector's instructions from RAM. The boot sector program will tell the microprocessor to fetch something else from the hard disk into RAM, which the microprocessor then executes, and so on. This is how the microprocessor loads and executes the entire operating system.
Microprocessor Performance and Trends
More transistors also allow for a technology called pipelining. In a pipelined architecture, instruction execution overlaps. So even though it might take five clock cycles to execute each instruction, there can be five instructions in various stages of execution simultaneously. That way it looks like one instruction completes every clock cycle.
Many modern processors have multiple instruction decoders, each with its own pipeline. This allows for multiple instruction streams, which means that more than one instruction can complete during each clock cycle. This technique can be quite complex to implement, so it takes lots of transistors.
Trends
The trend in processor design has primarily been
toward full 32-bit ALUs with fast floating point processors built in
and pipelined execution with multiple instruction streams. The newest
thing in processor design is 64-bit ALUs, and people are expected to
have these processors in their home PCs in the next decade. There has
also been a tendency toward special instructions (like the MMX
instructions) that make certain operations particularly efficient, and
the addition of hardware virtual memory support and L1 caching
on the processor chip. All of these trends push up the transistor
count, leading to the multi-million transistor powerhouses available
today. These processors can execute about one billion instructions per
second!
64-bit Microprocessors
![]() Photo courtesy AMD |
One reason why the world needs 64-bit processors is because of their enlarged address spaces. Thirty-two-bit chips are often constrained to a maximum of 2 GB or 4 GB of RAM access. That sounds like a lot, given that most home computers currently use only 256 MB to 512 MB of RAM. However, a 4-GB limit can be a severe problem for server machines and machines running large databases. And even home machines will start bumping up against the 2 GB or 4 GB limit pretty soon if current trends continue. A 64-bit chip has none of these constraints because a 64-bit RAM address space is essentially infinite for the foreseeable future -- 2^64 bytes of RAM is something on the order of a billion gigabytes of RAM.
With a 64-bit address bus and wide, high-speed data buses on the motherboard, 64-bit machines also offer faster I/O (input/output) speeds to things like hard disk drives and video cards. These features can greatly increase system performance.
Servers can definitely benefit from 64 bits, but what about normal users? Beyond the RAM solution, it is not clear that a 64-bit chip offers "normal users" any real, tangible benefits at the moment. They can process data (very complex data features lots of real numbers) faster. People doing video editing and people doing photographic editing on very large images benefit from this kind of computing power. High-end games will also benefit, once they are re-coded to take advantage of 64-bit features. But the average user who is reading e-mail, browsing the Web and editing Word documents is not really using the processor in that way.
- Questions at Virtual TechDays September 08 Part I - (15/11)
- USB Disk Security: Chặn virus USB ngay từ "vòng gửi xe" - (04/11)
- Dò tìm mật khẩu với Passware Kit Enterprise - (20/09)
- Logitech G15 Gaming Keyboard - (30/08)
- 7 điều thú vị về Windows 7 - (27/08)
- Microsoft Urlscan Filter v3.0 - (22/08)
- Visual Studio 2008 SDK Version 1.1 - (22/08)
- Tạo bản quyền trong MS Word - (12/08)
- Điều gì làm nên sức mạnh của ngành phần mềm Ấn Độ? - (25/07)
- Laptop mini HP 2133 Mini-Note - (21/07)









