具有软件流水线的VLIW代码的动态二进制翻译

《IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems》:Dynamic Binary Translation of VLIW Code With Software Pipeline

【字体: 时间:2026年03月24日 来源:IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 2.9

编辑推荐:

  动态二进制翻译(DBT)在VLIW架构中面临显式指令级并行和操作延迟挑战,尤其对分支及内存指令处理不足。本文提出三种策略:约束翻译块(TB)长度应对分支指令,延迟存储指令处理解决依赖问题,创新软件流水线循环翻译方法(迭代序列化、状态TB生成、内外循环同步),实验表明性能提升3.25-7倍。

  

摘要:

动态二进制翻译(DBT)是指令集模拟的关键技术,但在处理显式的指令级并行性(ILP)以及非常长指令字(VLIW)架构中固有的操作延迟时面临重大挑战。现有方法在处理非算术操作(尤其是分支和内存访问指令)方面能力有限。当翻译包含特定于架构的指令的软件流水线循环时,复杂性会进一步增加,这主要是由于两个固有特性:1)循环体内指令的重排序、重叠和屏蔽;2)缺乏显式的条件分支和循环计数器操作指令。本文提出了三种针对VLIW代码翻译的原创策略。首先,一种策略通过限制翻译块(TB)的长度来解决分支指令的问题;其次,另一种方法通过策略性地延迟存储指令的处理来管理存储-加载依赖关系;第三,一种新的软件流水线循环翻译方法通过序列化并行迭代、生成特定于状态的TB以及同步内部和外部循环的翻译来确保正确的执行语义。我们在VEMU中实现了这些技术,并将其与dsplib和Polybench基准测试进行了对比评估。VEMU成功翻译了所有基准测试程序。我们的第一种策略没有降低性能,第二种策略仅带来了0.2%的时间开销。对比分析显示,在相同的基准测试中,与德州仪器模拟器相比,我们的方法加速比达到了3.25×7×,验证了所提出技术的有效性。

引言

动态二进制翻译(DBT)[1]、[2]、[3]是指令集架构(ISA)模拟的关键方法,它通过将客户机指令转换为称为翻译块(TB)的单位中的宿主等效代码来实现跨架构程序执行。TB通常指的是以分支指令结束的目标代码块。由于TB缓存和重用机制,这种方法的性能优于解释型模拟[4],但其应用于非常长指令字(VLIW)架构时会引入独特的复杂性。

相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号