[发明专利]实行推测性页表查找的微处理器及方法有效
| 申请号: | 200810171069.5 | 申请日: | 2008-11-06 | 
| 公开(公告)号: | CN101398788A | 公开(公告)日: | 2009-04-01 | 
| 发明(设计)人: | 柯林·艾迪;罗德尼·E·虎克 | 申请(专利权)人: | 威盛电子股份有限公司 | 
| 主分类号: | G06F12/10 | 分类号: | G06F12/10 | 
| 代理公司: | 北京市柳沈律师事务所 | 代理人: | 钱大勇 | 
| 地址: | 中国台*** | 国省代码: | 中国台湾;71 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 实行 推测 性页表 查找 微处理器 方法 | ||
技术领域
本发明涉及支持页(paged)虚拟存储器的微处理器领域,特别是涉及因应TLB遗失而实行页表查找的微处理器。
背景技术
许多现代微处理器支持虚拟存储器的概念。在虚拟存储器系统中,微处理器上执行的程序指令参考微处理器的虚拟地址空间内使用虚拟地址的数据。微处理器转换虚拟地址成为用于存取物理存储器的实体地址。
微处理器所支持的常用虚拟存储器结构是页存储器系统。页存储器系统利用分页机制以转换或映像虚拟地址至实体地址。实体地址空间划分成固定尺寸的实体页。常用的页尺寸是4KB。虚拟地址包括虚拟页地址部分以及页偏移部分。虚拟页地址定义虚拟地址空间中的虚拟页。微处理器的分页机制转换虚拟页地址成实体页地址。这过程称为页转换。页偏移定义实体页中的实体偏移,例如来自实体页地址的实体偏移。
操作系统决定存储器内哪一实体页将映像至每一虚拟页以及维持定义映像的页映像信息于一系统存储器中。当微处理器遇到定义虚拟地址至存储器内位置进行存取的指令时,例如载入或储存指令,通过使用操作系统的页映像信息微处理器必须转换虚拟地址为适合的实体地址。因此,微处理器必须自系统存储器读取适当的页映像信息以转换虚拟地址成实体地址。为了减少尺寸,页映像信息典型地以阶层式排列,微处理器被要求在多层次的阶层内进行读取操作。基于这个原由,以及因为页映像信息被普遍称为页表(page table),所以微处理器查找页映像信息以转换虚拟地址成实体地址的过程通常称为页表查找(page table walk)或简称为表查找(tablewalk)。
举例而言,常用的阶层式页映像信息包含第一层页目录(page directory)以及第二层页表。页目录内的每一项目(ent ry)指向不同页表,以及每一页表内的每一项目包含实体地址以及映像至该项目的页特性。页目录的基地址储存在微处理器的缓存器。2006年6月英特尔公司所发表,文件号253668-020US,第3A册:系统程序指南第一部分,IA32英特尔结构软件开发手册的3-23页第3-12图说明这样的概念,在此引以为参考。在这个例子中,微处理器通过以索引的方式读取页目录的项目实行表查找,其中页目录被定义于在虚拟地址的较上层(upper)地址的页目录项目位(page directory entry bits)。页目录的项目定义相关页表的基地址。然后,微处理器以索引的方式读取页表项目实行表查找,其中页表项目被定义于在虚拟地址的中间(middle)地址的页表位(page table bits)。页表项目定义相关页的实体地址。页表项目也包含每一页的特性。例如页特性可能包含页是否已经被读取的指示;页是否已经被写入;快取特性,例如页是否可被快取,以及是否具有回写快取功能;页被指定的存取权限;页的写入权限;以及页现在是否于物理存储器内。操作系统分派(allocate)页目录项目以及带有页特性值的页表。然而,微处理器必须更新一些页特性以因应程序执行。例如,在上述英特尔架构中,微处理器写入相关页目录项目以及/或页表项目以更新存取(Accessed)以及/或坏(Dirty)位以因应程序读取以及/或写入存储器页。因此,当实行表查找,除了自系统存储器读取页映像信息以转换虚拟地址成实体地址,微处理器可能有时也必须于系统存储器内写入页映像信息。
因为页映像信息常驻于系统存储器内,以及存取到系统存储器相对缓慢,对于微处理器实行表查找以实行虚拟至实体地址转换以及得到以及/或更新页特性的操作相对的代价较高。通过降低表查找的数目以改善性能,许多微处理器提供快取页映像信息的机制。快取页映像信息一般称为转换查考缓冲区(translation lookaside buffer,TLB)。当微处理器遇到存储器存取指令时,微处理器提供虚拟地址给TLB并且TLB实行虚拟页地址的查询。假如虚拟页地址在TLB内快取(hit)到,则TLB提供相对应的转换实体页地址以及页特性,因此可以避免实行表查找的需要。然而假如虚拟页地址于TLB内遗失,则微处理器必须实行表查找。因此,除了从存储器读取页映像信息,以及必要地更新页映像信息,表查找也包含微处理器分派TLB内的项目,以及更新带有转换后实体地址以及页特性的项目。
总而言之,一般来说,表查找包括三个步骤。第一步骤是从存储器读取要求转换虚拟地址至实体地址以及得到页特性的必须的页映像信息。第二步骤,假如有必要,更新系统存储器中页映像信息。第三步骤是分派TLB项目以及更新带有新页映像信息的项目。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于威盛电子股份有限公司,未经威盛电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810171069.5/2.html,转载请声明来源钻瓜专利网。





