- 1、本文档共258页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 5.7.3 页式虚存的工作过程及实现 一个用户程序要访问虚拟存储器时,必须给出虚拟地址Av。 用户程序号 虚页号P 页内偏移D 虚地址Av 主存实地址A 实页号p 页内偏移d * * 1. 内部地址变换 在操作系统和有关硬件的共同管理下,首先进行虚地址到主存实地址的内部地址变换。 若访问内存命中(即地址变换成功),则得到主存实页号p。而虚拟地址中的页内偏移D可以直接作为主存实地址中的页内偏移d。这样,只要把主存实页号p与它的页内偏移d直接拼接起来就得到主存实地址A。 * * 2. 外部地址变换 若内部地址变换失败,即访存不命中,则表示要访问数据不在主存储器中,必须访问磁盘存储器。需要进行外部地址变换。 外部地址变换主要用软件实现。 首先查外页表得到与虚页号P相对应的磁盘实地址,然后再查内页表(主存实页表),看主存中是否有空页。如果主存中还有空页,只要找到空页号。把磁盘实地址和主存的实页号送入I/O处理机(通道)等,在I/O处理机的控制下,把要访问数据所在的一整页都从磁盘调入主存。 * * 虚地址 查内页表 装入位 =1 主存实地址 访问内存 查外页表 辅存实地址 装入位 =1 查主存内页表 主存满? 替换调页 调页 从光盘、磁带中装入 N Y N Y Y N I/O通道、中断 * * * * 内部地址变换:利用内页表将虚地址变换为主存实地址。 外部地址变换:利用外页表将虚地址变换为辅存实地址。外部地址变换一般用软件完成。 程序号 虚页号 页内位移 虚地址 辅存实地址 磁盘号 柱面号 磁头号 扇区号 程序号 外页表基址 外页表基址寄存器 磁盘实地址 装入位 外页表 * * 3. 页面替换算法 Cache替换方法可用于虚存中,基本单位为页。 例如:一个程序共有5个页面组成,分别为P1~P5。程序执行过程中的页地址流(即程序执行中依次用到的页面)如下: P1,P2,P1,P5,P4,P1,P3,P4,P2,P4 假设分配给这个程序的主存储器共有3个页面。下图表示FIFO和LRU两种页面替换算法对这3页主存的使用情况,包括调入、替换和命中等。 图中“*”号标记的是下次将要被替换掉的页面。 * * * * 5.7.3.1 快速地址变换技术 造成虚存访问速度降低的主要原因: ⑴ 在段式或页式虚存中,要访问主存必须先查段表或页表,在段页式虚拟存储器中,既要查段表又要查页表。如果段表和页表都放在主存中,那么,包括访问主存本身这一次在内,主存的访问速度将要降低2至3倍。⑵ 当页表或段表的容量超过一个页面的大小时,它们就有可能被映像到主存的不连续的页面位置上。这样,查页表时就不能用将页表起始地址与虚地址中虚页号相加而找到主存实页号的方法。 * * 地址变换速度的关键:提高页表的访问速度。 需要将内部地址变换速度提高到使访问主存的速度接近于不采用虚拟存储器时的访主存速度。 * * 1. 采用目录表 目录表法的基本思想 用目录表来代替页表,目录表的存储容量由实页数决定。 目录表所需的存储容量较小,可以用一个容量较小的高速存储器(相联存储器)来存放目录表,从而加快查表的速度。 * * 当访问两个相邻或相近的存储单元时,由于这两个存储单元在同一个体中,因此不能并行操作。这种现象称为存储器的分体冲突。 访问高位交叉存储器时的分体冲突 * * 高位交叉存储器一般适合于共享存储器的多机系统。在这种系统中,各处理机通常访问各自所需的数据对象,当这些数据对象存放在不同的体中时,存取操作即可并行进行。 一个模m的多体交叉存储器在不发生分体冲突时的带宽是单体带宽的m倍。 * * 5.6.3.2 低位交叉存储器 设主存的空间为N=2n字,分为M=2m个存储体,存储器的地址字长n位。 在低位交叉访问存储器中,选择存储体体号的地址位段是低n-m位,指明体内地址是高m位。 在低位交叉的存储器中,相邻地址的存储单元分布在不同的存储体中。 体内地址(m位) 存储体体号( n-m ) * * 低位交叉访问存储器的结构 * * 在访问地址相邻的数据对象(如数值元素)时,低位交叉的存储器各体可并行进行存取操作。 对于顺序访存的地址流,m个体的低位交叉存储器的带宽可以达到单体带宽的m倍。 低位交叉存储器比较适于单处理机内的高速数据存取以及带Cache的主存。 * * 例:设某台计算机的特性及其Cache的性能为: (1) 块大小为1个字(32位) ; (2) 存储器总线宽度为1个字; (3) Cache失效率为3%; (4) 平均每条指令访存1.2次; (5) Cache失效开销为32个时钟周期; (6)平均CPI(忽略Cache失效)为2。 ⑺其它参数如前例 送地址需要4个时钟周期 每个字的访问时间为24个时
文档评论(0)