[发明专利]用于将微指令序列重排序为优化的微指令序列以实现指令集不可知的运行时架构的分配和发出级有效
申请号: | 201580051837.1 | 申请日: | 2015-07-24 |
公开(公告)号: | CN106716362B | 公开(公告)日: | 2020-09-25 |
发明(设计)人: | M·阿布达拉 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/455;G06F9/30 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 何焜 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 指令 序列 排序 优化 实现 不可知 运行 架构 分配 发出 | ||
用于不可知的运行时架构的系统。该系统包括系统仿真/虚拟化转换器、应用代码转换器、以及系统转换器,其中系统仿真/虚拟化转换器和应用代码转换器实现系统仿真进程,并且其中系统转换器实现用于执行来自访客镜像的代码的系统转换进程。系统转换器进一步包括用于取出传入的微指令序列的指令取出组件、耦合到指令取出组件的用于接收被取出的宏指令序列并解码为微指令序列的解码组件、以及耦合到解码组件的用于接收微指令序列并通过将该微指令序列重排序为包括多个相关的代码组的经优化的微指令序列来执行优化处理的分配和发出级。微处理器流水线耦合到分配和发出级,用于接收和执行经优化的微指令序列。序列高速缓存耦合到分配和发出级,用于接收和存储经优化的微指令序列的副本,以用于在经优化的微指令序列上的后续的命中之后的后续的使用,以及硬件组件经耦合以用于将指令移动到传入的微指令序列中。
本申请要求共同待审并且共同转让的由Mohammad A.Abdallah于2014年7月25日提交的名称为“A RUNTIME ARCHITECTURE FOR EFFICIENTLY OPTIMIZING AND EXECUTINGGUEST CODE AND CONVERTING TO NATIVE CODE(用于高效地优化和执行访客代码并将其转换为本机代码的运行时架构)”的美国临时专利申请序列号62/029383的权益,该申请通过引用整体结合于此。
发明领域
本发明总地涉及数字计算机系统,更具体地涉及用于选择包括指令序列的指令的系统和方法。
发明背景
处理器被要求处理多个从属的或完全独立的任务。这些处理器的内部状态通常由在程序执行的每个特定瞬间可能保存不同的值的寄存器组成。在程序执行的每个瞬间,内部状态镜像被称为处理器的架构状态。
当将代码执行切换到运行另一功能(例如,另一线程、进程或程序)时,则必须保存机器/处理器的状态,使得新功能可以利用内部寄存器来建立新功能的新状态。当终止新功能时,则可以丢弃其状态,并且将恢复先前上下文的状态并且执行恢复。这种切换进程被称为上下文切换,并且通常包括10个或数百个循环,尤其在采用大量寄存器(例如,64、128、256)和/或乱序执行的现代架构中。
在知晓线程的硬件架构中,硬件支持用于有限数量的硬件支持的线程的多个上下文状态是常见的。在这种情形下,硬件为每个支持的线程复制所有架构状态元素。这消除了当执行新线程时对上下文切换的需要。然而,这仍然有许多缺点,即为在硬件中支持的每个附加的线程复制所有架构状态元素(即,寄存器)的面积、功率、以及复杂性。此外,如果软件线程的数量超过被明确地支持的硬件线程的数量,则仍然必须执行上下文切换。
随着在要求大量线程的细粒度的基础上需要并行性,这变得常见。具有复制上下文状态硬件存储的硬件知晓线程的架构无助于非线程的软件代码,并且只为线程软件减少上下文切换的数量。然而,这些线程通常为粗粒度的并行性构建,并且导致启动和同步的繁重的软件开销,使得细粒度的并行性(例如功能调用和循环并行执行)不具有高效的线程启动/自动生成。描述的此类开销伴随着此类代码使用最新编译器的自动并行化或用于非显示地/容易地并行的/线程化软件代码的用户并行化技术的困难。
发明概述
在一个实施例中,本发明实现为用于不可知的运行时架构的系统。该系统包括系统仿真/虚拟化转换器、应用代码转换器、以及系统转换器,其中系统仿真/虚拟化转换器和应用代码转换器实现系统仿真进程,并且其中系统转换器实现用于执行来自访客镜像的代码的系统转换进程。系统转换器进一步包括用于取出传入的微指令序列的指令取出组件、耦合到指令取出组件的用于接收被取出的宏指令序列并解码为微指令序列的解码组件、以及耦合到解码组件的用于接收微指令序列并通过将微指令序列重排序为包括多个相关的代码组的经优化的微指令序列来执行优化处理的分配和发出级。微处理器流水线耦合到分配和发出级,用于接收和执行经优化的微指令序列。序列高速缓存耦合到分配和发出级,用于接收和存储经优化的微指令序列的副本,以用于在经优化的微指令序列上的后续的命中之后的后续的使用,以及硬件组件经耦合以用于将指令移动到传入的微指令序列中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580051837.1/2.html,转载请声明来源钻瓜专利网。