REGISTER CHECKPOINTING MECHANISM FOR MULTITHREADING
    6.
    发明申请
    REGISTER CHECKPOINTING MECHANISM FOR MULTITHREADING 有权
    注册检查机制进行多元化

    公开(公告)号:US20100262812A1

    公开(公告)日:2010-10-14

    申请号:US12420762

    申请日:2009-04-08

    IPC分类号: G06F9/30

    摘要: Methods and apparatus are disclosed for using a register checkpointing mechanism to resolve multithreading mis-speculations. Valid architectural state is recovered and execution is rolled back. Some embodiments include memory to store checkpoint data. Multiple thread units concurrently execute threads. They execute a checkpoint mask instruction to initialize memory to store active checkpoint data including register contents and a checkpoint mask indicating the validity of stored register contents. As register contents change, threads execute checkpoint write instructions to store register contents and update the checkpoint mask. Threads also execute a recovery function instruction to store a pointer to a checkpoint recovery function, and in response to mis-speculation among the threads, branch to the checkpoint recovery function. Threads then execute one or more checkpoint read instructions to copy data from a valid checkpoint storage area into the registers necessary to recover a valid architectural state, from which execution may resume.

    摘要翻译: 公开了使用寄存器检查点机制来解决多线程错误猜测的方法和装置。 恢复有效的架构状态并回滚执行。 一些实施例包括用于存储检查点数据的存储器。 多个线程单元同时执行线程。 它们执行检查点掩码指令来初始化存储器以存储包括寄存器内容的活动检查点数据和指示存储的寄存器内容的有效性的检查点掩码。 随着寄存器内容的改变,线程执行检查点写入指令来存储寄存器内容并更新检查点掩码。 线程还执行恢复功能指令来存储指向检查点恢复功能的指针,并且响应于线程之间的误推测,分支到检查点恢复功能。 线程然后执行一个或多个检查点读取指令,以将数据从有效的检查点存储区域复制到恢复有效架构状态所需的寄存器,从中可以恢复执行。

    PATH PROFILING USING HARDWARE AND SOFTWARE COMBINATION
    9.
    发明申请
    PATH PROFILING USING HARDWARE AND SOFTWARE COMBINATION 审中-公开
    使用硬件和软件组合的路径分布

    公开(公告)号:US20140281434A1

    公开(公告)日:2014-09-18

    申请号:US13994193

    申请日:2013-03-15

    IPC分类号: G06F9/30

    CPC分类号: G06F9/30076 G06F8/443

    摘要: A mechanism for generating a path profile is disclosed. A profiling module may insert profiling instructions into instruction blocks. The profiling instructions may generate a path identifier as a processor executes an execution path executes a sequence or path of instruction blocks). A path identifier module may add path identifiers to path identifier data, such as a table, and may track the number of times an execution path associated with the path identifier is executed. The profiling module may periodically copy and/or modify the path identifier data and may generate a path profile based on the path identifier data

    摘要翻译: 公开了一种用于产生路径轮廓的机构。 分析模块可以将分析指令插入到指令块中。 当处理器执行执行路径执行指令块的序列或路径时,分析指令可以生成路径标识符)。 路径标识符模块可以将诸如表的路径标识符数据的路径标识符添加,并且可以跟踪执行与路径标识符相关联的执行路径的次数。 分析模块可以周期性地复制和/或修改路径标识符数据,并且可以基于路径标识符数据生成路径简档

    Method and apparatus for flexible, accurate, and/or efficient code profiling
    10.
    发明授权
    Method and apparatus for flexible, accurate, and/or efficient code profiling 有权
    用于灵活,准确和/或有效的代码分析的方法和装置

    公开(公告)号:US08898646B2

    公开(公告)日:2014-11-25

    申请号:US12976799

    申请日:2010-12-22

    IPC分类号: G06F9/44 G06F9/45 G06F11/34

    摘要: An apparatus and method for profiling program code. In particular, an apparatus according to one embodiment comprises a filtering component identifying a first set of instructions for which profiling is desired wherein, in response to detecting that an instruction has been retired, the filtering component determines whether the instruction is within the first set of instructions for which profiling is desired; an event selection component detecting an event in response to the instruction retiring, the event selection component generating event signals in response to a designated event; and a profiling component recording the occurrence or not occurrence of the event within a first storage device responsive to signals from the filtering component and/or the event selection component.

    摘要翻译: 用于分析程序代码的设备和方法。 具体地,根据一个实施例的装置包括识别期望进行分析的第一组指令的过滤部件,其中响应于检测到指令已经停止,滤波部件确定该指令是否在第一组中 需要进行分析的说明; 事件选择部件响应于所述指令重新检测事件,所述事件选择部件响应于指定的事件产生事件信号; 以及响应于来自过滤组件和/或事件选择组件的信号,在第一存储设备内记录事件的发生或不发生的分析组件。