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

📅  最后修改于: 2021-09-26 04:13:43             🧑  作者: Mango

CPU 具有块大小为 64 字节的缓存。主存储器有 k 个存储体,每个存储体的宽度为 c 字节。连续的 c – 字节块以环绕方式映射到连续的存储体上。所有 k 个 bank 都可以并行访问,但对同一个 bank 的两次访问必须串行化。根据通过并行访问所有 k 个存储体获得的数据量,缓存块访问可能涉及并行存储体访问的多次迭代。每次迭代都需要对要并行访问的组号进行解码,这需要进行。 k/2 ns 一个 bank 访问的延迟为 80 ns。如果 c = 2 且 k = 24,则从主内存检索从地址 0 开始的缓存块的延迟为:
(A) 92 纳秒
(B) 104 纳秒
(C) 172 纳秒
(D) 184 纳秒答案: (D)
说明:说明:

缓存块大小=64 B
主存库数量 K=24
每组大小 C=2 字节
即内存中的每个 bank 是 2 个字节,并且有 24 个这样的 bank。因此,在一次迭代中,我们可以获得 2*24 = 48 个字节,而获得 64 个字节需要 2 次迭代。
所以并行访问所用的时间T=解码时间+延迟时间。
T = (K/2)+延迟
= 12+80 = 92 纳秒
但是 C=2 用于访问
=2*92=184ns
(因为在每次迭代中我们都需要选择 bank 并且 bank 解码时间 (k/2) 与我们将要访问的 bank 数量无关)

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