Respuesta :
Answer:
(a) 16 RAM chips
(b) 2 chips
(c) 18 address bits
(d) 8 banks
(e) 21 bits
(f) 0000
(g) 1110
Explanation:
(a)
The number of RAM chips necessary are found by dividing memory size by chip size. Here, the memory size is
[tex]2M=2\times 1024\times 1024=2^{21}[/tex] by [tex]16=2^{4}[/tex]
Chips size is [tex]256K=256*1024=2^{18}[/tex] by [tex]8=2^{3}[/tex]
Therefore, RAM needed is [tex]\frac {2M\times 16}{256K \times 8}=\frac {2^{21} \times 2^{4}}{2^{18} \times 2^{3}}=2^{4}=16[/tex]
Therefore, 16 RAM chips of [tex]256\times 8[/tex] are needed to obtain main memory of [tex]2M\times 16[/tex]. This can further be arranged in 8 rows and 2 columns each
(b)
The RAM chips holds 8 bits or 1 byte for addressable word while main memory holds 16 bits or 2 bytes. Since the design needs 16 bit word, the first chip holds the high-order byte of the word and second chip holds the low-order byte of the word. Therefore, 2 chips would be involved to access one word
(c)
For [tex]256K\times 8[/tex] RAM chip, bits required are [tex]256\times 1024=2^{8}\times 2^{10}=2^{18}[/tex] hence 18 address bits needed for each RAM chip
(d)
The number of addressable items in the main memory and chips determine the number of modules
The number of modules or banks is given by dividing main memory addressable items by addressable items in chips
Therefore, [tex]banks=\frac {2M}{256K}=\frac {2\times1024\times 1024}{256\times 1024}=\frac {2^{21}}{2^{18}}=2^{3}=8[/tex]
Therefore, number of banks equals 8
(e)
Bits required for main memory is [tex]2M=2\times 1024\times 1024=2\times 2^{10}\times 2^{10}=2^{21}[/tex]
Therefore, 21 bits are needed to address main memory. To prove, part c required 18 bits for RAM chip leaving 21-8=3 bits to select the bank we have therefore [tex]2^{3}=8[/tex] banks in part d hence everything is okay
(f)
Normally, the high order memory interleaving distributes the address in a way that each bank has consecutive addresses. Here, the first 256 K words goes to bank 0 and so the address 14 will also be in the same bank. If high-order memory is used, address 14 (E in hexadecimal) is found in bank 0(000 in decimal)
(g)
From part e we found 21 address bits which will be labelled [tex]A_0-A_{20}[/tex]
Low-order interleaved memory places addresses of memory in different memory banks. Here, address 14 is 0xE in hexadecimal and in 1110 in binary. Therefore, for address 14, the bank is binary 110 as illustrated in the attached image.
