The memory units that follow are specified by the number of words times the number of bits per word. How many address lines and input/output data lines are needed in each case? (a) 8K X 16 (b) 2G X 8 (c) 16M X 32 (d) 256K X 64
The Correct Answer and Explanation is:
To determine the number of address lines and input/output data lines for each memory unit, we need to understand what “8K x 16” and similar notations mean.
Key Concepts:
- Words: The number before the “×” tells how many words the memory contains.
- Bits per word: The number after the “×” tells how many bits are in each word.
- Address lines: The number of lines needed to uniquely address each word = $\log_2(\text{number of words})$.
- I/O data lines: Equal to the number of bits per word.
(a) 8K × 16
- Words = 8K = 8 × 1024 = 8192 words
- Bits per word = 16
- Address lines = $\log_2(8192) = 13$
- I/O data lines = 16
✅ Answer: 13 address lines, 16 data lines
(b) 2G × 8
- Words = 2G = 2 × $2^{30}$ = 2,147,483,648 words
- Bits per word = 8
- Address lines = $\log_2(2,147,483,648) = 31$
- I/O data lines = 8
✅ Answer: 31 address lines, 8 data lines
(c) 16M × 32
- Words = 16M = 16 × $2^{20}$ = 16,777,216 words
- Bits per word = 32
- Address lines = $\log_2(16,777,216) = 24$
- I/O data lines = 32
✅ Answer: 24 address lines, 32 data lines
(d) 256K × 64
- Words = 256K = 256 × 1024 = 262,144 words
- Bits per word = 64
- Address lines = $\log_2(262,144) = 18$
- I/O data lines = 64
✅ Answer: 18 address lines, 64 data lines
📘 Explanation (300+ words):
In digital systems, memory is typically organized in words, where each word is made up of a certain number of bits. When a memory is described as “X × Y,” it means there are X words, and each word contains Y bits.
To access each individual word, the memory system needs a unique address for each word. The number of address lines determines how many unique addresses can be formed. Each address line represents a binary digit (bit), and the total number of combinations possible with $n$ lines is $2^n$. Therefore, to address $X$ words, the number of address lines needed is $\log_2(X)$.
The input/output (I/O) data lines indicate how many bits can be transferred to or from the memory at one time. This is equal to the number of bits per word because when a word is read from or written to memory, all bits are typically handled simultaneously through the I/O lines.
For example, if a memory has 8K (8192) words and each word is 16 bits, then:
- $\log_2(8192) = 13$, so 13 address lines are needed to select one of the 8192 words.
- Since each word is 16 bits, 16 data lines are required.
This same logic applies regardless of how large or small the memory is. Using the binary logarithm ensures we calculate the minimum number of lines required for full access without redundancy.
In summary:
- Always convert K, M, G to their binary equivalents (1K = $2^{10}$, 1M = $2^{20}$, 1G = $2^{30}$)
- Use $\log_2$ to find address lines
- Use the bits per word directly for data lines
This approach ensures accurate design for memory interfacing in digital systems.
