ROM Addressing for 4096 Bytes: Chip Count, Address Lines, and Common Addresses

ROM Addressing for 4096 Bytes: Chip Count, Address Lines, and Common Addresses

Verified Sources
Nov 4, 2026

To answer the questions, we rely on standard memory organization relationships:

  • Address line count determines how many distinct locations a memory can address: 2A2^{A} locations for AA address lines.
  • ROM organization relates capacity (in bytes) to addressable locations and word size.
  • When multiple ROM chips are used to reach a larger total capacity, the chips typically share the same Address bus for the portion of the address that selects a location within each chip; the overall selection is done using Chip select.

We’ll assume the usual classroom-style premise for this type of problem: each ROM chip has a fixed capacity of 1024 bytes (i.e., 2102^{10} bytes). Then producing 4096 bytes requires a straightforward scaling by powers of two.

Footnotes

  1. "Address lines — Wikipedia" https://en.wikipedia.org/wiki/Address_lines - Explains that 2n2^n addresses correspond to nn address lines. ↩

  2. "Memory organization — Wikipedia" https://en.wikipedia.org/wiki/Memory_addressing - Covers relationships between memory capacity, addressing, and addressable units (bytes/words) and how address selection works. ↩

  3. "Chip select — Wikipedia" https://en.wikipedia.org/wiki/Chip_select - Describes chip-select control enabling devices in memory systems and typical decoding behavior. ↩

Memory Addressing: Address Lines and Capacity (Binary Basics)

Key formula set

  1. Total addressable locations:

    locations=2A\text{locations} = 2^{A}

    where AA is the number of address lines.

  2. If each address corresponds to 1 byte (byte-addressable memory), then:

    bytes=2A\text{bytes} = 2^{A}

    This is the common assumption for problems phrased “bytes” with “address lines.”

  3. If each ROM chip holds CC bytes, and you need TT bytes, then the number of chips is:

    N=TCN = \frac{T}{C}

    (assuming chips are used in a capacity-extension arrangement with decoding).

Footnotes

  1. "Address lines — Wikipedia" https://en.wikipedia.org/wiki/Address_lines - Explains that 2n2^n addresses correspond to nn address lines. ↩

  2. "Memory organization — Wikipedia" https://en.wikipedia.org/wiki/Memory_addressing - Covers relationships between memory capacity, addressing, and addressable units (bytes/words) and how address selection works. ↩

  3. "Chip select — Wikipedia" https://en.wikipedia.org/wiki/Chip_select - Describes chip-select control enabling devices in memory systems and typical decoding behavior. ↩

Compute how many ROM chips are required for 4096 bytes

  1. 1
    Step 1

    Assume each ROM chip is 1024 bytes. (A standard ROM capacity used in such problems is 1024=2101024=2^{10} bytes.)

  2. 2
    Step 2

    Total needed is 4096 bytes. So N=4096/1024=4N=4096/1024=4 ROM chips.

  3. 3
    Step 3

    You need 4 ROM chips to produce 4096 bytes.

Compute the number of address lines needed to access 4096 bytes

  1. 1
    Step 1

    For byte addressing, 4096=2124096=2^{12}, so the required address line count is A=12A=12.

  2. 2
    Step 2

    Because 212=40962^{12}=4096, 12 address lines uniquely select every byte location in the 4096-byte memory.

  3. 3
    Step 3

    You need 12 address lines to access all 4096 bytes.

Compute how many addresses are common to all chips

  1. 1
    Step 1

    All chips receive the same address bus lines for the within-chip address portion, while chip select determines which chip is actually enabled.

  2. 2
    Step 2

    Each chip is 1024 bytes = 2102^{10} locations, so it uses 10 address lines to select a location inside that chip.

  3. 3
    Step 3

    Across 4 chips, the within-chip address combinations are the same set of 210=10242^{10}=1024 address values that each chip could be enabled for (only one chip is actually enabled at a time in a typical decoded system).

  4. 4
    Step 4

    The number of addresses that are common in the sense of 'same within-chip offsets' across all chips is 1024.

Final numeric answers

  • ROM chips required: 44
  • Address lines required to access 4096 bytes: 1212
  • Addresses common to all these chips (within-chip offsets): 10241024

We can also show how the 12 address lines split:

  • Let the 12-bit CPU/overall address be [A11…A0][A_{11}\dots A_0].
  • Use the lower 10 bits [A9…A0][A_9\dots A_0] to select a byte within each 1024-byte ROM chip.
  • Use the upper 2 bits [A11…A10][A_{11}\dots A_{10}] to decode which of the 4 chips is selected using chip-select lines.

keyword Within-chip offset is common across chips.

Address line split for 4096-byte memory made from 4×1024-byte ROM chips

Overall 12 address lines are partitioned into within-chip selection (10) and chip selection (2).

Rule of thumb

"For byte-addressed memory with capacity 2A2^{A} bytes, you need exactly AA address lines. This is the fastest way to get the address-line count." 2

Footnotes

  1. "Address lines — Wikipedia" https://en.wikipedia.org/wiki/Address_lines - Explains that 2n2^n addresses correspond to nn address lines. ↩

  2. "Memory organization — Wikipedia" https://en.wikipedia.org/wiki/Memory_addressing - Covers relationships between memory capacity, addressing, and addressable units (bytes/words) and how address selection works. ↩

Common mistake

"“Common addresses” does NOT mean the overall system has 1024 identical byte addresses. In a properly decoded system, each overall address maps to exactly one chip. The 1024 value is the number of within-chip offsets that are common to all chips (the same offset set 0..10230..1023)."

Footnotes

  1. "Chip select — Wikipedia" https://en.wikipedia.org/wiki/Chip_select - Describes chip-select control enabling devices in memory systems and typical decoding behavior. ↩

Concept checks

ROM Addressing Flashcards

1 / 4
Question · Term

If a memory has A address lines and is byte-addressable, how many bytes can it address?

Click to reveal
Answer · Definition

It can address 2A2^{A} locations (bytes).

Knowledge Check

Question 1 of 4
Q1Single choice

You have ROM chips of 1024 bytes each. How many chips are required to get 4096 bytes?