cache的相关技术重点详解.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Cache相关知识 报告人:Hardy 存储器的层次结构 Cache的位置和作用 Cache的实现原理 时间局限性:是指CPU在某一时刻使用到的数据或指令,在下一时刻也会被重复利用。 如果在第一次访问中Cache存储了相关指令、数据,那么在下一次需要重复访问时,就能够直接从Cache中读取相关内容。 空间局限性:指的是CPU在读取某一地址的数据时,也有可能会用到该地址附近的数据。也就是说,CPU需要的数据在很多时候是连续的。例如在听歌或看电影时,数据流总是连续的(正常播放状态下)。这样的应用对于CPU来说是很有利的,数据预读取单元也能够发挥最大作用。 正是基于以上原理,cache就用来存放这些常用的数据或指令。 Cache的工作原理 Cache是要和主存相互联系的,但是主存的容量明显大于cache。那么当主存的内容通过cache传递给CPU,主存的内容应该放在cache的哪个位置上呢? 两者之间的映射规则有三种: 直接映射 全相联 组相联 直接映射 直接映射的地址映射方式 访问cache 当主存地址中的索引域找到了对应的cache块,然后比较两者的地址标记是否相同,如果相同并且有效位为高。 把主存中块内地址对应的字节取出送给CPU,该过程叫做命中cache。 全相联 主存中的任一块可以被放置到 Cache中的任意一个位置。 特点: 空间利用率最高,冲突概率最低,实现最复杂。 全相联cache访问 此时的主存地址只有地址标记位和块内字节地址。没有了之前的cache块的索引域。 当访问cache时主存需要将地址标记位和cache的全部标记位比较才能判断是否命中。这种比较通常采用“按内容寻址”(CAM)的相联存储器完成。 组相联 将cache块分成n组,每组中有m块。 主存地址:索引域表示了组号。地址标记的位数改变。 组相联访问 主存地址标记和组地址位数之和等于直接映射中的地址标记和索引域之和。 但是组地址的大小是一共n组对2取模的结果。 关联度 n 路组相联:每组中有n 个块,则n 称为关联度。 关联度越高,Cache空间的利用率就越高,块冲突概率就越低,失效率也就越低。但是有个限度: 三种映射的关联度 Cache缺失处理 当CPU在cache中没有命中,处理器就要阻塞住,知道cache从主存中读回数据后重新访问cache。 Cache缺失处理步骤(假定是顺序执行处理器): 1.把程序计数器的原始值(当前PC-4)送到存储器中。 2.通知主存执行一次读操作,并等待主存访问完成。 3.写cache项,将主存中取回的数据写入cache中存放数据 的部分,并将地址的高位写入标记域,设置有效位。 4.重新返回指令执行第一步,重新取指,这次数据在cache 中,命中cache。 替换算法 当cache缺失后,主存中数据要写人cache中,但此时cache已满,需要执行替换任务.常用的替换算法: 随机法:随机替换cache内容。 FIFO:先进先出,替换最早写入cache的内容。 LRU:最近最少使用法,总是替换很长时间没有被使用的cache块。 替换算法比较 Cache的写操作 对于任何存储层次来说,一个关键问题是如何处理写操作?常用的两种方法: 写直达法:信息被同时写入cache块中和主存中。 写回法:信息只写到cache中。被改写的cache块只有被替换时才写回主存。 两种写策略的比较   ◆ 写回法的优点:速度快,所使用的存储器频带较低;   ◆ 写直达法的优点:易于实现,一致性好。 写直达法 当cache写命中时,地址标记位匹配,将数据同时写入cache与主存中。这种策略?显然较好地维护了cache与主存的内容一致性。 每次都要访问主存,花费大量时间。解决办法是加入写缓存:当数据等在写入主存时,先放在写缓冲队列中。当写缓冲满时,再写就要等待了。 当cache写未命中时,地址标记不匹配。只有直接向主存写入了,但此时是否主存块的内容取到cache,写直达法却有两种选择。 一种是取来并且为它在cache中分配一个行位置,称为写分配法(Write--Allocate)。 另一种是不取称写不分配法(NO-Write--Allocate)。 前?一种方法保持了cache /?主存的一致性,但操作复杂,而后一种方法操作简化,但命中率降低,内存的修改块只有在读未命中对cache?进行替换时,才有可能映射到cache?。 写回法 执行“写”操作时,只写入Cache。仅当Ca

文档评论(0)

我是兰花草 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档