CompTIA A_ Certification All-In-One Exam Guide, Seventh Edition - Michael Meyers [67]
Figure 5-16 Extending the EDB
The MCC contains special circuitry so it can grab the contents of any single line of RAM and place that data or command on the external data bus. This in turn enables the CPU to act on that code (Figure 5-17).
Figure 5-17 The MCC grabs a byte of RAM.
Once the MCC is in place to grab any discrete byte of RAM, the CPU needs to be able to tell the MCC which line of code it needs. The CPU therefore gains a second set of wires, called the address bus, with which it can communicate with the MCC. Different CPUs have different numbers of wires (which, you will soon see, is very significant). The 8088 had 20 wires in its address bus (Figure 5-18).
Figure 5-18 Address bus
By turning the address bus wires on and off in different patterns, the CPU tells the MCC which line of RAM it wants at any given moment. Every different pattern of ones and zeros on these 20 wires points to one byte of RAM. There are two big questions here. First, how many different patterns of on-and-off wires can exist with 20 wires? And second, which pattern goes to which row of RAM?
How Many Patterns?
Mathematics can answer the first question. Each wire in the address bus exists in only one of two states: on or off. If the address bus consisted of only one wire, that wire would at any given moment be either on or off. Mathematically, that gives you (pull out your old pre-algebra books) 21 = 2 different combinations. If you have two address bus wires, the address bus wires create 22 = 4 different combinations. If you have 20 wires, you would have 220 (or 1,048,576) combinations. Because each pattern points to one line of code and each line of RAM is one byte, if you know the number of wires in the CPU’s address bus, you know the maximum amount of RAM that a particular CPU can handle.
Because the 8088 had a 20-wire address bus, the most RAM it could handle was 220 or 1,048,576 bytes. The 8088, therefore, had an address space of 1,048,576 bytes. This is not to say that every computer with an 8088 CPU had 1,048,576 bytes of RAM. Far from it! The original IBM PC only had a measly 64 kilobytes, but that was considered plenty back in the Dark Ages of Computing in the early 1980s.
Okay, so you know that the 8088 had 20 address wires and a total address space of 1,048,576 bytes. Although this is accurate, no one uses such an exact term to discuss the address space of the 8088. Instead you say that the 8088 had one megabyte (1 MB) of address space.
What’s a “mega”? Well, let’s get some terminology down. Dealing with computers means constantly dealing with the number of patterns a set of wires can handle. Certain powers of 2 have names used a lot in the computing world. The following list explains this:
1 kilo = 210 = 1,024 (abbreviated as “K”)
1 kilobyte = 1,024 bytes (abbreviated as “KB”)
1 mega = 220 = 1,048,576 (abbreviated as “M”)
1 megabyte = 1,048,576 bytes (abbreviated as “MB”)
1 giga = 230 = 1,073,741,824 (abbreviated as “G”)
1 gigabyte = 1,073,741,824 bytes (abbreviated as “GB”)
1 tera = 240 = 1,099,511,627,776 (abbreviated as “T”)
1 terabyte = 1,099,511,627,776 bytes (abbreviated as “TB”)
1 kilo is not equal to 1,000 (one thousand)
1 mega is not equal to 1,000,000 (one million)
1 giga is not equal to 1,000,000,000 (one billion)
1 tera is not equal to 1,000,000,000,000 (one trillion)
(But they are pretty close!)
Of course, 1 kilo is equal to 1,000 when you talk in terms of the metric system. It also means 1,000 when you talk about the clock speed of a chip, so 1 KHz is equal to 1,000 Hz. When you talk storage capacity, though, the binary numbers