第4章 的 存贮体系.ppt

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

散列函数的种类很多。由于快表中的散列函数必须用硬件来实现,因此,通常采用一些简单的函数关系。上图是一种折叠按位加散列函数,把15位多用户虚地址Pv(内容)散列变换成6位的快表地址Ah。 由于把一个大的多用户虚页号Pv散列变换成了一个小的快表地址Ah,因此,必然会有很多个多用户虚页号Pv都散列变换到相同的快表地址Ah中,这种现象称为散列冲突。 上例中,平均会有215÷26=29,即512个多用户虚页号全部被散列变换成同一个快表地址。 为了避免因散列冲突而发生查快表时的错误,必须把多用户虚页号也加入到快表中去,并且与主存实页号存放在同一个快表存储字中。另外,还要用一个比较器,把从快表中读出来的多用户虚页号与多用户虚地址中多用户虚页号进行比较。 虚地址 Nv Nr Nv’ u NS nv nr 主存实地址np 比较相等 nv Nv 散列变换 (硬化实现) 相等 不等 查慢表 快表 (按地址访问) 经散列实现快表 A ? 若相等就继续进行由nv形成的主存实地址访存;否则就表明出现了冲突,即A地址单元中的nv不是现行Nv对应的实页号。就让刚才由nv形成的主存实地址进行的访存作废。经过一个主存周期,用从慢表中读到的nv再去访存。 虚地址 Nv Nr Nv’ u NS nv nr 主存实地址np 比较相等 nv Nv 散列变换 (硬化实现) 相等 不等 查慢表 快表 (按地址访问) ? A c)改进散列冲突的办法 ?在快表的每个地址A单元中对应存放多个不同的虚页号与实页号的映像关系,就可以降低由于散列冲突所引起的不命中率。 ?减小散列变换(压缩)的入、出位数差,散列冲突的概率就会降低。 IBM370/168计算机的虚拟存储器快表结构 3.影响主存命中率和CPU效率的某些因素 1)与Sp有关 如图表示 了页面大小 Sp、分配给 某道程序的 主存容量S1 与命中率H的关系。可以看出分配给某道程序的 主存容量S1一定时,H随Sp的增大先升高,直到 一个最大值后逐渐降低;增大S1能普遍提高H,且 达到最高命中率时Sp可以再大一些。 页面大小Sp 命中率 H 1.0 S1 2S1 Sp1 Sp2 2)命中率与主存容量有关 如图实线表 示了堆栈型替换 算法的命中率H 与S1的关系。可以 看出开始随S1的增大H明显上升。但到一定程度 后,H的提供就逐级趋近于1而不可能到达1。当 S1过分增大后,主存空间的利用率可能由于程序 的不活跃部分所占比例增大而下降。实际中要折 衷权衡Sp和S1的选择,而不能过分追求S1。 LRU FIFO 1 命中率 H S1 3)主存命中率与所采用的页面调度策略有关 在操作系统中,页面调度通常有两种方式。一种是分页式,另一种方式是请求页式。 分页式:这种方式在程序装入主存储器之前就对程序进行链接装配,并且要把整个程序都调入到主存储器中之后才能开始运行。 ???? 请求页式:这种方式只在发生页面失效时,才把要访问的页面进行链接装配,并调入到主存储器中。 前一种方式的主存命中率可以达到100%。但是,主存利用率比较低。 目前,大多数机器采用请求页式调度方式。这种方式虽然具有主存利用率高,只要主存储器还剩余有一个页面,程序就能调入到主存储器中开始运行等优点,但是,在程序执行过程中经常要发生页面失效,而且处理页面失效需要比较长的时间。特别在程序刚开始运行时,页面失效很频繁。 预取式调度方式:根据程序的局部性特点,可以采取工作区的调度策略。所谓工作区是指在时间t之前的一段时间Δt内已访问过的页面集合。在程序被挂起之后又重新开始运行之前,先把上次停止运行前一段时间内用到的页面先调入到主存储器,然后才开始运行程序。 4.3 高速缓冲存贮器(Cache) 高速缓冲存贮器用以弥补主存速度的不足。 在CPU与主存(Main Memory—MM)之间设 置一个高速、小容量的缓冲存贮器(Cache), 构成Cache——主存存贮层次。使之从CPU 来看,速度是接近于Cache的,容量却是主 存的。 Cache与虚拟存储器的主要区别 存储系统 Cache 虚拟存储器 要达到的目标 提高(主存)速度 扩大(主存)容量 实现方法 全部硬件 软件为主,硬件为辅 两级存储器速度比 3~10倍 105倍 页(块)大小 16字 1KB~16KB 等效存储容量 主存储器 虚拟存储器 透明性 对系统和应用程序员 仅对应用程序员 不命中时处理方式 等待主存储器 任务切换 因为Cache是全部用硬件来调度,因此,它不仅对应用程序员是透明的,而且对系统程序员

文档评论(0)

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

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

1亿VIP精品文档

相关文档