📜  门| GATE-CS-2006 |第41章

📅  最后修改于: 2021-06-30 01:14:09             🧑  作者: Mango

CPU具有块大小为64字节的高速缓存。主存储器有k个存储区,每个存储区均为c字节宽。连续的c-字节块通过环绕映射在连续的存储体上。可以并行访问所有k个存储体,但是必须对对同一存储体的两次访问进行序列化。高速缓存块访问可能涉及并行存储体访问的多次迭代,具体取决于通过并行访问所有k个存储体而获得的数据量。每次迭代都需要解码要并行访问的库号,这需要花费时间。 k / 2 ns一次存储体访问的等待时间为80 ns。如果c = 2且k = 24,则从主内存中检索从地址0开始的缓存块的等待时间为:
(A) 92毫微秒
(B) 104毫微秒
(C) 172 ns
(D) 184毫微秒答案: (D)
说明:说明:

高速缓存块的大小= 64 B
主存储体数量K = 24
每个存储区的大小C = 2字节
即,存储器中的每个存储体为2个字节,并且有24个这样的存储体。因此,在一次迭代中,我们可以获得2 * 24 = 48字节,而获得64字节则需要进行2次迭代。
因此,并行访问所花费的时间T =解码时间+等待时间。
T =(K / 2)+等待时间
= 12 + 80 = 92毫微秒
但是C = 2用于访问
= 2 * 92 = 184ns
(因为在每次迭代中,我们需要选择存储体,并且存储体解码时间(k / 2)与我们要访问的存储体数量无关)

此解决方案由Nitika Bansal提供
这个问题的测验