Suppose that a 2M x 16 main memory is built using 256K x 8 RAM chips and memory is word addressable.a) How many RAM chips are necessary?b) If we were accessing one full word, how many chips would be involved?c) How many address bits are needed for each RAM chip?d) How many banks will this memory have?e) How many address bits are needed for all memory?f) If high-order interleaving is used, where would address 14 (which is E in hex) be located?9) Repeat exercise 9f for low-order interleaving

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.

Ver imagen opudodennis
ACCESS MORE