|
|
|
|
Address bus
|
| |
|
| |
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 4GiB, of memory.
As of early 2009, most desktop computers are 32-bit.

Discussion
Ask a question about 'Address bus'
Start a new discussion about 'Address bus'
Answer questions from other users
|
Encyclopedia
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 4GiB, of memory.
As of early 2009, most desktop computers are 32-bit. All modern processors are 64-bit, but the operating systems (which must also support 64-bit addresses) most commonly used are 32-bit. Slowly 64-bit operating systems are starting to become mainstream, and these greatly increase the amount of memory that can be addressed by the system. In theory a 64-bit address bus can address 264 memory locations; 16 exabytes, or 17.2 billion gigabytes. In practice current processors (and current versions of Microsoft Windows) are artificially limited to much less than this (typically 48-bits).
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, most modern systems 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.
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 are also examples of computers which were only able to address larger words, such as 36 or 48 bits long.
See also
|
| |
|
|