CN1648871A - 发生中断时按其类型限定性能监视事件收集的方法与装置 - Google Patents
发生中断时按其类型限定性能监视事件收集的方法与装置 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring 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所述的计算机程序产品,其中第一中断由第二中断中断,并且其中硬件计数器分离地计数在第一与第二中断期间发生的事件。
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)
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)
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 |
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 |
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 |
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 |
US7720670B2 (en) * | 2005-05-16 | 2010-05-18 | Texas Instruments Incorporated | Saving resources by deducing the total prediction events |
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)
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 |
FR2253423A5 (zh) | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
FR2253418A5 (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 | 半導体集積回路 |
JP2777496B2 (ja) | 1991-02-28 | 1998-07-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステムにおいてマルチプロセスをプロファイリングする際の使用方法 |
EP0501613A3 (en) | 1991-02-28 | 1993-09-01 | Hewlett-Packard Company | Heterogeneous software configuration management apparatus |
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 |
AU6133594A (en) | 1993-02-08 | 1994-08-29 | 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 |
US6408386B1 (en) | 1995-06-07 | 2002-06-18 | Intel Corporation | Method and apparatus for providing event handling functionality in a computer system |
US5684030A (en) | 1995-06-07 | 1997-11-04 | American Home Products Corporation | 2-substituted benzimidazole derivatives |
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 |
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 |
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 |
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 |
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 |
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 |
JP3717212B2 (ja) | 1995-10-27 | 2005-11-16 | 株式会社日立製作所 | 情報処理装置及び情報処理ユニット |
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 |
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 |
EP1310864A2 (en) | 1996-05-30 | 2003-05-14 | Matsushita Electric Industrial Co., Ltd. | Method and circuit for conditional-flag rewriting 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 |
US5862381A (en) | 1996-11-26 | 1999-01-19 | International Business Machines Corporation | Visualization tool for graphically displaying trace data |
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 |
US5887159A (en) | 1996-12-11 | 1999-03-23 | Digital Equipment Corporation | Dynamically determining instruction hint fields |
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 |
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 |
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 |
US6189072B1 (en) | 1996-12-17 | 2001-02-13 | International Business Machines Corporation | Performance monitoring of cache misses and instructions completed for instruction parallelism analysis |
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 |
US5796939A (en) | 1997-03-10 | 1998-08-18 | Digital Equipment Corporation | High frequency sampling of processor performance counters |
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 |
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 |
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 |
US6119075A (en) | 1997-11-26 | 2000-09-12 | Digital Equipment Corporation | Method for estimating statistics of properties of interactions processed by a processor pipeline |
US6549930B1 (en) | 1997-11-26 | 2003-04-15 | Compaq Computer Corporation | Method for scheduling threads in a multithreaded processor |
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 |
GB2333864B (en) | 1998-01-28 | 2003-05-07 | Ibm | Distribution of software updates via a computer network |
US6202207B1 (en) | 1998-01-28 | 2001-03-13 | International Business Machines Corporation | Method and a mechanism for synchronized updating of interoperating software |
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 |
US6189142B1 (en) | 1998-09-16 | 2001-02-13 | International Business Machines Corporation | Visual program runtime performance analysis |
US6212675B1 (en) | 1998-09-16 | 2001-04-03 | International Business Machines Corporation | Presentation of visual program test coverage information |
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 |
US6324689B1 (en) | 1998-09-30 | 2001-11-27 | Compaq Computer Corporation | Mechanism for re-writing an executable having mixed code and data |
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 |
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 |
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 |
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 |
US6480966B1 (en) * | 1999-12-07 | 2002-11-12 | International Business Machines Corporation | Performance monitor synchronization in a multiprocessor system |
JP3600095B2 (ja) | 1999-12-07 | 2004-12-08 | 松下電器産業株式会社 | 割り込み管理装置及び割り込み管理方法 |
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 |
US6772322B1 (en) * | 2000-01-21 | 2004-08-03 | Intel Corporation | Method and apparatus to monitor the performance of a processor |
JP2001202270A (ja) | 2000-01-21 | 2001-07-27 | Mitsubishi Electric Corp | 内部バストレース機能付プロセッサ |
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 |
EP1150213B1 (en) | 2000-04-28 | 2012-01-25 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Data processing system and method |
JP2001312374A (ja) | 2000-04-28 | 2001-11-09 | Fujitsu Ltd | 記憶装置及びアクセス制御方法 |
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 |
US6678755B1 (en) | 2000-06-30 | 2004-01-13 | Micron Technology, Inc. | Method and apparatus for appending memory commands during a direct memory access operation |
US6557083B1 (en) | 2000-06-30 | 2003-04-29 | Intel Corporation | Memory system for multiple data types |
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 | 富士通株式会社 | イベント計測装置および方法並びにイベント計測プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体並びにプロセッサシステム |
WO2002095601A1 (en) | 2001-05-22 | 2002-11-28 | 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 |
US20030135719A1 (en) | 2002-01-14 | 2003-07-17 | International Business Machines Corporation | Method and system using hardware assistance for tracing instruction disposition information |
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 |
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 |
US7152942B2 (en) | 2002-12-02 | 2006-12-26 | Silverbrook Research Pty Ltd | Fixative compensation |
US7155575B2 (en) | 2002-12-18 | 2006-12-26 | Intel Corporation | Adaptive prefetch for irregular access patterns |
US7207043B2 (en) | 2002-12-31 | 2007-04-17 | International Business Machines Corporation | Programmatic response-time based workload distribution techniques |
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 |
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 |
US6981128B2 (en) | 2003-04-24 | 2005-12-27 | International Business Machines Corporation | Atomic quad word storage in a simultaneous multithreaded system |
US7469407B2 (en) | 2003-04-24 | 2008-12-23 | International Business Machines Corporation | Method for resource balancing using dispatch flush in a simultaneous multithread processor |
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 |
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 |
US20050071821A1 (en) | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically select instructions for selective counting |
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 |
US20050071516A1 (en) | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically profile applications |
US20050071816A1 (en) | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically count instruction execution for applications |
US20050071610A1 (en) | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for debug support for individual instructions and memory locations |
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 |
US20050071609A1 (en) | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically take an exception on specified instructions |
US20050071608A1 (en) | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for selectively counting instructions and data accesses |
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 |
TWI258078B (en) | 2003-10-07 | 2006-07-11 | Via Tech Inc | Pre-fetch controller and method thereof |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
US7093081B2 (en) | 2004-01-14 | 2006-08-15 | International Business Machines Corporation | Method and apparatus for identifying false cache line sharing |
US7082486B2 (en) | 2004-01-14 | 2006-07-25 | International Business Machines Corporation | Method and apparatus for counting interrupts by type |
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 |
US7415705B2 (en) | 2004-01-14 | 2008-08-19 | International Business Machines Corporation | Autonomic method and apparatus for hardware assist for patching code |
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 |
US7526616B2 (en) | 2004-03-22 | 2009-04-28 | International Business Machines Corporation | Method and apparatus for prefetching data from a data structure |
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 |
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 |
US7299319B2 (en) | 2004-03-22 | 2007-11-20 | International Business Machines Corporation | Method and apparatus for providing hardware assistance for code coverage |
US20050210450A1 (en) | 2004-03-22 | 2005-09-22 | Dimpsey Robert T | Method and appartus for hardware assistance for data access coverage |
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 |
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 |
US7895473B2 (en) | 2004-04-29 | 2011-02-22 | International Business Machines Corporation | Method and apparatus for identifying access states for variables |
EP1854024A4 (en) | 2005-01-13 | 2008-11-05 | Hsbc North America Holdings In | COMPUTER SOFTWARE IMPLEMENTED FRAME FOR THE CONFIGURATION AND OUTPUT MANAGEMENT OF GROUP SYSTEM SOFTWARE AND METHOD THEREFOR |
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 |
-
2004
- 2004-01-14 US US10/757,186 patent/US7895382B2/en active Active
-
2005
- 2005-01-03 TW TW094100082A patent/TWI370968B/zh active
- 2005-01-14 CN CNB2005100046186A patent/CN100383754C/zh active Active
-
2011
- 2011-01-11 US US13/004,153 patent/US8615619B2/en active Active
Cited By (7)
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 |
---|---|
US20050154811A1 (en) | 2005-07-14 |
US8615619B2 (en) | 2013-12-24 |
TWI370968B (en) | 2012-08-21 |
CN100383754C (zh) | 2008-04-23 |
US7895382B2 (en) | 2011-02-22 |
US20110106994A1 (en) | 2011-05-05 |
TW200540612A (en) | 2005-12-16 |
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 | |
US9032375B2 (en) | Performance bottleneck identification tool | |
US20060212242A1 (en) | Event tracing with time stamp compression and history buffer based compression | |
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 |