乱序提交制造技术

技术编号:17959577 阅读:28 留言:0更新日期:2018-05-16 05:20
所公开的技术可以用于乱序执行并且提交基于块的处理器架构的指令块。在所公开的技术的一个示例中,一种装置可以包括多个基于块的处理器核,多个基于块的处理器核可以包括第一组核和第二组核。第一组核可以被配置为以顺序的程序次序提交指令块集合中的指令块。第二组核可以被配置为相对于顺序的程序次序而乱序提交指令块集合中的指令块。

Disorderly submission

The disclosed technology can be used for random execution and to submit block blocks for block based processor architectures. In one example of the open technology, one device may include a plurality of block based processor cores, and a plurality of block based processor cores may include a first group of cores and second sets of cores. The first set of cores can be configured to submit the instruction blocks in the instruction block set in sequential order. The second set of cores can be configured to submit the instruction blocks in the instruction block set in a random order relative to the sequential program sequence.

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

【技术保护点】
一种用于执行并且提交具有顺序的程序次序的指令块集合的装置,所述装置包括:多个基于块的处理器核,其包括:第一组两个或更多核,其被配置为以顺序的程序次序提交所述指令块集合中的指令块;以及第二组一个或多个核,其被配置为相对于所述顺序的程序次序而乱序提交所述指令块集合中的指令块。

【技术特征摘要】
【国外来华专利技术】2015.09.19 US 62/221,003;2015.11.16 US 14/942,4611.一种用于执行并且提交具有顺序的程序次序的指令块集合的装置,所述装置包括:多个基于块的处理器核,其包括:第一组两个或更多核,其被配置为以顺序的程序次序提交所述指令块集合中的指令块;以及第二组一个或多个核,其被配置为相对于所述顺序的程序次序而乱序提交所述指令块集合中的指令块。2.根据权利要求1所述的装置,其中所述多个基于块的处理器核中的相应核可配置为相对于所述顺序的程序次序而按序提交给定指令块,或者相对于所述顺序的程序次序而乱序提交所述给定指令块。3.根据权利要求1或2中的任一项所述的装置,其中所述多个基于块的处理器核中的相应核可配置为部分地基于给定指令块的头部中的信息来乱序提交所述指令块。4.根据权利要求1-3中的任一项所述的装置,其中所述多个基于块的处理器核中的相应核可配置为部分地通过在所述多个基于块的处理器核中的不同核上执行不同的指令块来乱序提交所述指令块。5.根据权利要求1-4中的任一项所述的装置,其中所述多个基于块的处理器核中的相应核被配置为在刷新模式中执行驻留的指令块,在所述刷新模式中,所述驻留的指令块的执行和提交在未重新取指并且重新译码所述驻留的指令块的情况下被重复。6.根据权利要求5所述的装置,其中所述多个基于块的处理器核中的相应核包括用于指示重复执行所述驻留的指令块的次数的计数器。7.根据权利要求6所述的装置,其中所述多个基于块的处理器核中的相应核在所述计数器为非零时乱序提交所述驻留的指令块,并且所述相应核被重新配置为响应于所述计数器转变到零而按序提交指令块。8.根据权利要求6所述的装置,其中所述多个基于块的处理器核中的相应核在所述计数器为零并且所述相应核空闲时向所述基于块的处理器核中的其他核提供通知。9.一...

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

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

1