发明名称 |
针对SSE2指令的二进制浮点翻译方法 |
摘要 |
一种动态二进制翻译技术领域的针对SSE2指令的二进制浮点翻译方法,包括以下步骤:构建针对SSE2指令的中间浮点指令集;将前端源机器浮点指令翻译为中间浮点指令,并将位于前端浮点寄存器中的指令操作数映射到由内存虚拟的虚拟寄存器中;根据中间浮点指令的操作码和操作类型,得到每条中间浮点指令的操作数个数和操作数类型,将虚拟寄存器中的操作数通过寄存器映射函数映射到后端浮点寄存器中;根据中间浮点指令的操作码及操作数,将后端浮点寄存器中的中间浮点指令翻译成x86体系的SSE2指令,存放在Tcache中。本发明减少了前后端浮点体系的耦合性,实现了目标端寄存器的分配替换,减少了访存开销,适用于多源单目标平台的三相动态二进制翻译系统。 |
申请公布号 |
CN101739238A |
申请公布日期 |
2010.06.16 |
申请号 |
CN201010300269.3 |
申请日期 |
2010.01.14 |
申请人 |
上海交通大学 |
发明人 |
管海兵;梁阿磊;汪啸;蔡战举;刘博 |
分类号 |
G06F9/302(2006.01)I;G06F9/318(2006.01)I;G06F9/38(2006.01)I;G06F9/45(2006.01)I |
主分类号 |
G06F9/302(2006.01)I |
代理机构 |
上海交达专利事务所 31201 |
代理人 |
王锡麟;王桂忠 |
主权项 |
一种针对SSE2指令的二进制浮点翻译方法,其特征在于,包括如下步骤:第一步,构建针对SSE2指令的中间浮点指令集;第二步,以基本块为单位,将前端源机器浮点指令翻译为中间浮点指令,并通过寄存器状态映射指令,将位于前端浮点寄存器中的指令操作数映射到由内存虚拟的虚拟寄存器中;第三步,根据中间浮点指令的操作码和操作类型,得到每条中间浮点指令的操作数个数和操作数类型,将虚拟寄存器中的所有操作数通过寄存器映射函数映射到后端浮点寄存器中;第四步,根据中间浮点指令的操作码及操作数,将后端浮点寄存器中的中间浮点指令翻译成x86体系的SSE2指令,该SSE2指令与整形操作指令组成若干基本块存放在Tcache中。 |
地址 |
200240 上海市闵行区东川路800号 |