Thursday, September 10, 2009

Address bus

Address bus
From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article does not cite any references or sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (June 2009)
An address bus is a computer bus (a series of lines connecting two or more devices) that is used to specify a physical address. When a processor or DMA-enabled device needs to read or write to a memory location, it specifies that memory location on the address bus (the value to be read or written is sent on the data bus). The width of the address bus determines the amount of memory a system can address. For example, a system with a 32-bit address bus can address 232 (4,294,967,296) bytes, or 4 GB, of memory.

[edit] Implementation
Early processors used a wire for each bit of the address width. For example, a 16-bit address bus had 16 physical wires making up the bus. As the bus becomes wider, this approach becomes less convenient and more expensive to implement. Instead, some modern processors make the address bus faster than the data bus, and send the address in two parts. For example a 32-bit address bus can be implemented by using 16 wires and sending the first half of the memory address, immediately followed by the second half.

[edit] Interesting examples
Accessing an individual byte frequently requires reading or writing the full bus width (a word) at once. In these instances the least significant bits of the address bus may not even be implemented - it is instead the responsibility of the controlling device to isolate the individual byte required from the complete word transmitted. This is the case, for instance, with the VESA Local Bus which lacks the two least significant bits, limiting this bus to aligned 32-bit transfers.
Historically, there were also some examples of computers which were only able to address words.

No comments:

Post a Comment