用于不可知的运行时架构的系统。该系统包括系统仿真/虚拟化转换器、应用代码转换器、以及转换器,其中系统仿真/虚拟化转换器和应用代码转换器实现系统仿真进程,并且其中系统转换器实现用于执行来自访客镜像的代码的系统和应用转换进程,其中系统转换器或系统仿真器。该系统进一步包括运行提前运行时访客指令转换/解码过程、以及其中从指令序列中的访客分支的目标预取访客代码的预取过程。
A system switch that implements a visitor's instruction conversion / decoding process during an advance operation and a prefetch process of visitor code prefetch from the target branch of the visitor sequence in the instruction sequence
System for unknown runtime architectures. The system includes system simulation / virtual converter, application code converter, and the converter, the system simulation / virtual converter and application code converter system simulation process, and the system for converter conversion system and application execution from visitors image code, including system converter or system simulator. The system further comprises the process of running a visitor's instruction conversion / decoding process in advance, and the prefetch process of the visitor code of the visitor branch from the instruction sequence.
【技术实现步骤摘要】
【国外来华专利技术】实现运行提前运行时访客指令转换/解码过程和其中从指令序列中的访客分支的目标预取访客代码的预取过程的系统转换器本申请要求共同待审并且共同转让的由MohammadA.Abdallah于2014年7月25日提交的名称为“ARUNTIMEARCHITECTUREFOREFFICIENTLYOPTIMIZINGANDEXECUTINGGUESTCODEANDCONVERTINGTONATIVECODE(用于高效地优化和执行访客代码并将其转换为本机代码的运行时架构)”的美国临时专利申请序列号62/029383的权益,该申请通过引用整体结合于此。专利
本专利技术总地涉及数字计算机系统,更具体地涉及用于选择包括指令序列的指令的系统和方法。专利技术背景处理器被要求处理多个从属的或完全独立的任务。这些处理器的内部状态通常由在程序执行的每个特定瞬间可能保存不同的值的寄存器组成。在程序执行的每个瞬间,内部状态镜像被称为处理器的架构状态。当将代码执行切换到运行另一功能(例如,另一线程、进程或程序)时,则必须保存机器/处理器的状态,使得新功能可以利用内部寄存器来建立新功能的新状态。当终止新功能时,则可以丢弃其状态,并且将恢复先前上下文的状态并且执行恢复。这种切换进程被称为上下文切换,并且通常包括10个或数百个循环,尤其在采用大量寄存器(例如,64、128、256)和/或乱序执行的现代架构中。在知晓线程的硬件架构中,硬件支持用于有限数量的硬件支持的线程的多个上下文状态是常见的。在这种情形下,硬件为每个支持的线程复制所有架构状态元素。这消除了当执行新线程时对上下文切换的需要。然而,这仍然有许多缺点,即为在硬件中支持的每个附加的线程复制所有架构状态元素(即,寄存器)的面积、功率、以及复杂性。此外,如果软件线程的数量超过被明确地支持的硬件线程的数量,则仍然必须执行上下文切换。随着在要求大量线程的细粒度的基础上需要并行性,这变得常见。具有复制上下文状态硬件存储的硬件知晓线程的架构无助于非线程的软件代码,并且只为线程软件减少上下文切换的数量。然而,这些线程通常为粗粒度的并行性构建,并且导致启动和同步的繁重的软件开销,使得细粒度的并行性(例如功能调用和循环并行执行)不具有高效的线程启动/自动生成。描述的此类开销伴随着此类代码使用最新编译器的自动并行化或用于非显示地/容易地并行的/线程化软件代码的用户并行化技术的困难。专利技术概述在一个实施例中,本专利技术实现为用于不可知的运行时架构的系统。该系统包括系统仿真/虚拟化转换器、应用代码转换器、以及转换器,其中系统仿真/虚拟化转换器和应用代码转换器实现系统仿真进程,并且其中系统转换器实现用于执行来自访客镜像的代码的系统和应用转换进程,其中系统转换器或系统仿真器。该系统进一步包括运行提前运行时访客指令转换/解码过程、以及其中从指令序列中的访客分支的目标预取访客代码的预取过程。以上是概述并且因此必然地包括对细节的简化、概括和省略;因此,本领域技术人员将理解概述仅是说明性的并且无论如何不旨在是限制性的。仅由权利要求书定义的本专利技术的其他方面、创造性特征、以及优势将在以下陈述的非限制性的详细描述中变得显而易见。附图说明本专利技术作为示例而非限制在所附附图中示出,在附图中,相似的附图标记指代相似的元件。图1示出根据本专利技术的一个实施例的架构不可知的运行时系统的概览示图。图2示出根据本专利技术的一个实施例的描绘了硬件加速的转换/JIT层的示图。图3示出根据本专利技术的一个实施例的硬件加速的运行时转换/JIT层的更详细的示图。图4示出根据本专利技术的一个实施例的描绘了用于实现系统仿真和系统转换的组件的示图。图5示出根据本专利技术的一个实施例的描绘了访客标志架构仿真的示图。图6示出根据本专利技术的一个实施例的统一寄存器组的示图。图7示出根据本专利技术的一个实施例的统一阴影寄存器组和支持推测架构状态和瞬态架构状态的流水线架构1300的示图。图8示出根据本专利技术的一个实施例的描绘了运行提前批处理/转换进程的示图。图9示出根据本专利技术的一个实施例的示出其中将访客指令块和它们的对应的本机转换块存储在高速缓存内的方式的示例性硬件加速的转换系统的图示。图10示出根据本专利技术的一个实施例的硬件加速的转换系统的更详细的示例。图11示出根据本专利技术的一个实施例的包括双范围使用的第二使用模型的示图。图12示出根据本专利技术的一个实施例的包括不需要保存和在从瞬态上下文返回后不需要恢复先前上下文的瞬态上下文切换的第三使用模型的示图。图13示出根据本专利技术的一个实施例的描绘了其中指令序列中的异常是由于需要对后续代码的变换的情形的示图。图14示出根据本专利技术的一个实施例的包括不需要保存和在从瞬态上下文返回后不需要恢复先前上下文的瞬态上下文切换的第四使用模型的示图。图15示出根据本专利技术的一个实施例的示出了优化的在分支之前调度指令的示图。图16示出根据本专利技术的一个实施例的示出了优化的在存储之前调度加载的示图。图17示出根据本专利技术的一个实施例的存储过滤算法的示图。图18示出根据本专利技术的一个实施例的在组成按顺序从存储器读取的加载的存储器一致性模型中的具有乱序加载的信号标实现的示图。图19示出根据本专利技术的一个实施例的通过JIT优化的重排序过程的示图。图20示出根据本专利技术的一个实施例的通过JIT优化的重排序过程的示图。图21示出根据本专利技术的一个实施例的通过JIT优化的重排序过程的示图。图22示出根据本专利技术的一个实施例的示出通过JIT优化在存储之前被重排序的加载的示图。图23示出根据本专利技术的一个实施例的加载和存储指令分割的第一示图。图24示出根据本专利技术的一个实施例的示出其中在存储器内存储CLB功能结合代码高速缓存和访客指令到本机指令的映射的方式的示例性流程图。图25示出根据本专利技术的一个实施例的运行提前运行时访客指令转换/解码过程的示图。图26示出根据本专利技术的一个实施例的描绘了具有访客指令序列的转换表和具有本机指令映射的本机映射表的示图。专利技术详细描述虽然结合一个实施例描述了本专利技术,专利技术不旨在被限制为本文中所陈述的特定形式。相反,旨在覆盖如所附权利要求书定义的可被合理地包括在专利技术的范围内的此类替代方案、修改以及等效方案。在以下详细描述中,陈述了诸如特定方法顺序、结构、元素和连接的多个具体细节。然而将理解不需要利用这些和其他具体细节以实践本专利技术的实施例。在其他情形下,省略了公知的结构、元素或连接,或者没有以具体细节描述它们,以便避免不必要地模糊该描述。本说明书中对“一个实施例”或“一实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本专利技术的至少一个实施例中。出现在说明书中的多个位置的短语“在一个实施例中”不必须全部指示同一实施例,也不是与其他实施例相互排斥的单独的或替代的实施例。此外,描述了一些实施例可以呈现的并且其他实施例可以不呈现的各种特征。类似地,描述了对于一些实施例可以是要求的并且对于其他实施例可以不是要求的各种要求。接下来的详细描述中的一些部分是按照对计算机存储器内的数据位的操作的程序、步骤、逻辑块、处理和其他符号表示而给出的。这些描述和表示是数据处理领域内技术人员使用的最有效地将其工作本质传达给本领域内其它技术人员的手段。流程、计算机执行步骤、逻辑块、过程等等在本文中被一般地构思本文档来自技高网...
【技术保护点】
一种用于不可知的运行时架构的系统,包括:系统仿真/虚拟化转换器;应用代码转换器;以及转换器,其中系统仿真/虚拟化转换器和应用代码转换器实现系统仿真过程,并且其中所述系统转换器实现用于执行来自访客镜像的代码的系统和应用转换过程,其中所述系统转换器或所述系统仿真器:运行提前运行时访客指令转换/解码过程;以及预取过程,其中从指令序列中的访客分支的目标预取访客代码。
【技术特征摘要】
【国外来华专利技术】2014.07.25 US 62/029,383;2015.07.23 US 14/807,3531.一种用于不可知的运行时架构的系统,包括:系统仿真/虚拟化转换器;应用代码转换器;以及转换器,其中系统仿真/虚拟化转换器和应用代码转换器实现系统仿真过程,并且其中所述系统转换器实现用于执行来自访客镜像的代码的系统和应用转换过程,其中所述系统转换器或所述系统仿真器:运行提前运行时访客指令转换/解码过程;以及预取过程,其中从指令序列中的访客分支的目标预取访客代码。2.如权利要求1所述的系统,其特征在于,访客代码是从指令序列中的访客分支的目标预取的。3.如权利要求1所述的系统,其特征在于,最频繁遇到的访客指令和它们的映射被存储在低级高速缓存结构。4.如权利要求1所述的系统,其特征在于,映射表用于为查找到的访客指令格式提供等效的指令格式。5.如权利要求1所述的系统,其特征在于,所述基于动态序列块的指令映射组件进一步包括:系统仿真/虚拟化转换器;应用代码转换器;以及系统转换器,其中所述系统仿真/虚拟化转换器和所述应用代码转换器实现系统仿真过程,并且其中所述系统转换器实现用于执行来自访客镜像的代码的系统转换过程。6.如权利要求1所述的系统,其特征在于,所述访客代码包括访客镜像,所述访客镜像包括应用代码和操作系统/系统特定代码以供执行。7.如权利要求1所述的系统,进一步包括多个转换表,所述多个转换表包括耦合到所述访客取出缓冲器的第一级转换表和第二级转换表,用于将所述访客代码变换为对应的本机代码。8.一种微处理器,包括:系统仿真/虚拟化转换器;应用代码转换器;以及转换器,其中系统仿真/虚拟化转换器和应用代码转换器实现系统仿真过程,并且其中所述系统转换器实现用于执行来自访客镜像的代码的系统和应用转换过程,其中所述系统转换器或所述系统仿真器:运行提前运行时访客指令转换/解码过程;以及预取过程,其中从指令序列中的访客分支的目标预取访客代码。9.如权利要求8所述的微处理器,其特征在于,访客代码是从指令序列中的访客分支的目标预取的。10.如权利要求8所述的微处理器,其特征在于,最频繁遇到的访...
【专利技术属性】
技术研发人员:M·阿布达拉,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。