- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章第五节虚拟存储器资料
(1) 直接映像 设主存空间被分为: Mm(0), Mm(1),……, Mm(i),……, Mm(2m-1)共2m个块,字块大小为2b个字节; cache空间被分为: Mc(0), Mc(1),……, Mc(j),……, Mc(2c-1)共2c个同样大小的块。 直接映像函数可定义为: j=i mod 2c 其中,j是cache的字块号,i是主存的字块号, 2c是cache中块的个数。 在这种映像方式中,主存的第0块,第2c块,第2c+1块,…,只能映像到cache的第0块; 而主存的第1块,第2c+1块,第2c+1+1块,…,只能映像到cache的第1块。 直接映像的优点是实现简单,只需利用主存地址按某些字段直接判断,即可确定所需字块是否已在cache存储器中。 在直接映像方式中,主存和cache中字块的对应关系如下图所示。 直接映像cache组织 (2) 全相联映像 全相联映像方式是最灵活但成本最高的一种方式,如下图所示。 (3) 组相联映像 组相联映像方式是直接映像和全相联映像方式的一种折衷方案。组相联映像cache组织如下图所示。 组间采用直接映像,组内的字块为全相联映像: 设把cache字块分为2c’组,每组包含2r个字块,主存字块Mm(i)(0≤ i≤ 2m-1,主存有2m个字块)到cache字块Mc(j)(0≤ j≤ 2c-1,cache有2c个字块)的映像函数为: j=(i mod 2c’)* 2r +k (0 ≤k≤2r-1) 组号 组相联映像方式的性能与复杂性介于直接映像与全相联映像两种方式之间。当r=0时,它就成为直接映像方式;当r=c时,就是全相联映像方式。 cache的命中率除了与地址映像的方式有关外,还与cache的容量有关。cache容量大,命中率高,但达到一定容量后,命中率的提高就不明显了。 组相联映像cache组织 四、 替换算法 当新的主存字块需要调入cache存储器而它的可用位置又已被占满时,就产生替换算法问题。先介绍两种替换算法: 先进先出(FIFO)算法和近期最少使用(LRU)算法。 LRU算法替换登记表 解决方法: ① 通写式(write through) ② 缓冲通写式(buffered write through) ③ 回写式(write back) 虚拟存储系统 一、虚拟存储器 段式虚实地址转换 虚拟地址到物理地址的转换 页表(慢表)在主存中的地址由页表寄存器指出 (三)、段页式管理系统 三、虚拟存储器工作的全过程 1、对虚拟存储器来说,程序员按虚存空间编制程序,这个虚地址由虚页号及页内地址组成 2、这个虚地址也仅是辅存的逻辑地址,辅存的实地址如下 因此虚拟存储器中还有虚拟地址到辅存实地址的转换.辅存一般按信息块编址,假定一个块的大小等于一个虚页面的大小,这样就只需把虚页号变换到Nvd即可完成虚地址到辅存实地址的变换.为此可采用页表的方式,把由Nv变换成Nvd的表称为外页表,而把Nv变换到主存实页号的表称为内页表 3、多用户虚拟存储器工作过程: 段号 段内地址 + + 逻辑地址 段始地址 段长 装入位 段 表 主存实际地址 段表基地址 5、逻辑地址到实地址的转换: 段表长度 段表起始地址 位移量100 段号2 9200H 200H 3 8000H 500H 2 4000H 600H 1 6000H 1000H 0 基址 段长 段号 + 8100H 主存 段表 虚地址 物理地址 把主存按段分配的存储管理方式称为段式管理. 段式管理系统的优点是段的分界与程序的自然分界相对应; 段的逻辑独立性使它易于编译,管理,修改和保护,也便于多道程序共享. 其缺点是容易在段间留下许多空余的零碎存储空间不好利用,造成浪费. (二)、页式存储管理 1、页:把虚拟逻辑地址空间和主存实际物理地址空间都划分容量相等(为2的幂)的大小区域,称为页(把前者称为实页或物理页,而把前者称为虚页或逻辑页)。所有的地址都可以用页号拼接页内地址来表示。 假设虚页号为0,1,2, …,m,实页号为0,1,2, …,l,显然有ml.由于页的大小都取2的整数幂个字,所以,页的起点都落在低位字段为零的地址上.可把虚拟地址分为两个字段,高位字段为虚页号,低位地址为页内字地址。 2、页式存储管理:在一个计算机系统中页的长度是人为划分的,并通过分页方式进行存储器管理,实现以页为单位来完成在虚存和主存之间信息交换,称为页式存储管理。 3、虚拟地址的组成: 虚拟地址到主存实地址的变换是由页表来实现的.在页表中,对应每一个虚存页号有一个表目,表目内容至少要包含该虚页所在的
文档评论(0)