There is a vast amount of movement of information in a computer system and it is vital that information is retrieved from and sent to the correct locations. To achieve this the microprocessor activates only the one component in the system that it wishes to communicate with. The circuit that performs this function is called an address decoding circuit. Each location is assigned a unique binary address and the microprocessor uses this address when sending or receiving data . (The address of a component is often referred to as its memory location even if the component isn’t actually a computer memory device).
The general principle is illustrated in the diagram below, which shows a 2 bit address bus used to activate four circuits (represented by the rectangles). When a logic zero signal is received on the connection to one of the circuits, it is activated. The truth table for each of the logic circuits shows that there is a unique combination of signals on the address bus for each circuit. i.e. 00 activates circuit 1, 01 activates circuit 2, 10 activates circuit 3 and 11 activates circuit 4. Each of the circuits will commonly contain further sub-systems, however with more address lines and further internal decoding circuits, the same principle can also be applied to select the desired sub-system within each circuit.
From this brief introduction to digital electronics, we have established that we can build circuits to make decisions, to perform arithmetic using binary numbers, to store binary numbers and also to assign unique addresses to each of the components within the system, in order to control the communication between them. These are some of the basic features of any computer system. We will complete this section by considering one more crucial aspect, which is programmability.