Answer:
- a) 23 b) 21
- a) 43 b) 42
- a) 0 b) 0
Explanation:
<u>1) How many bits is needed to address a 2M * 32 memory </u>
2M = 2^1*2^20, while item =32 bit long word
hence ; L = 2^21 ; w = 32
a) when the memory is byte addressable
w = 8; L = ( 2M * 32 ) / 8 = 2M * 4
hence number of bits = log2(2M * 4)= log2 ( 2 * 2^20 * 2^2 ) = 23 bits
b) when the memory is word addressable
W = 32 ; L = ( 2M * 32 )/ 32 = 2M
hence the number of bits = log2 ( 2M ) = Log2 (2 * 2^20 ) = 21 bits
<u>2) How many bits are required to address a 4M × 16 main memory</u>
4M = 4^1*4^20 while item = 16 bit long word
hence L ( length ) = 4^21 ; w = 16
a) when the memory is byte addressable
w = 8 ; L = ( 4M * 16 ) / 8 = 4M * 2
hence number of bits = log 2 ( 4M * 2 ) = log 2 ( 4^1*4^20*2^1 ) ≈ 43 bits
b) when the memory is word addressable
w = 16 ; L = ( 4M * 16 ) / 16 = 4M
hence number of bits = log 2 ( 4M ) = log2 ( 4^1*4^20 ) ≈ 42 bits
<u>3) How many bits are required to address a 1M * 8 main memory </u>
1M = 1^1 * 1^20 , item = 8
L = 1^21 ; w = 8
a) when the memory is byte addressable
w = 8 ; L = ( 1 M * 8 ) / 8 = 1M
hence number of bits = log 2 ( 1M ) = log2 ( 1^1 * 1^20 ) = 0 bit
b) when memory is word addressable
w = 8 ; L = ( 1 M * 8 ) / 8 = 1M
number of bits = 0