Cache与内存地址映像的教学探讨.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Cache与内存地址映像的教学探讨.doc

Cache与内存地址映像的教学探讨   摘要:CPU当前访问的数据若在高速缓存(Cache)中,就应该将已知的内存地址转换为Cache地址,具体转换的方式与当前内存和Cache的映像方式有关。每一种映像方式中二者地址间的关系的关键是搞清楚Cache和内存的地址结构。   关键词:内存;Cache;地址结构;地址映像   中图分类号:G642 文献标识码:A 文章编号:1007-9599 (2012) 19-0000-02   在现代计算机中,存储系统均采用三级层次结构,即外存-内存-Cache。当前进程肯定在内存中,但是否在Cache中主要和命中率有关。当CPU运行时,获取的是虚地址,该虚地址经过地址转换部件可自动转换为内存地址;若该内存地址所在的页已从内存调入Cache,则此时就应将内存地址转换为Cache地址。从内存地址到Cache地址的转换(或称映像)与内存和Cache的映像方式有关,二者映像的关键是在具体映像方式下二者的地址的表示方式,即地址结构。下面就直接映像、全相联映像和组相联映像这三种最常见的映像方式的地址结构及地址转换过程进行分析。   1 直接映像   直接映像方式要求能直接把内存地址转换为Cache地址,其实现原理如下:   1.1 Cache组织。从物理角度看,Cache的结构与内存结构完全相同,均是一维结构。在直接映像方式,系统对Cachec是以页为单位进行组织。此时,逻辑上Cache是一个二维结构的存储器。   假设:Cache长度为2k个单元,共分2p页,每页的大小为2i个单元,即,k=p+i。从逻辑上看,一个k位的Cache地址可转换为一个二维地址表示:   二维地址 Ap+i…Ai+1 (P位) Ai … A1 (i位)   含义 Cache页号 页内地址   即:一个Cache单元地址的高p位是页号,低i位是页内地址。   1.2 内存组织。在直接映像方式下,内存是先作页的划分,然后再把页组织成组(或称区),即将内存转换成一个三维结构的存储器。其中,内存页与Cache页的大小相同,内存一个组内包含的页数就是Cache的页数。   假设:内存长度为2n个单元,共分为2m个组,每个组包含2p页,每页的大小为2i个单元,即n=m+p+i。逻辑上一个n位的内存地址可分为三个部分:   三维地址 Am+p+i… Ap+i+1(m位) Ap+i…Ai+1(P位) Ai…A1(i位)   含义 内存组号 内存组内页号 页内地址   即:一个内存单元地址的高m位是组号,中间的p位是页号,低i位是页内地址。其中,内存组号也称为内存标记。   1.3 映像规则。内存以页为单位调入Cache,当将内存页调入Cache时,内存的组内页号就是Cache的页号。由于内存页与Cache页的大小相等且以页单位进行管理,因此,二者的页内地址也相等,也即内存的组内页号及页内地址就是Cache的页号及页内地址。   由于内存容量远大于Cache容量,因此,组内页号相等的内存页有无数,这样,内存页与Cache页的对应关系就是1:多的映像关系。为了准确反映内存页与Cache页的映像,需要一张映像表来记录,该表主要记录内存组号(内存标记)与Cache页的关系,具体见下例。   例:某机现有一Cache容量为1KB,256B/页,内存容量1MB,存储器编址方式为字节。试问:   (1)地址为1a2b3H的内存单元按直接映像方式调入Cache,Cache地址?   (2)若已将内存的2、3、5、8页调入Cache,映像表的内容是什么?此时,如何判断7页是否在Cache中?   解:由题意可知:   可知内存7(111B)页的内存标记为1,组内页号为11。具体判断过程是:以页号11为索引访问映像表的11行,将获得的内存标记0与自身的内存标记1进行比较,现不相等,因此,说明7页不在Cache中。   2 全相联映像方式   2.1 Cache组织。Cache的组织与直接映像方式完全相同。即:   假设:Cache长度为2k个单元,共分2p页,每页的大小为2i个单元,这样,一个k位的Cache地址的高p位是页号,低i位是页内地址。   2.2 内存组织。内存的组织与Cache的组织完全相似,即以页的方式对内存进行组织。   假设:内存长度为2n个单元,每页的大小为2i个单元,这样,逻辑上一个n位的内存地址可分为二个部分:   二维地址 An…Ai+1(n-i位) Ai…A1(i位)   含义 内存页号 页内地址   即:一个内存单元地址共n位,其中:高n-i位是页号,低i位是页内地址。   2.3 映像规则。内存以页为单位调入Cache,内存的一页可调入Cache的任一页,即

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档