存储器访问指令顺序编码的生成和使用制造技术

技术编号:35753780 阅读:29 留言:0更新日期:2022-11-26 19:00
公开了用于使用硬件结构来控制存储器访问指令在基于块的处理器架构中的执行的装置和方法,该硬件结构指示指令块中的存储器访问指令的相对排序。在所公开的技术的一个示例中,一种执行具有多个存储器加载和/或存储器存储指令的指令块的方法包括选择下一存储器加载或者存储器存储指令,以基于被编码在块内的依赖性和对存储数据的存储向量执行,该数据指示指令块中的哪些存储器加载和存储器存储指令已经执行。可以使用存储掩码来对存储向量进行掩码。可以在对指令块译码时生成或者从指令块头部复制存储掩码。基于编码的依赖性和经掩码的存储向量,下一指令可以在它的依赖性可用时发出。用时发出。用时发出。

【技术实现步骤摘要】
存储器访问指令顺序编码的生成和使用
[0001]本申请是申请日为2016年9月13日、申请号为201680054500.0、专利技术名称为“存储器访问指令顺序编码的生成和使用”的中国专利技术专利申请的分案申请。


[0002]由于摩尔定律所预测的持续的晶体管扩展,微处理器已经从晶体管数的持续增加、集成电路成本、制造资本、时钟频率、以及能量效率中收益,而相关的处理器指令集架构(ISA)却很小变化。然而,从在过去40年里驱动半导体工业的光刻扩展实现的益处正在放缓或者甚至反转。精简指令集计算(RISC)架构已经成为处理器设计中的主导典范很多年。乱序超标量实现尚未在面积或性能方面展现出持续改进。因此,存在对于扩展性能改进的处理器ISA改进的足够机会。

技术实现思路

[0003]公开了用于配置、操作和编译用于基于块的处理器架构(BB

ISA)(包括显式数据图形执行(EDGE)架构)的代码的方法、装置和计算机可读存储设备。可以分离地或者在相互的各种组合中实施用于例如提高处理器性能和/或减少能量消耗的解决方案的所描述的技术和工具。如以下将被更完全描述的那样,可以在数字信号处理器、微处理器、专用集成电路(ASIC)、软处理器(例如,使用可重新配置逻辑在现场可编程门阵列(FPGA)中被实施的多处理器核)、可编程逻辑或者其它适当逻辑电路中实施所描述的技术和工具。如本领域普通技术人员将容易地清楚的那样,可以在各种计算平台(包括但不限于服务器、大型机、蜂窝电话、智能电话、PDA、手持设备、手持计算机、PDA、触屏平板设备、平板计算机、可穿戴计算机和膝上型计算机)中实施所公开的技术。
[0004]在所公开的技术的一个示例中,基于块的处理器被配置为基于存储数据的硬件结构来控制存储器访问指令(例如,存储器加载和存储器存储指令)的顺序,该数据指示存储器访问指令的相对排序。在一些示例中,在对指令块译码时生成或者从指令块头部直接地读取并且在硬件结构中存储存储掩码。在一些示例中,存储器访问指令利用指示它们的相对排序的标识符而被编码。在一些示例中,编译器或者解译器将源代码和/或目标代码变换成用于基于块的处理器的可执行代码、包括利用排序标识符和/或存储掩码信息而被编码的存储器访问指令。
[0005]提供本
技术实现思路
以引入以在具体实施方式中下面进一步描述的简化形式的概念的选择。本
技术实现思路
不旨在标识要求保护的主题的关键特征或基本特征,其也不旨在用于限制要求保护的主题的范围。所公开的主题的前述和其他目标、特征以及优点将从参考附图进行的以下具体实施方式变得更加明显。
附图说明
[0006]图1图示了如可以在所公开的技术的一些示例中使用的基于块的处理器核。
[0007]图2图示了如可以在所公开的技术的一些示例中使用的基于块的处理器核。
[0008]图3图示了根据所公开的技术的某些示例的多个指令块。
[0009]图4图示了如可以在所公开的技术的一些示例中使用的指令块和源代码的部分。
[0010]图5图示了如可以在所公开的技术的一些示例中使用的基于块的处理器头部和指令。
[0011]图6是图示了在指令块被映射、执行和退休时向它指派的多个状态的状态图。
[0012]图7图示了如可以在所公开的技术的一些示例中使用的多个指令块和处理器核。
[0013]图8是概述了如可以所在公开的技术的某些示例中执行的、比较加载存储标识符与存储向量的示例方法的流程图。
[0014]图9图示了如可以在所公开的技术的某些示例中使用的示例源和汇编代码。
[0015]图10图示了如可以在所公开的技术的某些示例中使用的示例控制流图和加载存储标识符。
[0016]图11A和图11B图示了如可以在所公开的技术的某些示例中使用的生成经掩码的存储向量的示例。
[0017]图12是概述了如可以在所公开的技术的某些示例中执行的、比较加载存储标识符与计数器的另一示例方法的流程图。
[0018]图13是包括如可以在所公开的技术的某些示例中使用的多个存储器访问指令和加载存储标识符的控制流图。
[0019]图14是概述了如可以在所公开的技术的某些示例中执行的、将源代码和/或目标代码变换成基于块的处理器可执行代码的示例方法的流程图,该基于块的处理器可执行代码包括存储器访问指令的相对排序的指示。
[0020]图15是图示用于实现所公开的技术的一些实施例的适合的计算环境的块图。
具体实施方式
[0021]I.总体考虑
[0022]在未旨在以任何方式进行限制的代表性实施例的上下文中阐述了本公开内容。
[0023]如在本申请中所使用的,除非上下文清楚地指明,否则单数形式“一”、“一种”和“该”包括复数形式。此外,术语“包括”意味着“包含”。而且,术语“耦合的”涵盖机械的、电的、磁性的、光学的以及将多个项耦合或链接在一起的其他实际方式,并且不排除耦合项之间的中间元件的存在。另外,如在此所使用的,术语“和/或”意味着短语中的任何一项或多项的组合。
[0024]在此所描述的系统、方法和装置不应当以任何方式被解释为限制性的。相反,本公开涉及彼此单独并且以各种组合和子组合的各种所公开的实施例的所有新颖和非显而易见的特征和方面。所公开的系统、方法和装置既不限于任何特定方面或者特征或者其组合,所公开的内容和方法也不要求任何一个或多个特定优点存在或者问题被解决。此外,所公开的实施例的任何特征或者方面可以彼此以各种组合和子组合被使用。
[0025]虽然为了方便呈现而以特定顺序的次序描述所公开的方法中的一些方法的操作,但是应当理解,除非特定排序由下面阐述的特定语言所要求,否则说明书的这种方式涵盖重新布置。例如,顺序地描述的操作可以在一些情况下重新布置或者并行地执行。此外,出于简单的缘故,附图可能未示出所公开的内容和方法可以结合其他内容和方法使用的各种
方式。此外,说明书有时使用类似“产生”、“生成”、“显示”、“接收”、“发射”、“验证”、“执行”和“发起”的术语来描述所公开的方法。这些术语是所执行的实际操作的高层描述。对应于这些术语的实际操作将取决于特定实现而变化并且是由本领域的普通技术人员容易地可辨别的。
[0026]参考本公开的装置或者方法在此所呈现的操作理论、科学原理或者其他理论描述已经出于更好的理解的目的而被提供,并且不旨在范围方面是限制性的。所附的权利要求中的装置和方法不限于以由这样的操作理论所描述的方式实现的那些装置和方法。
[0027]所公开的方法中的任一方法可以被实现为被存储在一个或多个计算机可读介质(例如,计算机可读介质(诸如一个或多个光学介质光盘、易失性存储器部件(诸如DRAM或SRAM))或非易失性存储器部件(诸如硬盘驱动器))上并且被执行在计算机(例如,任何商业可获得的计算机,包括智能电话或者包括计算硬件的其他移动设备)上的计算机可执行指令。用于实现所公开的技术的计算机可执行指令中的任一指令以及在所公开的实施例的实现期间创建和使用的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种装置,包括存储器和至少一个处理器核,所述至少一个处理器核包括:执行单元,被配置为执行存储器访问指令,所述存储器访问指令包括存储器加载指令、存储器存储指令、或存储器加载指令和存储器存储指令,所述存储器访问指令被包含在指令块中,所述存储器访问指令中的每个存储器访问指令与多个加载/存储标识符中的相应一个相关联;以及控制单元,包括:加载/存储计数器,在执行所述多个存储器加载和/或存储器存储指令中的一个存储器加载和/或存储器存储指令时,所述加载/存储计数器被更新,所述加载/存储计数器指示由所述执行单元已执行的所述多个存储器加载和/或存储器存储指令的数目,所述控制单元被配置为通过将与所述存储器访问指令相关联的所述加载/存储标识符中的一个加载/存储标识符与存储在所述加载/存储计数器中的值相比较来按照执行排序控制所述存储器访问指令向所述执行单元的发出,以确定是否适合发出所述多个存储器加载和/或存储器存储指令中的附加一个存储器加载和/或存储器存储指令。2.根据权利要求1所述的装置,其中所述比较使用存储在硬件结构中的、从执行包括所述多个存储器加载和/或存储器存储指令的所述指令块的先前实例生成的数据。3.根据权利要求1所述的装置,其中当所述加载/存储计数器达到用于被编码在所述指令块中的存储器访问指令的数目的预定值时,所述控制单元指示所述指令块已经完成。4.根据权利要求1所述的装置,其中所述加载/存储标识符是基于针对所述指令块中的所述存储器访问指令中的每个存储器访问指令编码的相应加载/存储标识符。5.一种操作处理器以执行多个存储器加载和存储器存储指令的方法,所述方法包括:将存储在存储向量寄存器中的数据与所述多个存储器加载和存储器存储指令的存储掩码相比较,所述存储掩码指示多个加载/存储标识符中的哪个加载/存储标识符指定所述多个存储器加载和存储器存储指令的相对执行排序;基于与所述存储器指令相关联的相应加载/存储标识符和对所述数据的所述比较,选择所述多个存储器加载和存储器存储指令中的存储器指令以执行;以及执行所选择的所述存储器指令。6.根据权利要求5所述的方法,还包括:其中所选择的、已执行的所述存储器指令是存储器存储指令,已执行的所述存储器存储指令被编码有标识符,所述...

【专利技术属性】
技术研发人员:D
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:

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

1