- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * 全关联映射的组织 全关联映射举例 16M 主存 16K cache 全关联映射小结 主存地址 = (s + w) 位,Tag域 s位,字域W位 可寻址单元为 2s+w 个 byte(或word) 块大小(主存) = 行大小(cache) = 2w个byte(或word) 主存块的数目 = 2s cache行的数目不确定 组关联映射 结合了直接映射和关联映射的折中方法 Cache 被分为v个组,每组有k个行 给定的主存块映射到固定的组中的任意行 e.g. 块B 可以映射到组i中的任意行 e.g. 每组2行 2路组关联映射 组关联映射的地址结构 组(set)域用来寻找相应的cache组 找到组后,在组中检查Tag寻找所需的行 e.g Address Tag Data Set number 1FF 7FFC 1FF1FFF 001 7FFC 0011FFF Tag 9 bit Set 13 bit Word 2 bit 2路组关联映射的组织 2路组关联映射举例 组关联映射小结 地址为 (s + w) 位,其中Tag域 s-d 位,组域 d 位 可寻址单元为 2s+w 个 byte(或word) 块大小(主存) = 行大小(cache) = 2w个byte(或word) 主存的块数 = 2s 每组的行数 = k 组数 = v = 2d cache的行数 = kv = k * 2d 替换算法 (1)—直接映射 当新的一块数据装入cache时,原有的一块数据必须被替换掉 对于直接映射,由于每一块只能对应固定的行,因此当新的块装入时,要装入的位置上原有的块必须被替换掉 替换算法 (2) —关联映射与组关联映射 为了获得高速度,由硬件来实现算法 最近最少使用法 (LRU) 先入先出法 (FIFO) 最不经常使用法(LFU) 随机选取法 写策略 驻留在cache中的某块被替换之前,必须考虑它是否被修改过 如果该块被修改过,则主存必须作相应的修改 问题: 除了CPU和cache以外,还有其它模块可能修改主存,例如采用DMA数据传送的I/O模块 在多处理器系统中,每个处理器可能各有自己的局部cache,使得问题更为复杂 写直达 所有对cache的写操作也同时对主存进行 在多处理器系统中,任何处理器-cache模块都监视对主存的访问,以维护自己cache的一致性 主要缺点:产生了大量存储器写操作,引起总线瓶颈,使得写操作变得缓慢 回写 处理器的写操作只针对cache进行,只有当某个块被替换时,才将它回写至主存 回写避免了写主存造成的总线瓶颈 回写造成的缺点:由于cache的修改不直接写至主存,那么当I/O模块需要访问当前主存时,就必须直接访问cache 因此当I/O模块频繁需要访问主存时,总线同样会出现瓶颈 行的大小 行的大小取决于局部性原理 不同程序的局部性特性也不同,因此cache行的大小也没有确切的“最优值” 通常采用经验值:PC:8~32 byte HPC:64 或 128 byte cache数目 多数当代设计为2级cache 包括L1级(片内cache)和L2级(片外cache) 统一cache:片内cache既存放指令又存放数据 只需设计和实现一个cache 对于给定的cache容量,统一cache比分立cache具有较高的命中率 分立cache:片内cache分为两部分,一部分存放指令,另一部分存放数据 是未来计算机的发展趋势 强调并行指令执行和预取未来执行的指令 适用于Pentium和PowerPC这类超标量处理器 4.4 Pentium 4 Cache 80386之前 – 无片内cache 80486 – 8k cache,每行16 byte,使用4路组关联映射 Pentium (所有版本) – 分立片内caches(L1) Pentium 4 – L1 caches 容量 8k bytes 每行 64 byte 4路组关联映射 Pentium 4 – L2 cache 与分立的2个片内cache均有连接 容量 256k 每行 128 byte 8路组关联映射 Pentium 4 简图 系统总线 整数寄存器组 浮点寄存器组 无序执行逻辑 指令取/译码单元 装入地址单元 存储地址单元 简单整数ALU 简单整数ALU 复杂整数ALU FP/ MMX单元 FP 传送单元 L1数据 cache (8KB) L1指令cache (12KB uops ) Pentium 4 处理器 指令取/译单元 从
文档评论(0)