当前位置: 首页 > 专利查询>康烁专利>正文

面向VLIW架构的动态二进制翻译方法和装置制造方法及图纸

技术编号:21033520 阅读:29 留言:0更新日期:2019-05-04 05:10
本发明专利技术公开了一种面向VLIW架构的动态二进制翻译方法和装置。该方法包括获取基本块;检查执行延迟槽队列中是否存在执行前一基本块后的延迟操作;若存在,则进入原始模式翻译基本块;若不存在,则进入快速模式翻译基本块,检查翻译延迟槽队列是否存在延迟至本周期的延迟操作;如果存在,则直接将延迟至本周期的延迟操作翻译成对应操作的本地代码,并从队列中移除延迟至本周期的延迟操作;翻译本周期指令,若本周期指令存在延迟操作,则将延迟操作写入翻译延迟槽队列;基本块翻译结束后,若仍然遗留有延迟操作,则将延迟操作搬运到执行延迟槽队列中;执行经快速模式和原始模式翻译好的本地代码。通过本发明专利技术,能够提升执行翻译程序的性能。

Dynamic Binary Translation Method and Device for VLIW Architecture

【技术实现步骤摘要】
面向VLIW架构的动态二进制翻译方法和装置
本专利技术涉及计算机
,具体而言,特别涉及面向VLIW架构的动态二进制翻译方法和装置。
技术介绍
动态二进制翻译是指在运行时刻把一种源处理器的二进制程序翻译为另外一种目标处理器上的机器语言的方法,以使被翻译的程序能够在目标处理器上可以执行。在二进制翻译方法中,将要执行的源处理器指令流以跳转指令为结尾构建成一个单入单出的基本块,并将该基本块翻译目标处理器上的本地代码进行执行。VLIW(VeryLongInstructionWord,超长指令字)是一种让多条指令安排在一条很长(128--1024位)的超长指令字中,并进入流水线执行的微处理器体系结构,由于VLIW体系结构微处理器单个操作具有确定的执行周期,程序的正确性由编译器调度实现;因此,对于VLIW处理器程序的二进制翻译,尤其是对多周期操作的翻译是一个难点。现有方法仍然使用RISC架构处理器的基本块构建方式,以跳转指令结尾,仅仅添加了一个用于存储每周期延迟操作的队列。在翻译每周期指令之前,生成回调函数的调用,在运行时刻检查并执行队列中的操作,而在翻译指令时,同样生成在运行时刻向队列中插本文档来自技高网...

【技术保护点】
1.一种面向VLIW架构的动态二进制翻译方法,其特征在于,包括:获取基本块,所述基本块包含多条待翻译指令;检查执行延迟槽队列中是否存在执行前一基本块后的延迟操作,其中,所述执行延迟槽队列用于存储并处理前一基本块翻译过程中产生的延迟操作;若所述执行延迟槽队列中不存在执行前一基本块后的延迟操作,则进入快速模式翻译所述基本块,检查翻译延迟槽队列是否存在延迟至本周期的延迟操作;如果存在,则直接将延迟至本周期的延迟操作翻译成对应操作的本地代码,并从队列中移除所述延迟至本周期的延迟操作;其中,翻译延迟槽队列用于翻译时检查队列,将之前周期的延迟操作翻译为本地代码;翻译本周期指令,若所述本周期指令存在延迟操作...

【技术特征摘要】
1.一种面向VLIW架构的动态二进制翻译方法,其特征在于,包括:获取基本块,所述基本块包含多条待翻译指令;检查执行延迟槽队列中是否存在执行前一基本块后的延迟操作,其中,所述执行延迟槽队列用于存储并处理前一基本块翻译过程中产生的延迟操作;若所述执行延迟槽队列中不存在执行前一基本块后的延迟操作,则进入快速模式翻译所述基本块,检查翻译延迟槽队列是否存在延迟至本周期的延迟操作;如果存在,则直接将延迟至本周期的延迟操作翻译成对应操作的本地代码,并从队列中移除所述延迟至本周期的延迟操作;其中,翻译延迟槽队列用于翻译时检查队列,将之前周期的延迟操作翻译为本地代码;翻译本周期指令,若所述本周期指令存在延迟操作,则将所述延迟操作写入翻译延迟槽队列;所述基本块翻译结束后,若仍然遗留有延迟操作,则将所述延迟操作搬运到所述执行延迟槽队列中;若所述执行延迟槽队列中存在执行前一基本块后的延迟操作,则进入原始模式翻译所述基本块;执行经所述快速模式和所述原始模式翻译好的本地代码。2.根据权利要求1所述的动态二进制翻译方法,其特征在于,所述原始模式包括:生成队列检查钩子函数,检查执行延迟槽列队中是否存在延迟至本周期的延迟操作,若存在,则执行对应延迟至本周期的延迟操作的函数,并从执行队列中移所述除延迟至本周期延迟操作;翻译本周期指令,若所述本周期指令存在延迟操作,则生成写队列钩子函数,将所述延迟操作写入到执行延迟槽队列中。3.根据权利要求1或2所述的动态二进制翻译方法,其特征在于,所述执行经所述快速模式和所述原始模式翻译好的本地代码包括:将翻译的基本块的翻译前的首地址以及翻译后的地址存入到不同模式哈希表中,并开始执行翻译好的本地代码,所述不同模式的哈希表包括用于所述快速模式的哈希表和用于原始模式的哈希表。4.根据权利要求3所述的动态二进制翻译方法,其特征在于,在执行经所述快速模式和所述原始模式翻译好的本地代码之后,所述方法还包括:查找对应所述不同模式哈希表中是否存在待执行指令地址对应的本地代码地址,若不存在,则翻译新的基本块。5.根据权利要求1所述的动态二进制翻译方法,其特征在于,获取基本块之前,该方法还包括:构建从当前待翻译指令开始,...

【专利技术属性】
技术研发人员:康烁
申请(专利权)人:康烁
类型:发明
国别省市:北京,11

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

1