掌桥专利:专业的专利平台
掌桥专利
首页

用于提取组的序列的控制对分支预测单元的存取

文献发布时间:2023-06-19 10:36:57


用于提取组的序列的控制对分支预测单元的存取

政府权利

本发明是在政府支持下在由美国能源部(DOE)授予的由劳伦斯利弗莫尔国家实验室规划的PathForward(基本合同号DE-AC52-07NA27344、转包合同号B620717)下进行的。政府对本发明具有某些权利。

背景技术

相关技术

电子装置中的许多处理器(例如,微处理器)包括执行用于改善执行程序代码中的指令的效率的操作的功能块。举例来说,一些处理器包括预测功能块,所述预测功能块用于基于指令的执行的一个或多个先前实例的记录来预测指令执行的路径或流(即,存储器中的地址的序列,指令将从所述地址提取以供执行)。一种常见的预测功能块是分支预测功能块,所述分支预测功能块预测程序代码中的例如跳转和返回的控制传送指令(CTI)的解决方案。分支预测功能块监视并且记录当CTI执行时的CTI的行为,例如CTI的“采用”或“未采用”解决方案、采用CTI的目标指令等。在于执行程序代码时再次遇到CTI(例如,检测到所提取的指令中的CTI等)后,使用CTI的先前记录的行为来预测CTI的当前执行的解决方案。基于预测的解决方案,处理器猜测地提取指令并准备指令以在CTI之后沿着预测的路径执行,同时准备并且执行CTI本身。与在处理之前等待确定CTI的解决方案或猜测地遵循对从CTI起的路径的固定选择的处理器相比,此类处理器可猜测地遵循从CTI起的路径,所述路径更加可能是在执行CTI时将遵循的路径,从而导致较低的延迟和/或较少的回收操作。

在一些处理器中,对于在准备所提取的指令以供执行的过程初期的所有指令,将自动地存取分支预测功能块,以便确保任何CTI的预测的解决方案能够尽可能快地用于引导程序代码执行的路径。然而,因为CTI指令通常只形成程序代码的小部分,所以对分支预测功能块的多次存取是针对并非CTI的指令,且因此浪费动态能量。假设对分支预测功能块的每次存取都具有关于所消耗的电力的相关联成本等,需要避免对分支预测功能块的不必要存取。

附图说明

图1根据一些实施方案呈现了图示电子装置的框图。

图2根据一些实施方案呈现了图示处理器的框图。

图3根据一些实施方案呈现了图示分支预测单元的框图。

图4根据一些实施方案呈现了图示分支目标缓冲器的框图。

图5根据一些实施方案呈现了图示顺序提取逻辑的框图。

图6根据一些实施方案呈现了图示顺序提取表的框图。

图7根据一些实施方案呈现了图示用于使用与控制传送指令相关联的记录以阻止对分支预测单元进行存取的过程的流程图。

图8根据一些实施方案呈现了图示在将分支目标缓冲器用于存储与控制传送指令相关联的记录时为了保持所述记录所执行的操作的流程图。

图9根据一些实施方案呈现了用在对应控制传送指令后顺序地提取的不包括控制传送指令的提取组的计数来更新分支目标缓冲器的操作的时间线图。

图10根据一些实施方案呈现了图示在将顺序提取表用于存储与控制传送指令相关联的记录时为了保持所述记录所执行的操作的流程图。

图11根据一些实施方案呈现了用在对应CTI后顺序地提取的不包括CTI的提取组的计数来更新顺序提取表的操作的时间线图。

图12根据一些实施方案呈现了图示用于确定在CTI后将顺序地提取的不包括CTI的提取组的指定数目和将所述指定数目用于阻止对分支预测单元进行存取的过程的流程图。

在整个附图和描述中,相同附图标记指代相同的附图元件。

具体实施方式

呈现以下描述以使本领域的任何技术人员能够制造和使用所描述的实施方案,并且在特定应用及其要求的上下文中提供以下描述。对所描述的实施方案的各种修改对于本领域技术人员来说将是明显的,并且可将本文中定义的一般原理应用于其他实施方案和应用。因此,所描述的实施方案不限于所示的实施方案,而是要被赋予与本文中公开的原理和特征一致的最宽范围。

在以下描述中,使用各种术语来描述实施方案。以下是这些术语中的一些的简化且一般的描述。注意,这些术语可具有重要的附加方面,为了清楚和简洁起见,本文中没有列举所述附加方面,并且因此所述描述并不旨在限制这些术语。

功能块:功能块是指一个或多个相互关联的电路元件(例如集成电路元件、分立电路元件等)的组、集合和/或集。电路元件是“相互关联的”,因为电路元件共享至少一种性质。举例来说,相互关联的电路元件可包括在特定的集成电路芯片或其一部分中、制造在特定的集成电路芯片或其一部分上或以其他方式耦合到特定的集成电路芯片或其一部分,可牵涉到给定功能(计算或处理功能、存储器功能等)的执行,可由公共控制元件来控制等。功能块可包括任意数量的电路元件,从单个电路元件(例如,单个集成电路逻辑门)到数百万或数十亿的电路元件(例如,集成电路存储器)。

控制传送指令:控制传送指令(CTI)是程序代码中的指令,所述指令在执行时致使/能够致使指令执行的其他顺序流中的跳转、位移或不连续。CTI包括例如跳转、调用、返回等的“无条件”CTI,“无条件”CTI自动地使指令执行从第一存储器地址处的指令(CTI)跳转到第二存储区地址处的指令或“目标指令”。CTI还包括例如条件跳转指令等的“条件”CTI,所述“条件”CTI包括例如大于、等于、非零等的条件、与所述条件相关联或取决于所述条件。当满足对应条件(例如,真、假等)时,条件CTI致使指令执行中的从CTI到第二存储器地址处的指令的跳转,但是,当不满足条件时,指令执行在CTI后顺序地继续。举例来说,可使用条件检查指令和条件CTI(或单个组合指令)来实现条件分支指令,当满足条件时,分支被“采用”并且指令执行跳转到目标指令,而当不满足条件时,分支指令“未采用”或“落空”并且指令执行顺序地继续。CTI包括"间接"无条件CTI和条件CTI,对于所述CTI,目标指令的地址是在运行时动态地指定。举例来说,能够计算CTI的目标指令的地址并且通过先验指令将所述地址存储在处理器寄存器或其他位置中,然后使用所述地址来确定在执行CTI后指令执行要跳转到的地址。

所描述的实施方案包括电子装置中的处理器。处理器包括例如中央处理单元(CPU)核、一个或多个缓存存储器、通信接口等的功能块,所述功能块进行计算操作、存储器操作、与其他功能块和装置的通信等。处理器还包括顺序提取逻辑功能块,所述顺序提取逻辑功能块执行用于避免(在可能时)对处理器中的分支预测功能块进行存取来获取分支预测信息的操作。在所描述的实施方案中,是具有指定大小(例如,32字节、64字节等)的指令块的提取组将作为组(group)从缓存存储器或主存储器提取并准备在处理器的指令执行流水线中执行。当给定提取组被提取并准备执行时,顺序提取逻辑检查与所述给定提取组相关联的记录(如果此记录存在)以确定在所述给定提取组后将顺序地提取的先前被确定为不包括控制传送指令(“CTI”)的提取组的数目。举例来说,在一些实施方案中,顺序提取逻辑检查给定提取组中的与CTI相关联的记录,以确定提取组的数目。作为另一实例,在一些实施方案中,顺序提取逻辑检查给定提取组中的与CTI的目标指令相关联的记录,以确定提取组的数目。因为在所述数目的提取组中不存在CTI,所以将顺序地提取所述提取组-并且将不需要分支预测信息。由于所述数目的提取组中的每一组被顺序地提取并准备执行,因此,顺序提取逻辑阻止对分支预测功能块进行存取来获取分支预测信息。举例来说,顺序提取逻辑可阻止分支预测功能块中的分支目标缓冲器(BTB)、分支方向预测器等中的用于获取分支预测信息的检查。

在一些实施方案中,将BTB用于存储指示在各个CTI后将顺序地提取的不具有CTI的提取组的数目的上述记录中的一些或全部。在这些实施方案中,除了CTI的解决方案信息之外,BTB还包括关于在CTI后将顺序地提取的不具有CTI的提取组(如果有的话)的数目的信息。在操作期间,在遇到给定提取组中的指定类型的CTI(例如,在给定提取组内检测到指定类型的CTI)后,顺序提取逻辑功能块保持在后续CTI退休(即,完成执行并准备交付到处理器的架构状态)之前提取以在给定提取组后顺序地执行的提取组的数目的计数。顺序提取逻辑接着将提取组的数目的计数存储在BTB中的与CTI相关联的条目中。接着如本文所述地使用BTB中的条目中的计数以针对所述数目的提取组避免对分支预测功能块进行存取来获取分支预测信息。

在一些实施方案中,将顺序提取表(SFT)用于存储指示在各个CTI后将顺序地提取的不具有CTI的提取组的数目的上述记录中的一些或全部。在这些实施方案中,SFT中的条目与CTI的目标指令相关联,因此SFT中的每个记录包括将在对应CTI的特定路径/解决方案后顺序地提取的不具有CTI的提取组的数目的指示。在操作期间,在遇到给定提取组中的CTI的目标指令的退休(例如,作为CTI的目标的指令是否在从CTI起的采用或未采用路径上)后,顺序提取逻辑功能块保持在后续CTI退休之前提取以顺序地执行的提取组的数目的计数。顺序提取逻辑接着将提取组的数目的计数存储在SFT中的与目标指令相关联的条目中。接着如本文所述地使用SFT中的条目中的计数以针对所述数目的提取组避免对分支预测功能块进行存取来获取分支预测信息。

在一些实施方案中,当使用上述记录以阻止对分支预测功能块进行存取来获取分支预测信息时,顺序提取逻辑从对应记录(从BTB、SFT或别处)获取提取组的数目并且将计数器设置为等于提取组的数目。由于每个后续提取组被提取并准备执行,因此顺序提取逻辑使计数器递减并且如上所述地阻止对分支预测功能块进行存取。在计数器达到零之后,由于一个或多个后续提取组被提取并准备执行,因此顺序提取逻辑准许执行对分支预测功能块的对应存取以获取关于一个或多个后续提取组中的指令的分支预测信息。换句话说,顺序提取逻辑使用计数器以针对指定数目的提取组阻止对分支预测功能块进行存取,然后针对后续提取组开始执行对分支预测功能块的存取。在这些实施方案中的一些中,顺序提取逻辑还暂停对记录本身的检查,只要计数器大于零–并且存储有记录的功能块(例如,BTB、SFT等)的部分可被断电,置于降低功率模式下(例如,被供应减小的供应电压等),或以其他方式设置以减少电力消耗(例如,进行时钟门控等)。

通过使用指示在给定CTI后将顺序地提取的不包括CTI的提取组的数目的记录以阻止对分支预测功能块进行存取来获取提取组的分支预测信息,所描述的实施方案能够避免对分支预测功能块的不必要存取。这能够帮助减少处理器中且更一般地电子装置中的电力消耗。减少的电力消耗可导致电子装置使用成本更低、更有效地使用电池电力等,这些能够产生对电子装置的更高用户满意度。

图1根据一些实施方案呈现了图示电子装置100的框图。如图1中可以看出,电子装置100包括处理器102和存储器104。通常,处理器102和存储器104是以硬件(即,使用各种电路元件和装置)来实现。举例来说,处理器102和存储器104可全部制造在一个或多个半导体芯片上(包括制造在一个或多个分开的半导体芯片上),可组合分立电路元件由半导体芯片制成,可单独由分立电路元件制造等。如本文所述,处理器102和存储器104针对某些提取组执行用于阻止对分支预测功能块进行存取的操作。

处理器102是电子装置100中的进行计算操作和其他操作(例如,控制操作、配置操作等)的功能块。举例来说,处理器102可以是或包括一个或多个微处理器、中央处理单元(CPU)核和/或另一处理机构。

存储器104是电子装置100中的执行对电子装置100的存储器(例如,“主”存储器)的操作的功能块。存储器104包括:易失性存储器电路,例如第四代双倍数据速率同步DRAM(DDR4 SDRAM)和/或其他类型的存储器电路,所述易失性存储器电路用于存储将由电子装置100中的功能块使用的数据和指令;以及控制电路,所述控制电路用于处置对存储在存储器电路中的数据和指令进行存取和执行其他控制或配置操作。

出于说明性目的,简化电子装置100。然而,在一些实施方案中,电子装置100包括附加的或不同的功能块、子系统、元件和/或通信路径。举例来说,电子装置100可包括显示子系统、电源子系统、输入-输出(I/O)子系统等。电子装置100通常包括足够的功能块等以执行本文所述的操作。

电子装置100可以是或可包括在执行计算操作的任何装置中。举例来说,电子装置100可以是或可包括在以下各者中:台式计算机、膝上型计算机、可穿戴计算装置、平板计算机、一件虚拟或增强现实设备、智能电话、人工智能(AI)或机器学习装置、服务器、网络设备、玩具、一件视听设备、家用电器、车辆等和/或其组合。

如上所述,电子装置100包括处理器102,所述处理器可以是微处理器、CPU核和/或另一处理机构。图2根据一些实施方案呈现了图示处理器102的框图。尽管在图2中示出了某些功能块,但是在一些实施方案中,不同布置、连接性、数目和/或类型的功能块可存在于处理器102中。通常,处理器102包括充足的功能块以执行本文中描述的操作。

如图2可看出,处理器102中的功能块可被视为前端子系统200、执行子系统202或存储器子系统204的一部分。前端子系统200包括执行用于从存储器子系统204中的或与存储器子系统204通信的缓存存储器或主存储器获取指令的操作的功能块,并准备所述指令以分派到执行子系统202中的执行单元功能块。

前端子系统200包括指令解码206,所述指令解码是执行与解码和准备执行所提取的指令有关的操作的功能块。指令解码206从L1指令缓存216、L2缓存218、L3缓存(未示出)或主存储器(未示出)提取或以其他方式接收N字节提取组中的指令(例如,32字节提取组中的四条指令等)。指令解码206接着有可能平行地将提取组中的指令解码成各个微操作。指令解码206接下来向指令分派208微操作以转发到执行子系统202中的恰当执行单元以用于执行。

前端子系统200还包括下一个PC 210,所述下一个PC是执行用于确定程序计数器或存储器中的地址(下一个提取组将从所述地址提取)的操作的功能块。下一个PC 210基于程序计数器的初始或当前值来计算程序计数器的下一个顺序值。举例来说,给定32字节提取组,下一个PC 210可计算下一个地址=当前地址+32字节。当采用CTI不改变程序流程时,前端子系统200将通过下一个PC 210计算的程序计数器的顺序值用于从存储器中的对应顺序地址提取提取组。

前端子系统200还包括分支预测单元212,所述分支预测单元是执行用于预测提取组中的CTI的解决方案和修改程序计数器且因此修改存储器中的地址(将从所述地址提取后续提取组)的操作的功能块。换句话说,分支预测单元212使用CTI行为的一个或多个记录来预测CTI的“采用”或“未采用”解决方案并且提供采用CTI的预测目标地址。当分支预测单元212预测CTI将被采用时,可使用由分支预测单元212返回的目标地址来替换由下一个PC210提供的下一个或后续程序计数器。

图3根据一些实施方案呈现了图示分支预测单元212的框图。尽管在图3中用各种功能块示出了分支预测单元212,但是出于本说明书的目的,简化了分支预测单元212;在一些实施方案中,不同的功能块存在于分支预测单元212中。举例来说,在一些实施方案中,使用多级分支预测、分支图案预测器、多级分支目标缓冲器和/或方向预测器和/或其他的分支预测机制或技术,并且在分支预测单元212中包括了对应的功能块。通常,分支预测单元212包括充足的功能块以执行本文中描述的操作。

如在图3可看出,分支预测单元212中的功能块包括控制器300、方向预测器302和分支目标缓冲器(BTB)304。控制器300包括用于执行分支预测单元212的操作的电路元件,所述操作例如更新方向预测器302和分支目标缓冲器304和在方向预测器302和分支目标缓冲器304中查找,与其他功能块通信等。方向预测器302包括具有许多条目的记录,例如查找表、清单等,每个条目用于存储与CTI相关联的地址和CTI的采用或未采用解决方案的指示。举例来说,对于在地址A处的CTI,方向预测器302可包括将地址A或基于所述地址的值与关于CTI的采用或未采用解决方案的对应预测(例如,饱和计数器等)关联的条目。分支目标缓冲器304包括具有许多条目的记录,例如查找表、清单等,每个条目用于存储与CTI相关联的地址和CTI的目标地址的指示。举例来说,对于在地址A处的CTI,分支目标缓冲器304可包括将地址A或基于所述地址的值与CTI的目标指令的对应绝对或相对地址关联的条目。在执行指令时,控制器300基于CTI指令的实际结果可存储和/或更新方向预测器302和/或分支目标缓冲器304中的对应条目,由此存储在CTI指令解决方案的上述预测中所使用的值。

在一些实施方案中,除了分支目标信息之外,还将分支目标缓冲器304用于存储在后续CTI退休之前被提取以在CTI后顺序地执行的提取组的数目的计数的记录。在这些实施方案中,每个条目包括与对应CTI相关联的计数(例如,数字、字符串等)存储所在的位置,如果可获得这种计数。举例来说,计数可存储在条目中的为此目的保留的八个位中。图4根据一些实施方案呈现了图示分支目标缓冲器304的框图。尽管分支目标缓冲器304被示出为存储某种信息,但是出于本说明书的目的,简化了分支目标缓冲器304;在一些实施方案中,信息的不同编排被存储在分支目标缓冲器304中的条目中。通常,分支目标缓冲器304存储充足的信息以执行本文中描述的操作。

如在图4可看出,分支目标缓冲器304包括许多条目408,每个条目包括地址(ADDR)400、分支目标402、计数404以及元数据406。地址400被用于存储CTI或用于所述CTI或以其他方式与所述CTI相关联的地址或基于所述地址的值,条目保存关于所述CTI的信息分支目标402被用于存储针对CTI的目标指令的地址或基于所述地址的值,条目保存关于所述CTI的信息-并且因此所述CTI能够用于在再次执行CTI时预测目标指令的地址。计数404被用于存储在后续CTI退休之前提取以在CTI后顺序地执行的提取组的数目的计数,条目保存用于所述CTI的信息。元数据406被用于存储关于条目、计数和/或CTI或与条目、计数和/或CTI相关联的信息,例如有效位、允许位等。

返回图2,前端子系统200还包括顺序提取逻辑214,所述顺序提取逻辑是执行用于在可能时避免对分支预测功能块进行存取来获取分支预测信息的操作的功能块。顺序提取逻辑214使用与提取组相关联的记录以确定在给定提取组(或提取组中的指令)后将顺序地提取的先前被确定为不包括CTI的提取组的数目。由于所述数目的提取组中的每一组被顺序地提取,因此顺序提取逻辑214阻止对分支预测单元212进行存取来获取分支预测信息。

图5根据一些实施方案呈现了图示顺序提取逻辑214的框图。尽管在图5中用各种功能块示出了顺序提取逻辑214,但是出于本说明书的目的,简化了顺序提取逻辑214;在一些实施方案中,不同的功能块存在于顺序提取逻辑214中。举例来说,尽管顺序提取逻辑214被示出为包括顺序提取表502,但是在一些实施方案中,顺序提取逻辑214不包括或不使用顺序提取表。相反,顺序提取逻辑214将存储在分支目标缓冲器304中的条目中的计数信息用于执行对应操作。通常,顺序提取逻辑214包括充足的功能块以执行本文中描述的操作。

如在图5可看出,顺序提取逻辑214中的功能块包括控制器500和顺序提取表502。控制器500包括用于执行顺序提取逻辑214的操作的电路元件,所述操作例如更新顺序提取表502(或分支目标缓冲器304)和在顺序提取表502(或分支目标缓冲器304)中查找,与其他功能块通信等。顺序提取表502包括具有许多条目的记录,例如查找表、清单等,每个条目用于存储与CTI的目标指令相关联的地址和在后续CTI退休之前提取以顺序地执行的提取组的数目的计数的记录。图6根据一些实施方案呈现了图示顺序提取表502的框图。尽管顺序提取表502被示出为存储某种信息,但是出于本说明书的目的,简化了顺序提取表502;在一些实施方案中,信息的不同编排被存储在顺序提取表502中的条目中。通常,顺序提取表502存储充足的信息以执行本文中描述的操作。

如在图6可看出,顺序提取表502包括许多条目606,每个条目包括CTI目标地址(ADDR)600、计数602和元数据604。地址600被用于存储CTI或用于所述CTI或以其他方式与所述CTI相关联的地址或基于所述地址的值,条目保存关于所述CTI的信息。通常,CTI的“目标”指令是一条指令,并且因此是存储器中的地址,当执行CTI时,程序流跳转到所述地址。对于具有静态定义目标的无条件CTI,例如静态目标跳转指令,只存在一条目标指令-并且因此程序流始终从CTI指令跳转到存储器中的同一个地址。然而,对于条件CTI,存在至少两条目标指令(在程序代码中的采用路径和未采用路径上),并且能够存在任何数量的目标指令。举例来说,间接CTI(所述间接CTI的目标指令是在运行时指定)可具有在采用路径上的任何数量的目标指令,尽管未采用路径是顺序的。因为顺序提取表502存储与CTI的目标指令相关联的记录,所以给定CTI(且因此从给定CTI起的路径)的每个可能的目标指令可具有在顺序提取表502中的相关联单独条目。计数602被用于存储在后续CTI退休之前提取以在对应CTI后顺序地执行的提取组的数目的计数。元数据604被用于存储关于条目和/或计数或与条目和/或计数相关联的信息,例如有效位、允许位等。

在将顺序提取表502用于存储用于确定提取组的数目的上述记录的实施方案中,在接收到程序计数器(即,将提取给定提取组所在的地址)后,控制器500执行顺序提取表502中的查找以确定顺序提取表502中是否存在具有相关联地址的条目。换句话说,查找确定指令的存在于在给定提取组中的地址范围中的多个地址内的地址(即,CTI的目标指令)是否会在顺序提取表502中找到。如果是,则控制器500从计数602获取对应计数,然后将所述计数用作用于阻止对分支预测单元212进行存取来获取分支预测信息的提取组的数目。否则,当在顺序提取表502中未找到匹配地址时,控制器500不阻止对分支预测单元212进行存取,即,允许获取分支预测信息以正常地继续进行。

在将分支目标缓冲器304用于存储用于确定提取组的数目的上述记录的实施方案中,作为执行针对关于提取组中的CTI的分支预测信息的查找的一部分,分支预测单元212从分支目标缓冲器304获取CTI的预测目标指令的地址,如果此种目标地址存在。分支预测单元212还从分支目标缓冲器304获取计数404,将所述计数传回到顺序提取逻辑214中的控制器500。控制器500将所述计数用作用于阻止对分支预测单元212进行存取来获取分支预测信息的提取组的数目。否则,当在分支目标缓冲器304中未找到匹配地址和/或计数时,控制器500不阻止对分支预测单元212进行存取,即,允许获取分支预测信息以正常地继续进行。

在一些实施方案中,顺序提取表502仅包括有限数目的条目(例如,32个条目、64个条目等)且因此在处理器102的操作期间可能达到满负荷。当顺序提取表502装满时,将需要有序地覆盖条目中的现有信息以将新的信息存储在顺序提取表502中。在一些实施方案中,由控制器500使用一个或多个替换策略、指南等来管理顺序提取表502中的条目。在这些实施方案中,在选择要覆盖的条目时,根据替换策略、指南等来选择条目。举例来说,控制器500可使用最近最少使用的替换策略来管理顺序提取表502中的条目中的信息。

注意,尽管顺序提取逻辑214被示出为与图2中的其他功能块分开的单个功能块,但是在一些实施方案中,顺序提取逻辑214的部分或全部可包括在图2所示的其他功能块中。在这些实施方案中,归因于顺序提取逻辑214的操作可由其他功能块中的电路元件来执行。通常,顺序提取逻辑214包括用于执行所描述的操作的各种电路元件,对图2所示的处理器102中的电路元件的特定位置没有限制。

返回图2,执行子系统202包括整数执行单元222和浮点执行单元224(统称为“执行单元”),所述执行单元是执行分别用于执行整数指令和浮点指令的操作的功能块。执行单元包括例如重命名硬件、执行调度程序、算术逻辑部件(ALU)、浮点乘法和加法部件(在浮点执行单元224中)、寄存器文件等的元件。

执行子系统还包括是一种功能块的退休队列226,在所述功能块中,在对应指令已完成执行之后,但是在将已执行指令的结果交付到处理器102的架构状态(例如,写入到缓存或存储器并且使得可供在其他操作中使用)之前,保持所述结果。在一些实施方案中,某些指令可以不按程序顺序来执行,并且使用退休队列226以确保无序指令的结果将相对于其他无序指令适当地退休。

在一些实施方案中,退休队列226执行用于保持在后续CTI退休之前提取以在CTI后顺序地执行的提取组的数目的计数的操作中的至少一些。举例来说,在一些实施方案中,除了将在执行子系统202中执行的CTI之外,前端子系统200(例如,指令解码206)还包括指令是(或不是)CTI的指示。举例来说,前端子系统200可设置在执行子系统202中伴随指令的元数据位中的指定标志位。在遇到将指示为是CTI的指令后,退休队列226可开始保持在指示为是CTI的后续指令退休之前退休的提取组(或,更一般地,各个指令)的计数。然后可将所述计数传达到顺序提取逻辑214以便进行存储以用于如本文所述的未来使用。在一些实施方案中,计数不被退休队列226报告(或不用于更新任何记录),除非所述计数超过对应阈值。

存储器子系统204包括缓存的层次,所述缓存是功能块,所述功能块包括接近使用指令和/或数据的功能块的用于存储指令和/或数据的有限数目个拷贝的易失性存储器电路,以及用于处置例如存取数据的操作的控制电路。层次包括两个级别,一级(L1)指令缓存216和L1数据缓存220属于第一级,而L2缓存218属于第二级。存储器子系统204通信地耦合到存储器104并且可耦合到外部L3缓存(未示出)。存储器104可耦合到充当指令和/或数据的长期存储器的非易失性海量存储装置(例如,磁盘驱动器或固态硬盘)(未示出)。

在所描述的实施方案中,电子装置中的处理器(例如,处理器102)使用与CTI相关联的记录以确定在CTI后将顺序地提取的不包括CTI的提取组的数目,并且对于所述数目的提取组,阻止对分支预测单元进行存取来获取对应的分支预测信息。图7根据一些实施方案呈现了图示用于使用与CTI相关联的记录以阻止对分支预测单元进行存取的过程的流程图。注意,图7所示的操作被呈现为由一些实施方案执行的操作的一般实例。由其他实施方案执行的操作包括不同的操作和/或以不同顺序进行的操作。对于图7中的实例,将电子装置中的具有与处理器102类似的内部布置的处理器描述为执行各种操作。然而,在一些实施方案中,具有不同的内部布置的处理器执行所描述的操作。

图7所示的操作在处理器保持与一个或多个CTI中的每一个相关联的记录,每个记录指示将在对应CTI后顺序地提取不包括CTI的指定数目的提取组(步骤700)时开始。在此操作期间,顺序提取逻辑中的控制器(例如,顺序提取逻辑214中的控制器500)从退休队列(例如,退休队列226)接收CTI的指示或CTI的标识符以及在CTI后将顺序地提取的提取组的数目。举例来说,假设提取组包括四条指令的实施方案,如果退休队列遇到CTI,然后在下一个CTI退休之前计数129条指令,则除了CTI的识别之外,退休队列还可向顺序提取逻辑传达值129或另一值,例如32(32是129/4舍入到最接近的整数以表示提取组的数目)。(如本文所使用,“遇到”CTI包括基于与CTI相关联的处理器标志而在退休指令中检测到CTI,检测到指令流中的与CTI相关联的行为或模式和/或后续指令或结果值等)控制器接着更新与CTI相关联的记录以指示提取组的指定数目。

图8和图10呈现了图示如关于图7的步骤700所描述的为了保持与一个或多个CTI相关联的记录所执行的操作的流程图。图8根据一些实施方案呈现了图示当将分支目标缓冲器用于存储与CTI相关联的记录时为了保持所述记录所执行的操作的流程图。图10根据一些实施方案呈现了图示在将顺序提取表用于存储与CTI相关联的记录时为了保持所述记录所执行的操作的流程图。注意,图8和图10所示的操作被呈现为由一些实施方案执行的操作的一般实例。由其他实施方案执行的操作包括不同的操作、以不同的顺序执行的操作和/或由不同的功能块执行的操作。

图8所示的操作在退休队列在遇到指定类型的CTI的退休后开始保持在后续CTI退休之前顺序地退休的提取组(或,更一般地,退休的各个指令)的数目的计数(步骤800)时开始。对于此操作,退休队列监视指定类型的CTI指令的退休,然后保持在下一个CTI指令之前退休的后续指令的计数。举例来说,退休队列可使针对在指定类型的CTI指令后的每个退休指令的计数器递增,直到下一个CTI退休为止。

如上所述,将分支目标缓冲器用于存储图8所示的实施方案中的记录。在一些实施方案中,分支目标缓冲器存储以CTI的标识符(例如,CTI指令在存储器中的地址)或CTI包括于其中的提取组作为索引的分支目标记录。为此,在这些实施方案中,分支目标缓冲器中的条目中的计数信息将只与CTI或提取组相关联,而不是与CTI的(可能很多个)目标指令相关联。换句话说,上述的计数信息是单个数据片段,仅表示从CTI起的通过相应目标指令的单一决策路径。分支目标缓冲器中的这些记录因此不能可靠地用于关于静态目标指令条件CTI和/或具有动态指定的目标指令的CTI的所有可能解决方案来确定顺序提取组的计数。因此,在一些实施方案中,“指定”类型的CTI是无条件的静态目标指令CTI或从条件CTI起的未采用路径。

退休队列接着向顺序提取逻辑传达计数,顺序提取逻辑将指示提取组的数目的计数的记录存储在分支目标缓冲器中的与CTI或提取组相关联的条目中(步骤802)。对于此操作,顺序提取逻辑确定分支目标缓冲器中的条目,记录将存储到所述条目中,例如通过确定CTI的地址或基于所述地址的值以及确定分支目标缓冲器中的对应条目。顺序提取逻辑接着将指示提取组的数目的计数的记录存储在所确定的条目中。举例来说,当分支目标缓冲器中的条目包括用于八位值的空间时,顺序提取逻辑将表示计数的八位值存储在条目中。在条目在大小上不足以存储计数(例如,对于八位计数值,计数大于255)的情况下,可将默认或零值存储在条目中,由此指示对于特定CTI,将执行(不阻止)对分支预测器的存取。替代地,可将最大值存储在条目中,由此能够避免对分支预测器的存取中的至少一些。

图9根据一些实施方案呈现了用在对应CTI后顺序地提取的不包括CTI的提取组的计数来更新分支目标缓冲器的操作的时间线图。如图9所示,时间从左到右地前进,并且在所述时间期间,各自包括来自程序代码的指令的单独集合的许多提取组(FG)被提取,准备执行(例如,解码、分派等),执行,然后退休。每个提取组包括许多个别指令(例如,四条、六条等),并且在提取组中的指令中存在三条CTI指令。

在图9中,作为提取组902中的第二指令的第一CTI指令CTI1是静态无条件分支指令,所述静态无条件分支指令致使指令流从第一地址处的提取组902跳转到第二非顺序地址处的提取组904,这个过程由从提取组902中的第二指令到提取组904的初始指令的箭头说明。在检测到CTI1(CTI1是CTI的指定类型之一)的退休后,退休队列保持在后续CTI退休之前将顺序地退休的提取组的数目的计数(即,对于所述计数,构成指令退休)–所述后续CTI是具有静态目标地址的未采用条件CTI2,是提取组910中的第三指令。因为三个提取组(提取组904到908)在CTI2退休之前退休,所以退休队列向顺序提取逻辑传达CTI1的识别(例如,其地址,处理器指令标签或内部标识符等)和三或另一值(例如退休的指令的数目,14)的计数值。在接收到CTI1的标识符和所述值后,顺序提取逻辑更新分支目标缓冲器中的对应条目,如图9中的分支目标缓冲器的实例中的用于CTI1的条目所示。注意,如图9中的分支目标缓冲器中所示的CTI1和CTI2可以是CTI1和CTI2的地址,或表示或识别CTI1和CTI2的其他值,例如与对应提取组相关联的地址。

作为CTI1的计数的结束的第二CTI指令CTI2还致使退休队列开始第二/对应计数。如上所述,CTI2未被采用,因此提取组将从下一个地址顺序地提取(如由下一个PC功能块),并且退休队列保持对应计数,直到提取组916中的后续CTI CTI3(所述后续CTI将程序流引导到提取组918)退休为止。因为两个完整提取组(提取组912到914)在CTI3退休之前退休,所以退休队列向顺序提取逻辑传达CTI2的识别和二或另一值(例如退休的指令的数目,10)的计数值。在接收到CTI2的标识符和所述值后,顺序提取逻辑更新分支目标缓冲器中的对应条目,在图9中的分支目标缓冲器的实例中示出为CTI2。注意,CTI2是条件CTI的未采用路径情况,并且因此是CTI的指定类型之一,在一些实施方案中,不对采用路径进行类似的跟踪和记录。

前进到图10,图10所示的操作在退休队列在遇到CTI的目标指令的退休后开始保持在后续CTI退休之前顺序地退休的提取组(或,更一般地,退休的各个指令)的数目的计数(步骤1000)时开始。对于此操作,退休队列监视CTI和CTI的目标指令的退休(即,在CTI后顺序地下一条指令),并且保持在下一个CTI指令之前退休的后续指令的计数。举例来说,退休队列可使针对在指定类型的目标指令后的每个退休指令的计数器递增,直到下一个CTI退休为止。

如上所述,使用顺序提取表来存储图10所示的实施方案中的记录。在一些实施方案中,顺序提取表存储与CTI的目标指令相关联的记录。换句话说,在这些实施方案中,顺序提取表可包括与CTI的每个可能目标指令相关联的记录,且因此包括从CTI采用的每个路径。为此,在这些实施方案中,各种类型的CTI可被处置(即,可具有记录的顺序提取计数)。记住,这不同于计数信息被存储在分支目标缓冲器中的实施方案,且因此仅可处置指定类型的CTI,分支目标缓冲器存储与CTI或提取组相关联的计数信息,而不存储对应的目标指令。

退休队列接着向顺序提取逻辑传达计数,顺序提取逻辑将指示提取组的数目的计数的记录存储在顺序提取表中的与目标指令相关联的条目中(步骤1002)。对于此操作,顺序提取逻辑确定顺序提取表中的条目,记录将存储到所述条目中,例如通过确定目标指令的地址或基于所述地址的值以及确定顺序提取表中的对应条目。顺序提取逻辑接着将指示提取组的数目的计数的记录存储在所确定的条目中。举例来说,当顺序提取表中的条目包括用于八位值的空间时,顺序提取逻辑将表示计数的八位值存储在条目中。在条目在大小上不足以存储计数(例如,对于八位计数值,计数大于255)的情况下,可将默认或零值存储在条目中,由此指示对于特定的目标指令,将进行(不能避免)对分支预测器的存取。替代地,可将最大值存储在条目中,由此能够避免对分支预测器的存取中的至少一些。

图11根据一些实施方案呈现了用在对应CTI后顺序地提取的不包括CTI的提取组的计数来更新顺序提取表的操作的时间线图。如图11所示,时间从左到右地前进,并且在所述时间期间,各自包括来自程序代码的指令的单独集合的许多提取组(FG)被提取,准备执行(例如,解码、分派等),执行,然后退休。每个提取组包括许多个别指令(例如,四条、六条等),并且在提取组中的指令中存在三条CTI指令。

在图11中,作为提取组1102中的第二指令的第一CTI指令CTI1是静态无条件分支指令,所述静态无条件分支指令致使指令流从第一地址处的提取组1102跳转到第二非顺序地址(ADDR1)处的提取组1104,这个过程由从提取组1102中的第二指令到提取组1104的初始指令(在ADDR1处)的箭头说明。在检测到ADDR1处的目标指令(提取组1104中的初始指令)的退休后,退休队列保持在后续CTI退休之前将顺序地退休的提取组的数目的计数(即,对于所述计数,构成指令退休)–所述后续CTI是具有静态目标地址的未采用条件CTI2,是提取组1112中的第一指令。因为三个完整提取组(提取组1104到1108)在CTI2退休之前退休,所以退休队列向顺序提取逻辑传达ADDR1处的目标指令的识别(例如,其地址,处理器指令标签或内部标识符等)和三或另一值(例如退休的指令的数目,13)的计数值。在接收到ADDR1处的目标指令的标识符和所述值后,顺序提取逻辑更新顺序提取表中的对应条目,如图11中的顺序提取表的实例中的关于ADDR1的条目中所示。注意,如图11中的顺序提取表所示的ADDR1和ADDR2可以是地址ADDR1和ADDR2,或表示或识别对应目标指令的其他值。

ADDR2处的关于CTI 2的目标指令的退休致使退休队列开始第二/对应计数。如上所述,CTI2未被采用,因此目标指令在顺序的下一个地址ADDR2处,并且从ADDR2提取提取组。退休队列保持对应计数,直到后续CTI(提取组1116中的CTI3)(所述CTI将程序流引导到提取组1118)退休为止。因为两个完整提取组(提取组1112到1114)在CTI3退休之前退休,所以退休队列向顺序提取逻辑传达ADDR2处的目标指令的识别(例如,其地址,处理器指令标签或内部标识符等)和二或另一值(例如退休的指令的数目,13)的计数值。在接收到ADDR2处的目标指令的标识符和所述值后,顺序提取逻辑更新顺序提取表中的对应条目,如图11中的顺序提取表的实例中的关于ADDR2的条目中所示。

在一些实施方案中,退休队列采用至少一个阈值以向分支目标缓冲器和/或顺序提取逻辑报告计数。在这些实施方案中,当少于阈值数目个提取组被计数时,退休队列不向顺序提取逻辑报告CTI和/或计数。以此方式,退休队列能够通过致使条目被快速地覆盖来避免使计数存储所在的记录(即,分支目标缓冲器或顺序提取表)抖动。在一些实施方案中,阈值是动态的并且如条件决定地可在运行时设置/重置。在一些实施方案中,当少于阈值数目的提取组出现在对应CTI或目标指令与后续CTI之间时,记录中(例如,分支目标缓冲器中)的条目可将条目的计数标记为无效或设置为默认值(例如,0)。

尽管关于图8到图11中的实例将退休队列描述为保持在后续CTI退休之前顺序地退休的提取组(或,更一般地,退休的各个指令)的数目的计数,但是在一些实施方案中,不同的功能块保持计数。通常,在所描述的实施方案中,可识别各个CTI指令和/或特定类型的CTI指令并且对所识别的CTI指令之间的指令的数目计数的任何功能块能够保持计数。举例来说,在一些实施方案中,解码单元和/或分支预测单元执行用于保持计数的操作中的一些或全部,尽管对于错误预测的分支,可进行各种卷回操作和回收操作。

返回图7,在随后执行程序代码时,顺序提取逻辑基于与给定CTI相关联的记录来确定在CTI后将提取不具有CTI的指定数目的提取组以顺序地执行(步骤702)。如本文所使用,“与CTI相关联”的记录对于将分支目标缓冲器用于存储记录的实施方案而言可以是与CTI本身或对应提取组相关联的记录,或者对于将顺序提取表用于存储记录的实施方案而言可以是与CTI的目标指令相关联的记录。通常,在遇到CTI或目标指令(例如,基于地址或与指令相关联的其他信息而在提取组中检测到CTI或目标指令)后,顺序提取逻辑从恰当的记录获取将顺序地提取的不具有CTI的提取组的数目的计数。如上所述,计数可以是指示提取组的特定数目的数值、字符串或其他值。

在指定数目的提取组中的每一组被提取并准备执行时,顺序提取逻辑接着阻止对分支预测单元(例如,分支预测单元212)进行对应存取来获取关于那个提取组中的指令的分支预测信息(步骤704)。通常,在此操作期间,顺序提取表抑制、阻断或以其他方式阻止对分支预测单元进行存取,由此避免不必要地消耗电力等。在一些实施方案中,除了阻止对分支预测单元进行存取之外,顺序提取逻辑还避免进行针对计数的检查(如步骤702所示)直到步骤704中的操作完成为止,并且可将例如顺序提取表或分支预测单元的部分或全部的功能块置于低功率模式下。

图12根据一些实施方案呈现了图示用于确定在CTI后将顺序地提取的不包括CTI的提取组的指定数目和将所述指定数目用于阻止对分支预测单元进行存取的过程的流程图。注意,图12所示的操作被呈现为由一些实施方案执行的操作的一般示例。由其他实施方案执行的操作包括不同的操作、以不同的顺序执行的操作和/或由不同的功能块执行的操作。图12的操作将关于图7的步骤702到704来概括地描述,并且因此图12提供对步骤702到704的更详细描述。

对于图12中的操作,假设与CTI指令(或,更一般地,其目标指令)相关联的顺序提取记录(即,在CTI之后将顺序地提取的不包括CTI指令的提取组的数目的记录)被存储在顺序提取表中,如上文关于图7和图10到图11所描述。然而,注意,对于顺序提取记录被存储在分支目标缓冲器中的实施方案将执行类似操作,如本文在别处所描述。还假设:在步骤1200之前,程序计数器(由下一个PC功能块供应)指示将提取包括CTI的目标指令的提取组。更假设:提取组包括四条指令。然而,这些值和条件用于呈现图12中的实例,并且在所有实施方案中并不相同。

图12中的操作在顺序提取逻辑(例如,顺序提取逻辑214)基于提取组中的指令的地址或标识符而从顺序提取表获取在提取组后将顺序地提取的提取组的指定数目(步骤1200)时开始。对于此操作,顺序提取逻辑使用程序计数器以检查在顺序提取表中是否存在关于提取组中的四条指令中的任一者的匹配或“命中”。举例来说,顺序提取逻辑可根据程序计数器(即,提取地址)来计算哈希值或另一索引值,程序计数器将与顺序提取表中的一些或全部条目进行比较。作为另一实例,顺序提取逻辑可基于程序计数器来计算提取组中的指令的所有地址,并且可将每个计算的地址与顺序提取表中的每个条目进行比较。如上所述,提取组中的指令是CTI的目标指令,因此发现匹配且命中在顺序提取表中出现。顺序提取逻辑因此从顺序提取表中的匹配条目读取提取组的指定数目。

顺序提取逻辑接着将计数器设置为等于提取组的指定数目(步骤1202)。举例来说,顺序提取逻辑可将提取组的指定数目或其表示存储在专用计数器寄存器或其他存储器位置中。

当每个提取组被提取并准备执行时,顺序提取逻辑阻止对分支预测单元进行对应存取(步骤1204)。举例来说,顺序提取逻辑可断言一个或多个控制信号以阻止分支预测单元中的电路元件执行存取操作,可阻止将地址或相关值发送到分支预测单元,可将时钟暂停、使电路元件断电和/或执行其他操作以阻止对分支预测单元进行对应存取。对于此操作,在一些实施方案中,通过使用一些或所有上述技术来阻止分支预测单元中的各个功能块执行相关操作,完全阻止对分支预测单元的两次或更多次单独且可能平行的存取中的每一者,例如分支预测解决方案、分支地址获取等。

尽管在图12中未示出,但是在一些实施方案中,对于计数器为非零的提取组,也阻止对顺序提取表的存取。这样做是因为已知提取组不包括CTI且因此不包括CTI的目标指令,这使此类查找变得不必要。在一些实施方案中,在计数器为非零时,将顺序提取表置于降低功率模式下。举例来说,顺序提取表可使控制时钟暂停(例如,经由时钟门控),使电功率减小,使启用信号取消断言等。

当每个提取组被提取并准备执行时,顺序提取逻辑也使计数器递减(步骤1206)。举例来说,顺序提取逻辑可使专用计数器寄存器或其他存储器位置中的计数器的值减小一,可将计数器转换成下一个较低值或其表示等。

在计数器到达零(步骤1208)以前,顺序提取逻辑继续阻止对分支预测单元进行存取(步骤1204)并且由于提取组被提取并准备执行而使计数器递减(步骤1206)。在计数器达到零之后,即,在指定数目的提取组中的最后一组已提取且正在准备执行之后,由于一个或多个后续提取组被提取并准备执行,因此顺序提取逻辑准许对分支预测单元进行对应存取以获取分支预测信息(步骤1210)。换句话说,当计数器等于零时,顺序提取逻辑准许执行普通的分支预测操作,例如分支目标和分支方向预测。以此方式,顺序提取逻辑在计数器为非零时阻断分支预测存取(和可能的顺序提取表存取),以便避免对分支预测单元(和可能的顺序提取表)的非必要存取。

在一些实施方案中,电子装置100中的处理器102是多线程处理器且因此支持指令执行的两个或更多个单独线程。通常,多线程处理器包括专用于每个单独线程的功能块和/或硬件结构,但是也可包括在线程之间共用和/或对于多于一个的线程执行相应操作的功能块和/或硬件结构。举例来说,例如分支预测单元和顺序提取单元的功能块可对于所有进程分别执行分支预测操作和分支预测单元存取防止。作为另一实例,顺序提取表(在使用顺序提取表的实施方案中)可实现为用于所有线程(或多个线程的某一组合)的单个顺序提取表,或可基于每个线程来实现,使得每个线程具有对应的单独顺序提取表。在这些实施方案中,每个顺序提取表中的记录将关于相关联线程保持且可不同于关于其他记录的保持在顺序提取表中的记录。作为又一实例,顺序提取逻辑可基于每个线程来阻止对分支预测单元进行存取,并且因此可保持每个线程的单独且独立的计数器,关于对应线程,如本文所述地使用所述计数器来阻止对分支预测单元进行存取。

如上所述,在一些实施方案中,在针对在CTI后顺序地提取的不包括CTI的提取组阻止对分支预测单元进行存取的同时,顺序提取逻辑还可阻止对顺序提取表进行存取并且将顺序提取表置于降低功率模式下。在这些实施方案中,当多个线程取决于顺序提取表时(当一个顺序提取表被用于保存两个或更多个线程的记录时),顺序提取表可保持在全功率模式下/活动以服务其他线程(且因此将不转换成降低功率模式)。对于分支预测单元情况相同;当仅单个线程在使用分支预测单元时,当正在阻止存取时,分支预测单元可被置于降低功率模式下。然而,当分支预测单元正在由两个或更多个线程使用时,分支预测单元可保持在全功率模式下/活动以服务其他线程。然而,如本文所述,对特定线程不进行特定存取。

在一些实施方案中,电子装置(例如,电子装置100和/或其某一部分)使用存储在非暂时性计算机可读存储介质上的代码和/或数据来执行本文中描述的操作中的一些或全部。更具体地,当执行所描述的操作时,电子装置从计算机可读存储介质读取代码和/或数据并且执行代码和/或使用数据。计算机可读存储介质可以是存储代码和/或数据以供电子装置使用的任何装置、介质或其组合。举例来说,计算机可读存储介质可包括但不限于易失性存储器或非易失性存储器,包括闪存、随机存取存储器(eDRAM、RAM、SRAM、DRAM、DDR、DDR2/DDR3/DDR4 SDRAM等)、只读存储器(ROM)和/或磁性或光学存储介质(例如,磁盘驱动器、磁带、CD、DVD)。

在一些实施方案中,一个或多个硬件模块执行本文中描述的操作。举例来说,硬件模块可包括但不限于一个或多个处理器/核/中央处理单元(CPU)、专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)、计算单元、嵌入式处理器、图形处理器(GPU)/图形核、流水线、加速处理单元(APU)、功能块、系统管理单元、电力控制器和/或其他可编程逻辑装置。当激活这些硬件模块时,硬件模块执行操作中的一些或全部。在一些实施方案中,硬件模块包括一个或多个通用电路,所述通用电路通过执行指令(程序代码、固件等)以执行操作来配置。

在一些实施方案中,表示本文中描述的结构和机制中的一些或全部的数据结构(例如,处理器102、存储器104和/或其某一部分)存储在非暂时性计算机可读存储介质上,所述非暂时性计算机可读存储介质包括可由电子装置读取并且直接地或间接地使用以制造包括所述结构和机制的硬件的数据库或其他数据结构。举例来说,数据结构可以是采用高级设计语言(HDL)(例如Verilog或VHDL)的硬件功能的行为级描述或寄存器传送级(RTL)描述。所述描述可由综合工具读取,所述综合工具可综合所述描述以产生网表,所述网表包括来自综合库中的门/电路元件的清单,所述清单表示包括上述结构和机制的硬件的功能。然后,可放置并且路由所述网表以产生描述要应用于掩模的几何形状的数据集。然后,可在各种半导体制造步骤中使用掩模以产生与上述结构和机制相对应的一个或多个半导体电路(例如,集成电路)。替代地,计算机可存取的存储介质上的数据库可以是网表(带有或没有综合库)或数据集(根据需要),或图形数据系统(GDS)II数据。

在本说明书中,变量或未指定值(即,在没有值的特定实例的情况下对值的一般描述)由例如N的字母表示。如本文所使用,尽管在本说明书中可能在不同位置使用类似的字母,但是每种情况下的变量和未指定值不一定相同,即,可能有不同的变量量和值旨在用于一般变量和未指定值中的一些或全部。换句话说,在本说明书中,N和用于表示变量和未指定值的任何其他字母不一定彼此相关。

如本文所使用的表达“等(et cetera)”或“等(etc.)”旨在呈现一者和/或情况,即,清单中的与等相关联的元素中的“至少一个”的等同物。举例来说,在语句“系统执行第一操作、第二操作等”中,系统执行第一操作、第二操作和其他操作中的至少一个。另外,清单中的与等相关联的元素仅是实例集中的实例–且所述实例中的至少一些可能不会出现在一些实施方案中。

仅出于说明和描述的目的给出了实施方案的先前描述。所述先前描述不意图是详尽的或将实施方案限于公开的形式。相应地,许多修改和变化对本领域的从业人员来说将是显而易见的。另外,以上公开不意在限制实施方案。实施方案的范围由所附权利要求限定。

相关技术
  • 用于提取组的序列的控制对分支预测单元的存取
  • 用于配置多个核心独立外围设备的可编程任意序列直接存储器存取控制器
技术分类

06120112618253