问答题 已知系统为32位实地址,采用48位虚拟地址,页面大小为4KB,页表项大小为8B,每段最大为4GB。
问答题 假设系统使用纯页式存储,则要采用多少级页表?页内偏移多少位?
【正确答案】已知页面大小为4KB=212B,即页内偏移量的位数为12。采用48位虚拟地址,故虚页号为48位-12位=36位。页表项的大小为8B,则每页可容纳4KB/8B=512=29项。那么所需多级页表的级数=[*],故应采用4级页表。
【答案解析】
问答题 假设系统采用一级页表,TLB命中率为98%,TLB访问时间为10ns,内存访问时间为100ns,并假设当TLB访问失败后才开始访问内存,问平均页面访问时间是多少?
【正确答案】系统进行页面访问操作时,首先读取页面对应的页表项,有98%的概率可以在TLB中直接读取到(10ns),然后进行地址变换,访问内存读取页面(100ns),所需要的时间为10ns+100ns=110ns。如TLB未命中(10ns),则要通过一次内存访问来读取页表项(100ns),地址变换后,再访问内存(100ns),因TLB访问失败后才开始访问内存,因此所需时间为10ns+100ns+100ns=210ns。页面平均访问时间为: [98%×110+(1-98%)×210]ns=112ns
【答案解析】
问答题 如果是二级页表,页面平均访问时间是多少?
【正确答案】二级页表的情况下,TLB命中的访问时间还是110ns,未命中的访问时间加上一次内存访问时间为210ns+100ns=310ns,那么平均访问时间为: [98%×110+(1-98%)×3101ns=114ns
【答案解析】
问答题 上题中,如果要满足访问时间≤120ns,那么命中率需要至少为多少?
【正确答案】本问是在上题的基础上提出的,假设快表命中率为p,则应满足 [p×110+(1-p)310]ns≤120ns 求解不等式得p≥95%。
【答案解析】
问答题 若系统采用段页式存储,则每用户最多可以有多少个段?段内采用几级页表?
【正确答案】系统采用48位虚拟地址,虚拟地址空间为248B,每段最大为4GB,那么最大段数=248B/4GB=216=65536。
4GB=232B,即段内地址位数为32,段内采用多级页表,那么多级页表级数=[*],故段内采用3级页表。
【答案解析】