利用具有寄存器视图、源视图、指令视图以及多个注册模板的微处理器体系架构执行指令块的方法技术

技术编号:12576447 阅读:93 留言:0更新日期:2015-12-23 16:29
利用具有寄存器视图、源视图、指令视图以及多个寄存器模板的微处理器体系架构执行指令块的方法。该方法包括,利用全局前端接收进来的指令序列;将指令分组以形成指令块;使用多个寄存器模板,以通过采用对应于所述指令块的块号填充所述寄存器模板来跟踪指令目标和指令源,其中对应于所述指令块的所述块号指示所述指令块之间的相互依赖关系;使用寄存器视图数据结构,其中寄存器视图数据结构存储了对应于指令块的目标;使用源视图数据结构,其中源视图数据结构存储了对应于指令块的源;并且使用指令视图数据结构,其中指令视图数据结构存储了对应于指令块的指令。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】利用具有奇存裔视图、源视图、指令视图以及多个注册I旲板的微处理器体系架构执行指令块的方法 本申请要求共同未决的、共同转让的、分配了序列号:61/799,902、名称为“AMETHOD FOR EXECUTING BLOCKS OF INSTRUCT1NS USING A MICROPROCESSOR ARCHITECTUREHAVING A REGISTER VIEW, SOURCE VIEW, INSTRUCT1N VIEW, AND A PLURALITY OF REGISTERTEMPLATES”、由Mohammad A.Abdallah于2013年3月15日提交的美国临时申请的权益,其全部并入本申请。_2]相关串请交叉引用本申请涉及共同未决的、共同转让的序列号:2009/0113170、名称为“APPARATUSAND METHOD FOR PROCESSING AN INSTRUCT1N MATRIX SPECIFYING PARALLEL INDEPENDENTOPERAT1NS”、申请人为Mohammad A.Abdallah于2007年4月12日提交的美国专利申请,其全部并入本申请。本申请涉及共同未决的、共同转让的序列号:2010/0161948、名称为“APPARATUSAND METHOD FOR PROCESSING COMPLEX INSTRUCT1N FORMATS IN A MULTITHREADEDARCHITECTURE SUPPORTING VAR1US CONTEXT SWITCH MODES AND VIRTUALIZAT1NSCHEMES”、申请人为Mohammad A.Abdallah于2007年11月14日提交的美国专利申请,其全部并入本申请。
本专利技术主要涉及数字计算机系统,尤其是涉及选择包括指令序列的指令的系统和方法。
技术介绍
处理器需要处理依赖的或者完全独立的多个任务。这种处理器的内部状态通常由在程序执行的每个特定实例中具有不同值的寄存器组成。在程序执行的每个实例中,内部状态图像被称为处理器的体系体系架构状态。当将代码执行切换到运行另一个函数(例如,另一个线程、进程或程序),则机器/处理器的状态必须进行保存,以便新的函数能够利用内部寄存器建立其新的状态。一旦新的函数终止,则可以丢弃它的状态,并且恢复以前的上下文状态且重新开始执行。这样的转换过程被称为上下文切换并且通常包括数十个或数百个循环,尤其是利用大量的寄存器(例如,64、128、256)和/或乱序执行的现在体系架构。在线程感知硬件体系架构中,对于硬件来说支持有限数量的硬件支持的线程的多个上下文状态是正常的。在这种情况下,对每个支持的线程,硬件复制所有的体系架构状态元素。这消除了执行新线程时上下文切换的需求。然而,这仍然有多个缺陷,即在硬件支持每个附加的线程的面积、功率以及复制所有体系架构状态元素(即寄存器)的复杂性。此夕卜,如果软件线程的数目超过明确支持的硬件线程数目,则仍然必须执行上下文切换。由于在需要大量线程的细粒度的基础上需要并行化,这变得普遍。具有双倍的上下文状态硬件存储的硬件线程感知体系架构不利于非线程软件代码并且对线程化的软件仅减少上下文切换的次数。然而,那些线程通常为了粗粒度并行化而建造,并且开始和同步导致了大量软件开销,远离细粒度并行化,例如函数调用和循环并行执行,没有有效的线程开始/自动产生。这种所描述的开销伴随着使用art编译器的状态的这样的代码的自动并行化或者用于不明确/易于并行化/线程化的软件代码的用户并行技术的困难。
技术实现思路
在一个实施例中,本专利技术实现为利用具有寄存器视图、源视图、指令视图以及多个寄存器模板的微处理器体系架构执行指令块的方法。该方法包括,利用全局前端接收进来的指令序列;将指令分组以形成指令块;使用多个寄存器模板,以通过采用对应于所述指令块的块号填充所述寄存器模板来跟踪指令目标和指令源,其中对应于所述指令块的所述块号指示所述指令块之间的相互依赖关系;使用寄存器视图数据结构,其中寄存器视图数据结构存储了对应于指令块的目标;使用源视图数据结构,其中源视图数据结构存储了对应于指令块的源;并且使用指令视图数据结构,其中指令视图数据结构存储了对应于指令块的指令。前述是个概要并且因此必然包含细节的简单化、归纳化和省略。因此,本领域技术人员要领会,该
技术实现思路
仅仅是说明性的并且不意图以任何方式限制。其他方面,创造性的特征以及本专利技术的优点,仅由权利要求限定,在下面详细解释的非限定的详细说明中变得显然。【附图说明】本专利技术以举例的方式进行说明,并且不以限制的方式,随附的附图中的数字及其中相同的引用号涉及相同的元件。图1示出了利用寄存器模板将指令分组成块并且跟踪指令间的依赖关系的过程的总体示意图。图2示出了根据本专利技术的一个实施例的,寄存器视图、源视图以及指令视图的总体示意图。图3示出了根据本专利技术的一个实施例的、说明了示范性的寄存器模板以及通过寄存器模板中的信息如何对源视图进行填充的示意图。图4示出了说明源视图内依赖广播的第一实施例的示意图。在这个实施例中,每栏包括指令块。图5示出了说明源视图内依赖广播的第二实施例的示意图。图6示出了根据本专利技术的一个实施例的、说明了选择准备就绪的指令块用于从提交指针开始的分派以及广播对应的端口分配的示意图。图7示出了根据本专利技术的一个实施例的、用于实现图6中描述的选择器阵列的加法器树结构。图8示出了更加详细的选择器阵列加法器树的示范性逻辑。图9示出了根据本专利技术的一个实施例的、用于实现选择器阵列的加法器树的并行实现方式。图10示出了根据本专利技术的一个实施例的、说明如何利用进位保存加法器实现图9中的加法器X的示范性示意图。图11示出了根据本专利技术的一个实施例的、掩膜准备好的位用于从提交指针开始调度以及利用选择器阵列加法器的掩膜实施例。图12示出了根据本专利技术的一个实施例的、如何通过寄存器模板填充寄存器视图条目的总体示意图。图13示出了根据本专利技术的一个实施例的、减小的寄存器视图占用空间的第一实施例。图14示出了根据本专利技术的一个实施例的、减小的寄存器占用空间的第二实施例。图15示出了根据本专利技术的一个实施例的、快照间增量的示范性形式。图16示出了根据本专利技术的一个实施例的、根据指令块的分配创造寄存器模板快照的过程示意图。图17示出了根据本专利技术的一个实施例的、根据指令块的分配创造寄存器模板快照的过程的另一个示意图。图18示出了根据本专利技术的一个实施例的、实现由以前的寄存器模板创造后来的寄存器模板的串行实现方式的硬件的总体示意图。图19示出了根据本专利技术的一个实施例的、实现由以前的寄存器模板创造后来的寄存器模板的并行实现方式的硬件的总体示意图。图20示出了根据本专利技术的一个实施例的、用于基于块的指令执行的硬件以及它如何利用源视图、指令视图、寄存器模板以及寄存器视图进行工作的的总体示意图。图21示出了根据本专利技术的一个实施例的、成块体系架构的例子。图22示出了根据本专利技术的一个实施例的、如何根据它们的块号和线程ID分配线程的描述。图23示出了根据本专利技术的一个实施例的,为了管理多线程执行,利用指向物理存储位置的线程指针映射的调度器的实现方式。图24本文档来自技高网
...

【技术保护点】
一种利用微处理器体系架构来执行指令块的方法,所述微处理器体系架构具有寄存器视图、源视图、指令视图以及多个寄存器模板,包括:利用全局前端接收进来的指令序列;将所述指令分组以形成指令块;使用多个寄存器模板,以通过采用对应于所述指令块的块号填充所述寄存器模板来跟踪指令目标和指令源,其中对应于所述指令块的所述块号指示所述指令块之间的相互依赖关系;使用寄存器视图数据结构,其中所述寄存器视图数据结构存储了对应于所述指令块的目标;使用源视图数据结构,其中所述源视图数据结构存储了对应于所述指令块的源;并且使用指令视图数据结构,其中所述指令视图数据结构存储了对应于指令块的指令。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:穆罕默德·阿布达拉
申请(专利权)人:索夫特机械公司
类型:发明
国别省市:美国;US

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

1