所以我在这里有一个问题,我很担心该怎么做。我会写这个问题以及我如何解释它:
以下内存地址由正在运行的程序连续使用(从左到右,如图所示) 十进制)。请注意,以下是内存地址而不是块编号: 100,40,360,116,224,18,440,100,1024,44,168,40,104
在以下每个缓存结构中,计算命中数,未命中数和最终值 存储在每个缓存位置(最后显示每个缓存块中的哪个内存块)。每 字是4字节,内存大小是2Kbyte (a)具有八字块和高速缓存总大小的直接映射高速缓存是32字的数据
问题还有更多部分,但是我需要帮助才能开始,我自己可以做其余的事情。所以基本上我们给了内存地址。我们的缓存大小为32个字和8个字/块,因此缓存中有4个块。我怎么不明白如何处理2kbyte的内存大小?我只是将4除以得到内存中的块数吗?或者我必须将内存地址除以4?
答案 0 :(得分:0)
我如何理解如何处理2kbyte的内存大小?
内存大小与此部分问题无关。
您可以将内存细分为块。每个高速缓存块是8个字(32个字节)。你可以缓存32个单词,这是一个说4个街区的循环方式。
写下每个块旁边的地址范围。然后,开始播放CPU并使用列出的内存地址,跟踪您遇到的块以及该块是否应该在缓存中。