Skip to content
BetterDL

Address space

Also called: addressable space, address-space size, addressable memory

The full set of addresses a processor can produce. k address lines give an address space of 2ᵏ locations, from 0 to 2ᵏ − 1.

A processor with k address lines can put 2ᵏ different addresses on its address bus. That whole set, 0 to 2ᵏ − 1, is its address space.

  • 16 address lines → 64K addresses, 0000₁₆–FFFF₁₆
  • 20 address lines → 1M addresses
  • 32 address lines → 4G addresses

The address space is how much the processor could reach, not how much memory is installed. A 64K space might hold only 32K of RAM and 8K of ROM, with the rest unused. The memory map shows how the space is divided up.

Dividing it is easiest in equal blocks. The top address bits split a 2ᵏ space into blocks: the top 3 bits of a 16-bit space make eight 8K blocks (0000₁₆–1FFF₁₆, 2000₁₆–3FFF₁₆, …). That's exactly what a decoder on those bits does when it drives the chip selects.

In a byte-addressable machine each address is one byte, so a 32-bit address space covers 4 GiB.

0
32768
1
16384
1
8192
0
4096
1
2048
0
1024
1
512
1
256
0
128
0
64
1
32
0
16
0
8
0
4
0
2
0
1

Worked example

Example

Which 8K block?

A 16-bit address space is split into eight 8K blocks, block 0 at 0000₁₆–1FFF₁₆. Which block holds 6B20₁₆?

  1. 1.

    8K = 2¹³, so the top 3 bits (A15–A13) number the blocks.

  2. 2.

    6B20₁₆ = 0110 1011 0010 0000. Top three bits: 011 = 3.

  3. 3.

    Block 3 covers 6000₁₆–7FFF₁₆. ✓

Common mistakes

  • Treating the address space as installed memory. It's the range of possible addresses; parts may be empty.

  • Thinking the address space depends on the word size. It depends only on the number of address lines.

Practice Address space

Interactive questions with instant feedback and a worked solution for every wrong answer.

Learn it step by step

Address space is taught in Memory and Basic CPU / Computer Architecture.