【问题标题】:Direct Map Cache and cache misses直接映射缓存和缓存未命中
【发布时间】:2011-11-25 21:03:04
【问题描述】:

我正在做作业,但我不确定如何计算缓存未命中总数。我一直试图理解它,但它对我来说没有意义。我得到了一些 Mips 代码,我需要计算缓存未命中的数量。问题来了:

直接映射缓存。我们得到一个包含 1024 个块的直接映射缓存。每个 block 是一个 MIPS 字(32 位)。每当写入未命中时,缓存都会使用回写 发生。主存储器由 2^30 个字组成。最初,缓存是空的。
确定以下指令序列的缓存未命中总数。

lw $s0, 4($sp) 
lw $s0, 8($sp) 
sw $s0, 8($sp) 
sw $s1, 4($sp) 
lw $s0, 4($sp)

我不是在寻找答案。我想学习如何做到这一点,因为我在家庭作业中遇到了更多这样的问题。我想对此进行演练。与此同时,我将研究这个主题,试图找出答案。

【问题讨论】:

    标签: caching mips computer-architecture


    【解决方案1】:

    如果不知道 $SP 的对齐方式,就不可能知道有多少缓存未命中。 如果 SP 在 32 字节边界上对齐,那么在第一次访问时将只有一个缓存行未命中。如果 SP 包含地址 0x18,那么您将有两个缓存行未命中,因为 4($sp) 和 8($sp) 将访问不同的缓存行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-09
      • 1970-01-01
      • 2018-06-24
      • 2014-06-26
      • 2018-05-24
      • 2012-07-09
      • 2014-06-04
      相关资源
      最近更新 更多