Learn about the technologies behind the Internet with The TCP/IP Guide!|
NOTE: Using robot software to mass-download the site degrades the server and is prohibited. See here for more.
Find The PC Guide helpful? Please consider a donation to The PC Guide Tip Jar. Visa/MC/Paypal accepted.
|View over 750 of my fine art photos any time for free at DesktopScenes.com!|
Voltage Levels and Signaling
As explained in this introductory section, PCs are all about information: taking it as input, processing it and producing output. Information is represented within computers using binary, digital logic: ones and zeros. Each binary digit or bit represents one piece of information, where a bit being a "one" means a particular thing, and it being a "zero" means another.
Of course, computers are electronic devices, and as such, they deal in electrical terms. While it is useful for us to think of data bits as being ones and zeros, this is in fact an abstraction. Within the PC's circuits, a one and a zero must be represented in some sort of physical manner. In fact, different components represent bits in totally different ways. On a hard disk, ones and zeros are encoded magnetically; on an optical disk, by a sequence of pits and lands. And within the core operating circuitry of the PC, ones and zeros are represented by voltage levels.
Voltage represents an electrical potential; the ability to do work (see this section on power basics if you want to understand voltage better). Within the PC's circuits, a "one" is generally represented as a positive voltage, while a "zero" is represented as a zero voltage. It doesn't really matter what the positive voltage is, as long as all the circuits agree on what to use, and as long as the positive voltage is sufficiently high that there's virtually no risk of a "one" being seen as a "zero" (or vice-versa). These voltages are used wherever data is being actively manipulated or transferred within the PC.
Data is not static; rather, it is dynamic, changing over time. As your computer works, it executes millions of instructions every second, and all during this time, a coordinated "ballet" of data is flowing around all of the circuits in the computer. Each component works with a number of different pieces of information, that each have a zero or one value at any given time. These are called signals. A signal can be any type of information: it can be data, or address information, or control information, and so on.
The hardware in the PC is designed to operate by looking for particular patterns in the different signals it uses, and then responding to them. For example, a memory chip may recognize a request to read a particular piece of data by looking for a particular value on a control line; when it senses that value, it looks at other signals for the address of the data to be read, and then responds by producing the requested data on a different set of signal lines.
Over time, the value of any signal will vary frequently between one and zero (except for ground and power signals, which are always zero or one, respectively). There are two different ways that a hardware device can respond to a signal:
All signals within the PC have a name associated with them. For example, the third data line in an interface might be called "DATA2" (counting always starts with zero, remember!) For level-activated signals, a special notation is sometimes used. You may find a signal that has a solid line over the top of it, such as this: . Since it's not easy to write that in regular text mode (that's an embedded graphic), you may instead see an approximation, which is the name of the signal preceded or followed by a dash or hyphen: /RESET, RESET/, -RESET or RESET- (or, rarely, something strange like a pound sign, "RESET#"). All of these notations represent a signal whose logic is inverted from the normal sense: the signal is considered "activated" or "true" when it is zero, and off when it is one. So this means that this RESET signal is normally a one; when it drops to zero a reset occurs. Such a signal is said to be active low or low active. Of course, a regular signal is active high or high active. A signal that changes from one to zero and back again very fast is called hyperactive. (OK, OK, I threw in that last one. ;^) )
Some actions within the PC, especially time-critical ones, are easier to have activated based on transitions and not levels. The reason is that transitions are often easier to detect, and more importantly, they happen quickly, which allows for synchronized activity within the PC. Levels are more often used for data and regular control signals, and transitions for clock signals.