Microcomputer Hardware - Part I

1.1 Introduction to Microcomputers

Even though electronic digital computers have existed since the 1940's, microcomputers have been around only since the late 1970's. The appearance of microcomputers coincided with the development of large-scale integrated circuits (LSI chips). An integrated circuit is a tiny chip of silicon on which is layered multiple electronic circuits. Figure 1.1 illustrates the size of a common silicon chip.

 chip.gif (45144 bytes)

Figure 1.1 Silicon Chip

A chip like the ones shown in Figure 1.1 can hold thousands of electronic circuits containing millions of individual components. In order to connect wires to the chip so that signals can be sent to and from it, the chip must be mounted in a plastic package containing wire leads. This plastic case is called a dual in-line package, or DIP for short. The name is quite descriptive since a DIP consists of two rows of leads on each side of the plastic case. A DIP is shown in Figure 1.2.

chip-dip.gif (4553 bytes)

Figure 1.2 Chip in a DIP

A typical microcomputer will contain dozens of chips that perform such functions as storing data, routing data, displaying data, and performing arithmetic and logic operations on data. These chips are usually plugged into special sockets like the one shown in Figure 1.3. These

 

chip-socket.gif (7188 bytes)

Figure 1.3 Chip and Socket

sockets are then attached to a large printed circuit board called the motherboard. The motherboard of a microcomputer is shown in Figure 1.4.

motherboard.gif (39909 bytes)

Figure 1.4 Microcomputer Motherboard

In addition to a variety of chips, the motherboard of a microcomputer also contains a series of expansion slots. These are the long sockets shown in the upper-left corner of Figure 1.4. These sockets are designed to hold additional printed circuit boards for such things as video display adapters, serial interfaces, and instrument interfaces.

Although microcomputers from a variety of manufacturers appeared in the 1970’s, it was the introduction of the Personal Computer (PC) from IBM in 1981 that initiated the widespread use of microcomputers in the sciences. The IBM-PC was the first microcomputer from a major vendor to combine the important features of large memory capacity (up to 640,000 characters), rapid processing speed (a 4.77 MHz clock), high resolution graphics, and convenient expansion capabilities. Within months of the introduction of the IBM-PC, other computer manufacturers such as Hewlett-Packard, AT&T, and Zenith introduced copies of the IBM-PC that performed exactly like the model from IBM. These copies were sometimes referred to as clones or compatibles. The acceptance of the IBM-PC architecture by so many different computer companies helped to establish it as an industry standard. This standard, at least in part, is still with us today. We still use the term PC to refer to any microcomputer whose heritage traces back to the original IBM-PC.

 

1.2 Computers are Digital Devices

All data transfer, storage, and processing done by a microcomputer is performed digitally using binary (base two) codes. This binary system translates every character entered in the computer into a set of 1's and 0's. For example, the PC represents the capital letter "C" as 1000011. The advantage of binary coding over other methods is that a sequence of only two possible states is required to represent a character in the electronic circuits of the computer. The binary digit 1 could be represented by a signal level of +5 volts and a binary 0 could be represented by a signal level of 0 volts. Therefore, the smallest piece of information that needs to be stored in memory is a single binary digit. A single binary digit is called a bit (abbreviated with a lowercase b). Different groupings of bits are used to represent different characters or instructions.

A collection of eight bits is called a byte (abbreviated with an uppercase B). One byte can represent any one of 256 characters (28 = 256). The word "hello" would require a total of five bytes of memory – one byte for each character in the word. Since we are primarily concerned with how many characters the memory banks of a computer can hold, memory size is referred to in units of bytes. The memory size of modern computers is typically measured in megabytes (MB). In binary arithmetic, the power of two which is closest to 1,000,000 is 220 (220 = 1,048,576). Therefore, in computer jargon, the prefix "mega" stands for 1,048,576. A similar situation exists for the prefix "kilo". Normally, the prefix "kilo" means 1,000 such as in kilometer (km). When speaking of computer memory, however, the prefix "kilo" means the power of two that is closest to 1,000. This is 210 which is 1,024. Therefore, a computer having 256 kilobytes of memory has the ability to store as many as 262,144 (256 X 1,024 = 262,144). Frequently, the word kilobyte is abbreviated with a capital K. Fortunately, the distinction between the normal use of the terms "kilo" and "mega" and there use in reference to computers is of little importance.

 

1.3 Microcomputer Parts

All microcomputers, regardless of the brand, share a common overall design. This design is illustrated in Figure 1.5. The CPU, shown in the middle of the diagram, is the brain of the computer. CPU stands for central processing unit and it is the chip that contains all the circuitry for performing arithmetic and logic operations and for directing data to and from memory. In a microcomputer, the CPU is contained on a single chip. Minicomputers and mainframe computers have CPU's that occupy several chips.

computer architecture.gif (12445 bytes)

Figure 1.5 Relationship of CPU to Memory and I/O Devices

The CPU chip (sometimes called the microprocessor) in a PC is made by Intel or one of the companies that produces microprocessors that emulate the Intel architecture such as Cyrix and AMD. Intel supplied the CPU for the very first IBM-PC in the form of the Intel 8088 microprocessor. Successive generations of PCs have used Intel processors including the 80286, 80386, 80486, Pentium, and Pentium II. A picture of the Pentium II processor is shown in Figure 1.6.

Pentium II CPU.gif (5227 bytes)

Figure 1.6 Pentium II CPU

All of the Intel CPUs are downwardly compatible with earlier models which means that software written for the original 8088 will still run on the newer Pentium class CPUs. Indeed, Intel has set downward compatibility with the 80x86 instruction set (the instructions used by the CPU to perform arithmetic and logic operations) as a design goal for all of its PC microprocessors. This emphasis on compatibility is one of the reasons why the Intel-based PC has been so popular among business and scientific users.

How rapidly the CPU can process data is partially a function of the internal timing crystal, known as the system clock, that controls the timing of CPU operations. Every operation the CPU performs, whether it is an arithmetic/logic operation or a transfer of data to memory, occurs under the precisely controlled timing of the system clock. The faster the clock "ticks", the faster data can be processed. The clock crystal in the original IBM-PC ran at 4.77 MHz. This seems remarkably slow when compared to today’s CPUs which are approaching clock speeds of 1 GHz (giga = 109).

Early CPUs (8088, 80286, and 80386) could only perform integer arithmetic in hardware and therefore had to rely on software to perform floating point operations and transcendental functions (logarithms and trigonometric functions). Intel introduced FPUs (Floating Point Unit – sometimes called a math coprocessor) for each of these chips which greatly accelerated their performance with math-intensive operations. Later Intel designs incorporate the FPU within the CPU itself. In 1997, Intel introduced the MMX (Matrix Math eXtensions) instruction set into its Pentium line of CPUs. This additional set of instructions accelerates matrix math operations and speeds up audio and video applications.

Another technique for increasing computer performance is the use of a memory cache (usually just called cache – pronounced "cash"). A memory cache is a small amount of very high-speed memory used to temporarily hold blocks of data as they move from the slower main memory area to the CPU. Caching speeds up computer operations by relying on the fact that the next piece of data needed by the CPU is most likely in the block of data already stored in the high-speed memory cache. Intel introduced cache memory as part of the CPU with the 80486 line of microprocessors.

When the CPU performs a calculation, the data for the calculation are held in registers inside the CPU. Each piece of data must be in a register. The size of these registers determines the number of bits that the CPU can manipulate in one operation. This is referred to as the word length of the CPU and is directly related to the processing power of the CPU. The larger the word length of a CPU, the more data it can manipulate during each clock cycle. The original Intel 8088 CPU had a 16-bit word length. The Intel Pentium CPU has a 32-bit word length.

Connecting the CPU to the rest of the computer is the function of the bus. The bus is a set of wires that carries signals from one component of the computer to another. Figure 1.7 shows a portion of the bus on the motherboard of a microcomputer.

bus.gif (22319 bytes)

Figure 1.7 Microcomputer Bus

Strictly speaking, a PC has several buses, all of which operate at different speeds and use different numbers of wires to carry data. These buses are connected to one another through bridges to form a seamless flow of data throughout the computer. The speed with which data can flow through a computer is a function of its bus width measured in bits. For example, a computer with a 32-bit bus (32-bits of information transferred simultaneously) can send data to and from components twice as fast as one with only a 16-bit bus.

The standard bus found in all PCs today is the PCI (Peripheral Component Interconnect) bus. This bus consists of 32-bit and 64-bit sections depending on which CPU it is used with and which components are being connected (e.g. the bus that goes to memory is wider than the bus that goes to disk drives). To remain compatible with older machines, most modern PCs also contain a bus called the ISA (Industry Standard Architecture) bus. This is a 16-bit bus that is compatible with both 8-bit and 16-bit devices. (The original ISA bus that appeared in the 1981 IBM-PC was an 8-bit bus.)

Table 1.1 contains information on all of the major Intel CPU chips used in PCs since 1981. Some of the items described in the preceding sections will make more sense as you compare CPU specification in the table.

Table 1.1 Intel CPUs

Intel CPU

Date

Bench-mark

Register Width (Word)

Bus Width

Clock Rate (MHz)

Transistors (106)

Notes

8088

1979

1.0

16

8

4.77

0.029

1 MB RAM limit
80286

1982

3.1

16

16

8

0.134

16 MB RAM limit
80386DX

1985

15

32

32

16

0.275

4 GB RAM limit
80486DX

1989

54

32

32

25

1.2

8 KB cache & FPU
Pentium

1993

190

32

64

60

3.1

16 KB cache & FPU
Pentium II

1997

570

32

64

233

7.5

64 GB RAM limit, 32 KB cache, FPU, MMX instruction set

As you can see from Table 1.1, the speed, power, and complexity of CPUs has been increasing at a tremendous rate. Gordon Moore, co-founder along with Robert Noyes of Intel, stated in 1965 that the data density of integrated circuits would double every 18 months. This has certainly held true for microprocessors and has turned out to be true for other computer components as well. The statement made by Dr. Moore has become known as Moore’s Law.