第4章李学干计算机系统结构.ppt

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章李学干计算机系统结构

3. 虚拟存贮器 工作的全过程 图 4.19 页式虚拟存贮器工作的全过程 4.2.3 页式虚拟存贮器实现中的问题 1. 页面失效的处理 发生页面失效之后,还应解决如何保存好故障点现场以及故障处理完,如何将当前所需的页面调入主存,恢复好故障点现场的问题, 以便能从故障点处继续执行这条指令。目前大多数机器都采用后援寄存器技术。把发生页面失效故障时指令的全部现场都保存下来。在处理完此故障,并把所需要的页调入主存之后,取出后援寄存器的内容恢复故障点现场,然后从故障点处继续执行完该条指令。也有的机器同时采用一些预判技术。例如,在执行字符串指令前,预判字符串操作数的首尾字符所在页是否都已在主存中。 如果是,才执行这条指令。否则,只要有一个字符还未装入主存, 就发页面失效故障请求。等到把该页调入后, 才开始执行这条字符串指令。 2. 提高虚拟存贮器等效访问速度的措施 要想使虚拟存贮器的等效访问速度提高到接近于主存的访问速度是不容易的。从存贮层次的等效访问速度公式可以看出, 这一方面要求能有很高的主存命中率,另一方面要求能有尽可能短的访主存时间。 图 4.20 经快表与慢表实现内部地址变换 图 4.21 减少快表的相联比较位数 图 4.22 经散列实现快表 图 4.22 IBM 370/168虚拟存贮器的快表 3. 影响主存命中率和CPU效率的某些因素 图 4.23 页面大小Sp、容量S1与命中率H的关系 图 4.24 H与S1的关系 4.3 高速缓冲存贮器(Cache) 4.3.1 基本结构 图 4.32 Cache存贮器的基本结构 目前,访问Cache的时间一般可以是访主存时间的1/4到1/10。 如IBM3033、Amdahl470V/7等许多机器的主存周期为300~600 ns,而访问Cache的时间只需要50~100 ns。因此, 只要Cache的命中率足够高,就相当于能以接近于Cache的速度来访问大容量的主存。Cache存贮器已在大、中、小以及微型机上普遍采用。 为了加速调块,一般让每块的容量等于在一个主存周期内由主存所能访问到的字数,因此在有Cache存贮器的主存系统都采用多体交叉存贮器,例如,IBM 370/168的主存是模4交叉,每个分体是8个字节宽,所以Cache的每块为32个字节;CRAY—1的主存是模16交叉,每个分体是单字宽,所以其指令Cache(专门存放指令的Cache)的块容量为16个字。  另外,主存被机器的多个部件所共用,应尽量提高Cache的访主存优先极,一般应高于通道的访主存级别,这样在采用Cache存贮器的系统中,访存申请响应的优先顺序通常安排成Cache、通道、写数、读数、取指。因为Cache的调块时间只占用1~2个主存周期,这样做不会对外设访主存带来太大的影响。 4.3.2 地址的映象与变换 图 4.33 全相联映象规则 1. 全相联映象和变换 图 4.34 全相联映象的地址变换过程 图 4.35 直接映象规则 2. 直接映象及其变换 图 4.36 直接映象的地址变换过程 图 4.37 组相联映象规则 3. 组相联映象及其变换 图 4.38 组相联地址变换示意图 图 4.39 组相联地址变换的一种实现方式 图 4.40 组相联映象的另一种方案 图 4.41 组相联另一种方案的地址变换过程 4. 段相联映象 图 4.42 具有每段Z个块的段相联映象 4.3.3 替换算法的实现 图 4.43 全相联映象LRU法经堆栈实现(需要有相联比较功能) 1. 堆栈法 图 4.44 组相联LRU法经寄存器实现(每组一个,需要有相联比较功能) 2. 比较对法 比较对法的基本思路是让各个块成对组合,用一个触发器的状态来表示该比较对内两块访问的远近次序,再经门电路就可找到LRU块。例如有A、B、C3 块,互相之间可组合成AB、BA、AC、CA、BC、CB6 对,其中AB和BA、AC和CA、BC和CB是重复的,所以只需取AB、AC、BC 3 对。各对内块的访问顺序分别用“对触发器”TAB、TAC、TBC表示。TAB为“1”,表示A比B更近被访问过;TAB为“0”,表示B比A更近被访问过。TAC、TBC也类似定义。这样,当访问过的次序为A B C,即最近访问过的为A,最久未被访问过的为C,则这三个触发器状态分别必为TAB=1,TAC=1,TBC=1。 如果访问过的次序为B A C,C为最久未被访问过的块,则此时必有TAB=0, TAC=1, TBC=1

文档评论(0)

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

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

1亿VIP精品文档

相关文档