- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基本分页存储管理 页面与页表 地址变换机构 两级和多级页表 Page * * 地址变换机构 基本地址变换机构 实现从逻辑地址到物理地址的转换,将逻辑地址中的页号转换为内存中的物理块号,通过页表来完成 页表的实现 寄存器:变换速度快、成本高,适应小型系统。 页表驻留在内存:速度较低、成本低,适应大系统。 页表大多驻留在内存中,在系统中设置页表寄存器PTR(Page – Table Register),在其中存放页表在内存中的始址和页表的长度 进程未执行时,页表的始址和页表长度存放在本进程的PCB中,当调度程序调度到某进程时,才将这两个数据装入页表寄存器 Page * * 地址变换机构 地址结构 例如:32位地址,0~11为偏移量,12~31为页号,最大可以有1M(220)页,每页4KB (212) 。 页号P 偏移量W 31 12 11 0 Page * * 4.3.2 地址变换机构 1. 基本的地址变换机构 每个进程对应一页表,其信息(如长度、始址)放在PCB中,执行时将其首地址装入页表寄存器。 当进程要访问某个进程逻辑地址中的数据时,分为页号和页内地址两部分; 如果页号大于或等于页表长度,则表示本次所访问的地址已经超越进程的地址空间。 Page * * 地址变换机构 Page * * 地址变换机构 地址变换过程 指令 LOAD 1,2500 的地址变换过程(块大小为1024B) Page * * 地址变换过程 把虚拟地址2500转换成页号P=2,位移量W=452; 如果页号2大于页表大小,则中断;否则继续; 页号2与页表起址1000运算(1000+2*20,设页描述子大小为20)得到页描述子地址为1040; 从页描述子中读取块号8; 根据页描述子的“存取控制”判断该指令是否被允许访问内存,如果不允许,则中断;否则继续; 块号8与位移量452运算(8*1024+452=9644,1024为页面大小)得到物理地址9644; 执行LOAD操作。 地址变换机构 Page * * 2. 具有快表的地址变换机构 由于页表是存放在内存中的,这使CPU每次要存取一个数据时,都要两次访问内存。 第一次是访问内存中的页表,从中找到该页的物理块号,将此块号与页内偏移量W拼接以形成物理地址。 第二次访问内存时,才是从第一步所得地址中获得所需数据(或向此地址中写入数据),并将此页号与高速缓存中的所有页码进行比较。 Page * * 地址变换机构 具有快表的地址变换机构 由于页表是存放在内存中,因此每次CPU存取一个数据要两次访问内存 为提高地址变换速度,在地址变换机构中增设一个具有并行查询能力的高速缓冲寄存器,又称为“联想寄存器”(Associative Memory)或“快表”,用以存放当前访问的那些页表项 快表通常可存放16-512个表项,如果设计得当,命中率可达90%以上 Page * * 地址变换机构 页表寄存器 页表始址 页表长度 > 页号 页 内地址 + 逻辑地址L 越界中断 块号 b 页表 页号 页号 输 入 寄 存 器 块号 b b 快表 d 物理地址 具有快表的地址变换机构 Page * * 例:有一页式系统,其页表存放在主存中: ①如果对主存的一次存取需要1.5μs,试问实现一次页面访问的存取时间是多少? ②如果系统加有快表,平均命中率为85%,当页表项在快表中时,其查找时间忽略为0, 试问此时的存取时间是多少? Page * * 答:若页表存放在主存中,则要实现一次页面访问需两次访问主存:一次是访问页表,确定所存取页面的物理地址(称为定位)。第二次才根据该地址存取页面数据。 ■页表在主存的存取访问时间 =1.5*2=3(μs) ■增加快表后的存取访问时间 =0.85*1.5+(1-0.85)*2*1.5=1.725(μs) Page * * 基本分页存储管理 页面与页表 地址变换机构 两级和多级页表 Page * * 两级和多级页表 两级和多级页表 现代的大多数计算机系统,都支持非常大的逻辑地址空间(232~264)。在这样的环境下,页表就变得非常大,要占用相当大的内存空间 例如,对于一个具有32位逻辑地址空间的分页系统,若规定页面大小为4 KB即212 B,则在每个进程页表中的页表项可达1M(220)个之多。若每个表项占用4个字节(32bit), 故每个进程仅仅其页表就要占用4 MB的内存空间,而且还要求是连续的 页号P 偏移量W 31 12 11 0 232/212=220 32 / 8 = 4 4*1M=4M Page * * 两级和多级页表 可以采用这样两个方法来解决这一问题 采用离散分配方式来解决难以找到一块连续的大内存
您可能关注的文档
- 柏拉图的制作题库.ppt
- 柏林的城市交通规划题库.ppt
- 摆放规划艺术培训题库.ppt
- 摆脱中式发音,锻造地道口语题库.ppt
- 操盘手技术学习初级题库.ppt
- 操纵(第04课)题库.ppt
- 摆线针轮减速机原理题库.ppt
- 操作_经典程序题库.ppt
- 拜访+馈赠礼仪题库.ppt
- 操作技能提升培训_2题库.ppt
- DB51_T 3137-2023 柑橘园间作豆类栽培技术规程.docx
- Q_HY 07-2023 低温阀门技术条件.docx
- DB52∕T 1454-2019 精神病专科护理服务基本规范.docx
- T_XJZJXH GY10002.2-2024 “新疆品质” 特色产品技术规范 薰衣草精油.docx
- DB21_T 3981-2024 滑菇采收贮运技术规程.docx
- DB1308_T 368-2025 北柴胡生产技术规程.docx
- DB1307_T 454-2024 谷子品种 张杂谷6号.docx
- DB36T 1574-2022 食品快速检测结果验证通用技术规范.docx
- DB13(J)∕T 202-2016 公共建筑能耗远程监测系统技术标准.docx
- DB21_T 1564.9-2007 岩土工程勘察技术规程 抽水试验规程.docx
文档评论(0)