System for target branch prediction using correlation of local target histories including update inhibition for inefficient entries
    21.
    发明授权
    System for target branch prediction using correlation of local target histories including update inhibition for inefficient entries 失效
    使用本地目标历史的相关性进行目标分支预测的系统,包括无效率条目的更新抑制

    公开(公告)号:US07434037B2

    公开(公告)日:2008-10-07

    申请号:US11399979

    申请日:2006-04-07

    IPC分类号: G06F9/32

    摘要: An information processing system includes a branch target buffer (BTB) comprising the last next address for the instruction and for receiving an indirect instruction address and providing a BTB predicted target; and next branch target table (NBTT) for storing potential branch targets based on a history of the branch and for providing an NBTT when the a BTB predicted target is not successful. In another embodiment a system comprising a plurality of branch prediction resources dynamically predicts the best resource appropriate for a branch. The method includes predicting a target branch for an indirect instruction address using a resource chosen among the plurality of branch prediction resources; and selectively inhibiting updates of the branch prediction resources whose prediction accuracy does not meet a threshold.

    摘要翻译: 信息处理系统包括分支目标缓冲器(BTB),其包括用于该指令的最后一个下一个地址,并且用于接收间接指令地址并提供BTB预测目标; 以及用于基于分支的历史存储潜在的分支目标并且当BTB预测目标不成功时提供NBTT的下一分支目标表(NBTT)。 在另一个实施例中,包括多个分支预测资源的系统动态地预测适合于分支的最佳资源。 该方法包括使用在多个分支预测资源中选择的资源来预测间接指令地址的目标分支; 并且选择性地禁止预测精度不满足阈值的分支预测资源的更新。

    Dynamic instrumentation for a mixed mode virtual machine
    22.
    发明申请
    Dynamic instrumentation for a mixed mode virtual machine 有权
    混合模式虚拟机的动态仪器

    公开(公告)号:US20050114848A1

    公开(公告)日:2005-05-26

    申请号:US10719048

    申请日:2003-11-21

    IPC分类号: G06F9/45

    CPC分类号: G06F9/45516

    摘要: The present invention provides a method, apparatus, and computer instructions for dynamic intermediate code transformation in a mixed mode compiler. In an exemplary embodiment, an object code compiler of a virtual-machine, such as the just-in-time (JIT) compiler (415) of a Java virtual machine (JVM), takes loaded classes and compiles these into object code (416). A JIT-enabled dynamic instrumentation (JEDI) interface (420) provides information to an application (e.g., a tool with a GUI), and passes requests for transformation to the JIT (415) and class-loader (410). If loaded, JEDI controls the JIT compiler (415) to compile and transform the class into object code. Thus, dynamically transformed object code is produced without transformation or re-loading of the loaded classes.

    摘要翻译: 本发明提供了一种用于混合模式编译器中的动态中间代码转换的方法,装置和计算机指令。 在示例性实施例中,诸如Java虚拟机(JVM)的即时(JIT)编译器(415)的虚拟机的目标代码编译器接收加载的类并将其编译成目标代码(416 )。 启用JIT的动态仪器(JEDI)接口(420)向应用程序(例如,具有GUI的工具)提供信息,并将转换请求传递到JIT(415)和类加载器(410)。 如果加载,JEDI控制JIT编译器(415)来编译并将类转换为对象代码。 因此,动态转换的对象代码在没有转换或重新加载加载的类的情况下产生。

    Method and apparatus for deterministic replay of java multithreaded programs on multiprocessors
    23.
    发明授权
    Method and apparatus for deterministic replay of java multithreaded programs on multiprocessors 失效
    用于多处理器上的java多线程程序的确定性重放的方法和装置

    公开(公告)号:US06854108B1

    公开(公告)日:2005-02-08

    申请号:US09569308

    申请日:2000-05-11

    申请人: Jong-Deok Choi

    发明人: Jong-Deok Choi

    IPC分类号: G06F9/44 G06F11/36

    CPC分类号: G06F11/3636 G06F11/3664

    摘要: A method (and apparatus) of determinstically replaying an observable run-time behavior of distributed multi-threaded programs on multiprocessors in a shared-memory multiprocessor environment, wherein a run-time behavior of the programs includes sequences of events, each sequence being associated with one of a plurality of execution threads, includes identifying an execution order of critical events of the program, wherein the program includes critical events and non-critical events, generating groups of critical events of the program, generating, for each given execution thread, a logical thread schedule that identifies a sequence of the groups associated with the given execution thread, and storing the logical thread schedule for subsequent reuse.

    摘要翻译: 一种在共享存储器多处理器环境中在多处理器上确定性地重播分布式多线程程序的可观测运行时行为的方法(和装置),其中程序的运行时行为包括事件序列,每个序列与 多个执行线程之一包括识别程序的关键事件的执行顺序,其中该程序包括关键事件和非关键事件,生成该程序的关键事件组,为每个给定的执行线程生成一个 逻辑线程调度,其标识与给定执行线程相关联的组的序列,以及存储用于后续重用的逻辑线程调度。

    Methods and apparatus for optimizing programs in the presence of exceptions
    24.
    发明授权
    Methods and apparatus for optimizing programs in the presence of exceptions 失效
    在存在异常情况下优化程序的方法和装置

    公开(公告)号:US06487716B1

    公开(公告)日:2002-11-26

    申请号:US09415137

    申请日:1999-10-08

    IPC分类号: G06F944

    CPC分类号: G06F8/443 G06F2209/481

    摘要: A method and several variants are provided for analyzing and transforming a computer program such that instructions may be reordered even across instructions that may throw an exception, while strictly preserving the precise exception semantics of the original program. The method uses program analysis to identify the subset of program state that needs to be preserved if an exception is thrown. Furthermore, the method performs a program transformation that allows dependence constraints among potentially excepting instructions to be completely ignored while applying program optimizations. This transformation does not require any special hardware support, and requires a compensation code to be executed only if an exception is thrown, i.e., no additional instructions need to be executed if an exception is not thrown. Variants of the method show how one or several of the features of the method may be performed.

    摘要翻译: 提供了一种用于分析和转换计算机程序的方法和几个变体,使得甚至可以在可能引发异常的指令上重新排序指令,同时严格保留原始程序的精确异常语义。 该方法使用程序分析来识别如果抛出异常,需要保留的程序状态子集。 此外,该方法执行程序变换,其允许潜在的除指令之间的依赖约束在应用程序优化时被完全忽略。 这种转换不需要任何特殊的硬件支持,并且只有在抛出异常时才需要执行补偿代码,即如果不抛出异常,则不需要执行其他指令。 该方法的变体显示了如何执行该方法的一个或多个特征。

    METHOD AND APPARATUS FOR EFFICIENT AND PRECISE DATARACE DETECTION FOR MULTITHREADED OBJECT-ORIENTED PROGRAMS
    25.
    发明申请
    METHOD AND APPARATUS FOR EFFICIENT AND PRECISE DATARACE DETECTION FOR MULTITHREADED OBJECT-ORIENTED PROGRAMS 失效
    用于多目标面向对象程序的有效和精确的数据检测的方法和装置

    公开(公告)号:US20090199162A1

    公开(公告)日:2009-08-06

    申请号:US12366446

    申请日:2009-02-05

    IPC分类号: G06F9/44

    CPC分类号: G06F9/52 G06F11/3632

    摘要: A method of detecting a datarace between first and second memory accesses within a program, including: determining whether the first and second memory accesses are to the same memory location; determining whether the first and second memory accesses are executed by different threads in the program; determining whether the first and second memory accesses are guarded by a common synchronization object; and determining whether there is an execution ordering enforced between the first and second memory accesses.

    摘要翻译: 一种检测程序内的第一和第二存储器访问之间的数据段的方法,包括:确定所述第一和第二存储器访问是否是相同的存储器位置; 确定所述第一和第二存储器访问是否由所述程序中的不同线程执行; 确定所述第一和第二存储器访问是否被公共同步对象保护; 以及确定是否存在在所述第一和第二存储器访问之间执行的执行排序。

    MECHANISM FOR DATA CACHE REPLACEMENT BASED ON REGION POLICIES
    26.
    发明申请
    MECHANISM FOR DATA CACHE REPLACEMENT BASED ON REGION POLICIES 有权
    基于区域政策的数据缓存替代机制

    公开(公告)号:US20090113135A1

    公开(公告)日:2009-04-30

    申请号:US11929771

    申请日:2007-10-30

    IPC分类号: G06F12/08

    CPC分类号: G06F12/126

    摘要: A system and method for cache replacement includes: augmenting each cache block in a cache region with a region hint indicating a temporal priority of the cache block; receiving an indication that a cache miss has occurred; and selecting for eviction the cache block comprising the region hint indicating a low temporal priority.

    摘要翻译: 一种用于高速缓存替换的系统和方法包括:利用指示高速缓存块的时间优先级的区域提示来增强高速缓存区中的每个高速缓存块; 接收发生高速缓存未命中的指示; 以及选择驱逐包含指示低时间优先级的区域提示的高速缓存块。

    TARGET BRANCH PREDICTION USING CORRELATION OF LOCAL TARGET HISTORIES
    27.
    发明申请
    TARGET BRANCH PREDICTION USING CORRELATION OF LOCAL TARGET HISTORIES 失效
    使用本地目标历史相关的目标分支预测

    公开(公告)号:US20090037708A1

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

    申请号:US12246282

    申请日:2008-10-06

    IPC分类号: G06F9/38

    摘要: A system for predicting multiple targets for a single branch includes: a branch target buffer that includes a previous next address for an instruction and that receives an indirect instruction address to provide a first branch target prediction; a first branch table for capturing local past target information of an indirect branch in an encoded form; a second branch table which is a correlation table for storing potential branch targets based on a local branch history and which provides a second branch target prediction when the first branch target prediction is not successful; an exclusion predictor for inhibiting updates of inefficient entries; and a multiplexer to select the predicted target as output.

    摘要翻译: 用于预测单个分支的多个目标的系统包括:分支目标缓冲器,其包括用于指令的先前的下一个地址并且接收间接指令地址以提供第一分支目标预测; 用于以编码形式捕获间接分支的当地过去目标信息的第一分支表; 第二分支表,其是基于本地分支历史存储潜在分支目标的相关表,并且当第一分支目标预测不成功时提供第二分支目标预测; 用于禁止更低效率条目的排除预测器; 以及选择预测目标作为输出的多路复用器。

    COMPUTER-IMPLEMENTED METHOD, SYSTEM, AND PROGRAM PRODUCT FOR OPTIMIZING A DISTRIBUTED APPLICATION
    28.
    发明申请
    COMPUTER-IMPLEMENTED METHOD, SYSTEM, AND PROGRAM PRODUCT FOR OPTIMIZING A DISTRIBUTED APPLICATION 审中-公开
    用于优化分布式应用的计算机实现方法,系统和程序产品

    公开(公告)号:US20080271004A1

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

    申请号:US12167258

    申请日:2008-07-03

    IPC分类号: G06F9/45 G06F9/44

    CPC分类号: G06F8/61

    摘要: A computer-implemented method, system, and program product for optimizing a distributed (software) application are provided. Specifically, a configuration of a target computing environment, in which the distributed application is deployed, is discovered upon deployment of the distributed application. Thereafter, based on a set of rules and the discovered configuration, one or more optimization techniques are applied to optimize the distributed application. In a typical embodiment, the set of rules can be embedded in the distributed application, or they can be accessed from an external source such as a repository. Regardless, the optimization techniques applied can include at least one of the following: (1) identification and replacement of an underperforming component of the distributed application with a new component; (2) generation of interface layers (to allow selection of optimal bindings) between distributed objects of the distributed application; and/or (3) execution of code transformation of the distributed application using program analysis techniques.

    摘要翻译: 提供了一种用于优化分布式(软件)应用程序的计算机实现的方法,系统和程序产品。 具体而言,在部署分布式应用程序时发现其中部署了分布式应用的目标计算环境的配置。 此后,基于一组规则和所发现的配置,应用一个或多个优化技术来优化分布式应用。 在典型的实施例中,该组规则可以嵌入在分布式应用中,或者可以从诸如存储库的外部源访问它们。 无论如何,应用的优化技术可以包括以下至少一个:(1)用新的组件识别和替换分布式应用程序的表现不佳的组件; (2)在分布式应用程序的分布式对象之间生成界面层(允许选择最佳绑定); 和/或(3)使用程序分析技术执行分布式应用程序的代码转换。

    Branch target prediction for multi-target branches by identifying a repeated pattern
    30.
    发明授权
    Branch target prediction for multi-target branches by identifying a repeated pattern 有权
    通过识别重复模式对多目标分支进行分支目标预测

    公开(公告)号:US07409535B2

    公开(公告)日:2008-08-05

    申请号:US11110240

    申请日:2005-04-20

    IPC分类号: G06F9/38

    摘要: An information processing system for branch target prediction is disclosed. The information processing system includes a memory for storing entries, wherein each entry includes a plurality of target addresses representing a history of target addresses for a multi-target branch and logic for reading the memory and identifying a repeated pattern in a plurality of target addresses for a multi-target branch. The information processing system further includes logic for predicting a next target address for the multi-target branch based on the repeated pattern that was identified.

    摘要翻译: 公开了一种用于分支目标预测的信息处理系统。 信息处理系统包括用于存储条目的存储器,其中每个条目包括表示多目标分支的目标地址的历史的多个目标地址和用于读取存储器的逻辑,以及识别多个目标地址中的重复模式, 多目标分支。 信息处理系统还包括用于基于所识别的重复模式预测多目标分支的下一目标地址的逻辑。