-
公开(公告)号:CN100345117C
公开(公告)日:2007-10-24
申请号:CN200410074532.6
申请日:2004-09-07
Applicant: 中国科学院计算技术研究所
IPC: G06F9/45
Abstract: 本发明公开了一种二进制翻译中对X86中浮点运算的处理方法,包括以下步骤:在运行时环境中设置一个浮点栈,用于仿真X86中的物理浮点栈;通过浮点寄存器映射的处理和归一方法依次对源二进制程序中的每个基本块进行处理。本发明通过用目标机器的寄存器来映射X86的源寄存器,保证了X86的浮点运算在目标机器上也是由寄存器来实现,确保运算的效率;采用归一的方法,确保每个基本块的入口满足每次top的值相同的假设,从本质上来讲,将Intel的运行过程中对投机假设的判别,用归一的方法进行了保证。本发明使得基本块不需要每次都去判别是否投机假设成立,省去了这一部分开销,提高了系统翻译效率,从而提高了系统性能。
-
公开(公告)号:CN1332308C
公开(公告)日:2007-08-15
申请号:CN200410069182.4
申请日:2004-09-10
Applicant: 中国科学院计算技术研究所
IPC: G06F9/45
Abstract: 本发明涉及一种动态二进制翻译中的翻译方法,包括以下步骤:统计寻找翻译代码中频繁出现并影响翻译质量的翻译代码片断;找出上述代码片断中的指令模式;确定指令模式的翻译对应关系;扫描待翻译的基本块,寻找所述指令模式,找到,匹配成功,给所述指令模式做标记,否则,匹配未成功,结束扫描;翻译基本块,翻译时遇到标记的指令时,按照所述指令模式的翻译对应关系翻译,否则,按照常规翻译。本发明通过指令模式匹配来翻译基本块,降低代码重复优化导致的系统开销,提高翻译质量和效果,从而提高了动态二进制翻译的性能。
-
公开(公告)号:CN1306401C
公开(公告)日:2007-03-21
申请号:CN200410029453.3
申请日:2004-03-19
Applicant: 中国科学院计算技术研究所
IPC: G06F9/45
Abstract: 本发明涉及一种支持有向有环图的微调度方法,在运用重排(Reorder)技术和协调(Negotiate)技术编排模调度认为能在同一cycle中发射的指令集合的时候,除了考虑指令间的依赖关系以外,还要同时考虑指令间弧上的延迟值和指令所在的级数,实现对“回边”的支持;避免软件流水模调度中出现的分拆问题(Split issue),减小了出现指令cache访问不命中(I-Cache miss)的可能性,提高了并行编译效率,从而进一步提高了编译优化性能。
-
公开(公告)号:CN1892602A
公开(公告)日:2007-01-10
申请号:CN200510080339.8
申请日:2005-07-01
Applicant: 中国科学院计算技术研究所
IPC: G06F9/45
Abstract: 本发明公开了一种二进制翻译中库函数调用的处理方法,尽可能地对源X86二进制程序中的库函数调用进行识别和提升;对于可包装库函数,用目标机本地的约定进行传参和返回值处理,这样省去了对X86参数压栈和从堆栈中取返回值的模拟,避免了频繁的内存操作,使用本地的库函数,也不会因为翻译PLT、fixup函数、库函数的源二进制代码造成代码膨胀导致的性能损失,提高了程序执行的效率;对于PLT短路库函数,虽然继续维护X86模拟堆栈,但是控制流不进入PLT和动态链接器的fixup函数,即不翻译PLT和动态链接器的fixup函数的源二进制代码,避免了因为翻译PLT、fixup函数造成代码膨胀导致的性能损失,控制流直接进入库函数的本地码,也能够较好地提高程序执行的效率。
-
公开(公告)号:CN1877530A
公开(公告)日:2006-12-13
申请号:CN200510076605.X
申请日:2005-06-10
Applicant: 中国科学院计算技术研究所
IPC: G06F9/45
Abstract: 本发明公开了一种针对受限制的索引寻址模式的偏移量分配优化方法。本发明在对访问图进行划分的时候,考虑了多个顶点与当前子图内所有顶点构成的边上的权重之和相等的情况下,若当前组中节点的数量小于可允许最大数量的一半,则优先选取与当前子图外所有顶点构成的边上的权重之和值最大的节点,有助于减少不同子图间的顶点构成的边的权重;而对于每个组最后一个节点,选择与组内部的所有节点的总权重减去节点x与组外部的所有未分配节点的总权重的差值是所有未分配节点中最大的节点;对前述差值相等的多个节点,选择与当前组内所有节点构成的边上的权重之和最大的节点。
-
公开(公告)号:CN1285034C
公开(公告)日:2006-11-15
申请号:CN200410005453.X
申请日:2004-02-19
Applicant: 中国科学院计算技术研究所
IPC: G06F9/45
Abstract: 本发明涉及编译器开发和移植技术领域的一种面向编译器移植和优化的耦合寄存器的方法,包括步骤:S1,TV数据结构的扩展;S2,设置和完善访问TV的必要接口;S3,判断是否满足分层结构的限制要求,S4,实现分层结构所需要的算法。针对具有耦合寄存器特性的芯片的编译器移植和优化中,如何在编译器中准确高效描述耦合寄存器信息,同时为指令调和寄存器分配提供支持,是影响编译器性能和可移植性的重要因素之一。本方法基于编译器的中间表达式,可充分,完整地描述寄存器的各种信息,控制实现的开销,同时为编译器的后端优化和寄存器提供支持。本方法可以便捷地开关或扩展耦合寄存器信息,以维护编译器的健壮性和可移植性。
-
公开(公告)号:CN1746850A
公开(公告)日:2006-03-15
申请号:CN200410074532.6
申请日:2004-09-07
Applicant: 中国科学院计算技术研究所
IPC: G06F9/45
Abstract: 本发明公开了一种二进制翻译中对X86中浮点运算的处理方法,包括以下步骤:在运行时环境中设置一个浮点栈,用于仿真X86中的物理浮点栈;通过浮点寄存器映射的处理和归一方法依次对源二进制程序中的每个基本块进行处理。本发明通过用目标机器的寄存器来映射X86的源寄存器,保证了X86的浮点运算在目标机器上也是由寄存器来实现,确保运算的效率;采用归一的方法,确保每个基本块的入口满足每次top的值相同的假设,从本质上来讲,将Intel的运行过程中对投机假设的判别,用归一的方法进行了保证。本发明使得基本块不需要每次都去判别是否投机假设成立,省去了这一部分开销,提高了系统翻译效率,从而提高了系统性能。
-
公开(公告)号:CN1670699A
公开(公告)日:2005-09-21
申请号:CN200410029453.3
申请日:2004-03-19
Applicant: 中国科学院计算技术研究所
IPC: G06F9/45
Abstract: 本发明涉及一种支持有向有环图的微调度方法,在运用重排(Reorder)技术和协调(Negotiate)技术编排模调度认为能在同一cycle中发射的指令集合的时候,除了考虑指令间的依赖关系以外,还要同时考虑指令间弧上的延迟值和指令所在的级数,实现对“回边”的支持;避免软件流水模调度中出现的分拆问题(Split issue),减小了出现指令cache访问不命中(I-Cache miss)的可能性,提高了并行编译效率,从而进一步提高了编译优化性能。
-
公开(公告)号:CN1529244A
公开(公告)日:2004-09-15
申请号:CN200310101067.6
申请日:2003-10-14
Applicant: 中国科学院计算技术研究所
Abstract: 一种含有显式高速缓冲存储器的计算机微体系结构,包括内存、cache、寄存器和运算部件,还包括位于CPU芯片内的Ecache,所述Ecache与内存统一编码。本发明的Ecache位于CPU芯片内,因此可保证硬件实现对Ecache的快速访问;Ecache与内存统一编址,且从小地址开始,因此在所有访存指令中,访问Ecache的地址显式出现(可见),硬件易于识别与实现。设计的几组指令,支持编译器和运行程序对Ecache的显式使用和动态管理。这些指令与Ecache是不可分的整体。
-
-
-
-
-
-
-
-