Method and apparatus for autonomically initiating measurement of secondary metrics based on hardware counter values for primary metrics
    3.
    发明授权
    Method and apparatus for autonomically initiating measurement of secondary metrics based on hardware counter values for primary metrics 失效
    基于主要度量的硬件计数器值自动启动二次度量测量的方法和装置

    公开(公告)号:US07574587B2

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

    申请号:US12124822

    申请日:2008-05-21

    IPC分类号: G06F11/16

    摘要: A method, apparatus, and computer instructions in a data processing system for processing instructions are provided. Instructions are received at a processor in the data processing system. If a selected indicator is associated with the instruction, counting of each event associated with the execution of the instruction is enabled. Functionality may be provided in the performance monitoring application for initiating the measurement of secondary metrics with regard to identified instructions, data addresses, ranges of identified instructions, or ranges of identified data addresses, based on counter values for primary metrics. Thus, for example, when a primary metric counter, or a combination of primary metric counters, meets or exceeds a predetermined threshold value, an interrupt may be generated. In response to receiving the interrupt, counters associated with the measuring of secondary metrics of a range of instructions/data addresses may be initiated.

    摘要翻译: 提供了用于处理指令的数据处理系统中的方法,装置和计算机指令。 在数据处理系统的处理器处接收指令。 如果所选择的指示符与指令相关联,则启用与执行指令相关联的每个事件的计数。 可以在性能监视应用中提供功能,用于基于主要度量的计数器值来发起关于所识别的指令,数据地址,所识别的指令的范围或所识别的数据地址的范围的次级度量的测量。 因此,例如,当主度量计数器或主度量计数器的组合满足或超过预定阈值时,可以产生中断。 响应于接收到中断,可以启动与测量一系列指令/数据地址的二次度量有关的计数器。

    Method and Apparatus for Counting Instruction and Memory Location Ranges
    5.
    发明申请
    Method and Apparatus for Counting Instruction and Memory Location Ranges 失效
    计数指令和存储器位置范围的方法和装置

    公开(公告)号:US20080235495A1

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

    申请号:US12113762

    申请日:2008-05-01

    IPC分类号: G06F9/30

    摘要: A method, apparatus, and computer instructions in a data processing system for processing instructions and monitoring accesses to memory location ranges. An instruction for execution is identified. A determination is made as to whether the instruction is within a contiguous range of instructions. Execution information relating to the instruction is identified if the instruction is within the contiguous range of instructions. With memory location accesses, an access to a memory location is identified. A determination of whether the memory location is within a contiguous range of memory locations is made. Access information is identified if the memory location is within the contiguous range of memory locations.

    摘要翻译: 数据处理系统中的方法,装置和计算机指令,用于处理指令并监视对存储器位置范围的访问。 确定执行指令。 确定指令是否在连续的指令范围内。 如果指令在指令的相邻范围内,则识别与指令相关的执行信息。 利用存储器位置访问,识别对存储器位置的访问。 确定存储器位置是否在存储器位置的连续范围内。 如果存储器位置在存储器位置的连续范围内,则识别访问信息。

    Autonomic Method and Apparatus for Hardware Assist for Patching Code
    6.
    发明申请
    Autonomic Method and Apparatus for Hardware Assist for Patching Code 失效
    用于修补代码的硬件辅助自动方法和装置

    公开(公告)号:US20080216091A1

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

    申请号:US12122558

    申请日:2008-05-16

    IPC分类号: G06F9/46

    摘要: A method, apparatus and computer instructions for hardware assist for autonomically patching code. The present invention provides hardware microcode to a new type of metadata to selectively identify instructions to be patched for specific performance optimization functions. The present invention also provides a new flag in the machine status register (MSR) to enable or disable a performance monitoring application or process to perform code-patching functions. If the code patching function is enabled, the application or process may patch code at run time by associating the metadata with the selected instructions. The metadata includes pointers pointing to the patch code block code. The program code may be patched autonomically without modifying original code.

    摘要翻译: 用于硬件辅助自动修补代码的方法,装置和计算机指令。 本发明向新类型的元数据提供硬件微代码,以选择性地识别要修补的特定性能优化功能的指令。 本发明还提供了机器状态寄存器(MSR)中的新标志,以启用或禁用性能监视应用程序或进程来执行代码补丁功能。 如果启用代码补丁功能,应用程序或进程可以通过将元数据与所选指令相关联来在运行时修补代码。 元数据包括指向补丁代码块代码的指针。 程序代码可以自动修补而不修改原始代码。

    Autonomic method and apparatus for counting branch instructions to generate branch statistics meant to improve branch predictions
    7.
    发明授权
    Autonomic method and apparatus for counting branch instructions to generate branch statistics meant to improve branch predictions 失效
    用于计数分支指令以产生分支统计的自动方法和装置,用于改进分支预测

    公开(公告)号:US07293164B2

    公开(公告)日:2007-11-06

    申请号:US10757237

    申请日:2004-01-14

    IPC分类号: G06F7/46

    CPC分类号: G06F9/3844

    摘要: A method, apparatus, and computer instructions for autonomically counting selected branch instructions executed in a processor to improve branch predictions. Counters are provided to count branch instructions that are executed in a processor to collect branch statistics. A set of branch statistics fields is allocated to associate with a branch instruction. When a program is executed, the stored statistics allows the program to look at the branch statistics in the counter to perform branch prediction. Hence, a user may use branch statistics values from the hardware counter to perform analysis on application code.

    摘要翻译: 一种用于自动计数在处理器中执行的选择的分支指令以改善分支预测的方法,装置和计算机指令。 提供计数器来计算在处理器中执行的分支指令以收集分支统计信息。 分配一组分支统计信息字段以与分支指令相关联。 当执行程序时,存储的统计信息允许程序查看计数器中的分支统计数据以执行分支预测。 因此,用户可以使用来自硬件计数器的分支统计值来对应用代码进行分析。

    Autonomic method and apparatus for hardware assist for patching code
    9.
    发明授权
    Autonomic method and apparatus for hardware assist for patching code 失效
    用于硬件辅助的辅助方法和装置辅助代码

    公开(公告)号:US08141099B2

    公开(公告)日:2012-03-20

    申请号:US12122558

    申请日:2008-05-16

    IPC分类号: G06F3/00 G06F13/28

    摘要: Hardware assist to autonomically patch code. The present invention provides hardware microcode to a new type of metadata to selectively identify instructions to be patched for specific performance optimization functions. The present invention also provides a new flag in the machine status register (MSR) to enable or disable a performance monitoring application or process to perform code-patching functions. If the code patching function is enabled, the application or process may patch code at run time by associating the metadata with the selected instructions. The metadata includes pointers pointing to the patch code block code. The program code may be patched autonomically without modifying original code.

    摘要翻译: 硬件辅助自动修补代码。 本发明向新类型的元数据提供硬件微代码,以选择性地识别要修补的特定性能优化功能的指令。 本发明还提供了机器状态寄存器(MSR)中的新标志,以启用或禁用性能监视应用程序或进程来执行代码补丁功能。 如果启用代码补丁功能,应用程序或进程可以通过将元数据与所选指令相关联来在运行时修补代码。 元数据包括指向补丁代码块代码的指针。 程序代码可以自动修补而不修改原始代码。

    Method and apparatus for determining computer program flows autonomically using hardware assisted thread stack tracking and cataloged symbolic data
    10.
    发明授权
    Method and apparatus for determining computer program flows autonomically using hardware assisted thread stack tracking and cataloged symbolic data 失效
    使用硬件辅助线程堆栈跟踪和编目的符号数据自动地确定计算机程序流的方法和装置

    公开(公告)号:US07987453B2

    公开(公告)日:2011-07-26

    申请号:US10803663

    申请日:2004-03-18

    IPC分类号: G06F9/44 G06F9/00

    摘要: A method, apparatus, and computer instructions for determining computer flows autonomically using hardware assisted thread stack and cataloged symbolic data. When a new thread is spawned during execution of a computer program, new thread work area is allocated by the operating system in memory for storage of call stack information for the new thread. Hardware registers are set with values corresponding to the new thread work area. Upon context switch, values of the registers are saved in a context save area for future restoration.When call stack data is post-processed, the operating system or a device driver copies call stack data from the thread work areas to a consolidated buffer and each thread is mapped to a process. Symbolic data may be obtained based on the process identifier and address of the method/routine that was called/returned in the thread. Corresponding program flow is determined using retrieved symbolic data and call stack data.

    摘要翻译: 一种用于使用硬件辅助线程堆栈和编目的符号数据自主地确定计算机流的方法,装置和计算机指令。 当在执行计算机程序期间产生新的线程时,操作系统将新的线程工作区分配给存储器,以存储新线程的调用堆栈信息。 硬件寄存器设置为与新线程工作区域对应的值。 在上下文切换时,寄存器的值保存在上下文保存区域中,以备将来恢复。 当调用堆栈数据进行后处理时,操作系统或设备驱动程序将调用堆栈数据从线程工作区域复制到统一缓冲区,并将每个线程映射到进程。 可以基于在线程中调用/返回的方法/例程的进程标识符和地址获得符号数据。 使用检索到的符号数据和调用堆栈数据确定相应的程序流程。