Back to the 2017 paper

Module 4: Memory Organization

201714m

How many ROM chips are required to produce a memory capacity of 4096 bytes? How many address lines are required to access the 4096 bytes? How many of these addresses will be common to all these chips?

Worked SolutionAI Assisted

ROM Chip Calculation for 4096 Bytes (14 Marks)

Given: Required memory capacity = 4096 bytes = 4096×8=327684096 \times 8 = 32768 bits.
Let ROM chip capacity be CC bytes/chip. Standard chips often 512×4512 \times 4, 1024×41024 \times 4, 1024×81024 \times 8 etc. General formulae below; numerical example for most common exam assumption follows.

General Formulae:

  1. Number of chips N=Required capacityChip capacityN = \frac{\text{Required capacity}}{\text{Chip capacity}}
  2. Number of address lines to access 4096 bytes: 2k=4096⇒k=log⁡24096=122^{k}=4096 \Rightarrow k=\log_2 4096 =12 lines (A11A_{11}-A0A_{0})
  3. Common addresses: Address lines are split into chip-select (higher) + intra-chip (lower). Lower mm lines where 2m=chip size in bytes2^{m}= \text{chip size in bytes} go to all chips in parallel (common), upper (k−m)(k-m) lines go to decoder to generate chip selects.

Worked Example – Assume typical exam chip 512×4512 \times 4 bit (512 nibbles = 256 bytes? often quoted as 1024×4):

Most textbooks assume 1024×41024 \times 4 bit ROM (128 bytes? actually 1024×4=40961024 \times 4 =4096 bits =512 bytes) or 512×8512 \times 8 (512 bytes).

Case A: If chip = 1024×81024 \times 8 (1024 bytes = 1 KB) – commonest for 4096:

  • N=4096/1024=4N = 4096/1024 = 4 chips
  • Address lines =12
  • Per chip needs log⁡21024=10\log_2 1024=10 lines (A9A_9-A0A_0) common to all 4 chips (connected in parallel)
  • Remaining 12−10=212-10=2 lines (A11A10A_{11}A_{10}) decoded via 2:4 decoder for chip select. So 10 common address lines, 2 chip-select lines.

Case B: If chip = 512×4512 \times 4 bit = 256 bytes? Many colleges treat chip as 512512 bytes (512×8512 \times 8):

  • N=4096/512=8N =4096/512=8 chips
  • Per chip needs 9 lines (log⁡2512=9\log_2 512=9) common to all 8 chips
  • Remaining 3 lines decoded via 3:8 decoder. So 9 common lines.

Case C: If chip = 512×4512 \times 4 bit = 2048 bits =256 bytes and need byte organized memory: Need 2 chips per byte location (pair to make 8 bits), so N=(4096×8)/(512×4)=16N=(4096 \times 8)/(512 \times 4)=16 chips. Per chip 9 lines common? Actually 9 lines for 512 locations, 4 lines common? Detailed: 1616 chips arranged as 8 rows ×2 columns, A8A_8-A0A_0 (9 lines) common to all, A11A_{11}-A9A_9 (3 lines) to 3:8 decoder.

Answer in generic terms:

  • Chips required = 4096/C4096 / C (e.g., 44 for 1K×8, 88 for 512×8, 1616 for 512×4)
  • Address lines =12
  • Common lines = log⁡2(C)\log_2(C) to all chips (e.g., 10 lines for 1K chips, 9 for 512-byte chips), remaining lines are chip-select decoded.

Without loss, exam expects: 8 chips of 512 bytes, 12 address lines, 9 common (if 512-byte assumed) or 4 chips, 10 common (if 1K assumed). State assumption explicitly.

Similar questions

Free AppAndroid App

Coursify Android App

Generate AI courses, take quick quizzes between classes, and master complex engineering concepts on the go.