实行推测性页表查找的微处理器及方法

文档序号:6467532阅读:118来源:国知局

专利名称::实行推测性页表查找的微处理器及方法
技术领域
:本发明涉及支持页(paged)虚拟存储器的微处理器领域,特别是涉及因应TLB遗失而实行页表查找的微处理器。
背景技术
:许多现代微处理器支持虛拟存储器的概念。在虚拟存储器系统中,微处理器上执行的程序指令参考微处理器的虚拟地址空间内使用虚拟地址的数据。微处理器转换虚拟地址成为用于存取物理存储器的实体地址。微处理器所支持的常用虚拟存储器结构是页存储器系统。页存储器系统利用分页机制以转换或映像虚拟地址至实体地址。实体地址空间划分成固定尺寸的实体页。常用的页尺寸是4KB。虚拟地址包括虚拟页地址部分以及页偏移部分。虚拟页地址定义虛拟地址空间中的虚拟页。微处理器的分页机制转换虚拟页地址成实体页地址。这过程称为页转换。页偏移定义实体页中的实体偏移,例如来自实体页地址的实体偏移。操作系统决定存储器内哪一实体页将映像至每一虚拟页以及维持定义映像的页映像信息于一系统存储器中。当微处理器遇到定义虚拟地址至存储器内位置进行存取的指令时,例如载入或储存指令,通过使用操作系统的页l像信息微,器必须转换虛拟地址为适啗、的实体地^c囚此,微处理^i^须自系统存储器读取适当的页映像信息以转换虚拟地址成实体地址。为了减少尺寸,页映像信息典型地以阶层式排列,微处理器被要求在多层次的阶层内进行读取操作。基于这个原由,以及因为页映像信息被普遍称为页表(pagetable),所以微处理器查找页映像信息以转换虚拟地址成实体地址的过程通常称为页表查找(pagetablewalk)或简称为表查找(tablewalk)。举例而言,常用的阶层式页映像信息包含第一层页目录(pagedirectory)以及第二层页表。页目录内的每一项目(entry)指向不同页表,以及每一页表内的每一项目包含实体地址以及映像至该项目的页特性。页目录的基地址储存在微处理器的緩存器。2006年6月英特尔公司所发表,文件号253668-020US,第3A册系统程序指南第一部分,IA32英特尔结构软件开发手册的3-23页第3-12图说明这样的概念,在此引以为参考。在这个例子中,微处理器通过以索引的方式读取页目录的项目实行表查找,其中页目录被定义于在虚拟地址的较上层(upper)地址的页目录项目位(pagedirectoryentrybits)。页目录的项目定义相关页表的基地址。然后,^t处理器以索引的方式读取页表项目实行表查找,其中页表项目被定义于在虚拟地址的中间(middle)地址的页表位(pagetablebits)。页表项目定义相关页的实体地址。页表项目也包含每一页的特性。例如页特性可能包含页是否已经被读取的指示;页是否已经被写入;快取特性,例如页是否可被快取,以及是否具有回写快取功能;页被指定的存取权限;页的写入权限;以及页现在是否于物理存储器内。操作系统分派(allocate)页目录项目以及带有页特性值的页表。然而,微处理器必须更新一些页特性以因应程序执行。例如,在上述英特尔架构中,微处理器写入相关页目录项目以及/或页表项目以更新存取(Accessed)以及/或坏(Dirty)位以因应程序读取以及/或写入存储器页。因此,当实行表查找,除了自系统存储器读取页映像信息以转换虚拟地址成实体地址,微处理器可能有时也必须于系统存储器内写入页映像信息。因为页映像信息常驻于系统存储器内,以及存取到系统存储器相对緩慢,对于微处理器实行表查找以实行虚拟至实体地址转换以及得到以及/或更新页特性的操作相对的代价较高。通过降低表查找的数目以改善性能,许多微处理器提供快取页映像信息的机制。快取页映像信息一般称为转换查考緩冲区(translationlookasidebuffer,TLB)。当《效处理器遇到存储器存^C^令时,微处理器提伏虚拟地址给TLB并且TLB实fe^l^iiLi^i^假如虚拟页地址在TLB内快取(hit)到,则TLB提供相对应的转换实体页地址以及页特性,因此可以避免实行表查找的需要。然而假如虚拟页地址于TLB内遗失,则微处理器必须实行表查找。因此,除了从存储器读取页映像信息,以及必要地更新页映像信息,表查找也包含微处理器分派TLB内的项目,以及更新带有转换后实体地址以及页特性的项目。总而言之,一般来说,表查找包括三个步骤。第一步骤是从存储器读取要求转换虚拟地址至实体地址以及得到页特性的必须的页映像信息。第二步骤,假如有必要,更新系统存储器中页映像信息。第三步骤是分派TLB项目以及更新带有新页映像信息的项目。许多现代微处理器是超纯量处理器,也就是说,微处理器包含多重执行单元以及具备在单一频率周期中发出多重指令至执行单元的能力。许多现代微处理器也实行乱序执行。也就是说,微处理器可能乱序地执行程序所定义的指令。超纯量乱序执行微处理器通常会尝试维持相对大量的重要指令,以利于大量指令并行。许多现代微处理器也实行推测性指令执行,也就是在知道指令完成之前,微处理器会先行执行指令,或至少执行指令所指定的一部分动作。但是有些情况下,有些指令可能会无法完成,原因如下例如,微处理器可能已经错误地预测先前于有争议的指令的分支指令;亦或者,在有争议的指令完成之前,微处理器可能产生例外(exception)。这个例外可能是异步事件,例如中断,或是同步事件,例如指令所引起,诸如页错误、除以零的情况、产生保护错误等等。引起例外的指令可能是有争议的指令或先前于有争议的指令的一个指令。虽然微处理器可能实行推测性指令所指定的一部分动作,微处理器不被架构所允许更新带有指令结果的系统的架构状态,直到指令不再是推测性的,例如,直到确定指令完成。当已知乱序执行微处理器遭遇需要表查找的TLB遗失时,微处理器连载(serialize)表查找与其它重要程序指令。也就是说,已知的微处理器等待直到所有先前于启动指令(引起TLB遗失的指令)的程序指令已经退出,才实行表查找,并且在完成表查找之前,不会发布到执行单元以执行新于启动指令的程序指令。因为已知的微处理器连载表查找,以及因为先前于启动指令的指令数可能较大量以及/或一些指令可能是长潜伏指令,例如存储器存取指令或浮点指令,已知的微处理器可能等待相对长时间以实行表查找以及已知的微处理器可能丧失执行新于启动指令的机会。这可能明显不利地影响已知微处理器的性能。
发明内容本发明提供一种实行推测性页表查找的微处理器。在一实施例中,本发明提供一种用以实行一表查找的微处理器。微处理器包含一转换查考緩冲区,转换查考緩沖区指示一存储器存取指令正尝试存取的一页存储器的一实体页地址于TLB内遗失。微处理器包含一表查找引擎,表查找引擎决定一预定情况是否存在,预定情况有关页存储器的特性,当预定情况不存在时,表查找引擎以一乱序方式实行表查找操作,表查找操作有关先前于存储器存取指令的未退出的程序指令的执行,以及当预定情况存在时,则表查找引擎等待直到微处理器退出所有先前于存储器存取指令的程序指令以实行表查找的操作。在另一实施例中,本发明提供一种具有一转换查考緩沖区的一微处理器推测性地实行一表查找的方法,以因应微处理器执行存取一页存储器的一存储器存取指令,页存储器的实体页地址于TLB内遗失,此方法包括决定一预定情况是否存在,预定情况有关页存储器的特性。此方法也包含当预定情况不存在时,表查找引擎以一乱序方式实行表查找操作,表查找操作有关先前于存储器存取指令的未退出的程序指令的执行。此方法也包含当预定情况存在时,表查找引擎等待直到微处理器退出所有先前于存储器存取指令的程序指令以实行表查找的操作。此预定情况可能包含当页表查找需要载入来自固定顺序页的信息、更新页映像信息或存取共享页的表查找的情况。图1显示根据本发明的微处理器的方块图。图2是说明已知的微处理器实行页表查找的流程图。图3是根据本发明说明图l微处理器实行页表查找操作的流程图。附图符号说明100~微处理器;104~微码;108记录器緩冲区;114~退出单元;118-存储器子系统;124-第一层数据快取;128转换查考緩冲区;134-储存单元;138-储存緩冲区;202、204、206、208、102指令转换器;106~重新命名/派遣单元;112-执行单元;116总线接口单元;122-第一层指令快取;126-第二层快取;132~载入单元;136-载入緩沖区;-表查找引擎;、214、216~方法步骤302、304、306、308、312、314、316、318、322、324、326、328、332~方法步骤具体实施方式本发明已认知到,在很多情况微处理器未必需要连载(serialize)表查找以及假如遇到适当的情况,提供微处理器推测性地实行表查找的概念而非连载它们。特别是当以下情况发生时l)关于表查找的系统存储器存取被要求于处理器总线上固定顺序;2)为了实行表查找,微处理器需要写入系统存储器以更新页映像信息;3)表查找将要更新TLB的系统存储器页是共享页时;微处理器正常地实行推测性表查找,并且只有连载表查找。现在参考图l,其显示根据本发明说明微处理器100的方块图。微处理器100包含指令转换器102、微码104、重新命名/派遣单元106、记录器緩冲区(ROB)108、执行单元112、退出(retire)单元114、总线接口单元(BIU)116,以及存储器子系统118。存储器子系统118包含第一层指令快取122、第一层数据快取124、第二层快取126、转换查考緩冲区(TLB)128、载入单元132、储存单元134、载入缓冲区136、储存緩冲区I"以及表查找引擎142。在实施例中,载入单元132以及储存单元134包含在执行单元ll2内。BIU116耦接微处理器100至通往系统存储器以及其它装置,例如系统芯片的处理器总线。微处理器100上所执行的操作系统储存微处理器100读及写以实行表查找的页映像信息于系统存储器内,如文中所描述。指令转换器102自存储器子系统118(例如Ll指令快取122)接收宏指令,转换宏指令为微指令并提供给重新命名/派遣单元106。对于某些宏指令,指令转换器102转移控制权到微码104其提供微指令给重新命名/派遣单元106。一些微指令是用以存取存储器的载入或储存指令。也就是说,载入/储存指令定义虛拟地址给微处理器100的存储空间内的存取存储器或其它装置,而BIU116必须使用物理存储器地址于处理器总线上存取。TLB128用以快取虚拟地址至实体页地址转换以及最近存取的存储器页的页特性以减少微处理器100执行载入/储存指令所需要的时间量。重新命名/派遣单元106分派ROB108内的项目给微处理器100中每一个重要的微指令。微指令会以一既定顺序(programorder)被分派至ROB108,以及退出单元114会以一既定顺序由ROB108退出微指令,即使执行单元ll2可能乱序地执行分派给它们的微指令。储存单元134通过写数据至储存緩沖区138执行储存指令,之后接着写数据至存储器,如系统存储器,L2快取126,以及/或Ll数据快取124。载入单元132通过从存储器系统、L2快取126以及/或Ll数据快取124读取数据至载入緩冲区136。当载入/储存指令在TLB128遗失,表查找引擎142对应地实行推测性表查找,如图3所详细描述。现在参考图2,其显示说明已知的微处理器实行表查找操作的流程图。根据本发明,图2的流程图提供说明已知微处理器以及微处理器100实行推测性表查找运作的差异。流程开始于方块202。在方块202,已知的微处理器检测载入/储存指令的虚拟页地址在TLB中遗失,称为表查找初始指令或简称为初始指令。接着前往方块204。在方块204,已知的微处理器推动表查找操作。也就是说,已知微处理器更新微处理器内的状态以指示需要实行有关初始指令所存取的存储器页的表查找。接着前往方块206。在方块206,已知的微处理器等待以实行表查找直到微处理器内所有先前于初始指令的微指令已经退出。因此,已知的微处理器连载相关于已知的微处理器中其它重要指令与表查找。接着前往方块208。在方块208,现在先前于初始指令的所有指令已经退出,已知的微处理器实行相关表查找的载入操作。也就是说,已知微处理器从系统存储器读取页映像信息以得到虚拟于实体页地址转换,以及载入/储存指令所意指的存储器页的特性。接着前往方块212。在方块212,已知的微处理器决定是否需要更新页映像信息。假如不用,则前往方块216;否则,前往方块214。在方块214,已知微处理器实行相关于表查找的锁定(locked)载入-储存操作。也就是说,已知微处理器读取页映像信息,适当地更新页映像信息,以及将更改的页映像信息写回系统存储器,全部在处理器总线上以锁定方式以保证页映像信息的读/更改/写是极微小的(atomic)。接着前往方块216。在方块216,已知微处理器分派TLB内的项目,以及更新带有实体地址的TLB以及存储器页信息的特性以完成表查找操作。流程结束于方块216。从图2观察,根据本发明,已知微处理器不利于连载表查找操作以及其它微处理器中的重要指令的性能,相较本发明微处理器的运作会造成较低的指令执行率。现在参考图3,其显示根据本发明的图l微处理器实行表查找运作的流程图。流程开始于方块302。在方块302,微处理器IOO检测于图1TLB128遗失的载入/储存指令(初始指令)的虚拟页地址,其由载入单元132或储存单元134内执行。接着前往方块304。在方块304,表查找引擎142推动表查找操作。也就是说,表查找引擎142更新微处理器100的状态以指示需要实行相关初始指令所存取的存储器页的表查找。接着前往方块308。在方块308,表查找引擎142决定目前表查找载入操作是否固定顺序的。表查找载入操作即为页映像信息的载入,例如致能表查找引擎的微处理器100由存储器中载入页目录项目或页表项目以实行表查找。在一实施例,假如被存取的页有不可快取的特性,则表查找载入是固定顺序的。在一实施例,假如页映像信息中页-层快取禁能(page-leveldisable(PCD))位被设定(set),则表查找引擎142决定页是否有不能快取的特性,如先前参考IA-32英特尔架构软件开发手册第3-28页所描述。特别是,因为页定义为不可快取,微处理器100在方块308实行检查以避免要求BIU116实行处理器总线上相关不正确顺序的表查找的转换。有利地是,在某些案例中,通过猜测性地实行许多固定顺序的表查找,微处理器IOO可能潜在地实行快于已知的微处理器的表查找。假如表查找载入不是固定顺序的,则前往方块314,否则前往方块312。在方块312,表查找引擎142等待直到所有先前于初始指令的微指令已经退出,例如,表查找引擎142连载表查找载入。因为已经在方块308决定表查找载入是固定顺序的,所以表查找引擎142连载表查找载入。在一实施例,在继续处理之前,微处理器IOO也等待直到先前于初始指令的所有储存数据已经交托给存储器。接着前往方块314。在方块314,表查找引擎142实行目前的表查找载入操作。接着前往方块316。在方块316,表查找引擎142决定是否需要实行更多表查找载入,假如要,流程回到方块308;否则流程前进到方块318。在方块318,表查找引擎142决定是否需要更新系统存储器内的页映像信息。在一实施例,通过决定是否需要设定页映像信息中存取或坏位,表查找引擎l42决定是否需要更新页映像信息,如先前参考IA-32英特尔架构软件开发手册3-28以及3-29页所描述。因为微处理器100不允许推测性地更新架构状态,所以表查找引擎142在方块318实行检查以避免推测性地更新系统存储器。有利地是,在某些案例中,通过不要求表查找引擎142更新页映像信息的表查找,微处理器IOO可能潜在地实行快于已知的微处理器的表查找。假如表查找引擎142不需要更新页映像信息,则前进到方块326;否则前往方块322。在方块322,表查找引擎142等待直到先前于初始指令的所有微指令已经退出,例如,表查找引擎142连载表查找的页映射部分。因为已在方块318决定需要更新系统存储器内的页映像信息,所以决定表查找引擎142连载表查找的页映射部分。在一实施例,在继续处理之前,微处理器100也等待直到先前于初始指令的所有储存数据已经交托至存储器。接着前往方块324。在方块324,表查找引擎142实行相关表查找的锁定载入-储存操作。因此,微处理器100读取页映像信息,适当地更新页映像信息(例如存取以及/或坏位),以及将更新的页映像信息回写至系统存储器,在处理器总线上都以锁定方法以保证页映像信息的读/更改/写是极微小的(atomic)。接着前进到查找326。在方块326,表查找引擎142决定表查找将更新TLBU8(例如在方块302在TLB128中遗失虚拟页地址的页)的系统存储器页是否为共享页。在一实施例,假如微处理器IOO没有刷新其TLB128项目以因应典型的同步TLB事件,例如任务交换,则页是共享的。操作系统通常指定共享特性到包含自身码的页。假如页是共享的,表查找引擎1"必须非推测性地更新TLB1"项目,因为假如决定表查找不应该已经执行(例如因为例外或误预测分支指令),则表查找引擎142可能更新带有不正确数据的TLBU8分支,并且因为是共享页,所以将不会刷新不正确数据以因应典型的同步TLB事件。在一实施例,假如页映像信息内的共享(G)位被设定,则页是共享的,如先前参考IA-32英特尔架构软件开发手册3-29以及3-30页所描述。有利地是,可能有许多情况是表查找将更新TLB128的系统存储器页不是共享页,在这些案例通过推测性地实行表查找,微处理器100可能潜在地实行快于已知的微处理器的表查找。假如表查找将更新TLB128的页不是共享页,则前进到方块332,否则进行到方块328。在方块328,表查找引擎1"等待直到先前于初始指令的所有微指令已经退出,例如,表查找引擎1"连载表查找TLB128更新部分。表查找引擎142连载表查找,因为在方块已经决定表查找将更新TLB128的页是共享页。在一实施例中,在继续处理之前,微处理器IOO也等待直到先前于初始指令的所有储存数据已经交托至存储器。接着前进到方块332。在方块"2,表查找引擎142分派TLB128中的项目并产生能被载入/储存指令存取的具有实体页地址与页特性的项目,其虛拟地址在TLB128中遗失。流程结束于方块332。可从图3观察,只要没有表查找载入是固定顺序,无页映像信息需要更新,以及在TLB遗失虚拟存储器的页不是共享页,则不需连载其它程序指令下微处理器IOO推测性地实行表查找。本发明人已观察到对于要求表查找的时机的显著百分比,这些连载情形没有一个是存在的。因此,因为微处理器100可能执行初始指令以及依靠它的指令会快于已知微处理器实行表查找,所以在此所描述的推测性表查找实施例潜在地致能微处理器较快地执行程序。须注意到,特定微处理器架构的架构需求可能强加其它限制在微处理器的能力以实行推测性的页表查找。例如,在一实施例,微处理器100是x86结构微处理器,则应可正确地执行设计给在x86微处理器上执行的主要应用程序。假如得到期望结果,则应用程序会正确执行。在x86架构语法,虚拟地址参考线性地址。根据一实施例,微处理器IOO也等待实行表查找直到微处理器100内先前于初始指令的每一储存微指令可决定它的物理存储器地址。在此实施例,微处理器IOO检测介于表查找以及先前的储存操作之间的冲突(col1ision),并且从冲突的先前储存发送相关储存数据至表查找载入。因此,因为假如先前的储存微指令仍然推测性地执行,可能最后会刷新,所以表查找引擎142必须防止微处理器IOO发送不正确数据至表查找载入操作。微处理器100没有分派架构状态给ROB108中的表查找载入操作以及载入緩冲区136,以致于表查找载入操作没有享有推测性执行以及相关程序指令所享有的微处理器IOO的回复机制的完整优势,在此实施例中,额外检查是有需要的。在一实施例,表查找引擎142指定初始指令的ROB108巻标至表查找载入操作的每一个,表查找引擎致能微处理器100以决定微处理器100内相关其它重要指令的操作表查找的时期。当更新系统存储器中会使得该处没有与表查找冲突的先前储存指令的页映像信息时,x86架构处理器的某些实施会强加执行同步化TLB(TLB-synchronizing)指令的需求于系统软件上;因此不管如何微处理器100将不会由储存发送数据至表查找载入。这样实施的范例描述于2008年四月英特尔^^司出版的应用笔记,文件编号317080-002,改版002,标题,,TLBs,页结构快取,,,在此引以为参考。根据其它实施例,微处理器100也等待以实行页表查找直到没有先前于初始指令的未退出的储存操作。相较实施例仅仅等待直到没有先前于未知存储器地址的未退出的初始指令的储存操作,此实施例无形中提供较低性能,但是需要较低复杂度以及功率消耗。虽然本发明以前述的相关x86架构微处理器的页映像概念的较佳实施例披露如上,但其并非用以限定本发明。本领域技术人员,在不脱离本发明的精神和范围的前提下,可做若干的更改与修饰,并可能以其它页映像概念用于微处理器。举例而言,本发明也包括实施于各种硬件之上,如实施于中央处理器(CentralProcessingUnit,CPU)、微处理器、微控制器、数字信号处理器(DigitalSignalProcessor,DSP)、处理器核心、系统芯片(SystemOnChip,S0C)、以及任何其它装置等。本发明也可实施于软件中,如配置于计算机可用(可读取)媒体中的计算机可读码、程序代码、以各种形式配置的指令(又如原始码、目标码或机器语言)。这些软件可运作本发明的装置及方法的功能、建构、模型化、仿真、描述、及(或)测试。举例而言,通过使用常用的程序语言如C、C++、硬件描述语言(HardwareDescriptionLanguages,HDL)如VerilogHDL、VHDL及其它程序,本发明可以软件方式实施。这些软件可配置于任何已知的计算机可读取储存媒体如半导体、碟碟及光盘(如CD-R0M、DVD-ROM等)中。值得注意的是,本发明的装置及方法包含于半导体智慧财产权核心,如微处理器核心(以HDL实施),且被转换成集成电路型式的硬件产品。并且,本发明的装置及方法也可为硬件及软件的组合。因此,本发明不限于此处所述的范例,其保护范围应以本发明的权利要求为准。最后,本领域技术人员,在不脱离本发明权利要求的前提下,可以本发明所披露的概念及实施例为基础,轻易地设计及修改其它用以达成与本发明目标相同的架构。权利要求1.一种用以实行推测性表查找的微处理器,包括一转换查考缓冲区,用以指示一存储器存取指令正尝试存取的一页存储器的一实体页地址于该转换查考缓冲区内遗失;以及一表查找引擎,用以决定一预定情况是否存在,该预定情况有关该页存储器的特性;当预定情况不存在时,以一乱序方式实行该表查找操作,该表查找操作有关先前于该存储器存取指令的未退出的程序指令的该执行;以及当该预定情况存在时,等待以实行该表查找的该操作,直到该微处理器退出所有先前于该存储器存取指令的该程序指令。2.如权利要求1所述的微处理器,其中该表查找引擎用以从该存储器读取于该转换查考緩沖区内遗失实体页地址的该存储器页的该实体页地址;将该实体页地址写入该转换查考緩冲区的一项目;选择地更新该存储器内的页信息,该页信息相关于该转换查考緩冲区内遗失实体页地址的该存储器页。3.如权利要求1所述的微处理器,其中该预定情况包含该表查找需要存取必须固定顺序存取的一页存储器,该存取有关该微处理器的一存储器总线上其它存储器存取转换。4.如权利要求1所述的微处理器,其中该预定情况包含该表查找需要一吏新存储器内的贞信,I^C1旨示于转换査4緩沖区内遗夫实体页地址的该贵存储器已经被写入或是被存取。5.如权利要求1所述的微处理器,其中该预定情况包含当该微处理器实行一任务交换时,于该转换查考緩冲区内遗失实体地址的该页存储器是否为一共享页。6.如权利要求5所述的微处理器,其中该表查找引擎决定于该转换查考緩冲区内遗失实体地址的该页存储器是否属于该处理器将不会使该存储器页的该转换查考緩冲区内的一项目有效的一种型式。7.—种供具有一转换查考緩冲区的一微处理器推测性地实行一表查找的方法,以因应该微处理器执行存取一页存储器的一存储器存取指令,该页存储器的实体页地址于该转换查考緩沖区内遗失,该方法包括决定一预定情况是否存在,该预定情况有关该页存储器的特性;当该预定情况不存在时,以一乱序方式实行该表查找操作,该表查找操作有关先前于该存储器存取指令的未退出的程序指令的该执行;以及当该预定情况存在时,等待以实行该表查找的该操作直到该微处理器退出所有先前于该存储器存取指令的该程序指令。8.如权利要求7所述的方法,其中该表查找的该实行操作包括从该存储器读取于该转换查考緩沖区内遗失实体页地址的该存储器页的该实体页地址;从该存储器读取该实体页地址后,另外将该实体页地址写入该转换查考緩冲区的一项目;从该存储器读取该实体页地址后,选择地更新该存储器内的页信息,该页信息相关于该转换查考緩冲区内遗失实体页地址的该存储器页。9.如权利要求7所述的方法,其中该预定情况包括该表查找包含存取必须固定顺序存取的一页存储器,该存取有关该微处理器的一存储器总线上其它存储器存取转换。10.如权利要求7所述的方法,其中该预定情况包括该表查找包含更新存储器内的页信息,以指示于转换查考緩冲区内遗失实体页地址的该页存储器已经被写入或是被存取。11.如权利要求7所述的方法,其中该预定情况包括于该转换查考緩沖区内遗失实体地址的该页存储器为一共享页。^J7^t利要求11所逸的方法,jt中孕该转换查考缓沖l内遗失实体地址的该页存储器属于该微处理器将不会使该存储器页的该转换查考緩冲区内的一项目有效的一种型式。全文摘要本发明关于实行推测性页表查找的微处理器及方法。其中该微处理器包含表查找引擎,此表查找引擎决定是否至少有一预定情况存在,其跟一存储存取指令所定义于TLB内遗失实体地址的存储器页的特性有关,当预定情况不存在时,以一乱序方式实行页表查找操作,页表查找操作跟先前于存储器存取指令的未退出程序指令的执行有关,以及当预定情况存在时,则表查找引擎等待直到微处理器退出先前于存储器存取指令的所有程序指令以实行页表查找操作。此预定情况可能包含当页表查找需要载入来自一固定顺序页的信息、更新页映像信息或存取一共享页的情况。文档编号G06F12/10GK101398788SQ200810171069公开日2009年4月1日申请日期2008年11月6日优先权日2008年7月14日发明者柯林·艾迪,罗德尼·E·虎克申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1