页式存储(已知系统为32位实地址,采用48位虚拟地址,页面大小4KB,页表项大小为8B;每段最大为4GB。)
来源:互联网 发布:创维电视无法连接网络 编辑:程序博客网 时间:2024/05/16 18:58
页式存储(清华大学)
已知系统为32位实地址,采用48位虚拟地址,页面大小4KB,页表项大小为8B;每段最大为4GB。
(1)假设系统使用纯页式存储,则要采用多少级页表,页内偏移多少位?
(2)假设系统采用一级页表,TLB命中率为98%,TLB访问时间为10ns,内存访问时间为100ns,并假设当TLB访问失败后才访问内存,问平均页面访问时间是多少?
(3)如果是二级页表,页面平均访问时间是多少?
(4)上题中,如果要满足访问时间<=120ns,那么命中率需要至少多少?
(5)若系统采用段页式存储,则每用户最多可以有多少段?段内采用几级页表?
参考答案:
(1)首先,页面大小为4KB,故页内偏移需要12位来表示。其次,系统虚拟地址一共48位,所以剩下的48-12=36位可以用来表示虚页号。每一个页面可以容纳的页表项为:4KB/8B=29(也就是可以最多表示到9位长的页号),而虚页号的长度为36位,所以需要的页表级数为:36/9=4级。
(2)当进行页面访问时,首先应该先读取页面对应的页表项,98%的情况可以在TLB中直接得到得到页表项,直接将逻辑地址转化为物理地址,访问内存中的页面。如果TLB未命中,则要通过一次内存访问来读取页表项,所以页面平均访问时间是:
98%×(10+100)ns+2%×(10+100+100)ns=112ns
(3)二级页表的情况下:
如果TLB命中,和(2)的情况一样,如果TLB没有命中,采用二级页表需要访问3次内存,所以页面平均访问时间是:
98%×(10+100)ns+2%×(10+100+100+100)ns=114ns
(4)假设快表的命中率为p,应该满足以下式子:
p×(10+100)ns+(1-p)×(10+100+100+100)ns<=120ns
可以解得:p>=95%,所以如果要满足访问时间<=120ns,那么命中率至少为95%。总结知识点:在多级页表的情况下,如果TLB没有命中,则需要从虚拟地址的高位起,每N位(其中N就是类似于(1)中的9)逐级访问各级页表,以第(1)问为例,如果快表未命中,则需要访问5次内存才能得到所需页面。
0 0
- 页式存储(已知系统为32位实地址,采用48位虚拟地址,页面大小4KB,页表项大小为8B;每段最大为4GB。)
- Java中将字节大小转换为KB,MB,GB,并保留两位小数
- 设某计算机的逻辑地址空间和物理地址空间均为128KB,按字节编址。若某进程最多需要6页数据存储空间,页面大小为1KB,操作系统采用固定分配局部置换策略为该进程分配4个页框(物理块)。
- android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位
- android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位
- android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位
- android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位
- vc显示数据大小(将十进制数据转化为Byte KB MB GB)
- windows 32位系统中进程最大可用内存空间为3GB
- windows 32位操作系统中,每个进程最大可用内存空间为3GB
- 字节byte转换为B,KB,MB,GB,TB
- ios 字节byte转换为B,KB,MB,GB,TB
- 为什么32位系统支持的最大内存为4G?
- 计算字节大小函数(通过传入的以B为单位的数值,转换为B、KB、MB的形式)
- 32位地址对应大小
- 为什么32位系统内存最多为4G?
- 系统32位指针变量为4字节系统16位指针变量2个字节
- 腾讯笔试题:二进制地址为011011110000,大小为(4)10和(16)10块的伙伴地址
- 暴雪公司关于字符串匹配的hash算法
- 获取当前日期算前一年、前一月、前一天Calendar
- Android服务之startService源码分析
- Umbraco 官方技术文档 翻译 二、Date
- PTA 计算平均值
- 页式存储(已知系统为32位实地址,采用48位虚拟地址,页面大小4KB,页表项大小为8B;每段最大为4GB。)
- springMVC中controller之前执行的方法
- 数据库设计原则
- package.json字段全解
- HTTPS安全在哪里?
- Git 少用 Pull 多用 Fetch 和 Merge
- C# ?? 运算符
- 使用jersey构建Restful web service
- 使用Akka的Actor和Future简单地实现并发处理