[发明专利]用于指令调度的方法和系统有效
申请号: | 201480042512.2 | 申请日: | 2014-09-04 |
公开(公告)号: | CN105408859B | 公开(公告)日: | 2019-01-01 |
发明(设计)人: | 齐歆瑜;简宁胜;黄海涛;高丽萍 | 申请(专利权)人: | 马维尔国际贸易有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 酆迅 |
地址: | 巴巴多斯*** | 国省代码: | 巴巴多斯;BB |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 指令 调度 方法 系统 | ||
本公开内容的方面提供了用于指令调度的方法。该方法包括:接收指令的序列,标识指令的基于冗余标志寄存器的依赖性,以及在不受基于冗余标志寄存器的依赖性的限制的情况下,对指令进行重新排序。
本公开内容要求2013年9月12日提交的美国临时申请第61/876,914号“Methodand System of Mark Friendly Instruction Scheduling for Virtual Machine”的权益,其全部内容通过引用合并于此。
背景技术
本文所提供的背景技术描述出于一般性地呈现本公开内容的上下文的目的。至于在本背景技术部分中所描述的工作以及在提交时可能无法被视为现有技术的描述方面,当前署名的发明人的工作既未明确也未隐含地被认可作为相对于本公开内容的现有技术。
通常,诸如Dalvik等的Java虚拟机将频繁使用的Java字节代码编译成本机代码以改善运行时间性能。在示例中,Java虚拟机包括即时编译器,该即时编译器用Java字节代码逐一编译指令,而不需要改变指令的顺序。
发明内容
本公开内容的方面提供一种用于指令调度的方法。该方法包括:接收指令的序列,标识指令的基于冗余标志寄存器的依赖性,以及在不受基于冗余标志寄存器的依赖性的限制的情况下,对指令进行重新排序。
为了标识基于冗余标志寄存器的依赖性,在实施例中,该方法包括基于针对标志寄存器访问的预先确定的模式来标识基于冗余标志寄存器的依赖性。在示例中,该方法包括标识标志寄存器的两个或更多个连续的读取标志寄存器访问。在另一示例中,该方法包括标识三个或更多个连续的写入标志寄存器访问。
在实施例中,改方法包括:接收指令的序列以用于编译;以及输出已经被重新排序的已编译代码。在另一实施例中,该方法包括:接收指令的序列以用于执行;以及根据重新排序的指令来控制该执行。
在实施例中,为了在不受所述基于冗余标志寄存器的依赖性的限制的情况下对指令进行重新排序,该方法包括:构造具有顶点和顶点之间的边的有向图。顶点对应于指令,并且边被延迟标记并且对应于数据依赖性和非冗余标志依赖性。然后,该方法包括根据关键的延迟取向模型对有向图进行拓扑分类以减小执行延迟。
本公开内容的方面提供一种非瞬态计算机可读介质,其存储用于引起处理器执行用于指令调度的操作的程序指令。操作包括:接收指令的序列;标识指令的基于冗余标志寄存器的依赖性;以及在不受基于冗余标志寄存器的依赖性的限制的情况下,对指令进行重新排序。
本公开内容的方面提供一种包括处理器和存储器的装置。处理器被配置为执行指令。存储器被配置为存储用于引起处理器执行以下操作的指令:接收指令的序列;标识序列中的指令的基于冗余标志寄存器的依赖性;以及在不受基于冗余标志寄存器的依赖性关系的限制的情况下,对指令进行重新排序。
附图说明
参考附图详细描述了被提供作为示例的本公开内容的各种实施例,其中相似的参考标记指代相似的元素,并且其中:
图1示出了根据本公开内容的实施例的系统示例100的框图;
图2示出了给出根据本公开内容的实施例的过程示例200的流程图;
图3示出了根据本公开内容的实施例的用于标识冗余标志寄存器依赖性的伪代码的示例;
图4示出Java字节代码460的示例;以及
图5-7示出根据本公开内容的实施例的对应于Java字节代码460的本机代码580、680和780的示例。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于马维尔国际贸易有限公司,未经马维尔国际贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480042512.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:RFID标签、以及RFID系统
- 下一篇:一种投影机图像白平衡补偿方法及系统