使用虚拟地址到物理地址跨页缓冲器的推测性寻址的制作方法

文档序号:8548078阅读:314来源:国知局
使用虚拟地址到物理地址跨页缓冲器的推测性寻址的制作方法
【技术领域】
[0001]本发明大体上涉及用于指令处理的计算机架构。
【背景技术】
[0002]当存取一系列指令(例如,第一指令,接着第二指令)时,处理系统可将指令的虚拟地址转换成指令的物理地址。所述处理系统可包含使处理器能够将虚拟地址转换成物理地址的指令转换旁视缓冲器(ITLB)。所述处理系统可请求ITLB执行地址转换操作来将与所述指令相关联的虚拟地址转换成物理地址。针对指令转换的物理地址可用于从指令高速缓存存取指令(例如,提取指令)。所述处理系统可将物理地址发送到指令高速缓存来执行标记阵列操作,以确定所述指令是否存储在指令高速缓存的数据阵列中。所述指令高速缓存可基于标记阵列操作的结果执行数据阵列操作来检索指令。
[0003]所述处理系统可通过起始标记阵列操作来使用将存取(例如,提取)的下一指令(循序指令)的推测性地址执行指令的寻址。可在完成下一指令的ITLB地址转换之前执行所述标记阵列操作。所述处理系统可指定存储用作下一指令的推测性物理地址的先前指令的物理地址(由ITLB提供)的上一物理地址缓冲器。通过使用推测性物理地址针对下一指令执行标记阵列操作,可避开与由ITLB针对下一指令执行的地址转换操作相关联的延迟。但是,所述处理系统可由于使用推测性物理地址来存取下一指令而遇到延迟。举例来说,当第一指令为分支指令,并且第二指令为驻留在与第一指令不同的存储器页面处的分支指令的“目标”时,提供到标记阵列的第二指令的推测性地址可无效。作为另一个实例,当第一指令和第二指令在循序存储器地址处,但当前指令在一个存储器页面的上一地址处,并且第二指令在下一存储器页面的第一地址处时,第二指令的推测性物理地址(基于当前指令的物理地址)将无效。
[0004]由于第二地址的推测性地址无效,处理系统可能必须从ITLB检索第二指令的有效物理地址。处理系统随后重播所述指令,其可包含刷新处理系统指令提取管线和通过用第二指令的有效物理地址执行另一个标记阵列操作来重新起始指令提取。执行指令的重播引起处理延迟并消耗处理系统的资源。

【发明内容】

[0005]为缩短指令处理延迟(例如由于指令重播),处理系统可使用跨页缓冲器(PCB)执行推测性寻址。所述PCB可用于在特定指令(例如,第一指令)的处理阶段(例如,预提取阶段)期间执行推测性寻址,以避免将由处理系统处理的下一指令(例如,第二指令)的处理延迟。举例来说,可预测第二指令在第二指令位于与包含第一指令的存储器页面不同的存储器页面处时引起指令提取重播。处理系统可能必须由于存取第一存储器页面处的第一指令和随后存取不同于第一存储器页面的第二存储器页面处的第二指令而跨过存储器页面边界。
[0006]PCB的每个条目可对应于特定指令(例如,第一指令)的虚拟地址并且可包含对应于将在特定指令之后处理的下一指令(例如,第二指令)的物理地址(即“目标”物理地址)。目标物理地址可为识别下一指令的位置的有效物理地址。目标物理地址可对应于以下指令:预测所述指令(例如)由于位于与包含特定指令的存储器页面不同的存储器页面上而引起处理延迟,所述特定指令对应于特定PCB条目。
[0007]在特定实施例中,在处理系统使用PCB执行指令的推测性寻址之前,一或多个条目可存储在PCB内。可预定对应于存储在PCB中的所述条目中的每一个的目标物理地址引起处理延迟。在一个实例中,一或多个新条目对应于已识别为导致处理系统中的处理延迟的指令的目标物理地址。在另一个实例中,在将PCB中的一条目中的目标物理地址识别为指令的不正确物理地址之后,可在处理系统的操作期间更新所述条目。在此情况下,可用可从指令转换旁视缓冲器获得的指令的正确物理地址更新所述条目。
[0008]在第一指令的处理期间,处理系统可使用PCB执行推测性寻址来确定是否预测到将处理的第二指令(下一指令)引起处理延迟。处理系统可确定PCB是否具有对应于第一指令的虚拟地址的条目。当PCB具有对应于第一指令的条目时,可预测对应于所识别条目的目标物理地址引起处理延迟。也就是说,第二指令的目标物理地址可位于不同存储器页面上,使得处理系统可能必须跨过存储器页面边界来存取第二指令。在不使用PCB执行推测性寻址的情况下,处理系统可引发处理延迟,例如由与存取第二指令可遇到的存储器页面边界相关的指令提取重播导致的延迟。举例来说,处理系统可在尝试使用最近存取的指令(例如,第一指令)的上一物理地址存取第二指令时执行指令重播。因为最近存取的指令的上一物理地址无法用于确定对第二指令的可寻址能力,所以可执行指令提取重播,所述第二指令位于与最近存取的指令不同的存储器页面上。基于最近存取的指令的上一物理地址执行指令高速缓存标记阵列操作可不提供定位对应于第二指令的标记阵列的可寻址能力。因此,执行指令提取重播来提供正确的可寻址能力。
[0009]处理系统可通过使用PCB条目的目标物理地址存取第二指令来避免处理延迟。PCB条目的目标物理地址可对应于识别为在预测第一指令引起指令延迟之后出现的指令。因为目标地址可对应于预测为第二指令的正确物理地址的目标物理地址,所以处理系统可基于第二指令的正确物理地址执行标记阵列操作。举例来说,处理系统可使用目标物理地址来执行指令高速缓存标记阵列操作,以定位对应于第二指令的标记阵列条目。因此,当从标记阵列操作识别的标记阵列可以用于提取阶段以从指令高速缓存的数据阵列部分检索第二指令而不引发指令提取延迟时,指令高速缓存可能能够加载对应于第二指令的高速缓存线。因此,通过使用PCB条目存取第二指令,处理系统可避免必须重播第二指令,所述重播可包含刷新处理系统指令提取管线和用第二指令的有效物理地址执行另一个标记阵列操作。
[0010]在特定实施例中,一种方法包含接收由处理器执行的指令。所述方法进一步包含在包含一或多个条目的跨页缓冲器(PCB)中执行查找来判指令是否具有在PCB中的条目。PCB中的所述条目中的每一个包含物理地址。所述方法进一步包含当跨页缓冲器(PCB)具有在跨页缓冲器中的所述条目时从跨页缓冲器的所述条目检索特定物理地址。从PCB的条目检索的所述特定物理地址可用于执行第二指令的推测性寻址,例如基于特定物理地址对第二指令执行标记阵列操作。
[0011]在另一个特定实施例中,一种设备包含跨页缓冲器(PCB),其包含一或多个条目。所述一或多个条目中的每一个包含物理地址。所述设备进一步包含标记阵列。所述设备进一步包含多路复用器,其配置成选择回应于具有对应于特定指令的条目的跨页缓冲器而从跨页缓冲器检索的特定物理地址。将多路复用器的输出提供到标记阵列。
[0012]在另一个特定实施例中,一种非暂时性计算机可读媒体存储可在处理系统内执行以引起处理系统接收特定指令以用于执行的指令。所述指令进一步可执行以在包含一或多个条目的跨页缓冲器(PCB)中执行查找来确定特定指令是否具有在PCB中的条目。所述条目中的每一个包含物理地址。所述指令进一步可执行以在跨页缓冲器(PCB)具有在PCB中的条目时从跨页缓冲器的所述条目检索特定物理地址。从PCB的条目检索的所述特定物理地址可用于执行第二指令的推测性寻址,例如基于特定物理地址对第二指令执行标记阵列操作。
[0013]在另一个特定实施例中,一种设备包含用于存储一或多个条目的装置,所述一或多个条目中的每一个包含物理地址。所述设备包含用于执行标记阵列操作的装置。所述设备包含用于选择地址的装置,所述地址对应于回应于用于存储的装置具有对应于特定指令的条目而从用于存储的装置检索的特定物理地址。将用于选择地址的装置的输出提供到用于执行标记阵列操作的装置。
[0014]由所公开实施例中的至少一个提供的特定优点包含降低与存取将由处理器执行的指令(例如,由存储器页面边界分离的指令)相关联的处理延迟,所述存储器页面边界可引起处理器引发指令提取重播。另一个特定优点包含通过使用虚拟到物理地址跨页缓冲器确定是否可预测下一特定指令引起处理延迟来改良指令的推测性寻址。跨页缓冲器可提供物理地址,所述物理地址可用于执行已预测引起处理延迟的下一特定指令的推测性寻址。
[0015]本发明的其它方面、优点和特征将在审阅全部申请案之后变得显而易见,所述全部申请案包含以下部分:【附图说明】、【具体实施方式】和权利要求书。
【附图说明】
[0016]图1为使用跨页缓冲器来执行推测性寻址的设备的第一实施例的框图;
[0017]图2为使用跨页缓冲器来执行推测性寻址的设备的第二特定实施例的框图;
[0018]图3为说明针对指令集的管线化处理的特定实施例的实例的图,所述处理包含使用跨页缓冲器的推测性寻址;
[0019]图4为使用跨页缓冲器来执行推测性寻址的方法的第一特定实施例的流程图;
[0020]图5为使用跨页缓冲器来执行推测性寻址的方法的第二特定实施例的流程图;及
[0021]图6为无线电子装置的框图,所述无线电子装置包含可操作以使用跨页缓冲器执行推测性寻址的组件。
【具体实施方式】
[0022]下文参考图式描述本发明的特定实施例。在描述中,贯穿图式由常用参考数字指定常用元件。
[0023]参考图1,说明配置成使用跨页缓冲器执行推测性寻址的设备的第一实施例的框图,并且一般将其指定为100。在特定实施例中,设备100可包含在处理器中。在另一个特定实施例中,设备100可实施为或以操作方式连接到包含至少一个处理器的处理系统。
[0024]设备100可包含存储一或多个条目的跨页缓冲器(PCB) 120。每个PCB条目(例如,第一 PCB条目112、第二 PCB条目114或第三PCB条目116)可对应于特定指令的虚拟地址并且可包含物理地址(例如,“目标”物理地址)。物理地址可对应于将处理的下一指令(例如,第二指令)。每个PCB条目中的虚拟地址和物理地址可对应于不同存储器页面。举例来说,第一 PCB条目112包含虚拟地址(VA) 122和物理地址(PA) 132。类似地,第二 PCB条目114包含虚拟地址124和对应的物理地址134。第三PCB条目116包含虚拟地址126和对应的物理地址136。
[0025]在特定实施例中,可在指令处理开始之前预先存储PCB 120中的一或多个条目112至116。可预定对应于存储在PCB 120中的条目112至116中的每一个的目标物理地址132至136引起处理延迟。举例来说,目标物理地址可能已识别为在存取与目标物理地址相关联的指令时的先前实例期间引起处理延迟。在其它特定实施例中,一或多个新条目可在指令的处理
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1