Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program
    1.
    发明申请
    Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program 失效
    用于在页表中维护性能监视结构以用于监视计算机程序的性能的方法和装置

    公开(公告)号:US20050155019A1

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

    申请号:US10757250

    申请日:2004-01-14

    IPC分类号: G06F9/44 G06F12/10

    CPC分类号: G06F11/3636

    摘要: A method and apparatus in a data processing system for measuring events associated with the execution of 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. In some embodiments, the performance indicators, counters, thresholds, and other performance monitoring structures may be stored in a page table that is used to translate virtual addresses into physical storage addresses. A standard page table is augmented with additional fields for storing the performance monitoring structures. These structures may be set by the performance monitoring application and may be queried and modified as events occur that require access to physical storage.

    摘要翻译: 提供了一种用于测量与执行指令相关的事件的数据处理系统中的方法和装置。 在数据处理系统的处理器处接收指令。 如果所选择的指示符与指令相关联,则启用与执行指令相关联的每个事件的计数。 在一些实施例中,可以将性能指示符,计数器,阈值和其他性能监视结构存储在用于将虚拟地址转换为物理存储地址的页表中。 标准页表增加了用于存储性能监视结构的附加字段。 这些结构可以由性能监视应用程序设置,并且可以在需要访问物理存储的事件发生时进行查询和修改。

    Method and apparatus for autonomically moving cache entries to dedicated storage when false cache line sharing is detected
    2.
    发明申请
    Method and apparatus for autonomically moving cache entries to dedicated storage when false cache line sharing is detected 有权
    当检测到虚拟高速缓存行共享时,用于将高速缓存条目自动移动到专用存储器的方法和装置

    公开(公告)号:US20050154838A1

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

    申请号:US10757227

    申请日:2004-01-14

    摘要: 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. In some embodiments, when it is determined that a cache line is being falsely shared using the performance indicators and counters, an interrupt may be generated and sent to a performance monitoring application. An interrupt handler of the performance monitoring application will recognize this interrupt as indicating false sharing of a cache line. Rather than reloading the cache line in a normal fashion, the data or instructions being accessed may be written to a separate area of cache or memory area dedicated to false cache line sharing data. The code may then be modified by inserting a pointer to this new area of cache or memory. Thus, when the code again attempts to access this area of the cache, the access is redirected to the new cache or memory area rather than to the previous area of the cache that was subject to false sharing. In this way, reloads of the cache line may be avoided.

    摘要翻译: 提供了用于处理指令的数据处理系统中的方法,装置和计算机指令。 在数据处理系统的处理器处接收指令。 如果所选择的指示符与指令相关联,则启用与执行指令相关联的每个事件的计数。 在一些实施例中,当使用性能指示符和计数器确定高速缓存行被错误地共享时,可以产生中断并将其发送到性能监视应用。 性能监视应用程序的中断处理程序将会将此中断视为指示高速缓存行的虚假共享。 不是以正常方式重新加载高速缓存线,正在访问的数据或指令可以写入专用于虚拟高速缓存行共享数据的高速缓存或存储器区域的单独区域。 然后可以通过将指针插入到高速缓存或存储器的这个新区域来修改代码。 因此,当代码再次尝试访问高速缓存的这个区域时,访问被重定向到新的高速缓存或存储器区域,而不是高速缓存的先前区域被错误共享。 以这种方式,可以避免高速缓存线的重新加载。

    Method and apparatus for counting instruction and memory location ranges
    3.
    发明申请
    Method and apparatus for counting instruction and memory location ranges 失效
    用于计数指令和存储器位置范围的方法和装置

    公开(公告)号:US20050071822A1

    公开(公告)日:2005-03-31

    申请号:US10675872

    申请日:2003-09-30

    IPC分类号: G06F9/44

    摘要: 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 local program code reorganization using branch count per instruction hardware
    4.
    发明申请
    Autonomic method and apparatus for local program code reorganization using branch count per instruction hardware 失效
    用于本地程序代码重组的自动方法和装置,每个指令硬件使用分支计数

    公开(公告)号:US20050155025A1

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

    申请号:US10757156

    申请日:2004-01-14

    IPC分类号: G06F9/45

    CPC分类号: G06F11/3612

    摘要: A method, apparatus, and computer instructions for local program reorganization using branch count per instruction hardware. In a preferred embodiment, a hardware counter is used in the present invention to count the number of times a branch is taken when branch instructions are executed. Branch count statistics generated from the hardware counters are available to a program in order to analyze whether code reorganization is necessary. If reorganization is necessary, the program autonomically reorganizes instructions locally at run time to allow more instructions to be executed prior to taking a branch, so that the number of branches taken is minimized without modifying underlying program code.

    摘要翻译: 一种使用每个指令硬件分支计数的本地程序重组的方法,设备和计算机指令。 在优选实施例中,在本发明中使用硬件计数器来计数执行分支指令时分支的次数。 从硬件计数器生成的分支计数统计信息可用于程序,以便分析代码重组是否必要。 如果重组是必要的,程序在运行时自动地重新组织指令,以允许更多的指令在执行分支之前被执行,以便在不修改底层程序代码的情况下最小化分支数量。

    Autonomic method and apparatus for counting branch instructions to improve branch predictions
    5.
    发明申请
    Autonomic method and apparatus for counting branch instructions to improve branch predictions 失效
    用于计数分支指令以改善分支预测的自动方法和装置

    公开(公告)号:US20050154867A1

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

    申请号:US10757237

    申请日:2004-01-14

    IPC分类号: G06F9/00 G06F9/38

    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.

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

    Method and apparatus for counting interrupts by type
    6.
    发明申请
    Method and apparatus for counting interrupts by type 失效
    用于按类型计数中断的方法和装置

    公开(公告)号:US20050154813A1

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

    申请号:US10757198

    申请日:2004-01-14

    CPC分类号: G06F13/24

    摘要: A method, apparatus, and computer instructions for counting interrupts by type. An interrupt count is incremented when a particular type of interrupt occurs. The count may be stored in the IDT or an interrupt count table outside the IDT. The interrupt unit increments the count each time a particular type of interrupt occurs. In the event of a potential count overflow, the mechanism of the present invention provides logic necessary to notify software in order to handle the overflow.

    摘要翻译: 一种用于按类型计数中断的方法,装置和计算机指令。 当发生特定类型的中断时,中断计数递增。 计数可以存储在IDT以外的IDT或中断计数表中。 每当发生特定类型的中断时,中断单元递增计数。 在潜在计数溢出的情况下,本发明的机制提供了为了处理溢出而通知软件所需的逻辑。

    Method and system for autonomic execution path selection in an application
    8.
    发明申请
    Method and system for autonomic execution path selection in an application 有权
    应用程序中自主执行路径选择的方法和系统

    公开(公告)号:US20050081107A1

    公开(公告)日:2005-04-14

    申请号:US10682385

    申请日:2003-10-09

    IPC分类号: G06F11/00 G06F11/34

    摘要: A method, an apparatus, and a computer program product in a data processing system are presented for using hardware assistance for gathering performance information that significantly reduces the overhead in gathering such information. Performance indicators are associated with instructions or memory locations, and processing of the performance indicators enables counting of events associated with execution of those instructions or events associated with accesses to those memory locations. The performance information that has been dynamically gathered from the assisting hardware is available to the software application during runtime in order to autonomically affect the behavior of the software application, particularly to enhance its performance. For example, the counted events may be used to autonomically control an execution-path selection within the software application.

    摘要翻译: 提出了一种数据处理系统中的方法,装置和计算机程序产品,用于使用硬件辅助来收集性能信息,这显着地减少了收集这些信息的开销。 性能指标与指令或存储器位置相关联,并且性能指示符的处理使得能够对与执行与那些存储器位置的访问相关联的那些指令或事件相关联的事件进行计数。 在运行期间,从辅助硬件动态收集的性能信息可用于软件应用程序,以便自主地影响软件应用程序的行为,特别是增强其性能。 例如,计数的事件可以用于自主地控制软件应用程序内的执行路径选择。

    Method and system for autonomic performance improvements in an application via memory relocation
    9.
    发明申请
    Method and system for autonomic performance improvements in an application via memory relocation 有权
    通过存储器重定位在应用程序中自主性能改进的方法和系统

    公开(公告)号:US20050081010A1

    公开(公告)日:2005-04-14

    申请号:US10682436

    申请日:2003-10-09

    IPC分类号: G06F12/00

    摘要: A method, an apparatus, and a computer program product in a data processing system are presented for using hardware assistance for gathering performance information that significantly reduces the overhead in gathering such information. Performance indicators are associated with instructions or memory locations, and processing of the performance indicators enables counting of events associated with execution of those instructions or events associated with accesses to those memory locations. The performance information that has been dynamically gathered from the assisting hardware is available to the software application during runtime in order to autonomically affect the behavior of the software application, particularly to enhance its performance. For example, the counted events may be used to autonomically improve the performance of the execution of an application by relocating code segments and data areas.

    摘要翻译: 提出了一种数据处理系统中的方法,装置和计算机程序产品,用于使用硬件辅助来收集性能信息,这显着地减少了收集这些信息的开销。 性能指标与指令或存储器位置相关联,并且性能指示符的处理使得能够对与执行与那些存储器位置的访问相关联的那些指令或事件相关联的事件进行计数。 在运行期间,从辅助硬件动态收集的性能信息可用于软件应用程序,以便自主地影响软件应用程序的行为,特别是增强其性能。 例如,计数事件可以用于通过重新定位代码段和数据区来自动地改进应用的执行的性能。

    Method and apparatus for identifying false cache line sharing
    10.
    发明申请
    Method and apparatus for identifying false cache line sharing 有权
    识别虚拟高速缓存行共享的方法和装置

    公开(公告)号:US20050154839A1

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

    申请号:US10757249

    申请日:2004-01-14

    IPC分类号: G06F12/00 G06F12/08

    CPC分类号: G06F12/0806 G06F12/0815

    摘要: 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. In some embodiments, the performance indicators may be utilized to obtain information regarding the nature of the cache hits and reloads of cache lines within the instruction or data cache. These embodiments may be used to determine whether processors of a multiprocessor system, such as a symmetric multiprocessor (SMP) system, are truly sharing a cache line or if there is false sharing of a cache line. This determination may then be used as a means for determining how to better store the instructions/data of the cache line to prevent false sharing of the cache line.

    摘要翻译: 提供了用于处理指令的数据处理系统中的方法,装置和计算机指令。 在数据处理系统的处理器处接收指令。 如果所选择的指示符与指令相关联,则启用与执行指令相关联的每个事件的计数。 在一些实施例中,性能指示符可用于获得关于高速缓存命中的性质和指令或数据高速缓存内的高速缓存行的重新加载的信息。 这些实施例可以用于确定诸如对称多处理器(SMP)系统的多处理器系统的处理器是真正共享高速缓存行还是存在高速缓存行的虚假共享。 然后可以将该确定用作确定如何更好地存储高速缓存行的指令/数据以防止高速缓存行的虚假共享的手段。