[发明专利]数据处理方法、装置、设备、可读存储介质及程序产品在审
| 申请号: | 202210983061.9 | 申请日: | 2022-08-16 |
| 公开(公告)号: | CN115408010A | 公开(公告)日: | 2022-11-29 |
| 发明(设计)人: | 王一;戴卫斌;龚力;周宇虹 | 申请(专利权)人: | 北京奕斯伟计算技术股份有限公司 |
| 主分类号: | G06F8/52 | 分类号: | G06F8/52 |
| 代理公司: | 北京市立方律师事务所 11330 | 代理人: | 张筱宁 |
| 地址: | 100176 北京市北京经济技*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据处理 方法 装置 设备 可读 存储 介质 程序 产品 | ||
本申请实施例提供了一种数据处理方法、装置、设备、可读存储介质及程序产品,该方法包括:获取待翻译数据块的起始地址;基于待翻译数据块的起始地址,确定目标数据块的起始地址,目标数据块为待翻译数据块通过翻译得到的数据块;若基于目标数据块的起始地址,确定预设专用内存中没有存储目标数据块,则将待翻译数据块翻译成目标数据块;将目标数据块存储在预设专用内存中,并在预设专用内存中执行目标数据块;如此,基于预设专用内存,进行动态二进制翻译,提升了动态二进制翻译中目标数据块的缓存命中率。
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种数据处理方法、装置、设备、可读存储介质及程序产品。
背景技术
二进制翻译(Binary Translation)是一种翻译二进制程序的技术,二进制翻译能够将一种处理器上运行的二进制程序翻译到另一种处理器上执行。二进制翻译可分为动态二进制翻译和静态二进制翻译;动态二进制翻译是程序一边翻译一边运行,即从源程序到目标程序的翻译过程伴随着目标程序的运行过程;静态二进制翻译是目标程序在运行之前就完成大部分翻译,可以直接加载和执行目标程序中已翻译完成的二进制程序。处理器一般带有高速缓存Cache,在Cache中的指令和数据能获得较高的访问速度。动态二进制翻译中目标程序中的目标代码块虽然存储在Cache中,但是目标代码块的缓存命中率较低,出现了执行开销额外增加。
发明内容
本申请针对现有的方式的缺点,提出一种数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品,用于解决如何提升目标代码块的缓存命中率的问题。
第一方面,本申请提供了一种数据处理方法,包括:
获取待翻译数据块的起始地址;
基于待翻译数据块的起始地址,确定目标数据块的起始地址,目标数据块为待翻译数据块通过翻译得到的数据块;
若基于目标数据块的起始地址,确定预设专用内存中没有存储目标数据块,则将待翻译数据块翻译成目标数据块;
将目标数据块存储在预设专用内存中,并在预设专用内存中执行目标数据块。
在一个实施例中,基于目标数据块的起始地址,若确定预设专用内存中已存储目标数据块,则在预设专用内存中执行目标数据块。
在一个实施例中,基于待翻译数据块的起始地址,确定目标数据块的起始地址,包括:
基于待翻译数据块的起始地址,通过控制流图方式,确定目标数据块的起始地址。
在一个实施例中,若基于目标数据块的起始地址,确定预设专用内存中没有存储目标数据块,则将待翻译数据块翻译成目标数据块,包括:
若目标数据块的起始地址与预设关系表中所有程序地址空间的地址都不相同,则确定预设专用内存中没有存储目标数据块,并将待翻译数据块翻译成目标数据块;预设关系表包括预设专用内存中程序地址空间的地址。
在一个实施例中,将目标数据块存储在预设专用内存中,包括:
确定目标数据块的程序地址空间的地址;
基于目标数据块的程序地址空间的地址,通过预设替换算法,将目标数据块存储在预设专用内存中。
在一个实施例中,在预设专用内存中执行目标数据块,包括:
恢复目标数据块对应的目标程序的上下文;
基于上下文,在预设专用内存中执行目标数据块;目标程序包括目标数据块。
第二方面,本申请提供了一种数据处理装置,包括:
预设专用内存,用于存储目标数据块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奕斯伟计算技术股份有限公司,未经北京奕斯伟计算技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210983061.9/2.html,转载请声明来源钻瓜专利网。





