- 2078 Chaitra
Compose 2^(k+1) x 2n from 2^k x n
Short answer
Requires four 2^k×n modules in 2 rows × 2 columns. A_k decodes to enable row 0 or row 1; all share A(k-1)..A0. Each row’s two modules provide n-bit halves for a 2n-bit word.
Compose a memory of size 2^(k+1) × 2n using 2^k × n sized memory.
Given: base module 2^k x n; required: 2^(k+1) x 2n memory. Number of modules = (depth ratio) x (width ratio) = 2 x 2 = 4.
Method
- Width: the required word is 2n bits and each module gives n bits, so 2 modules are placed side by side (same address and enable); their data outputs are combined to form the full word.
- Depth: twice as many words are needed, so 2 rows of modules are used. The extra high-order address line A_k goes to a 1-to-2 decoder whose outputs enable one row at a time. The low-order k address lines (A(k-1)..A0) go to every module in parallel. The rows share the same data lines (tri-state outputs).
- Total address lines = k + 1; total data lines = 2n.
Block diagram
Address bits: k+1 lines
A_k --> [1-to-2 decoder] --> row enables E0, E1
A(k-1)..A0 --> to every module (parallel)
row 0: [M00] [M01] <- E0
row 1: [M10] [M11] <- E1
Data: M*0: bits 0 to n-1, M*1: bits n to 2n-1
Row selection
| A_k | Row enabled | Addresses |
|---|---|---|
| 0 | Row 0 (E0) | 0 to 2^k - 1 |
| 1 | Row 1 (E1) | 2^k to 2^(k+1) - 1 |
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Compose 2^(k+1) x m from 2^k x m · Embedded System, chapter 4
- Memory for 10 minute SVGA video · Computer Graphics, chapter 1 · asked 2×
- Page size impact; internal, external fragmentation · Operating System, chapter 4
- Large fixed-size chunks in GFS · Big Data Technologies, chapter 2