网站大量收购独家精品文档,联系QQ:2885784924

13-存储系统04的.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
系 统 总 线 ;3.1、主存储器概述 3.2、主存储器构成 3.3、主存储器扩展 3.4、主存储器与CPU的连接 3.5、提高主存储器性能的技术 3.5.1、提高主存的制造技术 3.5.2、单体多字存储器 3.5.3、单体双端口并行存储器 3.5.4、多体交叉并行存储器 ;第四章 存储器;为了弥补主存速度的不足,在CPU与主存之间设置一个 高速 小容量 的缓冲存储器,称高速缓存(Cache),主要由高速的SRAM组成。 其工作原理如下: ;CPU读取数据字时: 1)CPU输出存储单元地址(字)给内存,Cache拦截地址并分析; 2)Cache 先判断该存储单元的内容是否已在Cache中; 如果在,Cache直接送给CPU; 如果不在,再让CPU去主存中读取。 3)CPU去主存中读取存储单元时,不仅把该存储单元取出, 同时还把该存储单元附近的一块数据都取出送给Cache, 以便CPU顺序读取下一存储单元时,直接在Cache中读取。;增加Cache后,将使主存系统的平均存取时间尽可能接近Cache的。 由于程序访问的局部性使之可能。   在一个程序执行期间 命中率与程序的行为、Cache的容量、组织方式、块的大小有关。 Tc表示Cache的读写时间,Tm表示主存的读写时间, 1-h表示未命中率,则Cache/主存系统的平均访问时间 Ta为: 主存慢于Cache的倍率 r: 为提高访问效率,命中率越接近1越好,r值以5—10为宜。;考研试题精选: 假设:CPU执行某段程序时,共访问Cache 3800 次,访问主存200 次,已知Cache存取周期为50ns,主存存取周期为250ns。 求:Cache—主存系统的平均存取时间和效率。;考研试题精选: 例:CPU执行一段程序时,Cache完成存取的次数为1900次,主存完成存取的次数为100次,已知Cache存取周期为50ns,主存存取周期为250ns。 求: Cache/主存系统的效率和平均访问时间。 解: 系统命中率 h = 1900 / (1900+100)=0.95 倍率 r = Tm / Tc = 250ns / 50ns = 5 系统效率 = 1 /(r +(1 - r)h)= 1 /(5+(1-5)*0.95) = 83.3% 系统平均访问时间 Ta = h*Tc +(1-h)Tm = 0.95*50ns + 0.05*250ns = 47.5 + 12.5 = 60ns;CPU与Cache或主存之间的数据交换以“字”(即:存储单元)为单位, 而主存与Cache之间的数据交换以“块”(即:数据块)为单位。 一块数据由若干个字组成,且块是定长的! 为了实现Cache的上述功能,需要解决这样一些问题: 1)Cache与主存中存储单元地址映象关系,主存容量大而Cache容量小; (主存中的存储单元 放在 Cache中的哪个存储单元呢?) 2)如何实现地址转换,将访问主存的地址转换成访问Cache的地址; (CPU直接输出的是访问主存单元的地址,主存长地址 变 Cache短地址?) 3)若访问Cache未命中且Cache未满时,主存数据块如何调入? Cache已满时,主存数据块如何替换?先来先走? 4)数据的一致性问题:Cache中的更新数据与主存中的陈旧数据之间的更新。;第四章 存储系统;4.1、地址映象;0块;直接映象方式是多对一映射。 主存中的一块只能映象到Cache某一个固定的块中。 直接映象的关系式: K = I mod M K:Cache块号, I:主存块号, M:Cache总块数 ;CPU先送出一个主存地址,用主存地址中的区号与块表中区号比较, 若命中:访Cache(按主存地址的块号+块内地址)读出一字送CPU; 若未命中:访内存(按主存地址的区号+块号)读出一块送Cache。;例1:设有一个Cache的容量为2KB,每块16个字(设一字一字节) 求: 1)该Cache可容纳多少个块? 2KB = 2048B 2048B / 16B = 128块 2)如果主存容量为256KB,则有多少块?

文档评论(0)

ayangjiayu3 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档