- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Cache的工作原理.pdf
Cache 的工作原理
1.Cache 的引入
请注意下面两种情况:
①大容量主存一般采用 DRAM,相对SRAM 速度慢,而SRAM 速度
快,但价格高。
②程序和数据具有局限性,即在一个较短的时间内,程序或数据
往往集中在很小的存储器地址范围内。
因此,在主存和CPU 之间可设置一个速度很快而容量相对较小的
存储器,如图3.35 所示。在其中存放CPU 当前正在使用以及一个较
短的时间内将要使用的程序和数据,这样,可大大加快 CPU 访问存储
器的速度,提高机器的运行效率。
2.Cache 的基本原理
Cache与主存都分成块(常常将Cache 块说成Cache行),每块由多
个字节组成,大小相等。在一个时间段内,Cache 的某块中放着主存
某块的全部信息,即Cache的某一块是主存某块的副本(或叫映像),
如图3.36 所示。
Cache 除数据部分外,还应记录放在某块中的信息是主存中哪一
块的副本。因此,还应有第二个组成部分,即标记(tag)——记录主
存块的块地址信息。
采用Cache 后,进行访问存储器操作时,不是先访问主存,而是
先访问Cache。所以存在访问Cache时对主存地址的理解问题(指物
理地址)。由于Cache 数据块和主存块大小相同,因此主存地址的低
地址部分(块内地址)可作为Cache数据块的块内地址。
对主存地址的高地址部分(主存块号)的理解与主存块和Cache
块之间的映像关系
(mapping)有关。这里考虑一种最简单的情况——直接映像,例如(见
图3.37),将主存空间分成 4 096 块,块编号应是地址码的高12 位,
写成十六进制为000H~FFFH。按同样大小,将 Cache 分成16 块,块
编号为OH~FH。映像关系约定见表3.7。这就是说块编号十六进制
的第三位相同的主存块(共256块)只能和该位数码所指定的Cache块
建立映像关系。根据这种约定,某一主存块和 Cache 建立起映像关系
时,该Cache 块的标记部分只需记住主存块的高2 位十六进制数。例
如,第010H 号主存块当前和 Cache 第0 块建立起映像关系,则Cach
e 第0 块的标记部分只需记住01H。由此可见,当用主存地址访问Ca
che 时,主存的块号可分解成Cache标记和Cache 块号两部分。因此,
主存地址被理解成图3.38 所示的形式。
下面结合该映像关系的例子和图3.39来说明Cache的工作原理。
设当前010 号主存块在Cache 中,即它和Cache 的第0 块建立起映像
关系。现要对两个主存地址单元进行读操作,第一个地址的高3 位(十
六进制)为0lOH,第二个地址的高3 位(十六进制)为020H。
CPU进行读操作时,首先用主存地址的中间部分——Cache块号
找到Cache 中的一块(对此例,为第 0 块),读出此块的标记(对此例,
现在为01H),然后拿它与主存地址的高位部分——标记进行比较。
对于第一个主存地址,比较的结果是相等的。这表明主存地址规定的
块在Cache 中(有副本),这种情况称为命中。此时用主存地址的低位
部分——块内地址从Cache块号所选择的块中读取所需的数据。对于
第二个主存地址,比较的结果不相等。
这表明主存地址所规定的块不在Cache 中,称为未命中,这时需要访
问主存,并且将含有该地址单元的主存块的信息全部装入Cache的第
0 块,并修改第0 块Cache标记,使其值为02H。
通过上面的例子,可以这样来描述(2ache最基本的工作原理:
在存储系统中设置了Cache的情况下,CPU 进行存储器访问时,首先
访问Cache 标记,判是否命中,如果命中,就访问Cache(数据部分),
否则访问主存。
将访问的数据在Cache中的次数(即命中的次数)与总的访问次
数之比称为命中率。影响命中率的因素主要有三个:Cache 的容量、
Cache 块的划分以及Cache块与主存块之间的
您可能关注的文档
最近下载
- 关于绑架的小故事-绑架关起来的故事.docx VIP
- 乳腺炎个案护理.pptx VIP
- 临沂市初中生物学实验表现性评价调查及研究.docx
- 猪主要传染性腹泻病的流行情况与防控对策.docx
- 机电工程投标方案.docx VIP
- 人教PEP版小学英语五年级 下册(1-6单元)思维导图.pdf
- 国际金融附微课杜玉兰习题答案.docx VIP
- 2023年大连大学计算机科学与技术专业《计算机系统结构》科目期末试卷A(有答案).docx VIP
- 2023年大连大学计算机科学与技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
- 知识产权法智慧树知到期末考试答案章节答案2024年同济大学.docx VIP
文档评论(0)