What is an address bus ? : What does the Address do?
In Computer Architecture, a BUS is defined as a system that transfers data between hardware components of a computer or two separate computers. It is a set of parallel wires connecting two or more components of
In the diagram above we have a simple diagram of a computer system, and you can see the address bus. The Address bus will carry the data that specifies the address of a memory location, to either write to that location, or to read from that location.
Notice that there is a one-way connection from the processor to the address bus and a one-way connection from the address bus to the main memory, or the I/O devices. The Address bus is a one direction bus (Unidirectional), which allows the processor (CPU) to get access to addressable units such as a memory location, or an I/O controller or device
The above figure summarises the function of the Data and Control Busses, and the Address bus signals. but by way of correction, the Address bus is UNI-directional which is one way, where as OMNI-directional is all directions, which the address bus is not! Sorry about that!
In the above figure, we see an example of an early microprocessor that was used for the BBC computer. The Processor is a 6502 with a 16 bit address bus, allowing for a 64 kilobytes of memory. You will see that the processor has 16 address lines A0 – A15, giving 65,536 memory locations.
The Address bus has a role in the the retrieval of data from a memory location by the CPU. The CPU will send the address of the memory location of the data required on the address bus. The data in that memory location will then be sent back via the data bus, and will be received by the CPU for processing.
The width of the address bus refers to its number of parallel lines. It determines the number of bits that can be used to form an address of a memory location. It is typically a multiple of a byte (e.g. 8, 16, 32, or 64 bits). See above figure.
If the width of the address bus is 8 bits, then there are 2, to the power 8 or 256 numbers that can be used to address memory locations.
If the width of the address bus is 16 bits, then there are 2, to the power 16 or 65,536 numbers that can be used to address memory locations.
The Figure above shows us how much memory can be accessed by an address bus with only 20 lines, giving us 1MB of addressable memory! Not much in this day and age!
As a rule, the width of the address bus determines the maximum number of addressable memory locations, i.e. the maximum memory capacity of a computer system. This is called the address space and it can affect processor performance (CPU Performance).
The table above shows how the size of the address bus will determine the amount of addressable memory a computer can have. For example, the earlier processors with a bus size of 20 could only have 1 megabyte of memory (I remember having a Sinclair Spectrum with 48K of memory!!). Later Pentium processors expanded their address bus size to cater for the demand for more memory in computers, so that more sophisticated operating systems software and applications software could be run.