微处理器、用于预取数据的方法及非暂态计算机用介质技术

技术编号:14079322 阅读:138 留言:0更新日期:2016-11-30 15:26
选择性预取物理接续快取线至包含被载入分页表的快取线。本发明专利技术提供一种微处理器,包括一转译查询缓冲器、第一要求、硬件逻辑以及第二要求。第一要求载入一分页表项目至微处理器,以响应未在转译查询缓冲器找到一虚拟地址,被要求的分页表项目被包含于一分页表,分页表包括多个快取线,该等快取线包括一第一快取线,第一快取线包括被要求的分页表项目。硬件逻辑决定物理接续第一快取线的一第二快取线是否在分页表之外。第二要求预取第二快取线至微处理器,第二要求至少基于硬件逻辑所作的决定而被选择性产生。

【技术实现步骤摘要】

本专利技术涉及微处理器,特别涉及微处理器的预取(prefetch)数据的方法。
技术介绍
现今许多微处理器具有使用虚拟存储器的能力,特别是能够运用一存储器分页机制(memory paging mechanism)。本领域技术人员应能理解,操作系统在系统存储器中所建立的分页表(page tables)用来将虚拟地址转译成物理地址。根据《IA-32架构软件开发者手册,第3A册:系统程序设计导引,第1篇,2006年6月》中所描述的x86架构处理器技术(该参考文献全文以引用方式并入本文中),分页表可采取阶层方式(hierarchical fashion)排列。具体说来,分页表包含多个分页表项目(page table entries;PTE),各个分页表项目存储一物理存储器分页的物理分页地址与物理存储器分页的属性。所谓的分页表寻访(tablewalk)是指提取一虚拟存储器分页地址并使用此虚拟存储器分页地址来寻访(traverse)分页表阶层,用以取得与此虚拟存储器分页地址对应的分页表项目以便将虚拟地址转译成物理地址。由于物理存储器存取的延迟时间相对较长,加上在分页表寻访过程中可能要对物理存储器进行多重存取,因此执行分页表寻访十分耗时。为了避免因执行分页表寻访而造成的时耗,处理器通常会包含一转译查询缓冲器(Translation Lookaside Buffer;TLB)用以存储虚拟地址及由虚拟地址转译成的物理地址。然而,转译查询缓冲器的大小有限,并且当转译查询缓冲器发生遗失(miss)时还是需要执行分页表寻访。因此,我们需要一种能够缩短分页表寻访的执行时间的方法。
技术实现思路
在一实施例中,本专利技术提供一种微处理器,包括一转译查询缓冲器、第一要求、硬件逻辑以及第二要求。第一要求载入一分页表项目至微处理器,以响应未在转译查询缓冲器找到一虚拟地址,被要求的分页表项目被包含于一分页表,分页表包括多个快取线,该等快取线包括一第一快取线,第一快取线包括被要求的分页表项目。硬件逻辑决定物理接续第一快取线的一第二快取线是否在分页表之外。第二要求预取第二快取线至微处理器,第二要求至少基于硬件逻辑所作的决定而被选择性产生。在另一实施例中,本专利技术提供一种方法,包括产生一第一要求以载入一分页表项目至一微处理器,以响应未在微处理器之一转译查询缓冲器找到一虚拟地址,被要求的分页表项目被包含于一分页表,分页表包括多个快取线,该等快取线包括一第一快取线,第一快取线包括被要求的分页表项目;决定物理接续第一快取线的一第二快取线是否在分页表之外;以及至少基于决定而选择性产生一第二要求以预取第二快取线至微处理器。在另一实施例中,本专利技术提供一种被编码于至少一非暂态(non-transitory)计算机用介质且使用于运算装置的计算机程序产品,计算机程序产品包括内建于介质的计算机用程序代码,用以确认一微处理器。计算机用程序代码包括一第一程序代码,用以确认一转译查询缓冲器;一第二程序代码,用以确认一第一要求以载入一分页表项目至一微处理器,以响应未在微处理器的一转译查询缓冲器找到一虚拟地址,被要求的分页表项目被包含于一分页表,分页表包括多个快取线,该等快取线包括一第一快取线,第一快取线包括被要求的分页表项目;一第三程序代码,用以确认一硬件逻辑,硬件逻辑决定物理接续第一快取线的一第二快取线是否在分页表之外;以及一第四程序代码,用以确认一第二要求以预取第二快取线至微处理器,第二要求至少基于决定而被选择性产生。为让本专利技术的上述和其他目的、特征、和优点能更明显易懂,下文特举出优选实施例,并配合附图,作详细说明如下。附图说明图1为本专利技术实施例的微处理器的方块图;图2为图1中的微处理器的操作流程图;图3为本专利技术实施例的微处理器的方块图;图4为图3中的微处理器的操作流程图;图5为分页表寻访引擎形成分页表项目物理地址的方块图;图6为分页表寻访引擎形成分页表项目物理地址的方块图;图7至图10为决定第二快取线是否在分页表之外的实施例的方块图;图11至图13为依据其他实施例的微处理器的方块图。【符号说明】100~微处理器;102~指令快取;104~指令转译器;106~指令配送器;108~载入单元;112~数据快取;114~总线接口单元;116~转译查询缓冲器;118~分页表寻访引擎;122~预取单元;124~第一快取线;126~第二快取线;128~物理存储器;132~虚拟地址;134~遗失信号;136~分页表项目载入请求信号;138~确认信号;142~预取请求信号;144~物理地址;396~最后标志;396~分页表项目物理地址;502~分页表项目地址;504~快取线索引;506~分页表地址;508~分页表。具体实施方式为让本专利技术的目的、特征和优点能更明显易懂,下文特举出本专利技术的具体实施例,并配合附图,作详细说明如下。目的在于说明本专利技术的精神而非用以限定本专利技术的保护范围,应理解下列实施例可经由软件、硬件、固件、或上述任意组合来实现。请参考图1,图1为本专利技术实施例的微处理器100的方块图,此微处理器100为一管线式微处理器(pipelined microprocessor)。微处理器100包括一指令快取102用以提供多个指令至一指令转译器104,并且指令转译器104将所接收的指令转译并将转译后的指令提供至一指令配送器(instruction dispatcher)106。指令配送器106将指令提供至一载入单元108,其中上述指令可包括存储器存取指令(例如载入指令或存储指令)。载入单元108将一存储器存取指令所指定的虚拟地址132提供至一转译查询缓冲器116,并且转译查询缓冲器116对虚拟地址132进行查找(lookup)。若虚拟地址132有出现在转译查询缓冲器116中,则转译查询缓冲器116将虚拟地址132转译后的物理地址144传送回载入单元108。若虚拟地址132未出现在转译查询缓冲器116中,则转译查询缓冲器116产生一遗失信号(miss signal)134并传送至一分页表寻访引擎(tablewalk engine)118。分页表寻访引擎118耦接至载入单元108以及转译查询缓冲器116。如图1所示,预取单元122与数据快取112也耦接至载入单元108,并且总线接口单元114耦接至数据快取112。总线接口单元114将微处理器100耦接至一处理器总线,上述处理器总线耦接至具有微处理器100的计算机系统中的物理存储器128。具体说来,物理存储器128存储多个分页表,其中一分页表包括位于物理地址P的一第一快取线124以及位于物理地址P+64的一第二快取线126,并且第一快取线124与第二快取线126分别存储八个分页表项目。在本实施例中一条快取线的大小为64字节(bytes),并且一个分页表项目的大小为8字节,因此每条快取线可存储八个分页表项目。请参考图2,图2为图1中的微处理器100的操作流程图,用以说明如何预取下一条快取线,其中此快取线与一载入至载入单元的分页表项目有关。流程从步骤202开始。在步骤202中,当虚拟地址132未出现在转译查询缓冲器116中,转译查询缓冲器116产生一遗失信号134并传送至分页表寻访引擎118。分页表寻访引擎118在接收遗失信号134后即执行分本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201610514143.html" title="微处理器、用于预取数据的方法及非暂态计算机用介质原文来自X技术">微处理器、用于预取数据的方法及非暂态计算机用介质</a>

【技术保护点】
一种微处理器,包括:转译查询缓冲器;第一要求,载入分页表项目至该微处理器,以响应未在该转译查询缓冲器找到虚拟地址,该被要求的分页表项目被包含于分页表,该分页表包括多个快取线,所述快取线包括第一快取线,该第一快取线包括该被要求的分页表项目;硬件逻辑,决定物理接续该第一快取线的第二快取线是否在该分页表之外;以及第二要求,预取该第二快取线至该微处理器,该第二要求至少基于该硬件逻辑所作的该决定而被选择性产生。

【技术特征摘要】
2015.07.02 US 14/790,4671.一种微处理器,包括:转译查询缓冲器;第一要求,载入分页表项目至该微处理器,以响应未在该转译查询缓冲器找到虚拟地址,该被要求的分页表项目被包含于分页表,该分页表包括多个快取线,所述快取线包括第一快取线,该第一快取线包括该被要求的分页表项目;硬件逻辑,决定物理接续该第一快取线的第二快取线是否在该分页表之外;以及第二要求,预取该第二快取线至该微处理器,该第二要求至少基于该硬件逻辑所作的该决定而被选择性产生。2.如权利要求1所述的微处理器,还包括:决定该第二快取线是否在该分页表之外,该硬件逻辑决定该第一快取线是否为该分页表所包含的最后快取线。3.如权利要求2所述的微处理器,还包括:决定该第一快取线是否为该分页表所包含的最后快取线,该硬件逻辑决定该虚拟地址的多个预定位的数值是否都为一。4.如权利要求3所述的微处理器,还包括:该虚拟地址的所述预定位为N位的较高的M位并决定该分页表中的该分页表项目的索引,其中N-M为该分页表项目的字节尺寸的对数(log2)。5.如权利要求1所述的微处理器,还包括:当该决定为假时,产生该第二要求;以及当该决定为真时,不产生该第二要求。6.如权利要求1所述的微处理器,还包括:载入单元;以及分页表寻访引擎,产生该第一要求至该载入单元。7.如权利要求6所述的微处理器,还包括:该第一要求包括标志,该标志包括该分页表寻访引擎所做的决定;预取单元;如果该标志指示该决定为假,该载入单元提供该第一快取线的该物理地址至该预取单元;以及该预取单元产生该第二要求,以响应自该载入单元所接收的该第一快取线的该物理地址。8.如权利要求6所述的微处理器,还包括:该载入单元制作该决定;预取单元;如果该决定为假,该载入单元提供该第一快取线的该物理地址至该预取单元;以及该预取单元产生该第二要求,以响应自该载入单元所接收的该第一快取线的该物理地址。9.如权利要求6所述的微处理器,还包括:该分页表寻访引擎制作该决定;预取单元;如果该决定为假,该分页表寻访引擎提供该第一快取线的该物理地址至该预取单元;以及该预取单元产生该第二要求,以响应自该分页表寻访引擎所接收的该第一快取线的该物理地址。10.如权利要求6所述的微处理器,还包括:该分页表寻访引擎制作该决定;预取单元;如果该决定为假,该分页表寻访引擎提供该第二快取线的该物理地址至该预取单元;以及预取单元产生该第二要求,以响应自该分页表寻访引擎所接收的该第二快取线的该物理地址。11.如权利要求6所述的微处理器,还包括:该载入单元制作该决定;以及如果该决定为假,该载入单元产生该第二要求。12.如权利要求1所述的微处理器,还包括:快取存储器;以及该第二要求包括要求以预取该第二快取线至该快取存储器。13.一种方法,包括:产生第一要求以载入分页表项目至微处理器,以响应在未在该微处理器的转译查询缓冲器找到虚拟地址,该被要求的分页表项目被包含于分页表,该分页表包括多个快取线,所述快取线包括第一快取线,该第一快取线包括该被要求的分页表项目;决定物理接续该第一快取线的第二快...

【专利技术属性】
技术研发人员:罗德尼E虎克柯林艾迪
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:中国台湾;71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1