基于区域粒度的动态二进制翻译优化方法及系统技术方案

技术编号:46476856 阅读:3 留言:0更新日期:2025-09-23 22:35
本发明专利技术提供基于区域粒度的动态二进制翻译优化方法及系统,方法包括:S1、程序入口初始化;S2、指令获取与解析;S3、缓存查询;S4、热点判定;S5、解释执行;S6、编译请求发起;S7、编译方式选择;S8、代码块编译与缓存;S9、跳转至本地代码执行;S10、返回主循环。本发明专利技术解决了优化空间受限、上下文切换开销高以及代码膨胀率高的技术问题。

【技术实现步骤摘要】

本专利技术涉及二进制翻译领域,具体涉及基于区域粒度的动态二进制翻译优化方法及系统


技术介绍

1、现有的商业动态二进制翻译软件存在的问题细节描述:目前的商业动态二进制翻译软件会将需要翻译的二进制代码采用基本块的划分方式进行划分,随着程序的执行流将执行到的块即时进行编译,如果遇到先前没有编译过的块会先进行编译操作,如果在缓存中发现该块之前编译过会复用以前的编译结果。目前主流的动态二进制翻译系统(如qemu)采用基本块作为编译单元,这是一种一遇到跳转指令就将二进制代码进行截断分块的方式,这种方式实现简单,但是存在如下的问题:

2、优化空间受限:采用基本块的划分方式,每个块包含的指令数量少,后续将块采用编译器进一步翻译成目标结构的二进制指令时的优化能力受限,无法进行全局优化(如循环展开、寄存器分配等)。

3、上下文切换开销高:在采用编译执行的方式加速程序执行时需要在主进程和编译后代码块执行进程之间切换。采用基本块的方式划分出来的编译单元包含每个块包含的指令少,上下文切换的开销次数多,频繁的块间跳转需保存和恢复寄存器状态(prologue/本文档来自技高网...

【技术保护点】

1.基于区域粒度的动态二进制翻译优化方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于区域粒度的动态二进制翻译优化方法,其特征在于,所述S3中,所述代码块已被编译过时,判定命中缓存,则直接跳转至所述S9,复用已生成的目标代码执行;

3.根据权利要求1所述的基于区域粒度的动态二进制翻译优化方法,其特征在于,所述S4中,在若未满足所述热度阈值条件,则执行所述S5中的解释执行操作;

4.根据权利要求1所述的基于区域粒度的动态二进制翻译优化方法,其特征在于,所述S5中,更新热度统计信息,推进程序计数器,进入下一轮取址循环。>

5.根据权利...

【技术特征摘要】

1.基于区域粒度的动态二进制翻译优化方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于区域粒度的动态二进制翻译优化方法,其特征在于,所述s3中,所述代码块已被编译过时,判定命中缓存,则直接跳转至所述s9,复用已生成的目标代码执行;

3.根据权利要求1所述的基于区域粒度的动态二进制翻译优化方法,其特征在于,所述s4中,在若未满足所述热度阈值条件,则执行所述s5中的解释执行操作;

4.根据权利要求1所述的基于区域粒度的动态二进制翻译优化方法,其特征在于,所述s5中,更新热度统计信息,推进程序计数器,进入下一轮取址循环。

5.根据权利要求1所述的基于区域粒度的动态二进制翻译优化方法,其特征在于,所述s6中,初始化执行环境;

6.根据权利要求5所述的基于区域粒度的动态二进制翻译优化方法,其特征在于,所述获取起始地...

【专利技术属性】
技术研发人员:浦鑫辉陈圣贾刚勇甘文韬饶欢乐喻东翔
申请(专利权)人:江淮前沿技术协同创新中心
类型:发明
国别省市:

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

1