网站大量收购独家精品文档,联系QQ:2885784924

系统结构3-cache.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
系统结构3-cache资料

page 计算机系统结构讲座 Cache结构与一致性 提纲 Cache结构 Cache一致性 Cache预取 Cache结构 直接变换cache Direct-mapping cache 全联想cache Full-associative cache 组联想cache Set-associative cache 基本单位 Cache block Cache与MM之间传输的基本单位 = Cache line = Cache frame = Memory block = n Words Cache block 通常128~512 Bytes 4 Bytes/Word(单精度) 8 Bytes/Word(双精度) 根据局部性原理,相邻的n Words 被近期使用的可能性大 减少访存次数,提高效率 直接变换cache 任一个存储器块只能映射到Cache中一个特定的位置 根据程序执行的空间局部性,该方法是有效的 结构简单,定位迅速 缺少灵活性,导致Cache利用率低,引起Cache颠簸 直接变换cache 全联想cache 任一个存储器块可以映射到Cache任一位置 灵活性高,Cache利用率高 当规模增大时,因硬件开销和复杂性而无法实现 全联想cache 组联想cache 对于n组联想cache,任一个存储器块可以映射到Cache中n个特定的位置 介于上述两者之间 硬件复杂度可控 需要在性能和硬件复杂度之间作出权衡 组联想cache Cache性能 访问Cache的总周期数取决于 Cache容量,块大小,联想度,….. Cache性能 命中率与Cache容量的关系 Cache性能 命中率与Cache block大小的关系 Cache结构——举例 Intel和AMD内部Cache比较 Cache结构——举例 曙光4000A计算结点 二级Cache容量 1MB = 220 结点存储器 8GB = 233 直接变换 MM的8192个块争抢1个Cache块 全联想 硬件开销和复杂度太大,不可能实现 4路组联想 MM的8192个块争抢4个Cache块 (1/2048) 32路组联想 MM的8192个块争抢32个Cache块(1/256) 提纲 Cache结构 Cache一致性 Cache预取 Cache与MM的一致性 通写法(write-through) 每当写Cache就同时写MM 效率低,基本不被采用 回写法(write-back) 仅当该Cache行被淘汰时才写入MM 效率相对高,多被采用 Cache一致性 在多机系统中,多个Cache中可能拥有同一个存储器块的副本,写操作必然引起Cache不一致性问题 新写的Cache数据使得其他Cache副本成为脏数据 必须通过一定策略告知其他副本,并更新数据 Cache一致性协议 基于总线结构的协议 写无效协议 写更新协议 Cache一致性协议 基于分布共享存储器的协议 目录法协议 全目录法 有限目录法 链式目录法 Cache一致性协议 基于分布存储器的协议 目录法协议 全变换目录法 有限目录法 链式目录法 Cache一致性协议 基于分布存储器的协议 目录法协议 全变换目录法 有限目录法 链式目录法 提纲 Cache结构 Cache一致性 Cache预取 Cache预取 存储墙是限制处理器性能发挥的重要原因 解决策略——减少访存延迟,隐藏访存延迟 解决方法 层次存储器结构 减少访问存储器次数 无阻塞的存储器读写 基于静态指令调度的推测读 乱序发射 多线程技术 多级cache Cache预取技术 Cache预取 Cache不命中的原因 突发不命中——程序初始运行时的不命中 容量不命中——程序要访问的空间超过Cache容量 冲突不命中——参与竞争的块数超过Cache的联想度 解决方法 通过Cache预取解决突发不命中和容量不命中 Cache预取 什么是预取 在处理器真正使用指令和数据前把它们装入Cache 优点 提高Cache命中率 缩短平均访存时间 提高访存带宽的利用率 预取的主要对象是二级Cache 通过Cache预取解决突发不命中和容量不命中 二级Cache预取对处理器核心是透明的 Cache预取 预取 按内容分 指令预取 数据预取 按实现分 硬件预取——根据处理器访存和Cache命中情况,推测将要访问的位置,提前访存并装入Cache,由操作系统和硬件共同实施 软件预取——分析程序特征,在程序中插入预取指令,通过编译实现。多数高性能微处理器都支持预取指令 Cache预取 预取的四个要素 预取的触发条件 预取的对象 预取的距离,即时间提前量 预取的数量,取多少cache块 Cache预取——举例 For

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档