Assume that our memory unit is organized as a 1,024 x 1,024 two-dimensional array. Then answer the following questions. Please give reasons for your answers. Here’s some useful information: 2 10=1024. (a) How big does the MAR register have to be?
(b) How many bits of the MAR must be sent to the row decoder?
(c) How many bits of the MAR must be sent to the column decoder?
(d)If the average access time of this memory is 25 sec and the average access time for cache memory is 10 sec, what is the overall average access time if the cache hit rate is 80%?
(e) In part (d) above, what would the cache hit rate have to be to reduce the average access time to 12 sec?
(f) Something to think about: Do you think that human memory is RAM?
(a) Total memory is 2^10 * 2^10 = 2^20 bits or 2^20 / 2^8 = 2^12 bytes. To address every bytes MAR has to have 12 bits.
(b) Each rows has 2^10 bits or 2^10/2^8 = 2^2 bytes. Therefore 2 bits of MAR should be sent to the row decoder.
(c) MAR should have possiblility to address every memory column, as there are total 2^10 column, the MAR should send 10 bits to the column decoder.
(d) avr_access_time = mem_acc_time *(1-hit_rate) + cache_acc_time * hit_rate = 25 * 0.2 + 10 * 0.8 = 13 sec
(e) avr_access_time = mem_acc_time - (mem_acc_time - cache_acc_time) * hit_rate, so hit_rate = (25 - 12) / (25 - 10) = 0.867 or 86.7%
(f) I think the human memory is not organized nither as linear structure nor as two-dimentiona array. It rather has association structure. That is every recollections has a whole conception as its address.
Comments
Leave a comment