
Written and maintained by the PhDino author · Last reviewed 21 September 2026 · Checked against 2 independent reference calculations · how PhDino checks its numbers
How the width of an address bus directly determines how much memory a processor can address.
An address bus is the set of wires a processor uses to specify which memory location it wants to read or write — and since each wire carries one bit, an n-bit address bus can express exactly 2ⁿ distinct addresses. This single relationship is why address bus width is one of the most fundamental architectural limits in computing: it directly caps the maximum memory a system can ever address, regardless of how much physical memory might otherwise be installed.
This exact relationship is why 32-bit systems famously topped out around 4 GB of addressable memory (2³² ≈ 4.29 billion addresses) — a limit baked directly into the address bus width, not into any particular chip or operating system, and precisely why the shift to 64-bit addressing was necessary to meaningfully exceed it.
Addressable locations = 2^(address bus width in bits)
Use this to see how much memory a processor can address from the width of its address bus: with n address bits there are 2ⁿ distinct addresses. Enter the number of address lines and the calculator gives the number of locations and, for a byte-addressable machine, the number of bytes.
It answers questions such as why a 32-bit system tops out at 4 GiB, how much memory an older 24-bit processor could reach, and how many address lines a memory chip of a given size needs. Each extra address bit doubles the reachable memory.
An older processor has a 24-bit address bus and addresses memory one byte at a time. How much memory can it reach?
| You enter | Value |
|---|---|
| Address Bus Width | 24 |
| The calculator returns | Value |
|---|---|
| Addressable Locations | 16,777,216 |
| Addressable Memory (byte-addressable) | 16,777,216 B |
Worked by hand:
A 24-bit address bus reaches 16 MiB. Adding just one more address line would double that to 32 MiB, which is the pattern behind every size step: 16 bits reach 64 KiB, 20 bits 1 MiB, 32 bits 4 GiB, and 40 bits 1 TiB. The calculator's range stops at 40 bits, but the rule is the same at any width.
The address bus width sets the ceiling on the address space, not the amount of memory that is fitted, and not always the amount that is usable. A system can have less RAM than it can address, and part of the space it can address is used for things other than RAM.
33. 8 GiB is 2³³ bytes, so a byte-addressable memory of that size needs 33 address lines. In general, take the base-2 logarithm of the number of bytes.
Because part of its 4 GiB address space is claimed by firmware, graphics memory and other devices that are mapped into the same addresses, leaving less for RAM.
A kilobyte (KB) is 1,000 bytes in the decimal convention, while a kibibyte (KiB) is 1,024 bytes. Memory is addressed in powers of two, so KiB, MiB and GiB describe it exactly.
No. It lets the processor reach more memory but says nothing about speed, which depends on the memory technology, its clock and the data bus width.
Virtual memory Denning, P. J. (1970), ACM Computing Surveys. A clear survey of how the addresses a program uses are mapped onto the memory a machine really has, the idea behind address spaces.
PhDino earns a commission on qualifying purchases made through this link, at no extra cost to you.
Code: The Hidden Language of Computer Hardware and Software by Charles Petzold — Builds from switches and logic gates up to a working computer, one clear step at a time. (Bookshop.org UK, UK delivery only)
→ The full PhDino bookshelf on Bookshop.org (UK delivery only)
