Skip to content
BetterDL

Full address decoding

Also called: full decoding, fully decoded, complete address decoding, partial address decoding, partial decoding

Generating a chip select from every address bit above the chip's own, so each address selects at most one device. Partial decoding skips bits and creates duplicate addresses.

A chip uses its own low address bits internally. Every bit above those decides whether the chip is selected. Full address decoding checks all of them.

Recipe for a chip select:

  1. The chip's size gives its own bits: an 8K chip uses A12–A0.
  2. In a 16-bit system, A15–A13 remain. Write the block's start address in binary to find their pattern.
  3. AND all those bits, primed where the pattern has a 0.

For an 8K chip at 4000₁₆–5FFF₁₆: A15 A14 A13 = 010, so CS = .

Partial decoding uses only some of the high bits. It saves gates, but the ignored bits no longer matter, so the chip answers at several addresses. Each copy is called an alias or mirror. If an 8K ROM at E000₁₆ is selected by alone, A13 is ignored and the ROM also appears at C000₁₆–DFFF₁₆.

Partial decoding is acceptable in a small system if nothing else needs the mirrored addresses. If another device does, both answer at once, and that's bus contention.

A15A14A13A12CS

Worked examples

Example

A fully decoded select

A 1K chip occupies 6C00₁₆–6FFF₁₆ in a 16-bit space.

  1. 1.

    1K = 2¹⁰, so A9–A0 belong to the chip.

  2. 2.

    Remaining: A15–A10. 6C00₁₆ = 0110 1100 0000 0000, so A15–A10 = 011011. (6FFF₁₆ gives the same six bits.)

  3. 3.

    CS = .

Example

Spotting a mirror

The diagram's select, , is for a 4K chip at 7000₁₆. Suppose A12 were left out.

  1. 1.

    CS would be , which is 1 for all of 6000₁₆–7FFF₁₆.

  2. 2.

    The 4K chip only has A11–A0, so 6000₁₆ and 7000₁₆ both reach its location 000.

  3. 3.

    The chip appears twice in the map: at 6000₁₆ and at 7000₁₆.

Common mistakes

  • Leaving out a high bit and assuming nothing changes. Every ignored bit doubles the number of places the chip appears.

  • Including the chip's own bits. The select would then be true for only part of its block.

Practice Full address decoding

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

Learn it step by step

Full address decoding is taught in Memory.