计算机组成原理_存储系统及结构.pptVIP

  1. 1、本文档共149页,可阅读全部内容。
  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文档。上传文档
查看更多
* * 1. 全相联映射 主存 中的 任意块(单元) 可以映射到 缓存 中的 任意块(单元) * * 指任何一个主存单元只能复制到某一固定的Cache单元中。 2.直接映射 关系定义: K = I mod 2c * * 某一主存块 j 按模 Q 映射到 缓存 的第 i 组中的 任一块 i = j mod Q 3. 组相联映射 组相联映像是前两种方式的一种折衷方式。在这种方式中,主存中的任何一块映像到Cache的某一固定组,但一组内各块采用全相联映像方式。 3. 组相联映射 某系统中主存容量为1MB,而Cache容量为8KB,每1KB为一块,于是主存中共有多少块?Cache中有多少块? 主存和Cache的地址结构是怎样的? 采用组相连印象方式时,主存和Cache地址结构如何分配? 例 访问主存的地址是20位(A19~ A0),数据总线为8位,分别计算下列各种情况下标识Cache和内容Cache的大小。 (1)全相连映像,内容Cache单元数为1024。 (2)直接映像,A15~ A0作为索引。 (3)2路组相连映像,A14~ A0作为索引。 * * 访问Cache 取出信息送CPU 访问主存 取出信息送CPU 将新的主存块 调入Cache中 执行替换算法 腾出空位 结束 命中? Cache满? CPU发出访问地址 开始 是 否 是 否 读 5.7.2 Cache的读写操作 * * Cache 和主存的一致性 写 写直达法(Write – through) 写回法(Write – back) 写操作时数据既写入Cache又写入主存 写操作时只把数据写入 Cache 而不写入主存 当 Cache 数据被替换出去时才写回主存 写操作时间就是访问主存的时间,读操作时不 涉及对主存的写操作,更新策略比较容易实现。 写操作时间就是访问 Cache 的时间, 读操作 Cache 失效发生数据替换时, 被替换的块需写回主存,增加了 Cache 的复杂性。 * 1.随机算法 完全不管Cache块过去、现在及将来的使用情况,简单地根据一个随机数,选择一块替换掉。 2.先进先出(FIFO)算法 按调入Cache的先后决定淘汰的顺序,即在需要更新时,将最先进入Cache的块作为被替换的块。这种方法要求为每块做一记录,记下它们进入Cache的先后次序。容易实现,而且系统开销小。其缺点是可能会把一些需要经常使用的程序块(如循环程序)也作为最早进入Cache的块替换掉。 5.7.4 替换算法 * 把CPU近期最少使用的块作为被替换的块。该方法需要随时记录Cache中各块的使用情况,以便确定哪个块是近期最少使用的块。LRU算法相对合理,但实现起来比较复杂,系统开销较大。通常需要对每一块设置一个称为“年龄计数器”的硬件或软件计数器,用以记录其被使用的情况。 3.近期最少使用(LRU)算法 * 虚拟存储器由主存储器和联机工作的辅助存储器(通常为磁盘存储器)共同组成,这两个存储器在硬件和系统软件的共同管理下工作,对于应用程序员,可以把它们看作是一个单一的存储器。 5.8 虚拟存储器 * 将主存或辅存的地址空间统一编址,形成一个庞大的存储空间。在这个大空间里,用户可以自由编程,完全不必考虑程序在主存是否装得下以及这些程序将来在主存中的实际存放位置。 用户编程的地址称为虚地址或逻辑地址,实际的主存单元地址称为实地址或物理地址。显然,虚地址要比实地址大得多。 5.8.1 虚拟存储器的基本概念 * 在实际的物理存储层次上,所编程序和数据在OS管理下,先送入磁盘,然后OS将当前运行所需要的部分调入主存,供CPU使用,其余暂不运行部分留在磁盘中。 程序运行时,CPU以虚地址来访问主存,由辅助硬件找出虚地址和实地址之间的对应关系,并判断这个虚地址指示的存储单元内容是否已装入主存。如果已在主存中,则通过地址变换,CPU可直接访问主存的实际单元;如果不在主存中,则把包含这个字的一页或一个程序段调入主存后再由CPU访问。如果主存已满,则由替换算法从主存中将暂不运行的一块调回辅存,再从辅存调入新的一块到主存。 * 主存空间和虚存空间都划分成若干个大小相等的页。主存即实存的页称为实页,虚存的页称为虚页。 程序虚地址分为两个字段:虚页号和页内地址。虚地址到实地址之间的变换是由页表来实现的。页表是一张存放在主存中的虚页号和实页号的对照表,记录着程序的虚页调入主存时被安排在主存中的位置。若计算机采用多道程序工作方式,则可为每个用户作业建立一个页表,硬件中设置一个页表基址寄存器,存放当前所运行程序的页表的起始地址。 5.8.2

文档评论(0)

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

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

1亿VIP精品文档

相关文档