页式存储,段式存储,段页式存储,引入快表等访存次数

王道的说法

页式存储2次

第一次,访问内存中的页表,利用逻辑地址中的页号查找到页帧号,与逻辑地址中的页内偏移拼接形成物理地址;

第二次:得到物理地址后,再一次访问内存,存取指令或者数据。

段式存储2次(同上)

段页式存储3次

第一次:访问内存中的段表查到页表的起始地址

第二次:访问内存中的页表找到页帧号,形成物理地址

第三次:得到物理地址后,再一次访问内存,存取指令或者数据

多级页表若页表划分为N级,则需要访问内存N+1次。若系统有快表,则在快表命中时,只需访问1次内存即可

 

引入快表

因为把页表放在内存中,至少需要访问两次内存才能存取一条指令或者数据(一次得到物理地址地址,一次存取),比较慢;

为此在地址变换机构中增设了一个具有并行查找能力的高速缓冲寄存器-快表(全局只有一个,不在内存中!!!)

用来存放当前访问的若干页表项(比较小,只能存放部分页表项)

  • 若快表命中,则可直接得到页帧号,与页内偏移拼接成物理地址后访问内存,进行指令或者数据的存取。(只需访问一次内存)
  • 若快表不命中,则需去内存中访问页表,形成物理地址后,再一次访问内存进行指令或者数据的存取。(需要访问两次内存)

注:1.读出页表项后,应将其存入快表,以便下次使用,快表已满则需用算法置换;

      2.有些处理机是先查快表,快表不命中再去查内存,有些则是快表和内存同时查找,快表

命中就终止内存查找。

     3.在内存中查找页表时,对比页表项的状态位,看该页是否调入了内存,若没有调入内存则产生一个缺

页中断,请求外存把该页调入内存。

没有更多推荐了,返回首页