用于处理器控制传送的目标位置的确定制造技术

技术编号:17490823 阅读:35 留言:0更新日期:2018-03-17 13:47
公开了用于根据基于块的指令集体系架构(ISA)从原子指令块中消除显式控制流指令(例如,分支指令)的方法和装置。在所公开技术的一个示例中,显式数据图执行(EDGE)ISA处理器被配置为从存储器中获取指令块并且执行指令块中的至少一个指令块,指令块中的每个指令块被编码成具有一个或多个退出点,该一个或多个退出点确定下一指令块的目标位置。处理器控制电路评估用于在指令块中的第一指令块内编码的指令的一个或多个谓语,并且基于该评估向目标位置处的第二指令块传送处理器的控制,该目标位置不是由第一指令块中的控制流指令所指定的。

Determination of the location of the target for the processor to control the transmission

A method and device for eliminating explicit control flow instructions (for example, branch instructions) from atomic instruction blocks according to block based instruction collective architecture (ISA) are disclosed. In one example disclosed in the explicit data graph execution (EDGE) ISA processor is configured to obtain instructions from the memory block and perform at least one block of instruction blocks, each instruction instruction blocks in the block is encoding into having one or more exit points, the next instruction block the goal position of the one or more exit point. Processor control circuit for evaluation of one or more predicate in the instruction block in the first block of instructions in the instruction encoding, and control instructions to the second processor block transfer target position based on the assessment of the location of the target is not controlled by the first instruction in the block specified by the instruction stream.

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

【技术保护点】
一种包括基于块的指令集体系架构(ISA)处理器的装置,所述装置包括:存储器;一个或多个处理器核,其被配置为从所述存储器获取多个指令块并且执行所述多个指令块中的当前指令块,所述当前指令块具有若干一个或多个退出点;以及控制逻辑电路,其被配置为将所述处理器的控制从所述当前指令块传送到由所述当前指令块的退出点中的一个退出点所确定的目标位置处的下一指令块。

【技术特征摘要】
【国外来华专利技术】2015.06.26 US 14/752,6601.一种包括基于块的指令集体系架构(ISA)处理器的装置,所述装置包括:存储器;一个或多个处理器核,其被配置为从所述存储器获取多个指令块并且执行所述多个指令块中的当前指令块,所述当前指令块具有若干一个或多个退出点;以及控制逻辑电路,其被配置为将所述处理器的控制从所述当前指令块传送到由所述当前指令块的退出点中的一个退出点所确定的目标位置处的下一指令块。2.根据权利要求1所述的装置,其中所述当前指令块包括比用于所述当前指令块的退出点数目少的至少一个控制流指令。3.根据权利要求1所述的装置,其中所述控制逻辑电路被配置为向所述目标位置处的所述下一指令块传送所述处理器的控制,其中所述目标位置未被所述当前指令块中的控制流指令编码。4.根据权利要求3所述的装置,其中所述控制逻辑电路被配置为确定所述目标位置在紧接着所述当前指令块之后的地址处。5.根据权利要求1所述的装置,其中所述控制逻辑电路被配置为至少部分地基于在用于所述当前指令块的指令头部中编码的退出类型信息,来确定所述下一指令块的所述目标位置。6.根据权利要求5所述的装置,还包括:核调度器,其被配置为映射所述指令块以供在所述处理器核中的相应处理器核上执行,所述核调度器被配置为至少部分地基于所述退出类型信息,来推测地执行至少一个控制流指令。7.根据权利要求1所述的装置,其中:所述当前指令块包括相较于用于所述当前指令块的退出点数目而言较少的至少一个控制流指令,所述较少的至少一个控制流指令包括以下至少一项或多项:分支、跳转、过程调用、或过程返回;所述较少的至少一个控制流指令中的每个控制流指令有条件地或无条件地基于用于所述控制流指令中的至少一个控制流指令的谓语;以及所述较少的至少一个控制流指令中的每个控制流指令指示作为相对地址或绝对地址的目标位置。8.根据权利要求1所述的装置,其中所述控制逻辑电路被配置为通过执行以下动作中的至少一个或多个来传送所述处理器的控制:将指示所述下一指令块的存储器位置的值存储在程序计数器寄存器中;发信号通知所述处理器核中的至少一个处理器核,以便从存储在程序计数器寄存器中的目标位置获取指令块;或者将目标位置地址写入存储器位置,并且发信号通知所述处理器核中的至少一个处理器核,以便从由所述存储器...

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

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

1