Skip to main content

Digital Logic · Arithmetic units and datapath composition

A processor is byte-addressable, has a 20-bit byte address A_(19)… A_0, and has a…

Problem

A processor is byte-addressable, has a \(20\)-bit byte address \(A_{19}\ldots A_0\), and has a \(32\)-bit data bus. It performs only aligned \(32\)-bit word transfers. Main memory consists of \(256\mathrm{K}\) words of \(32\) bits. (a) Show that the memory contains exactly \(2^{20}\) bytes, and therefore that the \(20\)-bit byte address is necessary and sufficient. (b) For byte address \(\mathrm{3C00A}_{16}\), give the \(18\)-bit word index \(A_{19}\ldots A_2\) as a hexadecimal value and the \(2\)-bit byte offset \(A_1A_0\). (c) State whether \(\mathrm{3C00A}_{16}\) is an aligned word address. Give the nearest aligned word addresses immediately below and immediately above it. (d) If the memory is built from \(64\mathrm{K}\times 8\) SRAM chips, determine the number of chips required.

Hint

A \(32\)-bit word occupies four byte addresses; the word index is the byte address with the two low bits removed.

Check your work

Work the problem yourself first. Then open it in Training to check your answer and read the full worked solution.

The answer check and full solution for this problem come with ProofAnvil Practice membership ($19 USD monthly). See membership. Or start with the free Digital Logic sample problem: Try the free sample problem.

More Digital Logic practice problems

Back to Digital Logic

An original ProofAnvil practice problem, written for this course. ProofAnvil is a practice course, not a homework-answer service.