解码的指令的重复使用制造技术

技术编号:17490819 阅读:32 留言:0更新日期:2018-03-17 13:47
公开了用于重复使用基于块的处理器架构中的提取的和解码的指令的系统和方法。在所公开的技术的一个示例中,一种系统包括多个基于块的处理器核心和指令调度器。相应的核心能够运行程序的一个或多个指令块。指令调度器能够被配置为标识驻留在处理器核心中的第一处理器核心上并且要被再次运行的程序的给定指令块。指令调度器能够被配置为在运行中调整指令块的映射,使得在没有重新提取给定指令块的情况下,给定指令块被重新运行在第一处理器核心上。

Repeated use of decoded instructions

A system and method for repeating the extracted and decoded instructions in a block based processor architecture are disclosed. In one example of the open technology, a system includes a plurality of block based processor cores and an instruction scheduler. The corresponding core can run one or more instruction blocks of the program. The instruction scheduler can be configured to identify a given instruction block that resides on the core of the first processor in the core of the processor and is to be run again. The instruction scheduler can be configured to adjust the mapping of instruction blocks in operation, so that when a given instruction block is not re extracted, the given instruction block is run on the core of the first processor.

【技术实现步骤摘要】
【国外来华专利技术】解码的指令的重复使用
技术介绍
由于摩尔定律所预测的持续晶体管扩展,微处理器已经受益于晶体管数、集成电路成本、制造资本、时钟频率以及能量效率上的持续获益,而相关联的处理器指令集架构(ISA)几乎没有变化。然而,在过去40年内驱动半导体工业的由光刻扩展实现的益处缓慢或甚至倒退。多个年来,精简指令集计算(RISC)架构已经成为处理器设计中的主导规范。无序超标量实现尚未呈现面积或性能上的持续改进。因此,存在改进处理器ISA以扩展性能改进的充分机会。
技术实现思路
公开了用于重复使用基于块的处理器的指令集架构(BB-ISA)中的解码的指令的方法、装置以及计算机可读存储设备。所描述的技术和工具能够潜在地改进处理器性能,并且能够彼此独立地或以各种组合进行实现。如下面将更完整地描述的,所描述的技术和工具能够被实现在数字信号处理器、微处理器、专用集成电路(ASIC)、软处理器(例如,使用可重配置逻辑实现在现场可编程门阵列(FPGA)中的微处理器核心)、可编程逻辑、或其他适合的逻辑电路中。如对于本领域技术人员将显而易见的,所公开的技术能够被实现在各种计算平台中,各种计算平台包括但不限于:服务器、大型机、蜂窝电话、智能电话、PDA、手持设备、手持计算机、触摸屏平板设备、平板计算机、可穿戴计算机、以及膝上型计算机。在所公开的技术的一些示例中,一种系统包括多个基于块的处理器核心和指令调度器。相应的核心能够运行程序的一个或多个指令块。指令调度器能够被配置为标识驻留在处理器核心中的第一处理器核心上并且要被再次运行的程序的给定指令块。指令调度器能够被配置为在运行中调整指令块的映射,使得在没有重新提取给定指令块的情况下,给定指令块被重新运行在第一处理器核心上。提供本
技术实现思路
从而以简化的形式介绍下面在具体实施方式中进一步描述的概念的选择。本
技术实现思路
不旨在标识要求保护的主题的关键特征或必要特征,也不旨在用于限制要求保护的主题的范围。所公开的主题的前述和其他目标、特征和优点将从参考附图进行的以下详细描述变得更加明显。附图说明图1图示了能够在所公开的技术的一些示例中使用的包括多个处理器核心的基于块的处理器。图2图示了能够在所公开的技术的一些示例中使用的基于块的处理器核心。图3图示了根据所公开的某些示例的多个指令块。图4图示了源代码的部分及其相应指令块。图5图示了能够在所公开的技术的一些示例中使用的基于块的处理器头部和指令。图6是图示基于块的处理器的处理核心的状态的进展的示例的流程图。图7是图示能够在所公开的技术的一些示例中使用的基于块的处理器和存储器的示图。图8是图示能够在所公开的技术的一些示例中使用的指令块到基于块的处理器的处理器核心的不同映射的示图。图9-10是图示能够在所公开的技术的一些示例中执行的的重复使用解码的指令的示例方法的流程图。图11是图示了用于实现所公开的技术的一些实施例的适合的计算环境的框图。具体实施方式I.一般考虑本公开内容在代表性实施例的背景下进行阐述,代表性实施例无论如何不旨在为限制性的。如在本申请中所使用的,单数形式的“一”、“一种”和“所述”包括复数形式,除非上下文另外清楚指示。附加地,术语“包括”意指“包含”。另外,术语“耦合”包含以机械、电、磁、光、以及其他实际方式将各项耦合或链接在一起,并且不排除耦合的项之间的中间元件的存在。另外,如本文中所使用的,术语“和/或”意指短语中的任何一个项或各项的组合。在此所描述的系统、方法和装置无论如何不应当被理解为限制性的。相反,本公开内容是针对各种所公开的实施例的所有新颖的和非显而易见的特征和方面,不管是单独的还是以彼此的各种组合及子组合的。所公开的系统、方法和装置不受限于任何具体方面或者这些方面的特征或者组合,所公开的内容和方法也不要求任何一个或多个具体优点要存在或者问题被解决。另外,所公开的实施例的任何特征和方面能够以彼此的各种组合及子组合进行使用。虽然为了便于演示,所公开的方法中的一些方法的操作是以特定的顺序次序被描述,但是应当理解,这种描述方式涵盖重新安排,除非通过在下面阐明的具体语言来要求特定的排序。例如,顺序地描述的操作可以在一些情况下被重新安排或者被同时执行。而且,出于简洁的目的,附图可能没有示出所公开的内容和方法可以与其它内容和方法协同使用的各种方式。附加地,本说明书有时使用如“产生”、“生成”、“显示”、“接收”、“发射”、“验证”、“运行”和“启动”的术语来描述所公开的方法。这些术语是被执行的实际操作的高层描述。对应于这些术语的实际操作将取决于特定实施方式而变化,并且可容易地由本领域普通技术人员辨别。在此参考本公开内容的装置或方法呈现的操作理论、科学原理或其他理论描述已经出于更好地理解的目的而被提供,并且不旨在范围上进行限制。所附的权利要求书中的方法和装置不限于以通过这种操作理论描述的方式工作的那些装置和方法。所公开的方法中的任何方法可以被实现为被存储在一个或者多个计算机可读存储介质(例如,计算机可读介质,诸如一个或者多个光学介质盘、易失性存储部件(诸如DRAM或者SRAM)、或者非易失性存储部件(诸如硬盘驱动器))上的并且被执行在计算机(例如,商业可用的计算机,包括智能电话或者包括计算硬件的其它移动设备)上的计算机可执行指令。用于实现所公开的技术的计算机可执行指令中的任何以及在所公开的实施例的实现期间创建和使用的任何数据可以被存储在一个或多个计算机可读介质(例如,计算机可读存储介质)中。计算机可执行指令可以是例如专用软件应用或者经由web浏览器访问或者下载的软件应用或者其它软件应用(诸如远程计算应用)的一部分。这样的软件可以例如在单个本地计算机(例如,运行在任何适合的商业可用的计算机上的代理)上被执行,或者在网络环境中(例如,经由因特网、广域网、局域网、客户端-服务器网络(诸如云计算网络)或者其它这样的网络)使用一个或者多个网络计算机来执行。为了清楚起见,仅仅描述了基于软件的实现方式的某些选定方面。本领域中公知的其他细节被省略。例如,应当理解,所公开的技术不限于任何特定计算机语言或程序。例如,所公开的技术能够由以C、C++、Java或任何其他适合的编程语言编写的软件来实现。类似地,所公开的技术不限于任何特定计算机或硬件类型。适合的计算机和硬件的某些细节是公知的并且不需要在本公开内容中详细阐述。另外,基于软件的实施例中的任何(包括例如用于使计算机执行所公开的方法中的任何的计算机可执行指令)能够通过适合的通信手段被上传、被下载、或被远程访问。这样的适合的通信手段包括例如因特网、万维网、内联网、软件应用、线缆(包括光纤线缆)、磁通信、电磁通信(包括RF、微波和红外通信)、电子通信、或其他这样的通信手段。II.对所公开的技术的介绍超标量无序微架构采用大量电路资源来重命名寄存器,以数据流程顺序调度指令,在错过推测之后清除,并且为了精确异常而有序撤回结果。这包括昂贵能量消耗电路,例如深度多个端口寄存器文件、用于数据流程指令调度唤醒的多个端口可内容访问存储器(CAM)、以及多个宽总线多路复用器和旁路网络,其全部都是资源密集的。例如,多读多写RAM的基于FPGA的实现方式通常要求复制、多循环操作、时钟加倍、库交错、实况值表以及其他昂贵技术的混合。所公开的技术能本文档来自技高网
...
解码的指令的重复使用

【技术保护点】
一种系统,包括:多个基于块的处理器核心,其中所述核心中的每个相应核心能够运行程序的一个或多个指令块;以及指令块调度器,其被配置为:标识驻留在所述处理器核心中的第一处理器核心上并且要被再次运行的给定指令块;以及在运行中调整指令块的映射,使得在没有重新提取所述给定指令块的情况下,所述给定指令块被重新运行在所述第一处理器核心上。

【技术特征摘要】
【国外来华专利技术】2015.06.26 US 14/752,5961.一种系统,包括:多个基于块的处理器核心,其中所述核心中的每个相应核心能够运行程序的一个或多个指令块;以及指令块调度器,其被配置为:标识驻留在所述处理器核心中的第一处理器核心上并且要被再次运行的给定指令块;以及在运行中调整指令块的映射,使得在没有重新提取所述给定指令块的情况下,所述给定指令块被重新运行在所述第一处理器核心上。2.根据权利要求1所述的系统,其中在运行中调整指令块的所述映射包括:跳过所述第一处理器核心的指令窗口。3.根据权利要求1或2中的任一项所述的系统,其中在运行中调整指令块的所述映射包括:对要在所述给定指令块之前被运行的较早指令块进行重新映射。4.根据权利要求1-3中的任一项所述的系统,其中在运行中调整指令块的所述映射包括:延迟对一个或多个推测的指令块的分配。5.根据权利要求1-4中的任一项所述的系统,其中在运行中调整指令块的所述映射包括:维持驻留在空闲处理器核心上的指令块的高速缓存。6.根据权利要求1-5中的任一项所述的系统,其中在运行中调整指令块的所述映射包括:在刷新所述第一处理器核心上的所述给定指令块之前,等待所述给定指令块完成。7.根据权利要求1-6中的任一项所述的系统,其中所述指令块调度器还被配置为解码所述指令块的头部,所述头部被编码有控制流信息。8.根据权利要求1-7中的任一项所述的系统,其中标识驻留在所述处理器核心中的所述第一处理器核心上并且要被再次运行的所述给定指令块包括:标识指令块的循环。9.一种在基于块的计算机系统中提供重复使用的方法,所述方法包括:标识包括多个指令块的复发;...

【专利技术属性】
技术研发人员:D·C·巴格A·史密斯
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

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

1