CN1648871A - 发生中断时按其类型限定性能监视事件收集的方法与装置 - Google Patents

发生中断时按其类型限定性能监视事件收集的方法与装置 Download PDF

Info

Publication number
CN1648871A
CN1648871A CNA2005100046186A CN200510004618A CN1648871A CN 1648871 A CN1648871 A CN 1648871A CN A2005100046186 A CNA2005100046186 A CN A2005100046186A CN 200510004618 A CN200510004618 A CN 200510004618A CN 1648871 A CN1648871 A CN 1648871A
Authority
CN
China
Prior art keywords
interrupt
incident
interruption
performance monitoring
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005100046186A
Other languages
English (en)
Other versions
CN100383754C (zh
Inventor
小吉米·E·德威特
弗兰克·E·莱文
克里斯托弗·M·理查森
罗伯特·J·厄克特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1648871A publication Critical patent/CN1648871A/zh
Application granted granted Critical
Publication of CN100383754C publication Critical patent/CN100383754C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches

Abstract

一种方法、装置与计算机指令,用来当在数据处理系统的处理器中发生中断时按照中断类型限定事件。可编程性能监视单元(PMU)用来编程收集与中断类型(包括嵌套中断)相关联的事件的硬件计数器。性能监视单元还可根据中断处理的状态来计数在请求服务中断时发生的事件。在性能监视单元中使用多个性能监视计数器,可以同时计数为性能监视单元所知的事件,例如指令退回、TLB丢失。

Description

发生中断时按其类型限定性能监视事件收集的方法与装置
技术领域
一般地,本发明涉及一种改进的数据处理系统,具体地讲,涉及一种在数据处理系统中当发生中断时监视处理器性能的方法与系统。更具体地讲,本发明涉及一种方法、装置与计算机指令,用来当发生中断时按中断类型限定(qualify)对监视事件性能的收集。
背景技术
典型的数据处理系统利用处理器来执行一组指令以执行特定任务,例如从主存储器中读取特定字符。然而,随着需要处理器执行的任务数目的增加,对于希望优化系统的工程师来说,处理器对存储器的访问模式的效率以及此类访问的特性成为重要因素。
当前,现有技术包含可以计数数据处理系统内软件可选事件(例如高速缓存丢失、所执行的指令、I/O数据传送请求)的发生次数,以及执行给定进程所需要的时间的机制。一种此类机制为性能监视器。性能监视器进行对选定特性的监视,从而通过确定特定时间的机器状态而有助于系统分析。该分析提供以下信息:当执行指令时如何使用处理器,以及当存储数据时处理器与主存储器的交互作用。另外,性能监视器可以提供处理系统中事件之间所经过的时间量。性能监视器提供工程师可以用来分析系统性能的事件计数。该分析可能引起应用代码改变,例如可能的重新分配分支指令与存储器访问,以进一步优化系统性能。另外,性能监视器可以收集有关处理器如何访问数据处理系统的一级与二级高速缓存、以及主存储器的数据,以发现特定于硬件或软件环境的性能瓶颈。
如上所述的性能监视器不提供以下功能:进一步限定对于特定类型的中断发生的事件。例如当诸如鼠标或者键盘等设备发起中断信号时,发生中断,以通知处理器发生了事件。当处理器接受中断请求时,处理器完成其当前指令,并且将控制传送给中断处理程序(handler)。中断处理程序执行与该中断相关联的中断服务例程。中断也可能由特定机器语言操作代码引起,例如摩托罗拉公司的产品——68000的TRAP。在这种情况下,诸如除以零等未预料软件条件使处理器存储当前状态,存储有关特定中断的标识信息,并且将控制传送给处理该未预料软件条件的中断处理程序。
以下是有益的:具有一种改进的方法、装置、以及计算机指令,用来限定发生的事件的计数,同时根据已经发生的中断类型服务请求中断。
发明内容
本发明提供了一种的方法、装置、以及计算机指令,当在数据处理系统的处理器中发生中断时,其通过按中断类型限定事件,来监视数据处理系统的性能。本发明的性能监视单元被编程来计数基于已经发生的中断类型限定的事件。当性能监视单元检测到特定类型的中断时,性能监视单元收集对该中断类型发生的事件。结果的事件信息以后被呈现给用户以进行性能分析。
附图说明
在权利要求中列出了本发明特有的新颖特征。通过参照附图及以下对示范性实施方式的详细描述将更好地理解本发明自身、优选使用模式及其进一步的目的与优点,其中:
图1为可以实现本发明的数据处理系统的示范性方框图;
图2为根据本发明优选实施方式的处理系统的处理器系统的示范性方框图;
图3为显示根据本发明优选实施方式的、当中断发生时按中断类型计数事件的组件的示范性图示;
图4为显示根据本发明优选实施方式的、性能监视单元与中断单元的组件的示范性图示;
图5为概括显示根据本发明优选实施方式的、当中断发生时基于中断类型限定对事件的计数的示范性过程的流程图。
具体实施方式
本发明的优选实施方式当在数据处理系统上执行程序时监视数据处理系统的性能。在一种实施方式中,对性能监视单元进行编程,以计数事件(例如高速缓存丢失、时钟周期、或者其他在中断的执行与处理过程中发生的事件),并且通过在其过程中发生事件的中断类型以及(在某些实施方式中)在其过程中发生事件的中断的状态,来限定那些被计数的事件。在本发明的系统与方法中收集的信息可以呈现给软件或用户以进行分析。
在优选实施方式中,本发明实现于计算机系统中。例如,该计算机系统可以是网络的客户端-服务器环境下的客户端或者服务器。现在参照图1,显示了其中可以实现本发明的数据处理系统的示范性方框图。客户端100为计算机的实例,其中可以放置实现本发明的处理的代码或指令。客户端100采用外围组件互连(PCI)局部总线体系结构。虽然所显示的例子采用PCI总线,但是可以使用其他总线体系结构,例如加速图形端口(AGP)与工业标准体系结构(ISA)。处理器102与主存储器104通过PCI桥108连接到PCI局部总线106。PCI桥108还可以包含处理器102的高速缓存和集成的存储器控制器。通过直接组件互连或者通过插入板,可以进行到PCI局部总线106的其他连接。在所示例子中,局域网(LAN)适配器110、小型计算机系统接口SCSI主机总线适配器112、以及扩展总线接口114通过直接组件互连而连接到PCI局部总线106。与此不同,音频适配器116、图形适配器118、以及音频/视频适配器119通过插入扩展槽中的插入板连接到PCI局部总线106。扩展总线接口114提供用于键盘和鼠标适配器120、调制解调器122、以及附加存储器124的连接。SCSI主机总线适配器112提供用于硬盘驱动器126、磁带驱动器128、以及CD-ROM驱动器130的连接。典型的PCI局部总线实现将支持三或四个PCI扩展槽或者插入连接器。
操作系统运行在处理器102上,并且用来协调并提供对于图1的数据处理系统100内各种组件的控制。操作系统可以是在市面上能够购买的操作系统,例如Windows XP,其可从微软公司得到。诸如Java等面向对象的编程系统可以与操作系统联合运行,并且提供从在客户端100上执行的应用程序或者Java程序到操作系统的调用。“Java”为Sun Microsystems公司的商标。操作系统、面向对象的编程系统以及应用程序或者程序的指令位于存储设备上,例如硬盘驱动器126上,并且可以加载到主存储器104内,以由处理器102执行。
本领域技术人员应该理解:图1中的硬件可能根据实现而变化。除图1所示硬件之外,或者替代这些硬件地,可以使用其他内部硬件或外围设备,例如闪存只读存储器(ROM)、等效的非易失存储器、或者光盘驱动器等等。另外,本发明的处理可以应用到多处理器数据处理系统。
例如,客户端100如果可选地配置为网络计算机,则可以不包含SCSI主机总线适配器112、硬盘驱动器126、磁带驱动器128、以及CD-ROM 130。在这种情况下,该计算机,正确地应该称为客户端计算机,包含某种类型的网络通信接口,例如LAN适配器110、调制解调器122等等。作为另一例子,客户端100可以是独立的系统,其被配置为可引导的,而不依赖于某种类型的网络通信接口,而不管客户端100是否包含某种类型的网络通信接口。作为另一例子,客户端100可以是个人数字助理(PDA),其配备有ROM和/或闪存ROM,以提供非易失存储器,用来存储操作系统文件和/或用户生成的数据。图1中所示的例子以及上述例子并不是用来暗指对体系结构的限制。
本发明的处理由处理器102使用计算机实现的指令来执行,这些指令可能位于存储器中,例如主存储器104、存储器124,或者位于一或多个外围设备126-130中。
转到图2,显示了根据本发明优选实施方式的用来处理信息的处理器系统的示范性方框图。处理器210可以实现为图1中的处理器102。
在优选实施方式中,处理器210为单一的集成电路超标量微处理器。相应地,如下详细所述,处理器210包含各种单元、寄存器、缓冲器、存储器、以及其他部分,所有这些都由集成电路形成。另外,在优选实施方式中,处理器210根据精减指令集计算机(“RISC”)技术运行。如图2所示,系统总线211连接到处理器210的总线接口单元(“BIU”)212。BIU 212控制处理器210与系统总线211之间信息的传送。
BIU 212连接到处理器210的指令高速缓存214与数据高速缓存216。指令高速缓存214输出指令到排序单元218。响应于来自指令高速缓存214的这些指令,排序单元218选择性地输出指令到处理器210的其他执行电路。
除排序单元218之外,在优选实施方式中,处理器210的执行电路还包含多个执行单元,即分支单元220、定点单元A(“FXUA”)222、定点单元B(“FXUB”)224、复杂定点单元(“CFXU”)226、加载/存储单元(“LSU”)228、以及浮点单元(“FPU”)230。FXUA 222、FXUB 224、CFXU 226、以及LSU 228从通用体系寄存器(“GPR”)232以及定点重命名缓冲器234输入其源操作数信息。另外,FXUA 222与FXUB 224从进位位(“CA”)寄存器239输入“进位位”。FXUA 222、FXUB 224、CFXU 226、以及LSU 228输出其运行结果(目的操作数信息),以在定点重命名缓冲器234中的选定项处存储。另外,CFXU 226从/向专用寄存器处理单元(“SPR单元”)237输入与输出源操作数信息与目的操作数信息。
FPU 230从浮点体系寄存器(“FPR”)236与浮点重命名缓冲器238输入其源操作数信息。FPU 230输出其运行结果(目的操作数信息),以在浮点重命名缓冲器238中的选定项处存储。
响应于加载指令,LSU 228从数据高速缓存216输入信息,并且将该信息拷贝到重命名缓冲器234与238中的选定项。如果该信息未存储在数据高速缓存216中,则数据高速缓存216从连接到系统总线211的系统存储器260输入该信息(通过BIU 212与系统总线211)。另外,数据高速缓存216能够从数据高速缓存216输出信息到连接到系统总线211的系统存储器260(通过BIU 212与系统总线211)。响应于存储指令,LSU 228从GPR 232与FPR236的选定项输入信息,并且将该信息拷贝到数据高速缓存216。
排序单元218从/向GPR 232与FPR 236输入与输出信息。从排序单元218,分支单元220输入指示处理器210当前状态的指令与信号。响应于这些指令与信号,分支单元220(向排序单元218)输出指示存储由处理器210执行的指令序列的适当存储器地址的信号。响应于来自分支单元220的这些信号,排序单元218从指令高速缓存214输入所指示的指令序列。如果一或多个指令序列未存储在指令高速缓存214中,则指令高速缓存214从连接到系统总线211的系统存储器260输入这些指令(通过BIU 212与系统总线211)。
响应于从指令高速缓存214输入的指令,排序单元218选择性地分发指令到选定的执行单元220、222、224、226、228、以及230。每个执行单元执行特定指令类别的一或多条指令。例如,FXUA 222与FXUB 224对源操作数执行第一类别的定点数学运算,例如加法、减法、与、或、以及异或。CFXU226对源操作数执行第二类别的定点运算,例如定点乘法与除法。FPU 230对源操作数执行浮点运算,例如浮点乘法与除法。
当信息存储在重命名缓冲器234的选定项时,该信息与为其分配选定的重命名缓冲器的指令所指定的存储位置相关联(例如GPR 232中的一个或者进位位(CA)寄存器242)。响应于来自排序单元218的信号,在重命名缓冲器234的选定项处存储的信息被拷贝到GPR 232中其相关联的一个(或者CA寄存器242)。响应于“完成”生成该信息的指令,排序单元218指挥对在重命名缓冲器234选定项处存储的信息的所述拷贝。该拷贝称为“写回”。
当信息存储在重命名缓冲器238的选定项时,该信息与FPR 236中的一个相关联。响应于来自排序单元218的信号,在重命名缓冲器238的选定项处存储的信息被拷贝到FPR 236中其相关联的一个。响应于“完成”生成该信息的指令,排序单元218指挥对在重命名缓冲器238选定项处存储的信息的所述拷贝。
通过在各个执行单元220、222、224、226、228、以及230处同时处理多条指令,处理器210达到高性能。相应地,每条指令被当作一系列阶段处理,每个阶段都可与其他指令的阶段并行执行。这种技术称为“流水线”。根据所示实施方式的一个重要方面,指令一般被处理为六个阶段,即获取、解码、分发、执行、完成、以及写回。
在获取阶段,排序单元218(从指令高速缓存214)选择性地输入来自一或多个存储器地址的一或多条指令,所述存储器地址存储了上面结合分支单元210与排序单元218进一步讨论的指令序列。
在解码阶段,排序单元218解码多达四条所获取的指令。
在分发阶段,在为所分发的指令的结果(目的操作数信息)保留了重命名缓冲器项之后,排序单元218(响应于解码阶段的解码)选择性地分发多达四条已解码的指令到选定的执行单元220、222、224、226、228、以及230中的几个。在分发阶段,操作数信息被提供给对于所分发的指令的选定执行单元。处理器210按其编程序列分发指令。
在执行阶段,执行单元执行其所分发的指令,并且输出其运行结果(目的操作数信息),以在重命名缓冲器234与重命名缓冲器238中选定项处存储,如上所述。通过这种方式,处理器210能够相对于其编程序列乱序地执行指令。
在完成阶段,排序单元218指示指令为“完成”。处理器210按其编程序列“完成”指令。
在写回阶段,排序单元218指挥从重命名缓冲器234与238分别拷贝信息到GRP 232与FPR 236。排序单元218指挥对在选定的重命名缓冲器处存储的信息的所述拷贝。类似地,在特定指令的写回阶段,响应于特定指令,处理器210更新其体系状态。处理器210按其编程序列处理指令的各个“写回”阶段。优选地,在指定情况下,处理器210合并指令的完成阶段与写回阶段。
在所示实施方式中,每条指令都要求一个机器周期来完成指令处理的每个阶段。然而,某些指令(例如由CFXU 226执行的复杂定点指令)可能要求多于一个周期。因此,响应于完成先前指令所需的时间的变化,在特定指令的执行与完成阶段之间可能发生可变延迟。
在排序单元218内配备有完成缓冲器248,用来跟踪在执行单元内执行的多条指令的完成情况。当指示已经成功地完成一条指令或一组指令时,按照应用程序所指定的先后顺序,完成缓冲器248可用来启动传送这些已完成指令的结果到相关联的通用寄存器。
另外,处理器210还包含性能监视单元240,该单元连接到指令高速缓存214以及处理器210中的其他单元。利用性能监视单元240,可以监视处理器210的运行,在所示实施方式中,性能监视单元240为软件可访问机制,其能够提供描述指令执行资源的利用情况与存储控制的详细信息。虽然在图2中未显示,但是性能监视单元240耦合至处理器210的每个功能单元,以允许监视处理器210运行的所有方面,包含(例如)重建事件之间的关系、标识错误触发、标识性能瓶颈、监视流水线停滞、监视空闲处理器周期、确定分发效率、确定分支效率、确定未对准数据访问的性能损失、标识串行化指令执行的频率、标识被禁止的中断、以及确定性能效率。感兴趣的事件还包括(例如)指令解码的时间、指令的执行、分支事件、高速缓存丢失、以及高速缓存命中。
性能监视单元240包含依赖于实现的数目(例如2-8)的计数器214-242,标记为PMC1与PMC2,其用来计数选定事件的发生次数。性能监视单元240还包含至少一个监视器模式控制寄存器(MMCR)。在该例子中,存在两个控制寄存器,MMCR 243与244,其指定计数器241-242的功能。优选地,计数器241-242与MMCR 243-244实现为可以借助由CFXU 226执行的MFSPR(从SPR移动)与MTSPR(向SPR移动)进行读或写访问的SPR。然而,在一替换实施方式中,计数器241-242与MMCR 243-244简单地可以实现为I/O空间中的地址。在另一替换实施方式中,控制寄存器与计数器可以借助索引寄存器间接地访问。该实施方式实现于英特尔公司的处理器中的IA-64体系结构中。
另外,处理器210还包括中断单元250,其连接到指令高速缓存214。另外,尽管在图2中未显示,但是中断单元250连接到处理器210内其他功能单元。中断单元250可以接收来自其他功能单元的信号,并且启动动作,例如开始错误处理或者陷阱过程。在这些例子中,中断单元250用来生成可能在程序执行过程中发生的例外和中断。另外,对于诸如PMC1 241等每个性能监视计数器,都有相应的中断单元控制寄存器(IUCR),例如可由中断单元250访问的IUCR2 252。在该例子中,IUCR1 252相应于PMC1 241。IUCR2252相应于PMC2 242。IUCR1 252与IUCR2 254标识哪个中断生成信号,从而PMC1 241与PMC2 242可以计数与该中断相关联的事件。
本发明提供了一种方法、装置、以及计算机指令,用来当在数据处理系统的处理器中发生中断时,通过按中断类型限定事件,监视诸如图1中客户端100等数据处理系统性能。该数据处理系统的处理器可以实现为图2的处理器210。
在优选实施方式中,本发明提供性能监视单元(PMU),例如图2中的性能监视单元240,其是可以利用诸如MMCR 243与MMCR 244等计数器控制寄存器(CCR)编程的,以计数在中断执行过程中发生的事件。所计数的事件可以由在其过程中发生该事件的中断类型限定。这些事件当前对于性能监视单元是已知的,例如退回的指令、TLB失误、二级高速缓存丢失、或者时钟周期等等。在优选实施方式中,本发明的性能监视单元允许用户通过中断类型限定事件或条件,优选地通过利用性能监视单元的硬件计数器与寄存器。当发出中断信号时,中断信号被用来标识本发明的计数机制是否被编程来在该类型的中断期间计数事件。
可以扩展性能监视单元中的计数器控制寄存器(CCR)以包括中断单元(IU)轨迹字段、中断单元(IU)状态字段、以及中断单元(IU)状态掩码字段。IU轨迹字段允许用户通过使能或禁止轨迹跟踪来控制计数。IU状态字段表示中断处理的当前状态,例如中断开、中断以被拾取、中断以被确认、以及中断关。IU状态掩码字段指示在其期间要发生轨迹跟踪的中断处理的状态。这些字段由性能监视单元使用,以计数在中断的各种状态期间发生的事件,并且按状态分析计数。结果的数据可以由用户或者轨迹应用程序读取,例如从性能监视单元中读取,以在以后进行性能分析,从而更好地优化系统。
另外,利用多个性能监视计数器,性能监视单元可以同时计数多个事件。本发明的机制允许性能监视单元编程每个计数器以计数特定事件。例如,计数器1可以被编程来计数对于中断向量1的高速缓存丢失,计数器2可以被编程来计数对于中断向量2的计数周期等等。本发明的优选实施方式不限制对于计数器的限定。根据用户可用的硬件,计数器可以被编程来计数多个事件。
另外,性能监视单元支持计数嵌套中断的事件。在一个中断激活的同时发生另一中断时,即发生嵌套中断。本发明的性能监视单元使性能监视计数器能够将计数只限制在中断处理的开或关状态。对于工程师研究中断处理自身的效率,该机制可能有用。
接着转到图3,根据本发明的优选实施方式,显示了显示用来当中断发生时按中断类型计数事件的组件的示例图。如图3所示,在优选实施方式中,中央处理单元(CPU)302可以实现为图2中的处理器210。当中断发生时,中央处理单元(CPU)302发送信号给中断单元304,以请求中断单元304生成对于特定中断类型的中断信号。
根据性能监视单元306中性能监视计数器的数目,中断单元304可以包括多个中断单元控制寄存器(IUCR),其可由中断单元304访问。在IUCR与性能监视计数器之间具有一对一关系。在该例子中,具有两个IUCR,相应于性能监视计数器PMC1 312的IUCR1 308,以及相应于性能监视计数器PMC2 314的IUCR2 310。诸如IUCR1 308的IUCR包含类型字段,该字段指示哪种中断类型生成性能监视计数器信号。IUCR中的类型字段以后由中断单元304检查,以察看其是否为感兴趣的中断类型,即在中断执行过程中是否要计数事件。如果中断类型信号为感兴趣的中断类型,则中断单元304发送轨迹跟踪开/关信号给性能监视单元306,以使能或禁止计数。
另外,如图3所示,性能监视单元306包括依赖于实现的数目的硬件计数器,例如硬件计数器312与314,此处也被称为性能监视计数器。PMC1 312与PMC2 314计数在中断处理的特定状态期间发生的事件。性能监视单元306还包括诸如CCR1 316与CCR2 318等多个计数器控制寄存器(CCR),其可以实现为图2中的MCCR1 233与MCCR2 234。当CCR1 316与CCR2 318从中断单元304收到使能或禁止在中断处理期间轨迹跟踪某中断类型的事件与状态变化的信号时,通过存储中断的当前状态与待轨迹跟踪的中断的状态,CCR1 316与CCR2 318控制性能监视计数器PMC1 312与PMC2 314的计数,从而当使能轨迹跟踪时,性能监视计数器PMC1 312与PMC2 314可以计数特定中断状态的事件。然后存储结果的轨迹数据,并且可以在以后时间从性能监视计数器312与314中收集结果的轨迹数据。
参照图4,根据本发明的优选实施方式,显示了显示性能监视单元与中断单元的组件的示例图。如图4所示,在优选实施方式中,性能监视单元可包括多个计数器控制寄存器(CCR),其可以实现为存储器模式寄存器(MMCR),例如图2中的MMCR1 233与MMCR2 234。计数器控制寄存器控制性能监视计数器的功能。计数器控制寄存器402可以包含3个字段:中断单元(IU)轨迹字段404、中断单元(IU)状态字段406、以及中断单元(IU)状态掩码字段408。在该例子中,IU轨迹字段404为一位字段,由位0表示;IU状态字段406为两位字段,由位1与2表示;IU状态掩码字段408为三位字段,由位3至5表示。
如图4所示,轨迹410为IU轨迹字段404的例子。当该位为0时,性能监视计数器的轨迹跟踪为关或被禁止。当该位为1时,性能监视计数器的轨迹跟踪为开或被使能。轨迹410由轨迹跟踪开/关信号设置,一旦中断单元检查中断单元控制寄存器(IUCR)以确定中断类型是否为感兴趣的,该轨迹跟踪开/关信号由中断单元发出。例如,输入的中断信号可与为计数处理指定的、存储的中断集合比较。
接着,状态416表示IU状态字段406示例。状态416只由性能监视单元读取,并且用来存储中断的当前状态。当中断状态为中断开418时,状态310中的位被设置为01。当中断状态为中断被拾取420时,状态410中的位被设置为10。当中断状态为中断被确认422时,状态410中的位被设置为11。当中断状态为中断关424时,状态410中的位被设置为00。
计数器控制寄存器中的最后的字段为IU状态掩码字段408。状态掩码426表示IU状态掩码字段408的例子。IU状态掩码字段426指示在哪个中断状态期间计数事件。当在其期间计数的状态为中断开428时,状态掩码位426被设置为001。当在其期间计数的状态为中断被拾取430时,状态掩码位426被设置为010。当在其期间计数的状态为中断被确认时,状态掩码位426被设置为100。
最后,在图4中显示了中断单元控制寄存器(IUCR)440。IUCR可以由中断单元访问。IUCR 440包含大小为一字节(8位)的类型字段442。类型字段442表示哪种中断类型将生成至性能监视单元的轨迹跟踪开/关信号。
本发明的优选实施方式可以用来基于在其期间发生事件的中断的类型来计数事件。在IUCR字段记录中断类型,该字段指示在其期间对事件进行监视的中断类型将发生。当中断发生时,中断类型与IUCR中的项比较,并且如果所发生的中断匹配IUCR中的项,则计数在该中断期间发生的事件。向PMU发送信号以打开轨迹跟踪,这使PMU将CCR设置为此时发生的中断的状态。当中断经过其状态时,PMU继续指示中断处于哪种状态,从而可以根据在其期间发生事件的中断状态来分析在该中断期间计数的事件。
转到图5,根据本发明的优选实施方式显示概括当中断发生时基于中断类型限定对事件的计数的示例性处理的概略流程图。如图5所示,当支持软件(例如性能监视软件)与硬件接口以启动中断处理(步骤502)时,开始该处理。然后由支持软件设置性能监视计数器以监视某些事件(步骤504),例如高速缓存丢失或者时钟周期。支持软件还设置中断单元控制寄存器(IUCR)类型字段,以指示监视哪种中断类型(步骤506),即在哪些中断类型期间要计数事件。接着,支持软件设置相应于用来计数事件的性能监视计数器的、计数器控制寄存器(CCR)的中断单元(IU)轨迹字段(步骤508)。步骤508使能对事件的轨迹跟踪。
在步骤508设置IU轨迹字段之后一定时间,执行要监视其性能的应用程序的应用程序代码(步骤510)。当在代码执行期间发生中断(步骤512)时,中断单元检查IUCR类型字段(步骤514)。对该中断是否与IUCR类型相同进行判定,IUCR类型为感兴趣的中断类型(步骤516)。如果该中断类型不同于IUCR类型,则该过程返回步骤512,以等待下一中断发生。如果该中断类型与IUCR类型相同,则中断单元发出轨迹跟踪开/关信号,并且将该信号发送给性能监视单元(步骤518),以开始轨迹跟踪中断事件。一旦收到该信号,性能监视单元就通过设置计数器控制寄存器的状态字段位为01,将计数器控制寄存器的状态字段设置为中断开(步骤520)。
接着,中断状态变为中断被拾取,中断单元进而发出状态变化信号,并且将该信号发送给性能监视单元(步骤522)。随后,性能监视单元通过设置计数器控制寄存器的状态字段位为10,设置计数器控制寄存器的状态字段为中断被拾取(步骤524)。另一中断状态变化使中断单元发出状态变化信号,并且将该信号发送给性能监视单元(步骤526)。类似地,性能监视单元通过设置计数器控制寄存器的状态字段位为11,设置计数器控制寄存器的状态字段为中断被确认(步骤524)。当中断处理程序完成执行中断服务例程时,其向中断单元发送IRET(中断返回)信号(步骤530)。中断单元发出轨迹跟踪开/关信号,并且将该信号发送给性能监视单元,以停止轨迹跟踪中断的事件(步骤532)。(注意:本发明的实施方式可以跨越一或多个中断状态进行轨迹跟踪,如上所述。)最终,性能监视单元接收该信号,并且通过将计数器控制寄存器状态字段位设置为00,而将计数器控制寄存器状态字段设置为中断关(步骤534)。由此,该处理中止。
由此,本发明提供了一种性能监视单元,其允许用户使用一或多个硬件计数器按中断类型限定发生的事件。硬件计数器收集当服务中断请求时发生的事件,以使用户能够监视当处理特定类型中断时的系统性能。通过利用本发明的多个硬件计数器,用户可以限定不同中断类型的不同事件。
性能监视单元还使用户能够根据中断处理的状态限定发生的事件,从而用户可以进一步收集在特定中断状态期间发生的事件。另外,性能监视单元提供以下支持:通过利用与嵌套中断相关联的计数器,使用户能够限定当嵌套中断发生时发生的事件。另外,性能监视单元还可以计数特定中断状态下诸如时钟周期等特定中断类型的条件。
应该注意:虽然已经针对全功能数据处理系统的情况描述了本发明,但是本领域技术人员应该理解本发明的过程能够以指令的计算机可读介质的形式以及各种形式进行分布,并且不管实际用来进行该分布的信号承载介质的特定类型为何,同样适用本发明。计算机可读介质的例子包括可记录类型介质,例如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM以及传送类型介质,例如数字与模拟通信链路,使用诸如射频与光波传送等传送形式的有线或无线通信链路。计算机可读介质可以采用编码格式的形式,所述编码格式在特定数据处理系统中实际使用时被解码。
对本发明的描述出于展示与描述目的,而不是穷尽的或者限于所公开形式的本发明。对于本领域技术人员,显然存在许多修改与变化。选择与描述的实施方式以便最好地解释本发明的原理与实际应用,并且使本领域技术人员理解本发明具有适合于所设想的实际应用的各种修改的各种实施方式。

Claims (22)

1.一种用来限定当中断发生时事件的数据处理系统,包含:
性能监视单元;
一或多个位于性能监视单元内的硬件计数器;
其中所述一或多个硬件计数器计数在选定类型的中断期间的事件的发生次数。
2.如权利要求1所述的系统,其中所述一或多个硬件计数器计数在选定类型的中断的状态期间的事件的发生次数。
3.如权利要求2所述的系统,其中所述中断的状态包括:接受信号、启动中断的中断处理程序例程、完成中断处理程序例程、以及中断返回。
4.如权利要求1所述的系统,其中在中断期间计数多种类型的事件。
5.如权利要求1所述的系统,其中所述一或多个硬件计数器根据在其期间发生事件的中断类型来计数事件的发生次数。
6.如权利要求1所述的系统,其中所述事件包含时钟周期与高速缓存丢失。
7.如权利要求1所述的系统,其中第二中断中断第一中断,并且其中所述硬件计数器分离地计数在第一与第二中断期间发生的事件。
8.一种在信息处理系统上执行指令的方法,包含以下步骤:
在该系统的微处理器处,接收启动中断的信号,其中该中断包含多个状态;以及
对于该中断的多个状态中的选定状态,计数至少一个事件。
9.如权利要求8所述的方法,其中所述计数步骤包含对于中断的多个状态的每个状态的至少一个事件。
10.如权利要求8所述的方法,其中所述多个状态包含:接受信号、启动中断的中断处理程序例程、完成中断处理程序例程、以及中断返回。
11.如权利要求8所述的方法,其中所述至少一个事件包含时钟周期与高速缓存丢失。
12.如权利要求8所述的方法,其中所述计数步骤包含:对于中断的相同状态,计数多种类型的事件。
13.如权利要求8所述的方法,其中所述计数步骤由一或多个硬件计数器进行。
14.如权利要求8所述的方法,其中根据在其期间发生事件的中断类型计数事件。
15.如权利要求8所述的方法,其中第一中断由第二中断中断,并且其中硬件计数器分离地计数在第一与第二中断期间发生的事件。
16.一种用于处理指令的计算机可读介质中的计算机程序产品,该计算机程序产品包含:
第一指令,用来在系统的微处理器处,接收启动中断的信号,其中该中断包含多个状态;以及
第二指令,用来为该中断的多个状态中的选定状态,计数至少一个事件。
17.如权利要求16所述的计算机程序产品,其中所述多个状态包含:接受信号、启动中断的中断处理程序例程、完成中断处理程序例程、以及中断返回。
18.如权利要求16所述的计算机程序产品,其中所述至少一个事件包含时钟周期与高速缓存丢失。
19.如权利要求16所述的计算机程序产品,所述第二指令用来对中断的相同状态,计数多种类型的事件。
20.如权利要求16所述的计算机程序产品,其中计数步骤由一或多个硬件计数器进行。
21.如权利要求16所述的计算机程序产品,其中根据在其期间发生事件的中断类型计数事件。
22.如权利要求16所述的计算机程序产品,其中第一中断由第二中断中断,并且其中硬件计数器分离地计数在第一与第二中断期间发生的事件。
CNB2005100046186A 2004-01-14 2005-01-14 发生中断时按其类型限定性能监视事件收集的方法与装置 Active CN100383754C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/757,186 2004-01-14
US10/757,186 US7895382B2 (en) 2004-01-14 2004-01-14 Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs

Publications (2)

Publication Number Publication Date
CN1648871A true CN1648871A (zh) 2005-08-03
CN100383754C CN100383754C (zh) 2008-04-23

Family

ID=34740001

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100046186A Active CN100383754C (zh) 2004-01-14 2005-01-14 发生中断时按其类型限定性能监视事件收集的方法与装置

Country Status (3)

Country Link
US (2) US7895382B2 (zh)
CN (1) CN100383754C (zh)
TW (1) TWI370968B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239183A (zh) * 2014-09-22 2014-12-24 北京国双科技有限公司 监测系统性能的方法及装置
CN108509255A (zh) * 2017-02-24 2018-09-07 龙芯中科技术有限公司 硬件中断的处理方法和装置
CN111209155A (zh) * 2018-11-21 2020-05-29 华夏芯(北京)通用处理器技术有限公司 一种便于扩展和配置的性能检测方法
WO2023241478A1 (zh) * 2022-06-13 2023-12-21 上海寒武纪信息科技有限公司 人工智能加速器流水线性能分析方法及设备

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373637B2 (en) 2003-09-30 2008-05-13 International Business Machines Corporation Method and apparatus for counting instruction and memory location ranges
US7395527B2 (en) 2003-09-30 2008-07-01 International Business Machines Corporation Method and apparatus for counting instruction execution and data accesses
US7421681B2 (en) 2003-10-09 2008-09-02 International Business Machines Corporation Method and system for autonomic monitoring of semaphore operation in an application
US8381037B2 (en) 2003-10-09 2013-02-19 International Business Machines Corporation Method and system for autonomic execution path selection in an application
US7526757B2 (en) 2004-01-14 2009-04-28 International Business Machines Corporation Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program
US7415705B2 (en) 2004-01-14 2008-08-19 International Business Machines Corporation Autonomic method and apparatus for hardware assist for patching code
US7895382B2 (en) 2004-01-14 2011-02-22 International Business Machines Corporation Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs
US7421684B2 (en) 2004-03-22 2008-09-02 International Business Machines Corporation Method and apparatus for autonomic test case feedback using hardware assistance for data coverage
US7886271B2 (en) * 2005-05-16 2011-02-08 Texas Instruments Incorporated Embedding event information in the timing stream
US20070174717A1 (en) * 2006-01-10 2007-07-26 Sun Microsystems, Inc. Approach for testing instruction TLB using user/application level techniques
US7617421B2 (en) * 2006-07-27 2009-11-10 Sun Microsystems, Inc. Method and apparatus for reporting failure conditions during transactional execution
US8656411B2 (en) 2008-03-05 2014-02-18 Intel Corporation Technique for monitoring activity within an integrated circuit
JP5119994B2 (ja) * 2008-03-14 2013-01-16 富士通株式会社 性能モニタリングプログラム、性能モニタリング方法、性能モニタリング装置
TW201042467A (en) * 2009-05-26 2010-12-01 Toproot Technology Corp Ltd Enhanced pulse peripheral processor
JP5423232B2 (ja) * 2009-08-17 2014-02-19 富士通株式会社 プロセス状態検知プログラム、情報処理装置、プロセス状態検知方法
US8572357B2 (en) * 2009-09-29 2013-10-29 International Business Machines Corporation Monitoring events and incrementing counters associated therewith absent taking an interrupt
JP5310819B2 (ja) * 2010-11-29 2013-10-09 株式会社デンソー マイクロコンピュータ
WO2013100981A1 (en) * 2011-12-28 2013-07-04 Intel Corporation Performance monitoring resources programmed status
WO2013101100A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Causing an interrupt based on event count
US9971603B2 (en) 2011-12-29 2018-05-15 Intel Corporation Causing an interrupt based on event count
US9003236B2 (en) * 2012-09-28 2015-04-07 Intel Corporation System and method for correct execution of software based on baseline and real time information
US9075639B1 (en) * 2012-10-23 2015-07-07 Altera Corporation Systems and methods for handling interrupts during software design simulation
US9292288B2 (en) 2013-04-11 2016-03-22 Intel Corporation Systems and methods for flag tracking in move elimination operations
US9298651B2 (en) * 2013-06-24 2016-03-29 International Business Machines Corporation Continuous in-memory accumulation of hardware performance counter data
US10282326B1 (en) * 2014-10-29 2019-05-07 Xilinx, Inc. Active interrupt handler performance monitoring in microprocessors
US9916161B2 (en) 2015-06-25 2018-03-13 Intel Corporation Instruction and logic for tracking fetch performance bottlenecks
CN105550091A (zh) * 2015-09-03 2016-05-04 刘晓建 一种PCI/PCIe设备状态的监测卡及千兆网卡链路监测方法
CN105487958B (zh) * 2015-11-24 2018-04-10 无锡江南计算技术研究所 处理器内部行为监测方法
US10185692B2 (en) 2016-08-22 2019-01-22 International Business Machines Corporation Monitoring use of specialized hardware components (SHC) of processors in heterogeneous environments by storing event counts during execution
JP2019096243A (ja) 2017-11-28 2019-06-20 ルネサスエレクトロニクス株式会社 半導体装置及びその故障検出方法
US10606971B2 (en) 2017-11-29 2020-03-31 International Business Machines Corporation Testing netlists based on singular independent signals

Family Cites Families (398)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2112794A (en) 1935-06-15 1938-03-29 Underwood Elliott Fisher Co Typewriting machine
US3707725A (en) 1970-06-19 1972-12-26 Ibm Program execution tracing system improvements
FR2253418A5 (zh) 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
FR2253423A5 (zh) 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
FR2253420A5 (zh) 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US4034353A (en) * 1975-09-15 1977-07-05 Burroughs Corporation Computer system performance indicator
US4145735A (en) 1977-02-02 1979-03-20 Nippon Steel Corporation Monitor for priority level of task in information processing system
US4291371A (en) 1979-01-02 1981-09-22 Honeywell Information Systems Inc. I/O Request interrupt mechanism
FR2471631B1 (fr) 1979-12-11 1986-02-21 Cii Honeywell Bull Dispositif de synchronisation et d'affectation de processus entre plusieurs processeurs dans un systeme de traitement de l'information
JPS59132070A (ja) 1983-01-18 1984-07-30 Mitsubishi Electric Corp アレイ演算用デ−タ処理装置
US4598364A (en) 1983-06-29 1986-07-01 International Business Machines Corporation Efficient trace method adaptable to multiprocessors
US4558413A (en) 1983-11-21 1985-12-10 Xerox Corporation Software version management system
US5103394A (en) 1984-04-30 1992-04-07 Hewlett-Packard Company Software performance analyzer
US4794472A (en) 1985-07-30 1988-12-27 Matsushita Electric Industrial Co., Ltd. Video tape reproducing apparatus with a processor that time-shares different operations
US4682283A (en) 1986-02-06 1987-07-21 Rockwell International Corporation Address range comparison system using multiplexer for detection of range identifier bits stored in dedicated RAM's
US5051944A (en) 1986-04-17 1991-09-24 Ncr Corporation Computer address analyzer having a counter and memory locations each storing count value indicating occurrence of corresponding memory address
US4821178A (en) * 1986-08-15 1989-04-11 International Business Machines Corporation Internal performance monitoring by event sampling
GB2200483B (en) 1987-01-22 1991-10-16 Nat Semiconductor Corp Memory referencing in a high performance microprocessor
US5822578A (en) 1987-12-22 1998-10-13 Sun Microsystems, Inc. System for inserting instructions into processor instruction stream in order to perform interrupt processing
US4798472A (en) * 1988-01-14 1989-01-17 Harry Chan Extruder screw with balanced flights of different functional sections
US6569679B1 (en) 1988-03-21 2003-05-27 Chiron Corporation Producer cell that generates adenoviral vectors encoding a cytokine and a conditionally lethal gene
US4912623A (en) 1988-04-11 1990-03-27 Square D Company Multiple processor communications system
US5032982A (en) * 1988-05-18 1991-07-16 Zilog, Inc. Device for timing interrupt acknowledge cycles
US5113507A (en) 1988-10-20 1992-05-12 Universities Space Research Association Method and apparatus for a sparse distributed memory system
US4928222A (en) 1988-10-31 1990-05-22 International Business Machines Corporation Enhanced semaphore architecture
US5142634A (en) 1989-02-03 1992-08-25 Digital Equipment Corporation Branch prediction
US5142635A (en) 1989-04-07 1992-08-25 Intel Corporation Method and circuitry for performing multiple stack operations in succession in a pipelined digital computer
US5257358A (en) 1989-04-18 1993-10-26 Nec Electronics, Inc. Method for counting the number of program instruction completed by a microprocessor
US5256775A (en) 1989-06-05 1993-10-26 Gilead Sciences, Inc. Exonuclease-resistant oligonucleotides
US5150349A (en) 1989-10-19 1992-09-22 Clarion Co., Ltd. Disc loading structure
US6083220A (en) 1990-03-13 2000-07-04 The Regents Of The University Of California Endovascular electrolytically detachable wire and tip for the formation of thrombus in arteries, veins, aneurysms, vascular malformations and arteriovenous fistulas
EP0458495A3 (en) 1990-05-21 1993-04-14 Texas Instruments Incorporated Apparatus and method for managing versions and configurations of persistent and transient objects
US5212794A (en) 1990-06-01 1993-05-18 Hewlett-Packard Company Method for optimizing computer code to provide more efficient execution on computers having cache memories
EP0463965B1 (en) * 1990-06-29 1998-09-09 Digital Equipment Corporation Branch prediction unit for high-performance processor
US5276833A (en) * 1990-07-02 1994-01-04 Chips And Technologies, Inc. Data cache management system with test mode using index registers and CAS disable and posted write disable
US5151981A (en) * 1990-07-13 1992-09-29 International Business Machines Corporation Instruction sampling instrumentation
JPH04248483A (ja) 1991-02-01 1992-09-03 Nec Corp 半導体集積回路
EP0501613A3 (en) 1991-02-28 1993-09-01 Hewlett-Packard Company Heterogeneous software configuration management apparatus
JP2777496B2 (ja) 1991-02-28 1998-07-16 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステムにおいてマルチプロセスをプロファイリングする際の使用方法
US5297282A (en) 1991-05-29 1994-03-22 Toshiba America Information Systems, Inc. Resume processing function for the OS/2 operating system
JPH0774984B2 (ja) 1991-06-10 1995-08-09 インターナショナル・ビジネス・マシーンズ・コーポレイション システム資源利用率測定方法とデータ処理システム
US5193180A (en) 1991-06-21 1993-03-09 Pure Software Inc. System for modifying relocatable object code files to monitor accesses to dynamically allocated memory
US5644692A (en) 1991-12-06 1997-07-01 Lucent Technologies Inc. Information display apparatus and methods
US5574872A (en) * 1991-12-10 1996-11-12 Intel Corporation Method and apparatus for controlling the saving of pipelines in pipelined processors during trap handling
US5414827A (en) * 1991-12-19 1995-05-09 Opti, Inc. Automatic cache flush
US5548762A (en) 1992-01-30 1996-08-20 Digital Equipment Corporation Implementation efficient interrupt select mechanism
US5537572A (en) * 1992-03-31 1996-07-16 Vlsi Technology, Inc. Cache controller and method for dumping contents of a cache directory and cache data random access memory (RAM)
JP3544214B2 (ja) * 1992-04-29 2004-07-21 サン・マイクロシステムズ・インコーポレイテッド プロセッサの状態を監視する方法及び監視システム
US5657253A (en) 1992-05-15 1997-08-12 Intel Corporation Apparatus for monitoring the performance of a microprocessor
US5581778A (en) 1992-08-05 1996-12-03 David Sarnoff Researach Center Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock
US5450349A (en) 1992-10-27 1995-09-12 Digital Equipment Corporation Computer system performance evaluation system and method
US5479633A (en) 1992-10-30 1995-12-26 Intel Corporation Method of controlling clean-up of a solid state memory disk storing floating sector data
US5404500A (en) 1992-12-17 1995-04-04 International Business Machines Corporation Storage control system with improved system and technique for destaging data from nonvolatile memory
WO1994018620A1 (en) 1993-02-08 1994-08-18 Action Technologies, Inc. Method and apparatus for managing business processes
US5751942A (en) 1993-06-30 1998-05-12 Intel Corporation Trace event detection during trace enable transitions
US5544342A (en) 1993-06-30 1996-08-06 International Business Machines Corporation System and method for prefetching information in a processing system
JP3639927B2 (ja) 1993-10-04 2005-04-20 株式会社ルネサステクノロジ データ処理装置
JP3242508B2 (ja) 1993-11-05 2001-12-25 松下電器産業株式会社 マイクロコンピュータ
DE4423559A1 (de) * 1993-11-09 1995-05-11 Hewlett Packard Co Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher
US5581981A (en) 1993-11-12 1996-12-10 Thiele Engineering Company Method of packaging toothbrushes
US5745770A (en) 1993-12-27 1998-04-28 Intel Corporation Method and apparatus for servicing simultaneous I/O trap and debug traps in a microprocessor
US5666507A (en) 1993-12-29 1997-09-09 Unisys Corporation Pipelined microinstruction apparatus and methods with branch prediction and speculative state changing
US5603004A (en) 1994-02-14 1997-02-11 Hewlett-Packard Company Method for decreasing time penalty resulting from a cache miss in a multi-level cache system
US5966539A (en) 1994-03-01 1999-10-12 Digital Equipment Corporation Link time optimization with translation to intermediate program and following optimization techniques including program analysis code motion live variable set generation order analysis, dead code elimination and load invariant analysis
US5581482A (en) * 1994-04-26 1996-12-03 Unisys Corporation Performance monitor for digital computer system
US5590352A (en) 1994-04-26 1996-12-31 Advanced Micro Devices, Inc. Dependency checking and forwarding of variable width operands
WO1995031782A1 (en) 1994-05-12 1995-11-23 Ast Research, Inc. Cpu activity monitoring through cache watching
US5652858A (en) 1994-06-06 1997-07-29 Hitachi, Ltd. Method for prefetching pointer-type data structure and information processing apparatus therefor
EP0689141A3 (en) 1994-06-20 1997-10-15 At & T Corp Disruption-based hardware support for system performance profiling
US5627981A (en) 1994-07-01 1997-05-06 Digital Equipment Corporation Software mechanism for accurately handling exceptions generated by instructions scheduled speculatively due to branch elimination
US5689712A (en) 1994-07-27 1997-11-18 International Business Machines Corporation Profile-based optimizing postprocessors for data references
US6006033A (en) 1994-08-15 1999-12-21 International Business Machines Corporation Method and system for reordering the instructions of a computer program to optimize its execution
US5537541A (en) 1994-08-16 1996-07-16 Digital Equipment Corporation System independent interface for performance counters
US5555432A (en) 1994-08-19 1996-09-10 Intel Corporation Circuit and method for scheduling instructions by predicting future availability of resources required for execution
US5557548A (en) 1994-12-09 1996-09-17 International Business Machines Corporation Method and system for performance monitoring within a data processing system
US5694540A (en) 1994-12-15 1997-12-02 Lucent Technologies Inc. Automated software regression test and compilation system
JP2908739B2 (ja) 1994-12-16 1999-06-21 インターナショナル・ビジネス・マシーンズ・コーポレイション 多重プロセッサ・システムにおけるcpuのモニタリング・システム及び方法
WO1996024991A1 (en) 1995-02-08 1996-08-15 Actual Radio Measurement Remote listenership monitoring system
US5794052A (en) 1995-02-27 1998-08-11 Ast Research, Inc. Method of software installation and setup
US5761103A (en) * 1995-03-08 1998-06-02 Texas Instruments Incorporated Left and right justification of single precision mantissa in a double precision rounding unit
US5675802A (en) 1995-03-31 1997-10-07 Pure Atria Corporation Version control system for geographically distributed software development
US5727167A (en) 1995-04-14 1998-03-10 International Business Machines Corporation Thresholding support in performance monitoring
US6148321A (en) 1995-05-05 2000-11-14 Intel Corporation Processor event recognition
GB9509987D0 (en) 1995-05-17 1995-07-12 Sgs Thomson Microelectronics Manipulation of data
US5659679A (en) 1995-05-30 1997-08-19 Intel Corporation Method and apparatus for providing breakpoints on taken jumps and for providing software profiling in a computer system
US5671920A (en) 1995-06-01 1997-09-30 Xerox Corporation High speed printed sheet stacking and registration system
US5684030A (en) 1995-06-07 1997-11-04 American Home Products Corporation 2-substituted benzimidazole derivatives
US6408386B1 (en) 1995-06-07 2002-06-18 Intel Corporation Method and apparatus for providing event handling functionality in a computer system
US5878255A (en) 1995-06-07 1999-03-02 Advanced Micro Devices, Inc. Update unit for providing a delayed update to a branch prediction array
US5740413A (en) * 1995-06-19 1998-04-14 Intel Corporation Method and apparatus for providing address breakpoints, branch breakpoints, and single stepping
US5875294A (en) * 1995-06-30 1999-02-23 International Business Machines Corporation Method and system for halting processor execution in response to an enumerated occurrence of a selected combination of internal states
JP3290567B2 (ja) 1995-08-24 2002-06-10 富士通株式会社 プロファイル計装方法
US5754839A (en) 1995-08-28 1998-05-19 Motorola, Inc. Apparatus and method for implementing watchpoints and breakpoints in a data processing system
US5748878A (en) 1995-09-11 1998-05-05 Applied Microsystems, Inc. Method and apparatus for analyzing software executed in embedded systems
US5949971A (en) 1995-10-02 1999-09-07 International Business Machines Corporation Method and system for performance monitoring through identification of frequency and length of time of execution of serialization instructions in a processing system
US5691920A (en) * 1995-10-02 1997-11-25 International Business Machines Corporation Method and system for performance monitoring of dispatch unit efficiency in a processing system
US5752062A (en) 1995-10-02 1998-05-12 International Business Machines Corporation Method and system for performance monitoring through monitoring an order of processor events during execution in a processing system
US5797019A (en) 1995-10-02 1998-08-18 International Business Machines Corporation Method and system for performance monitoring time lengths of disabled interrupts in a processing system
US5787286A (en) 1995-10-10 1998-07-28 International Business Machines Corporation Method and system for tabulation of execution performance
US5815707A (en) 1995-10-19 1998-09-29 Hewlett-Packard Company Dynamic function replacement for streams framework
US5875334A (en) 1995-10-27 1999-02-23 International Business Machines Corporation System, method, and program for extending a SQL compiler for handling control statements packaged with SQL query statements
JP3717212B2 (ja) * 1995-10-27 2005-11-16 株式会社日立製作所 情報処理装置及び情報処理ユニット
US5774724A (en) 1995-11-20 1998-06-30 International Business Machines Coporation System and method for acquiring high granularity performance data in a computer system
US5758061A (en) 1995-12-15 1998-05-26 Plum; Thomas S. Computer software testing method and apparatus
US5805879A (en) 1996-02-23 1998-09-08 Cyrix Corporation In a pipelined processor, setting a segment access indicator during execution stage using exception handling
JP3650460B2 (ja) 1996-03-06 2005-05-18 株式会社アドバンテスト 温度補正付きドライバ回路
US5758187A (en) 1996-03-15 1998-05-26 Adaptec, Inc. Method for enhancing performance of a RAID 1 read operation using a pair of I/O command blocks in a chain structure
US5909573A (en) 1996-03-28 1999-06-01 Intel Corporation Method of branch prediction using loop counters
US5758168A (en) * 1996-04-18 1998-05-26 International Business Machines Corporation Interrupt vectoring for optionally architected facilities in computer systems
US5822763A (en) 1996-04-19 1998-10-13 Ibm Corporation Cache coherence protocol for reducing the effects of false sharing in non-bus-based shared-memory multiprocessors
EP0810518B1 (en) 1996-05-30 2004-03-17 Matsushita Electric Industrial Co., Ltd. Method and circuit for delayed branch control
US5772322A (en) 1996-05-31 1998-06-30 Honeywell Inc. Resonant microbeam temperature sensor
US5775825A (en) 1996-07-22 1998-07-07 Hewlett-Packard Company Integrated shell-and-chasis construction for a desktop image-related device
US6025924A (en) 1996-09-05 2000-02-15 Ricoh Company, Ltd. Image forming system including a first printer connected to a host computer and a second printer connected to the host computer via a switching device provided in the first printer
US5794028A (en) 1996-10-17 1998-08-11 Advanced Micro Devices, Inc. Shared branch prediction structure
US5835702A (en) 1996-10-21 1998-11-10 International Business Machines Corporation Performance monitor
US5937437A (en) 1996-10-28 1999-08-10 International Business Machines Corporation Method and apparatus for monitoring address translation performance
US6278064B1 (en) 1996-10-30 2001-08-21 Square D Company Conductive joint formed by electron beam welding and method thereof
US5926640A (en) 1996-11-01 1999-07-20 Digital Equipment Corporation Skipping clock interrupts during system inactivity to reduce power consumption
US6128711A (en) * 1996-11-12 2000-10-03 Compaq Computer Corporation Performance optimization and system bus duty cycle reduction by I/O bridge partial cache line writes
US5896538A (en) * 1996-11-26 1999-04-20 International Business Machines Corporation System and method for multi-phased performance profiling of single-processor and multi-processor systems
US5862381A (en) 1996-11-26 1999-01-19 International Business Machines Corporation Visualization tool for graphically displaying trace data
US5887159A (en) * 1996-12-11 1999-03-23 Digital Equipment Corporation Dynamically determining instruction hint fields
US5889947A (en) 1996-12-16 1999-03-30 International Business Machines Corporation Apparatus and method for executing instructions that select a storage location for output values in response to an operation count
US5913925A (en) 1996-12-16 1999-06-22 International Business Machines Corporation Method and system for constructing a program including out-of-order threads and processor and method for executing threads out-of-order
US5870576A (en) 1996-12-16 1999-02-09 Hewlett-Packard Company Method and apparatus for storing and expanding variable-length program instructions upon detection of a miss condition within an instruction cache containing pointers to compressed instructions for wide instruction word processor architectures
US6189072B1 (en) * 1996-12-17 2001-02-13 International Business Machines Corporation Performance monitoring of cache misses and instructions completed for instruction parallelism analysis
US5938760A (en) 1996-12-17 1999-08-17 International Business Machines Corporation System and method for performance monitoring of instructions in a re-order buffer
US20030061471A1 (en) 1999-07-23 2003-03-27 Masahito Matsuo Data processor
US5822790A (en) 1997-02-07 1998-10-13 Sun Microsystems, Inc. Voting data prefetch engine
SE520343C2 (sv) * 1997-02-12 2003-07-01 Ericsson Telefon Ab L M Förfarande, system och dator för grenprediktion
ES2234042T3 (es) 1997-02-17 2005-06-16 E.G.O. Elektro-Geratebau Gmbh Conjunto de circuitos para un elemento sensor.
US5872913A (en) 1997-03-07 1999-02-16 International Business Machines Corporation System and method for low overhead, high precision performance measurements using state transistions
US5950009A (en) 1997-03-10 1999-09-07 International Business Machines Coporation Method and apparatus for profile-based reordering of program portions in a computer program
US6112317A (en) 1997-03-10 2000-08-29 Digital Equipment Corporation Processor performance counter for sampling the execution frequency of individual instructions
US5857097A (en) 1997-03-10 1999-01-05 Digital Equipment Corporation Method for identifying reasons for dynamic stall cycles during the execution of a program
US5796939A (en) 1997-03-10 1998-08-18 Digital Equipment Corporation High frequency sampling of processor performance counters
US5970439A (en) 1997-03-13 1999-10-19 International Business Machines Corporation Performance monitoring in a data processing system
EP0864969A1 (en) 1997-03-14 1998-09-16 Alcatel A method to provide a software package and a provider station and a user station realising the method
US5928334A (en) 1997-03-28 1999-07-27 International Business Machines Corporation Hardware verification tool for multiprocessors
US6149318A (en) 1997-04-15 2000-11-21 Samuel C. Kendall Link-time and run-time error detection, and program instrumentation
US6026235A (en) 1997-05-20 2000-02-15 Inprise Corporation System and methods for monitoring functions in natively compiled software programs
US5966537A (en) 1997-05-28 1999-10-12 Sun Microsystems, Inc. Method and apparatus for dynamically optimizing an executable computer program using input data
US5920721A (en) 1997-06-11 1999-07-06 Digital Equipment Corporation Compiler generating functionally-alike code sequences in an executable program intended for execution in different run-time environments
US6094709A (en) 1997-07-01 2000-07-25 International Business Machines Corporation Cache coherence for lazy entry consistency in lockup-free caches
US5991708A (en) 1997-07-07 1999-11-23 International Business Machines Corporation Performance monitor and method for performance monitoring within a data processing system
US5987598A (en) 1997-07-07 1999-11-16 International Business Machines Corporation Method and system for tracking instruction progress within a data processing system
US5802678A (en) 1997-07-16 1998-09-08 Puente; Joe A. Non-penetrating tie restraining device
US6425118B1 (en) 1997-07-18 2002-07-23 Compaq Computer Corporation System for automatically generating tests to ensure binary compatibility between software components produced by a source-to-source computer language translator
US5926176A (en) 1997-07-31 1999-07-20 Think & Do Software, Inc. Control program tracking and display system
US6202199B1 (en) 1997-07-31 2001-03-13 Mutek Solutions, Ltd. System and method for remotely analyzing the execution of computer programs
US5987250A (en) 1997-08-21 1999-11-16 Hewlett-Packard Company Transparent instrumentation for computer program behavior analysis
JPH1185515A (ja) 1997-09-10 1999-03-30 Ricoh Co Ltd マイクロプロセッサ
US5940618A (en) 1997-09-22 1999-08-17 International Business Machines Corporation Code instrumentation system with non intrusive means and cache memory optimization for dynamic monitoring of code segments
US5991908A (en) 1997-09-29 1999-11-23 Xilinx, Inc. Boundary scan chain with dedicated programmable routing
US5995754A (en) 1997-10-06 1999-11-30 Sun Microsystems, Inc. Method and apparatus for dynamically optimizing byte-coded programs
US6256771B1 (en) 1997-10-16 2001-07-03 At&T Corp. Method and apparatus for providing a dynamic service composition software architecture
US6105051A (en) 1997-10-23 2000-08-15 International Business Machines Corporation Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor
US6101524A (en) 1997-10-23 2000-08-08 International Business Machines Corporation Deterministic replay of multithreaded applications
US5966538A (en) 1997-10-31 1999-10-12 Hewlett-Packard Company Method and apparatus for automatically determining which compiler options should be used when compiling a computer program
US5938778A (en) 1997-11-10 1999-08-17 International Business Machines Corporation System and method for tracing instructions in an information handling system without changing the system source code
US6199154B1 (en) 1997-11-17 2001-03-06 Advanced Micro Devices, Inc. Selecting cache to fetch in multi-level cache system based on fetch address source and pre-fetching additional data to the cache for future access
US6442585B1 (en) 1997-11-26 2002-08-27 Compaq Computer Corporation Method for scheduling contexts based on statistics of memory system interactions in a computer system
US6549930B1 (en) 1997-11-26 2003-04-15 Compaq Computer Corporation Method for scheduling threads in a multithreaded processor
US6119075A (en) 1997-11-26 2000-09-12 Digital Equipment Corporation Method for estimating statistics of properties of interactions processed by a processor pipeline
US6163840A (en) 1997-11-26 2000-12-19 Compaq Computer Corporation Method and apparatus for sampling multiple potentially concurrent instructions in a processor pipeline
US6070009A (en) 1997-11-26 2000-05-30 Digital Equipment Corporation Method for estimating execution rates of program execution paths
US6256775B1 (en) 1997-12-11 2001-07-03 International Business Machines Corporation Facilities for detailed software performance analysis in a multithreaded processor
US6349406B1 (en) 1997-12-12 2002-02-19 International Business Machines Coporation Method and system for compensating for instrumentation overhead in trace data by computing average minimum event times
FR2772547B1 (fr) 1997-12-12 2000-01-21 Soudure Autogene Francaise Ensemble corps d'electrode/porte-electrode pour torche plasma
US6182210B1 (en) 1997-12-16 2001-01-30 Intel Corporation Processor having multiple program counters and trace buffers outside an execution pipeline
US6098169A (en) 1997-12-23 2000-08-01 Intel Corporation Thread performance analysis by monitoring processor performance event registers at thread switch
US6195765B1 (en) 1998-01-05 2001-02-27 Electronic Data Systems Corporation System and method for testing an application program
US6631514B1 (en) 1998-01-06 2003-10-07 Hewlett-Packard Development, L.P. Emulation system that uses dynamic binary translation and permits the safe speculation of trapping operations
JPH11194957A (ja) 1998-01-07 1999-07-21 Matsushita Electric Ind Co Ltd デバッグ支援装置、並列実行情報生成装置、及びこれらに適用されるプログラムを記録した記録媒体
US6374364B1 (en) 1998-01-20 2002-04-16 Honeywell International, Inc. Fault tolerant computing system using instruction counting
US6202207B1 (en) * 1998-01-28 2001-03-13 International Business Machines Corporation Method and a mechanism for synchronized updating of interoperating software
GB2333864B (en) * 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
JP3881763B2 (ja) * 1998-02-09 2007-02-14 株式会社ルネサステクノロジ データ処理装置
US6105129A (en) 1998-02-18 2000-08-15 Advanced Micro Devices, Inc. Converting register data from a first format type to a second format type if a second type instruction consumes data produced by a first type instruction
US6311327B1 (en) 1998-03-02 2001-10-30 Applied Microsystems Corp. Method and apparatus for analyzing software in a language-independent manner
GB9805485D0 (en) 1998-03-13 1998-05-13 Sgs Thomson Microelectronics Microcomputer
US6237019B1 (en) 1998-03-18 2001-05-22 International Business Machines Corporation Method and apparatus for performing a semaphore operation
US6185671B1 (en) * 1998-03-31 2001-02-06 Intel Corporation Checking data type of operands specified by an instruction using attributes in a tagged array architecture
US6067644A (en) * 1998-04-15 2000-05-23 International Business Machines Corporation System and method monitoring instruction progress within a processor
US6134676A (en) 1998-04-30 2000-10-17 International Business Machines Corporation Programmable hardware event monitoring method
US6189141B1 (en) 1998-05-04 2001-02-13 Hewlett-Packard Company Control path evaluating trace designator with dynamically adjustable thresholds for activation of tracing for high (hot) activity and low (cold) activity of flow control
US6247113B1 (en) * 1998-05-27 2001-06-12 Arm Limited Coprocessor opcode division by data type
US6735757B1 (en) 1998-06-04 2004-05-11 Gateway, Inc. Apparatus and method for checking component compatibility in a build to order computer system
US6317820B1 (en) 1998-06-05 2001-11-13 Texas Instruments Incorporated Dual-mode VLIW architecture providing a software-controlled varying mix of instruction-level and task-level parallelism
US6145123A (en) 1998-07-01 2000-11-07 Advanced Micro Devices, Inc. Trace on/off with breakpoint register
US6286584B1 (en) 1998-07-15 2001-09-11 James A. Frields Quick-change mechanism for a tie bar
US6243804B1 (en) 1998-07-22 2001-06-05 Scenix Semiconductor, Inc. Single cycle transition pipeline processing using shadow registers
US6073215A (en) 1998-08-03 2000-06-06 Motorola, Inc. Data processing system having a data prefetch mechanism and method therefor
US6240510B1 (en) * 1998-08-06 2001-05-29 Intel Corporation System for processing a cluster of instructions where the instructions are issued to the execution units having a priority order according to a template associated with the cluster of instructions
US6275893B1 (en) 1998-09-14 2001-08-14 Compaq Computer Corporation Method and apparatus for providing seamless hooking and intercepting of selected kernel and HAL exported entry points in an operating system
US6212675B1 (en) 1998-09-16 2001-04-03 International Business Machines Corporation Presentation of visual program test coverage information
US6189142B1 (en) 1998-09-16 2001-02-13 International Business Machines Corporation Visual program runtime performance analysis
US6324689B1 (en) 1998-09-30 2001-11-27 Compaq Computer Corporation Mechanism for re-writing an executable having mixed code and data
US6223338B1 (en) 1998-09-30 2001-04-24 International Business Machines Corporation Method and system for software instruction level tracing in a data processing system
JP3551353B2 (ja) 1998-10-02 2004-08-04 株式会社日立製作所 データ再配置方法
JP3123047B2 (ja) 1998-10-02 2001-01-09 日本電気株式会社 マイクロプロセッサ
US6192513B1 (en) 1998-11-02 2001-02-20 Hewlett-Packard Company Mechanism for finding spare registers in binary code
US6185652B1 (en) 1998-11-03 2001-02-06 International Business Machin Es Corporation Interrupt mechanism on NorthBay
US6351844B1 (en) 1998-11-05 2002-02-26 Hewlett-Packard Company Method for selecting active code traces for translation in a caching dynamic translator
US6826749B2 (en) 1998-12-08 2004-11-30 Nazomi Communications, Inc. Java hardware accelerator using thread manager
US6654781B1 (en) 1998-12-11 2003-11-25 International Business Machines Corporation Enhanced thread processing
US6636950B1 (en) 1998-12-17 2003-10-21 Massachusetts Institute Of Technology Computer architecture for shared memory access
US6253338B1 (en) * 1998-12-21 2001-06-26 International Business Machines Corporation System for tracing hardware counters utilizing programmed performance monitor to generate trace interrupt after each branch instruction or at the end of each code basic block
US6230313B1 (en) 1998-12-23 2001-05-08 Cray Inc. Parallelism performance analysis based on execution trace information
US6446019B1 (en) 1998-12-29 2002-09-03 Intel Corporation Method and apparatus for calibrating analog sensor measurement
US6404500B1 (en) 1999-01-25 2002-06-11 Aqua Check Systems, Inc Colorimeter apparatus and related process
US6484315B1 (en) 1999-02-01 2002-11-19 Cisco Technology, Inc. Method and system for dynamically distributing updates in a network
US6378066B1 (en) 1999-02-04 2002-04-23 Sun Microsystems, Inc. Method, apparatus, and article of manufacture for developing and executing data flow programs, and optimizing user input specifications
US6330662B1 (en) 1999-02-23 2001-12-11 Sun Microsystems, Inc. Apparatus including a fetch unit to include branch history information to increase performance of multi-cylce pipelined branch prediction structures
US6430741B1 (en) 1999-02-26 2002-08-06 Hewlett-Packard Company System and method for data coverage analysis of a computer program
US6526571B1 (en) 1999-03-16 2003-02-25 International Business Machines Corporation Method for identifying calls in java packages whose targets are guaranteed to belong to the same package
US6647301B1 (en) 1999-04-22 2003-11-11 Dow Global Technologies Inc. Process control system with integrated safety control system
US7086035B1 (en) 1999-05-13 2006-08-01 International Business Machines Corporation Method and system for counting non-speculative events in a speculative processor
US6562858B2 (en) 1999-05-17 2003-05-13 St. Elizabeth's Medical Center Of Boston, Inc. Method for treating depression
US6460693B1 (en) 1999-05-19 2002-10-08 Valley Design, Inc. Child resistant blister pack container with compound action release mechanism
US6501995B1 (en) 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
US6339818B1 (en) 1999-06-24 2002-01-15 International Business Machines Corporation Method and system for dynamically locating frequently accessed memory regions or locations
US6477703B1 (en) 1999-06-29 2002-11-05 Hewlett-Packard Company Software patch selection tool
US6446029B1 (en) 1999-06-30 2002-09-03 International Business Machines Corporation Method and system for providing temporal threshold support during performance monitoring of a pipelined processor
US6453468B1 (en) 1999-06-30 2002-09-17 B-Hub, Inc. Methods for improving reliability while upgrading software programs in a clustered computer system
US20030040955A1 (en) 1999-07-02 2003-02-27 The Nasdaq Stock Market, Inc., A Delaware Corporation Market monitoring architecture for detecting alert conditions
US6206235B1 (en) 1999-07-07 2001-03-27 Daniel Green Candy dispenser
US6459998B1 (en) 1999-07-24 2002-10-01 Gary R. Hoffman Sensing downed power lines
US7430670B1 (en) 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US6601233B1 (en) 1999-07-30 2003-07-29 Accenture Llp Business components framework
US6438743B1 (en) 1999-08-13 2002-08-20 Intrinsity, Inc. Method and apparatus for object cache registration and maintenance in a networked software development environment
US6457170B1 (en) 1999-08-13 2002-09-24 Intrinsity, Inc. Software system build method and apparatus that supports multiple users in a software development environment
US6406135B1 (en) 1999-08-23 2002-06-18 Canon Kabushiki Kaisha Ink jet recording head and recording apparatus using the same
US6549959B1 (en) * 1999-08-30 2003-04-15 Ati International Srl Detecting modification to computer memory by a DMA device
US6542985B1 (en) 1999-09-23 2003-04-01 Unisys Corporation Event counter
US6594820B1 (en) 1999-09-28 2003-07-15 Sun Microsystems, Inc. Method and apparatus for testing a process in a computer system
US6356615B1 (en) * 1999-10-13 2002-03-12 Transmeta Corporation Programmable event counter system
US6298521B1 (en) 1999-10-18 2001-10-09 Gary Butterfield Door knob sanitizing device
US6557096B1 (en) * 1999-10-25 2003-04-29 Intel Corporation Processors with data typer and aligner selectively coupling data bits of data buses to adder and multiplier functional blocks to execute instructions with flexible data types
US6550002B1 (en) 1999-11-04 2003-04-15 International Business Machines Corporation Method and system for detecting a flush of an instruction without a flush indicator
US6574727B1 (en) 1999-11-04 2003-06-03 International Business Machines Corporation Method and apparatus for instruction sampling for performance monitoring and debug
US6973417B1 (en) 1999-11-05 2005-12-06 Metrowerks Corporation Method and system for simulating execution of a target program in a simulated target system
US6718543B2 (en) 1999-11-08 2004-04-06 Hewlett-Packard Development Company, L.P. Method and apparatus for optimization of the performance of an application program in a computer system while preserving the system behavior
US6530042B1 (en) 1999-11-08 2003-03-04 International Business Machines Corporation Method and apparatus for monitoring the performance of internal queues in a microprocessor
US6871298B1 (en) * 1999-11-12 2005-03-22 Obsidian Software, Inc. Method and apparatus that simulates the execution of paralled instructions in processor functional verification testing
US6513045B1 (en) 1999-11-17 2003-01-28 International Business Machines Corporation Method and an apparatus for providing cross product automated user assistance in the planning, configuration, and management of information systems
US6681387B1 (en) 1999-12-01 2004-01-20 Board Of Trustees Of The University Of Illinois Method and apparatus for instruction execution hot spot detection and monitoring in a data processing unit
JP3600095B2 (ja) 1999-12-07 2004-12-08 松下電器産業株式会社 割り込み管理装置及び割り込み管理方法
US6480966B1 (en) * 1999-12-07 2002-11-12 International Business Machines Corporation Performance monitor synchronization in a multiprocessor system
US6598153B1 (en) 1999-12-10 2003-07-22 International Business Machines Corporation Processor and method that accelerate evaluation of pairs of condition-setting and branch instructions
US6560693B1 (en) * 1999-12-10 2003-05-06 International Business Machines Corporation Branch history guided instruction/data prefetching
JP3946397B2 (ja) 1999-12-24 2007-07-18 三菱電機株式会社 車載情報処理装置
JP3575593B2 (ja) 1999-12-27 2004-10-13 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクトのロック管理方法及び装置
US6848029B2 (en) * 2000-01-03 2005-01-25 Dirk Coldewey Method and apparatus for prefetching recursive data structures
US6549998B1 (en) 2000-01-14 2003-04-15 Agere Systems Inc. Address generator for interleaving data
JP2001202270A (ja) 2000-01-21 2001-07-27 Mitsubishi Electric Corp 内部バストレース機能付プロセッサ
US6772322B1 (en) * 2000-01-21 2004-08-03 Intel Corporation Method and apparatus to monitor the performance of a processor
TW457432B (en) 2000-02-11 2001-10-01 Via Tech Inc Method to resolve the interrupt problem of data stream and the device thereof
US6735666B1 (en) * 2000-02-22 2004-05-11 Wind River Systems, Inc. Method of providing direct user task access to operating system data structures
US6721875B1 (en) 2000-02-22 2004-04-13 Hewlett-Packard Development Company, L.P. Method and apparatus for implementing a single-syllable IP-relative branch instruction and a long IP-relative branch instruction in a processor which fetches instructions in bundle form
US6865663B2 (en) 2000-02-24 2005-03-08 Pts Corporation Control processor dynamically loading shadow instruction register associated with memory entry of coprocessor in flexible coupling mode
JP2001265609A (ja) 2000-03-16 2001-09-28 Omron Corp 演算処理装置
US6862729B1 (en) 2000-04-04 2005-03-01 Microsoft Corporation Profile-driven data layout optimization
US6687807B1 (en) 2000-04-18 2004-02-03 Sun Microystems, Inc. Method for apparatus for prefetching linked data structures
JP2001312374A (ja) 2000-04-28 2001-11-09 Fujitsu Ltd 記憶装置及びアクセス制御方法
EP1150213B1 (en) * 2000-04-28 2012-01-25 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Data processing system and method
US7024668B2 (en) 2000-05-15 2006-04-04 Matsushita Electric Industrial Co., Ltd. Application execution apparatus and method
US6725457B1 (en) 2000-05-17 2004-04-20 Nvidia Corporation Semaphore enhancement to improve system performance
US6951018B2 (en) 2000-05-30 2005-09-27 Sun Microsystems, Inc. Method and apparatus for efficiently tracking monitors
DE10028500A1 (de) 2000-06-08 2002-01-03 Deutsche Telekom Ag Verfahren zur Installation von Software in einer Hardware
US6961681B1 (en) 2000-09-12 2005-11-01 Microsoft Corporation System and method providing virtual applications architecture
US6557083B1 (en) 2000-06-30 2003-04-29 Intel Corporation Memory system for multiple data types
US6678755B1 (en) 2000-06-30 2004-01-13 Micron Technology, Inc. Method and apparatus for appending memory commands during a direct memory access operation
US6658416B1 (en) 2000-07-10 2003-12-02 International Business Machines Corporation Apparatus and method for creating an indexed database of symbolic data for use with trace data of a computer program
US6973542B1 (en) 2000-07-18 2005-12-06 International Business Machines Corporation Detecting when to prefetch inodes and then prefetching inodes in parallel
JP2002110537A (ja) 2000-07-19 2002-04-12 Nikon Corp マスク描画用電子線露光装置
US6918106B1 (en) 2000-07-31 2005-07-12 Sun Microsystems, Inc. Method and apparatus for collocating dynamically loaded program files
US6928521B1 (en) 2000-08-01 2005-08-09 International Business Machines Corporation Method, system, and data structures for using metadata in updating data in a storage device
US6757771B2 (en) 2000-08-09 2004-06-29 Advanced Micro Devices, Inc. Stack switching mechanism in a computer system
US6948059B1 (en) 2000-09-28 2005-09-20 Rockwell Automation Technologies, Inc. Component loader for industrial control device providing resource search capabilities
US6782454B1 (en) 2000-09-29 2004-08-24 Sun Microsystems, Inc. System and method for pre-fetching for pointer linked data structures
US6775825B1 (en) 2000-10-31 2004-08-10 Hewlett-Packard Development Company, L.P. Common software application definition for resource management
US6971091B1 (en) 2000-11-01 2005-11-29 International Business Machines Corporation System and method for adaptively optimizing program execution by sampling at selected program points
FI117143B (fi) 2000-11-30 2006-06-30 Metso Automation Oy Soodakattilan nuohousmenetelmä ja -laitteisto
US20020073406A1 (en) 2000-12-12 2002-06-13 Darryl Gove Using performance counter profiling to drive compiler optimization
US6480938B2 (en) 2000-12-15 2002-11-12 Hewlett-Packard Company Efficient I-cache structure to support instructions crossing line boundaries
US6857083B2 (en) 2000-12-18 2005-02-15 International Business Machines Corporation Method and system for triggering a debugging unit
US7448025B2 (en) 2000-12-29 2008-11-04 Intel Corporation Qualification of event detection by thread ID and thread privilege level
US6665776B2 (en) 2001-01-04 2003-12-16 Hewlett-Packard Development Company L.P. Apparatus and method for speculative prefetching after data cache misses
US6785844B2 (en) 2001-01-26 2004-08-31 Dell Products L.P. Automated test system and method for computer factory install environment
US7093236B2 (en) 2001-02-01 2006-08-15 Arm Limited Tracing out-of-order data
US6865667B2 (en) 2001-03-05 2005-03-08 Freescale Semiconductors, Inc. Data processing system having redirecting circuitry and method therefor
US6519310B2 (en) 2001-03-28 2003-02-11 Intel Corporation Hardware event based flow control of counters
US6966057B2 (en) 2001-03-30 2005-11-15 Intel Corporation Static compilation of instrumentation code for debugging support
US20030066055A1 (en) 2001-04-26 2003-04-03 Spivey John Michael Profiling computer programs
US20020169738A1 (en) 2001-05-10 2002-11-14 Giel Peter Van Method and system for auditing an enterprise configuration
JP4445160B2 (ja) 2001-05-18 2010-04-07 富士通株式会社 イベント計測装置および方法並びにイベント計測プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体並びにプロセッサシステム
EP1395908A1 (en) 2001-05-22 2004-03-10 Koninklijke Philips Electronics N.V. Method and system for accelerated access to a memory
US20020199179A1 (en) 2001-06-21 2002-12-26 Lavery Daniel M. Method and apparatus for compiler-generated triggering of auxiliary codes
US6988186B2 (en) 2001-06-28 2006-01-17 International Business Machines Corporation Shared resource queue for simultaneous multithreading processing wherein entries allocated to different threads are capable of being interspersed among each other and a head pointer for one thread is capable of wrapping around its own tail in order to access a free entry
US20030005422A1 (en) 2001-07-02 2003-01-02 Nicolai Kosche Technique for improving the prediction rate of dynamically unpredictable branches
US6742179B2 (en) 2001-07-12 2004-05-25 International Business Machines Corporation Restructuring of executable computer code and large data sets
US6848030B2 (en) 2001-07-20 2005-01-25 Freescale Semiconductor, Inc. Method and apparatus for filling lines in a cache
GB2379039B (en) * 2001-08-22 2005-03-23 Ibm Transaction processing in a distributed data processing system
US6430938B1 (en) 2001-10-18 2002-08-13 Praxair Technology, Inc. Cryogenic vessel system with pulse tube refrigeration
US6687794B2 (en) * 2001-10-18 2004-02-03 International Business Machines Corporation Prefetching mechanism for data caches
US20030131343A1 (en) 2001-10-19 2003-07-10 French Ronan J. Framework for system monitoring
CA2359862A1 (en) 2001-10-24 2003-04-24 Ibm Canada Limited - Ibm Canada Limitee Using identifiers and counters for controlled optimization compilation
US7093154B2 (en) 2001-10-25 2006-08-15 International Business Machines Corporation Critical adapter local error handling
US6775728B2 (en) 2001-11-15 2004-08-10 Intel Corporation Method and system for concurrent handler execution in an SMI and PMI-based dispatch-execution framework
US20030126590A1 (en) 2001-12-28 2003-07-03 Michael Burrows System and method for dynamic data-type checking
US6928582B2 (en) 2002-01-04 2005-08-09 Intel Corporation Method for fast exception handling
US20030135720A1 (en) * 2002-01-14 2003-07-17 International Business Machines Corporation Method and system using hardware assistance for instruction tracing with secondary set of interruption resources
US20030135719A1 (en) 2002-01-14 2003-07-17 International Business Machines Corporation Method and system using hardware assistance for tracing instruction disposition information
US7035996B2 (en) * 2002-01-17 2006-04-25 Raytheon Company Generating data type token value error in stream computer
US7168067B2 (en) 2002-02-08 2007-01-23 Agere Systems Inc. Multiprocessor system with cache-based software breakpoints
US7069541B2 (en) 2002-03-01 2006-06-27 Bellsouth Intellectual Property Corporation System and method for a web-based application development and deployment tracking tool
US7131115B2 (en) 2002-03-25 2006-10-31 Hewlett-Packard Development Company, L.P. Unwinding instrumented program code
US7089535B2 (en) 2002-03-28 2006-08-08 International Business Machines Corporation Code coverage with an integrated development environment
US6832296B2 (en) 2002-04-09 2004-12-14 Ip-First, Llc Microprocessor with repeat prefetch instruction
US6732354B2 (en) 2002-04-23 2004-05-04 Quicksilver Technology, Inc. Method, system and software for programming reconfigurable hardware
US7577951B2 (en) 2002-05-30 2009-08-18 Hewlett-Packard Development Company, L.P. Performance of computer programs while they are running
WO2004001584A2 (en) 2002-06-24 2003-12-31 Ante Vista Gmbh A method for executing structured symbolic machine code on a microprocessor
JP4077252B2 (ja) 2002-06-28 2008-04-16 富士通株式会社 コンパイラプログラムおよびコンパイル処理方法
KR100481854B1 (ko) 2002-07-29 2005-04-11 삼성전자주식회사 온칩 터미네이션기능을 가진 집적회로장치
US6970999B2 (en) 2002-07-31 2005-11-29 International Business Machines Corporation Counting latencies of an instruction table flush, refill and instruction execution using a plurality of assigned counters
US9003376B2 (en) 2002-08-09 2015-04-07 Texas Instruments Incorporated Software breakpoints with tailoring for multiple processor shared memory or multiple thread systems
US6840829B2 (en) 2002-08-30 2005-01-11 Kawasaki Jukogyo Kabushiki Kaisha Jet-propulsion watercraft
US7296259B2 (en) 2002-09-11 2007-11-13 Agere Systems Inc. Processor system with cache-based software breakpoints
US6774724B2 (en) 2002-11-21 2004-08-10 Motorola, Inc. Radio frequency power amplifier active self-bias compensation circuit
US7818519B2 (en) 2002-12-02 2010-10-19 Silverbrook Research Pty Ltd Timeslot arbitration scheme
US7155575B2 (en) 2002-12-18 2006-12-26 Intel Corporation Adaptive prefetch for irregular access patterns
US20040128651A1 (en) 2002-12-31 2004-07-01 Michael Lau Method and system for testing provisioning and interoperability of computer system services
US7237242B2 (en) 2002-12-31 2007-06-26 International Business Machines Corporation Dynamic thread pool tuning techniques
US7207043B2 (en) 2002-12-31 2007-04-17 International Business Machines Corporation Programmatic response-time based workload distribution techniques
US6948032B2 (en) 2003-01-29 2005-09-20 Sun Microsystems, Inc. Method and apparatus for reducing the effects of hot spots in cache memories
US7114150B2 (en) 2003-02-13 2006-09-26 International Business Machines Corporation Apparatus and method for dynamic instrumenting of code to minimize system perturbation
US7290254B2 (en) 2003-03-25 2007-10-30 Intel Corporation Combining compilation and instruction set translation
JP3955285B2 (ja) 2003-03-27 2007-08-08 松下電器産業株式会社 モータ駆動用インバータ制御装置および空気調和機
US6944722B2 (en) 2003-04-14 2005-09-13 Sun Microsystems, Inc. Method and system for postmortem identification of falsely shared memory objects
US7469407B2 (en) 2003-04-24 2008-12-23 International Business Machines Corporation Method for resource balancing using dispatch flush in a simultaneous multithread processor
US6981128B2 (en) 2003-04-24 2005-12-27 International Business Machines Corporation Atomic quad word storage in a simultaneous multithreaded system
US7181723B2 (en) 2003-05-27 2007-02-20 Intel Corporation Methods and apparatus for stride profiling a software application
US7194732B2 (en) 2003-06-26 2007-03-20 Hewlett-Packard Development Company, L.P. System and method for facilitating profiling an application
US7415699B2 (en) 2003-06-27 2008-08-19 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling execution of a child process generated by a modified parent process
US7594219B2 (en) 2003-07-24 2009-09-22 International Business Machines Corporation Method and apparatus for monitoring compatibility of software combinations
US6918606B2 (en) 2003-08-11 2005-07-19 Radio Flyer Inc. Tricycle push handle arrangement
US20050071611A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus for counting data accesses and instruction executions that exceed a threshold
US20050071612A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus for generating interrupts upon execution of marked instructions and upon access to marked memory locations
US20050071821A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus to autonomically select instructions for selective counting
US20050071816A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus to autonomically count instruction execution for applications
US20050071608A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus for selectively counting instructions and data accesses
US7373637B2 (en) * 2003-09-30 2008-05-13 International Business Machines Corporation Method and apparatus for counting instruction and memory location ranges
US20050071609A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus to autonomically take an exception on specified instructions
US7395527B2 (en) 2003-09-30 2008-07-01 International Business Machines Corporation Method and apparatus for counting instruction execution and data accesses
US20050071610A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus for debug support for individual instructions and memory locations
US7937691B2 (en) * 2003-09-30 2011-05-03 International Business Machines Corporation Method and apparatus for counting execution of specific instructions and accesses to specific data locations
US20050071516A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus to autonomically profile applications
TWI258078B (en) 2003-10-07 2006-07-11 Via Tech Inc Pre-fetch controller and method thereof
US7225309B2 (en) 2003-10-09 2007-05-29 International Business Machines Corporation Method and system for autonomic performance improvements in an application via memory relocation
US8381037B2 (en) 2003-10-09 2013-02-19 International Business Machines Corporation Method and system for autonomic execution path selection in an application
US7421681B2 (en) 2003-10-09 2008-09-02 International Business Machines Corporation Method and system for autonomic monitoring of semaphore operation in an application
US6925424B2 (en) 2003-10-16 2005-08-02 International Business Machines Corporation Method, apparatus and computer program product for efficient per thread performance information
US20050091456A1 (en) * 2003-10-23 2005-04-28 Huck Jerome C. Determining an arrangement of data in a memory for cache efficiency
US7458078B2 (en) 2003-11-06 2008-11-25 International Business Machines Corporation Apparatus and method for autonomic hardware assisted thread stack tracking
US7257657B2 (en) * 2003-11-06 2007-08-14 International Business Machines Corporation Method and apparatus for counting instruction execution and data accesses for specific types of instructions
US7162594B2 (en) * 2003-11-19 2007-01-09 Buffalo Inc. Memory module indicator device
US7415705B2 (en) 2004-01-14 2008-08-19 International Business Machines Corporation Autonomic method and apparatus for hardware assist for patching code
US7114036B2 (en) 2004-01-14 2006-09-26 International Business Machines Corporation Method and apparatus for autonomically moving cache entries to dedicated storage when false cache line sharing is detected
US7082486B2 (en) 2004-01-14 2006-07-25 International Business Machines Corporation Method and apparatus for counting interrupts by type
US7526757B2 (en) 2004-01-14 2009-04-28 International Business Machines Corporation Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program
US7093081B2 (en) 2004-01-14 2006-08-15 International Business Machines Corporation Method and apparatus for identifying false cache line sharing
US7197586B2 (en) 2004-01-14 2007-03-27 International Business Machines Corporation Method and system for recording events of an interrupt using pre-interrupt handler and post-interrupt handler
US7392370B2 (en) 2004-01-14 2008-06-24 International Business Machines Corporation Method and apparatus for autonomically initiating measurement of secondary metrics based on hardware counter values for primary metrics
US20050155022A1 (en) 2004-01-14 2005-07-14 International Business Machines Corporation Method and apparatus for counting instruction execution and data accesses to identify hot spots
US7181599B2 (en) 2004-01-14 2007-02-20 International Business Machines Corporation Method and apparatus for autonomic detection of cache “chase tail” conditions and storage of instructions/data in “chase tail” data structure
US20050155018A1 (en) 2004-01-14 2005-07-14 International Business Machines Corporation Method and apparatus for generating interrupts based on arithmetic combinations of performance counter values
US7290255B2 (en) 2004-01-14 2007-10-30 International Business Machines Corporation Autonomic method and apparatus for local program code reorganization using branch count per instruction hardware
US7293164B2 (en) 2004-01-14 2007-11-06 International Business Machines Corporation Autonomic method and apparatus for counting branch instructions to generate branch statistics meant to improve branch predictions
US7496908B2 (en) 2004-01-14 2009-02-24 International Business Machines Corporation Method and apparatus for optimizing code execution using annotated trace information having performance indicator and counter information
US7895382B2 (en) 2004-01-14 2011-02-22 International Business Machines Corporation Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs
CA2494000C (en) 2004-01-23 2014-12-02 Kevin Mckenzie Remotely activated tank hatch system
US7987453B2 (en) 2004-03-18 2011-07-26 International Business Machines Corporation Method and apparatus for determining computer program flows autonomically using hardware assisted thread stack tracking and cataloged symbolic data
US20050210450A1 (en) 2004-03-22 2005-09-22 Dimpsey Robert T Method and appartus for hardware assistance for data access coverage
US7480899B2 (en) 2004-03-22 2009-01-20 International Business Machines Corporation Method and apparatus for autonomic test case feedback using hardware assistance for code coverage
US8135915B2 (en) 2004-03-22 2012-03-13 International Business Machines Corporation Method and apparatus for hardware assistance for prefetching a pointer to a data structure identified by a prefetch indicator
US7299319B2 (en) 2004-03-22 2007-11-20 International Business Machines Corporation Method and apparatus for providing hardware assistance for code coverage
US7421684B2 (en) 2004-03-22 2008-09-02 International Business Machines Corporation Method and apparatus for autonomic test case feedback using hardware assistance for data coverage
US7526616B2 (en) 2004-03-22 2009-04-28 International Business Machines Corporation Method and apparatus for prefetching data from a data structure
US7296130B2 (en) 2004-03-22 2007-11-13 International Business Machines Corporation Method and apparatus for providing hardware assistance for data access coverage on dynamically allocated data
US7895473B2 (en) 2004-04-29 2011-02-22 International Business Machines Corporation Method and apparatus for identifying access states for variables
CA2594754A1 (en) 2005-01-13 2006-07-20 Hsbc North America Holdings Inc. Computer software implemented framework for configuration and release management of group systems software, and method for same
US20080088609A1 (en) 2006-10-16 2008-04-17 King I Tech Corporation Control system with a display interface for a fitness equipment meter
JP5103127B2 (ja) 2007-10-05 2012-12-19 株式会社日立製作所 Rfidタグ
US20090287729A1 (en) 2008-05-16 2009-11-19 Microsoft Corporation Source code coverage testing
US20090300587A1 (en) 2008-05-27 2009-12-03 Microsoft Corporation Determining domain data coverage in testing database applications
US20110105970A1 (en) 2009-11-02 2011-05-05 Gainer Jr James V Anatomical support braces and methods

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239183A (zh) * 2014-09-22 2014-12-24 北京国双科技有限公司 监测系统性能的方法及装置
CN104239183B (zh) * 2014-09-22 2017-10-27 北京国双科技有限公司 监测系统性能的方法及装置
CN108509255A (zh) * 2017-02-24 2018-09-07 龙芯中科技术有限公司 硬件中断的处理方法和装置
CN108509255B (zh) * 2017-02-24 2021-01-22 龙芯中科技术股份有限公司 硬件中断的处理方法和装置
CN111209155A (zh) * 2018-11-21 2020-05-29 华夏芯(北京)通用处理器技术有限公司 一种便于扩展和配置的性能检测方法
CN111209155B (zh) * 2018-11-21 2022-09-23 华夏芯(北京)通用处理器技术有限公司 一种便于扩展和配置的性能检测方法
WO2023241478A1 (zh) * 2022-06-13 2023-12-21 上海寒武纪信息科技有限公司 人工智能加速器流水线性能分析方法及设备

Also Published As

Publication number Publication date
US20110106994A1 (en) 2011-05-05
TW200540612A (en) 2005-12-16
CN100383754C (zh) 2008-04-23
TWI370968B (en) 2012-08-21
US8615619B2 (en) 2013-12-24
US20050154811A1 (en) 2005-07-14
US7895382B2 (en) 2011-02-22

Similar Documents

Publication Publication Date Title
CN100383754C (zh) 发生中断时按其类型限定性能监视事件收集的方法与装置
CN100407147C (zh) 为记录事件提供前置与后置处理程序的方法
CN100382061C (zh) 按照类型对中断计数的方法和装置
CN1252594C (zh) 使能跟踪重复指令的方法和系统
US7657875B2 (en) System and method for collecting a plurality of metrics in a single profiling run of computer code
US7640539B2 (en) Instruction profiling using multiple metrics
JP4749745B2 (ja) コード・カバレッジ用のハードウェア支援を使用する自律テスト・ケース・フィードバックのための方法および装置
US8141099B2 (en) Autonomic method and apparatus for hardware assist for patching code
US7725298B2 (en) Event tracing with time stamp compression
US20060212242A1 (en) Event tracing with time stamp compression and history buffer based compression
US20120278594A1 (en) Performance bottleneck identification tool
CN101246447B (zh) 用于测量微处理器中的流水线停顿的方法和装置
US7290255B2 (en) Autonomic method and apparatus for local program code reorganization using branch count per instruction hardware
TW200527198A (en) Method and apparatus to autonomically profile applications
US7620801B2 (en) Methods to randomly or pseudo-randomly, without bias, select instruction for performance analysis in a microprocessor
US20040193395A1 (en) Program analyzer for a cycle accurate simulator
US20220100626A1 (en) Monitoring performance cost of events

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant