A computer sends several kinds of electronic signals back and forth among its various components. For efficiency, separate paths on the motherboard called buses each carry only one kind of signal; this boosts the computer's speed and simplifies its operation. While PC motherboards have different buses for expansion cards and external devices, all computers have three fundamental buses: Control, Instruction and Address. The whole system operates through these buses.
Computers consist of several main functional units, including the central processor, memory and input/output. The central processor performs basic arithmetic and logic, memory stores programs and data, and input/output routes data to the computer's keyboard, screen and hard drive. These parts communicate with each other. Some computer designs use a single bus shared by all parts. While inexpensive, the system must manage its signals carefully, and some parts wait until others finish communicating and relinquish control of the bus. Multiple buses reduce the waiting time and keep the parts running efficiently. The layout of a computer's buses and parts is called its bus architecture.
The motherboard's control bus manages the activity in the system. The control bus, like the other buses, is simply a set of connections among the parts in the computer. All parts "agree to recognize" that if one connection carries a voltage and the next one does not, it means that the central processor reads from memory. If the connections reverse roles, the processor writes to memory. Other connections deal with the "chunking" of data 8, 16, 32 or 64 bits at a time. Still others determine if data is being shuttled to the central processor from memory or the keyboard. This signaling system prevents data from going to the wrong place.
The data bus acts as a conduit for data from the keyboard, memory and other devices. It passes information at speeds up to billions of characters per second. The central processor reads the data, performs calculations, and moves new data back to memory, the hard drive and other locations. The control bus determines which direction the data is moving.
The computer must be able to access every character of memory rapidly, so every character has its own address number. The central processor specifies which addresses it wants to read or write and the address bus carries this information to a memory controller circuit, which locates and fetches the information. Some locations, called random-access memory, hold program instructions and temporary calculation results. Other locations point to the hard drive, mouse and keyboard. The control bus specifies which of these two sets of addresses become active for a particular memory operation.