具有快表的地址变化机构

如果页表全部存放在内存中,则存取一个数据或指令至少要访问内存两次,第一次是访问页表,确定所存取数据或指令的物理地址;第二次是根据该地址存取数据或指令。显然这种方法比通常执行指令的速度慢了一半
为此,在地址变化机构中增设一个具有查找能力的高速存储器——块表,又称为相联存储器(TLB),用来存放当前访问的若干表项,以加速地址变换的过程。与此对应,主存中的页表常称为慢表。

在具有快表的分页机制中,地址变换过程如下:

  1. CPU给出逻辑地址后,由硬件进行地址转换,将页号送入高速缓存器,并将此页号与快表中的所有页号进行比较。
  2. 若找到匹配的页号,说明所要访问的页表项在块表中,则直接从中取出该页对应的页框号,与页内偏移量拼接形成物理地址。这样,存取数据仅一次访存便可实现
  3. 若未找到匹配的页号,则需要访问主存中的页表,在读出页表项后,应该同时将其存入快表,以便后面可能的再次访问。但如果快表满了,则必须按照一定的算法对旧的页表项进行替换。

你可能感兴趣的:(操作系统)