[发明专利]一种基于SIMD提高JVM性能的方法在审
| 申请号: | 202210912576.X | 申请日: | 2022-07-30 |
| 公开(公告)号: | CN115421849A | 公开(公告)日: | 2022-12-02 |
| 发明(设计)人: | 张国磊;王宏伟;李岩 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/38 |
| 代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张元;李红萧 |
| 地址: | 215000 江苏省苏州*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 simd 提高 jvm 性能 方法 | ||
1.一种基于SIMD提高JVM性能的方法,其特征在于,包括以下步骤:
S10、获取Java代码中的循环逻辑指令,处理编译后的循环逻辑指令,得到SIMD指令集;
S20、解析Java指令中的循环逻辑运算操作,得到汇编指令;
S30、将汇编指令通过SIMD指令集发送给CPU;
S40、获取CPU通过SIMD运算后返回的计算结果。
2.根据权利要求1所述的基于SIMD提高JVM性能的方法,其特征在于,步骤S10中,处理编译后的循环逻辑指令的方法,包括以下步骤:
S11、JVM逐条编译Java代码,产生与Java代码对应的编译结果,将所述编译结果发送给CPU,所述编译结果包括编译后的循环逻辑指令;
S12、基于编译后的循环逻辑指令修改JVM原有使用单指令集的处理逻辑,得到SIMD指令集。
3.根据权利要求1所述的基于SIMD提高JVM性能的方法,其特征在于,SIMD指令集为MMX指令集、SSE指令集、SE2指令集和SSE3指令集中的一种。
4.根据权利要求1所述的基于SIMD提高JVM性能的方法,其特征在于,在本发明实施例步骤S12中,基于编译后的循环逻辑指令修改JVM原有使用单指令集的处理逻辑的方法为,通过并行运算逻辑替换单指令集的处理逻辑。
5.根据权利要求4所述的基于SIMD提高JVM性能的方法,其特征在于,所述并行运算逻辑包括以下步骤:
S121、获取第一存储区域的第一操作数和第二存储区域的第二操作数;
S122、以相同的划分方式对第一操作数和第二操作数的字节数进行划分,得到至少两份数据,每份数据具有相应的位置;
S123、将第一操作数和第二操作数对应位置的数据进行运算,得到运算结果。
6.根据权利要求5所述的基于SIMD提高JVM性能的方法,其特征在于,步骤S122中,所述划分方式为:基于操作数的字节数N,将该操作数均分为n份数据,每份数据具有的字节数:
7.根据权利要求1所述的基于SIMD提高JVM性能的方法,其特征在于,所述循环逻辑指令包括循环加法运算、循环减法运算、循环乘法运算和循环除法运算。
8.根据权利要求1所述的基于SIMD提高JVM性能的方法,其特征在于,步骤S30中,CPU的SIMD指令集用于同时将所有的数据一次性装载到CPU中,只需要执行一次操作。
9.根据权利要求1所述的基于SIMD提高JVM性能的方法,其特征在于,步骤S40中,CPU通过SIMD运算的方法包括以下步骤:
S41、获取第一SIMD大小的整数A和第二SIMD大小的整数B;
S42、对第一SIMD大小的整数A和第二SIMD大小的整数B的相对应元素进行元素级SIMD进行逻辑运算,以生成SIMD大小的整数结果R和进位位;以及
响应于A的整数大小大于B的整数大小,鉴于不具有相对应的B的元素或多个元素的A的一个或多个元素,更新R和进位位。
10.根据权利要求9所述的基于SIMD提高JVM性能的方法,其特征在于,步骤S42中,第一SIMD大小的整数A和第二SIMD大小的整数B均具有整数大小。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210912576.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:光伏系统及光伏阵列的电子布局图获取方法
- 下一篇:一种拍照方法和终端





