在块表中cache命中和缺失时,在L1 cache中一定cache命中和缺失吗

  • 前置知识——CPU根据虚地址访存流程

访问虚地址读取虚页号 访问基址寄存器读取页表起始地址 拼接起始地址和虚页号得到页表地址 依据页表地址访问对应的页表项 根据装入位判断是否cache命中和缺失

cache命中和缺失 对应的实页号 + 页内地址 = 实地址 → 执行Cache的映射操作

未cache命中和缺失 利用 I/O 系统将页调入主存 执行第②步

  • Cachecache命中和缺失Page必然cache命中和缺失,TLB不一定cache命中和缺失
  • Pagecache命中和缺失TLB不一定cache命中和缺失
    • Cachecache命中和缺失 意味着虚拟存储器访存流程进入了最后一步——执行Cache的映射操作,则所在页面必然已调入主存 → Page必然cache命中和缺失而TLB是位于Cache内的Page小副本,故不一定cache命中和缺失
    • Cache未cache命Φ和缺失:意味着Cache内没有与CPU请求页面相同的页无法直接进行映射操作——但虚存访存流程前几步(查找页表地址、访问页表项、判断装叺位)并不受影响 → 与TLB、Page无关
    • TLB是Page的子集,根据数学集合关系可知:TLBcache命中和缺失是Pagecache命中和缺失的充分不必要条件
    • Pagecache命中和缺失:意味着访存流程进行到 执行Cache映射操作 一步但之后Cache映射能否cache命中和缺失与Page无关
    • Page未cache命中和缺失:Page位于主存,Page未cache命中和缺失意味着主存内没有对应的页Cache自嘫无法执行 主存→Cache 的映射操作,故Cache不cache命中和缺失
  • Page、Cachecache命中和缺失示意图(以直接映射和页式虚拟存储器为例)
}

题目条件:假设CPU执行某段程序时共访问Cachecache命中和缺失2000次,访问主存50次已知:Cache的存取周期为50ns,主存的存取周期为200ns求Cache-主存系统的cache命中和缺失率。 Nc = 2000, Nm= 50 cache 主存系统的平均访问...


题目條件:假设CPU执行某段程序时共访问Cachecache命中和缺失2000次,访问主存50次已知:Cache的存取周期为50ns,主存的存取周期为200ns求Cache-主存系统的cache命中和缺失率。
cache 主存系统的平均访问时间
其中tc指cache命中和缺失时间的cache访问时间 tm为未cache命中和缺失时的主存访问时间,1-h为未cache命中和缺失率
分析:由于题设条件中并没有提到平均访问时间而且平均访问时间需要自己求取。所以只能通过题目的其他条件来进行运算题目中提到,主存的存取周期为200nscache的存取周期为50ns。从这个条件可以看出访问主存的时间是访问cache时间的4倍(主存存取周期200ns/cache存取周期50ns=4)设访问cache的时间为t,则平均访问时間可以用h*t+(1-h)*4t来表示将数据代入公式很容易就知道t作为一个不确定的变量,是能够直接约掉的
}

我要回帖

更多关于 cache命中和缺失 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信