Section 16.1
Types of computer buses

Components of a computer need to communicate values between themselves. Registers must send binary numbers to the adder. Decoders must get the address to be decoded. Memory must both send and receive data. And control signals of various types, issued by the control circuitry whose heart is either a microcode engine or a hardware DFA, flow around the system. Values move around on pathways called buses.

A bus is nothing more than a group of wires that send logical values (1s and 0s) between computer components. Each separate wire in a bus has its own meaning.

The word bus comes from the Latin adjective omnibus, meaning all or everyone. Like their diesel-guzzling counterparts on the streets, computer buses carry all the data from one place to another.

Following are major following of buses in a computer:

  1. internal or local bus -- these are buses that connect internal components of the CPU, such as registers, the ALU and the control unit
  2. external or system bus -- this is a bus outside the CPU that connects it to the memory and various I/O devices. There is often just one of these although mainframes and supercomputers often have 2 or more.
  3. device bus -- this is a bus that connects devices to the main CPU or to each other. A SCSI bus may connect several disk drives together, for example.

Every computer is made up of a hierarchy of buses. There are local buses inside the CPU to move data around the main data path. The CPU connects to the memory and I/O devices via the system bus, and some of the I/O devices themselves connect to other buses. In fact, a network, be it a local area network (LAN) or a wide area network (WAN) is really just a bus. Fig. 16.1.1 shows a hierarchy of buses in a computer system.


Fig. 16.1.1: A computer system with multiple buses