Compressing “warm” code in a dynamic binary translation environment
    41.
    发明授权
    Compressing “warm” code in a dynamic binary translation environment 有权
    在动态二进制翻译环境中压缩“温暖”代码

    公开(公告)号:US07703088B2

    公开(公告)日:2010-04-20

    申请号:US11240551

    申请日:2005-09-30

    申请人: Zhiyuan Li Youfeng Wu

    发明人: Zhiyuan Li Youfeng Wu

    IPC分类号: G06F9/45

    CPC分类号: G06F9/45516

    摘要: Selected regions of native instructions translated in a DBT environment from non-native instructions are compressed based on the independent compression of different fields of selected instructions using compression tables to reduce a length of selected fields. The regions of compressed instructions are stored and de-compressed into the native instructions during subsequent execution using de-compression tables. Specifically, for native instructions of a selected region, selected types of opcodes and/or operands may be compressed independently. The types may be selected by profiling the opcodes using benchmark programs and creating an opcode conversion table prior to compression, and scanning of the operands and creating an operand conversion table during compression of the opcodes.

    摘要翻译: 基于使用压缩表的所选指令的不同字段的独立压缩来压缩来自非本地指令的DBT环境中的本地指令的所选区域被压缩以减少所选字段的长度。 压缩指令的区域在后续执行期间使用解压缩表存储和解压缩为本地指令。 具体地,对于所选区域的本地指令,可以独立压缩所选择的操作码类型和/或操作数。 可以通过使用基准程序对操作码进行分析来选择类型,并在压缩之前创建操作码转换表,以及扫描操作数并在压缩操作码期间创建操作数转换表。

    Code reuse and locality hinting
    42.
    发明申请
    Code reuse and locality hinting 审中-公开
    代码重用和本地化提示

    公开(公告)号:US20090313616A1

    公开(公告)日:2009-12-17

    申请号:US12139647

    申请日:2008-06-16

    申请人: Cheng Wang Youfeng Wu

    发明人: Cheng Wang Youfeng Wu

    IPC分类号: G06F9/45

    CPC分类号: G06F8/456

    摘要: A method and apparatus for improving parallelism through optimal code replication is herein described. An optimal replication factor for code is determined based on costs associated with a plurality of replication factors. The code is replicated by the optimal replication factor, and then the code is potentially executed in parallel to obtain parallelized efficient execution.

    摘要翻译: 这里描述了通过最佳代码复制来改进并行性的方法和装置。 基于与多个复制因子相关联的成本来确定代码的最佳复制因子。 该代码由最佳复制因子复制,然后并行执行代码以获得并行化的高效执行。

    ON-DEMAND EMULATION VIA USER-LEVEL EXCEPTION HANDLING
    43.
    发明申请
    ON-DEMAND EMULATION VIA USER-LEVEL EXCEPTION HANDLING 有权
    通过用户级别异常处理实现仿真

    公开(公告)号:US20090172713A1

    公开(公告)日:2009-07-02

    申请号:US11968055

    申请日:2007-12-31

    IPC分类号: G06F9/54 G06F9/302

    CPC分类号: G06F9/30145 G06F9/4552

    摘要: Methods and apparatuses enable on-demand instruction emulation via user-level exception handling. A non-supported instruction triggers an exception during runtime of a program. In response to the exception, a user-level or application-level exception handler is launched, instead of a kernel-level handler. Then the exception handler can execute at the application layer instead of the kernel level. The handler identifies the instruction and emulates the instruction, where emulation of the instruction is supported by the handler. Emulating the instructions enables the program to continue execution. Repeated instruction emulation is amortized via dynamic binary translation of hot code.

    摘要翻译: 方法和设备通过用户级异常处理实现按需指令仿真。 不支持的指令在程序运行时触发异常。 响应于异常,启动用户级或应用程序级异常处理程序,而不是内核级处理程序。 然后异常处理程序可以在应用程序层而不是内核级别执行。 处理程序标识指令并模拟指令,其中指令的仿真由处理程序支持。 仿真指令使程序能够继续执行。 重复的指令仿真通过热代码的动态二进制转换进行分摊。

    Transient Fault Detection by Integrating an SRMT Code and a Non SRMT Code in a Single Application
    44.
    发明申请
    Transient Fault Detection by Integrating an SRMT Code and a Non SRMT Code in a Single Application 有权
    在单个应用程序中集成SRMT代码和非SRMT代码的瞬态故障检测

    公开(公告)号:US20080282257A1

    公开(公告)日:2008-11-13

    申请号:US11745403

    申请日:2007-05-07

    申请人: Cheng Wang Youfeng Wu

    发明人: Cheng Wang Youfeng Wu

    IPC分类号: G06F9/46

    CPC分类号: G06F11/1497 G06F8/457

    摘要: Disclosed is a method for running a first code generated by a Software-based Redundant Multi-Threading (SRMT) compiler along with a second code generated by a normal compiler at runtime, the first code including a first function and a second function, the second code including a third function. The method comprises running the first function in a leading thread and a tailing thread (104); running the third function in a single thread (106), the leading thread calls the third function and running the second function in the leading thread and the tailing thread (108), the third function calls the second function. The present disclosure provides a mechanism for handling function calls wherein SRMT functions and binary functions can call each other irrespective of whether the callee function is a SRMT function or a binary function and thereby dynamically adjusts reliability and performance tradeoff based on run-time information and user selectable policies.

    摘要翻译: 公开了一种用于在运行时运行由基于软件的冗余多线程(SRMT)编译器生成的第一代码以及由正常编译器生成的第二代码的方法,所述第一代码包括第一功能和第二功能,第二代码 代码包括第三个功能。 该方法包括在前导线和尾线(104)中运行第一功能; 在单个线程(106)中运行第三个函数,前导线程调用第三个函数并在前导线程和后退线程(108)中运行第二个函数,第三个函数调用第二个函数。 本公开提供了一种用于处理功能调用的机制,其中SRMT功能和二进制功能可以彼此调用,而不管被叫方功能是SRMT功能还是二进制功能,从而基于运行时信息和用户动态调整可靠性和性能权衡 可选择的政策。

    Efficient execution and emulation of bit scan operations
    45.
    发明授权
    Efficient execution and emulation of bit scan operations 有权
    位扫描操作的高效执行和仿真

    公开(公告)号:US07430574B2

    公开(公告)日:2008-09-30

    申请号:US10877931

    申请日:2004-06-24

    IPC分类号: G06F7/00

    CPC分类号: G06F7/74

    摘要: Methods are disclosed to implement bit scan operations using properties of two's complement arithmetic and compute zero index instructions. A data value may be provided and the most-significant or least-significant bit may be determined using the methods set forth herein.

    摘要翻译: 公开了使用二进制补码运算和计算零索引指令的特性实现位扫描操作的方法。 可以提供数据值,并且可以使用本文所阐述的方法来确定最高有效位或最低有效位。

    Apparatus and method for dynamic binary translator to support precise exceptions with minimal optimization constraints
    46.
    发明申请
    Apparatus and method for dynamic binary translator to support precise exceptions with minimal optimization constraints 有权
    用于动态二进制转换器的装置和方法,以最小的优化约束来支持精确异常

    公开(公告)号:US20070079304A1

    公开(公告)日:2007-04-05

    申请号:US11241610

    申请日:2005-09-30

    IPC分类号: G06F9/45

    CPC分类号: G06F9/45516 G06F8/443

    摘要: A method and apparatus for dynamic binary translator to support precise exceptions with minimal optimization constraints. In one embodiment, the method includes the translation of a source binary application generated for a source instruction set architecture (ISA) into a sequential, intermediate representation (IR) of the source binary application. In one embodiment, the sequential IR is modified to incorporate exception recovery information for each of the exception instructions identified from the source binary application to enable a dynamic binary translator (DBT) to represent exception recovery values as regular values used by IR instructions. In one embodiment, the sequential IR may be optimized with a constraint on movement of an exception instruction downward past an irreversible instruction to form a non-sequential IR. In one embodiment, the non-sequential IR is optimized to form a translated binary application for a target ISA. Other embodiments are described and claimed.

    摘要翻译: 一种用于动态二进制转换器的方法和装置,以最小的优化约束来支持精确的异常。 在一个实施例中,该方法包括将源指令集架构(ISA)生成的源二进制应用程序转换为源二进制应用程序的顺序中间表示(IR)。 在一个实施例中,顺序IR被修改为包含从源二进制应用程序识别的每个异常指令的异常恢复信息,以使动态二进制转换器(DBT)能够将异常恢复值表示为由IR指令使用的常规值。 在一个实施例中,可以对异常指令向下移动通过不可逆指令以形成非顺序IR的限制来优化顺序IR。 在一个实施例中,非顺序IR被优化以形成目标ISA的翻译二进制应用程序。 描述和要求保护其他实施例。

    Methods and apparatus for optimizing a program undergoing dynamic binary translation using profile information
    47.
    发明申请
    Methods and apparatus for optimizing a program undergoing dynamic binary translation using profile information 审中-公开
    用于使用简档信息优化正在进行动态二进制翻译的程序的方法和装置

    公开(公告)号:US20050149915A1

    公开(公告)日:2005-07-07

    申请号:US10747598

    申请日:2003-12-29

    IPC分类号: G06F9/45

    CPC分类号: G06F9/45516

    摘要: Methods and apparatus for optimizing a program undergoing dynamic binary translation using profile information are disclosed. A disclosed system optimizes foreign program instructions through an enhanced dynamic binary translation process. The foreign program instructions are translated into native program instructions. Loops within the native program instructions are instrumented with profiling instructions and optimized. The profiling information is collected during execution of the loop. After profiling information is collected, the loop may be further optimized by inserting prefetching instructions into the optimized loop. The prefetched loop is then linked back into the native program instructions and is executable.

    摘要翻译: 公开了使用简档信息优化正在进行动态二进制翻译的程序的方法和装置。 所公开的系统通过增强的动态二进制翻译过程来优化外部程序指令。 外部程序指令被翻译成本机程序指令。 本地程序指令中的循环使用分析说明进行了优化。 在循环执行期间收集分析信息。 在收集了分析信息之后,可以通过将预取指令插入到优化的循环中来进一步优化循环。 然后将预取的循环链接回本机程序指令,并且是可执行的。

    Accurate invalidation profiling for cost effective data speculation
    48.
    发明授权
    Accurate invalidation profiling for cost effective data speculation 失效
    精确的无效分析,用于成本有效的数据投机

    公开(公告)号:US06332214B1

    公开(公告)日:2001-12-18

    申请号:US09075147

    申请日:1998-05-08

    申请人: Youfeng Wu

    发明人: Youfeng Wu

    IPC分类号: G06F9445

    CPC分类号: G06F8/433 G06F8/445

    摘要: In one implementation, the invention involves a computer implemented method used in compiling a program. The method includes selecting conflict regions of the program. The method further includes performing invalidation profiling of load instructions with respect to certain ones of the conflict regions to determine invalidation rates of the load instructions. The method may further include a feedback step in which the invalidation rates are used by a scheduler of the compiler to determine whether to move the load instructions to target locations.

    摘要翻译: 在一个实现中,本发明涉及用于编译程序的计算机实现的方法。 该方法包括选择程序的冲突区域。 该方法还包括执行关于某些冲突区域的加载指令的无效分析,以确定加载指令的无效率。 该方法还可以包括反馈步骤,其中编译器的调度器使用无效率来确定是否将加载指令移动到目标位置。

    Efficient and consistent software transactional memory
    49.
    发明授权
    Efficient and consistent software transactional memory 有权
    高效一致的软件事务内存

    公开(公告)号:US09519467B2

    公开(公告)日:2016-12-13

    申请号:US13246678

    申请日:2011-09-27

    摘要: A method and apparatus for efficient and consistent validation/conflict detection in a Software Transactional Memory (STM) system is herein described. A version check barrier is inserted after a load to compare versions of loaded values before and after the load. In addition, a global timestamp (GTS) is utilized to track a latest committed transaction. Each transaction is associated with a local timestamp (LTS) initialized to the GTS value at the start of a transaction. As a transaction commits it updates the GTS to a new value and sets versions of modified locations to the new value. Pending transactions compare versions determined in read barriers to their LTS. If the version is greater than their LTS indicating another transaction has committed after the pending transaction started and initialized the LTS, then the pending transaction validates its read set to maintain efficient and consistent transactional execution.

    摘要翻译: 这里描述了用于在软件事务存储器(STM)系统中有效且一致的验证/冲突检测的方法和装置。 在加载之后插入版本检查障碍,以便在加载之前和之后比较加载值的版本。 此外,使用全局时间戳(GTS)来跟踪最近提交的事务。 每个事务与在事务开始时初始化为GTS值的本地时间戳(LTS)相关联。 作为事务提交,将GTS更新为新值,并将修改的位置的版本设置为新值。 待处理的交易将比较其在LTS阅读障碍中确定的版本。 如果版本大于其LTS,指示在挂起事务启动并初始化LTS之后另一个事务已经提交,则挂起的事务会验证其读取集合以保持有效且一致的事务执行。