CN102947803B - 对指令执行次数进行计数的方法、系统及处理器 - Google Patents

对指令执行次数进行计数的方法、系统及处理器 Download PDF

Info

Publication number
CN102947803B
CN102947803B CN201080004276.7A CN201080004276A CN102947803B CN 102947803 B CN102947803 B CN 102947803B CN 201080004276 A CN201080004276 A CN 201080004276A CN 102947803 B CN102947803 B CN 102947803B
Authority
CN
China
Prior art keywords
instruction
counting
module
designated order
processor
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.)
Expired - Fee Related
Application number
CN201080004276.7A
Other languages
English (en)
Other versions
CN102947803A (zh
Inventor
韩冰
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.)
Shenzhen Zhitong World Technology Service Co. Ltd.
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN102947803A publication Critical patent/CN102947803A/zh
Application granted granted Critical
Publication of CN102947803B publication Critical patent/CN102947803B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/3476Data logging
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种对指令执行次数进行计数的方法、系统及处理器,属于计算机领域。所述方法包括:在指定指令上添加计数信息;在处理器内部设置计数模块,当所述处理器执行所述指定指令时,所述计数模块根据所述正在执行的指定指令的计数信息,在对应的寄存器中对所述正在执行的指定指令的执行次数进行计数。所述系统包括:预定处理器和存储计数装置。所述处理器包括:添加模块、第二执行模块、第二计数模块和寄存器。本发明实施例通过在处理器内设置计数模块,当处理器执行指令时,该计数模块对正在执行的指令的执行次数进行计数,而不在软件系统中写用来计数的指令,因此大大提高了软件系统的性能。

Description

对指令执行次数进行计数的方法、系统及处理器
技术领域
本发明实施例涉及计算机领域,尤其涉及一种对指令执行次数进行计数的方法、系统及处理器。
背景技术
处理器是计算机中解释并执行指令的功能部件。在处理器执行指令时,有时需要对指令的执行次数进行计数,根据指令执行次数的计数情况来解决实际中遇到的问题。例如,根据指令执行次数的计数情况来动态设计软件系统,确定软件系统中的主要业务流程;在一些不能诊断调试的嵌入式系统或者对可靠性要求很高的用户生产环境中,通过指令执行次数的计数来确定当前软件系统在运行哪些流程,处理过哪些错误流程,以缩小出现问题的范围,提高解决问题的效率。
现有技术对指令执行次数的计数是通过在软件系统中写用来计数的指令,处理器通过运行这些用来计数的指令来实现计数。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
在软件系统中写用来计数的指令,使得软件系统的性能大大降低。
发明内容
本发明实施例提供一种对指令执行次数进行计数的方法、系统及处理器,解决现有技术中在软件系统写用来计数的指令而导致软件系统性能大大降低的缺陷,以提高软件系统的性能。
本发明实施例提供了一种对指令执行次数进行计数的方法,包括:
对应预定处理器的指令空间地址在存储空间中划分计数空间;
在所述预定处理器内设置计数模块,当所述预定处理器执行第一指令时,所述计数模块根据所述第一指令的地址,在所述计数空间中的对应位置对所述第一指令的执行次数进行计数。
本发明实施例提供了一种对指令执行次数进行计数的方法,包括:
在指定指令上添加计数信息;
在处理器内部设置计数模块,当所述处理器执行所述指定指令时,所述计数模块根据所述正在执行的指定指令的计数信息,在对应的寄存器中对所述正在执行的指定指令的执行次数进行计数。
本发明实施例提供了一种对指令执行次数进行计数的系统,所述系统包括:预定处理器和存储计数装置;
所述预定处理器包括第一执行模块和第一计数模块;
所述第一执行模块,用于执行第一指令;
所述第一计数模块,用于当所述第一执行模块执行所述第一指令时,根据所述正在执行的第一指令的地址,在所述存储计数装置中的对应位置对所述第一指令的执行次数进行计数。
本发明实施例提供了一种处理器,所述处理器包括:添加模块、第二执行模块、第二计数模块和寄存器;
所述添加模块,用于在指定指令上添加计数信息;
所述第二执行模块,用于执行所述指定指令;
所述第二计数模块,用于当所述第二执行模块执行所述指定指令时,根据所述添加模块添加的计数信息,在所述寄存器中对所述第二执行模块正在执行的指定指令的执行次数进行计数。
本发明实施例通过在处理器内设置计数模块,当处理器执行指令时,该计数模块对正在执行的指令的执行次数进行计数,而不在软件系统中写用来计数的指令,因此大大提高了软件系统的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明对指令执行次数进行计数的方法第一实施例流程示意图;
图2为本发明对指令执行次数进行计数的方法第二实施例流程示意图;
图3为本发明计数模块进行计数的流程示意图;
图4为本发明对指令执行次数进行计数的系统第一实施例结构示意图;
图5为本发明处理器的第一实施例结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
图1为本发明对指令执行次数进行计数的方法第一实施例流程示意图,如图1所示,本方法包括:
101:对应预定处理器的指令空间地址,在预设的存储空间中划分计数空间,该计数空间用于存储指令执行次数的计数结果;
本发明实施例中,预定处理器是指非冯-诺伊曼架构的处理器,在非冯-诺伊曼架构的处理器中,指令空间是独立存在的,因此非冯-诺伊曼架构的处理器主要是专用处理器。
具体的,对应指令空间地址可以创建1∶1的计数空间;1∶1的意思是指令空间有多大,就创建多大的计数空间。由于对所有指令都计数,指令地址即为计数索引,因此可以不用存储计数索引,就可以简单方便的实现计数。本实施例中预设的存储空间可以是高速内存或者寄存器。
102:在上述预定处理器内设置一个计数模块,当该预定处理器执行第一指令时,该计数模块根据第一指令的地址在上述计数空间中的对应位置对第一指令的执行次数进行计数。
本实施例中计数模块可以是计数器或累加器,但不限于这两种计数器或累加器,只要可以达到计数目的的硬件单元都可以。在预定处理器内部可以通过门电路或者触发器等硬件电路对计数模块进行设置,使得当预定处理器执行第一指令时,该计数模块就根据第一指令的地址在上述计数空间中的对应位置对第一指令的执行次数进行计数。
具体的,如果在高速内存中划分出计数空间,则当预定处理器执行第一指令时,该计数模块先从高速内存中读取该第一指令当前的执行次数,然后将该执行次数加1,最后将更新后的第一指令的执行次数存储在高速内存中;如果在寄存器中划分出计数空间,则计数模块直接在预定处理器的寄存器中对该第一指令的执行次数加1。
现有技术对某条指令计数时,需要在软件系统中对应于该指令地址的位置写用来计数的指令,通过执行用来计数的指令来实现计数,计数结果存储在内存中,因此当软件系统中需要计数的指令很多时,用来计数的指令也就很多,并且每一次计数还需要进行I/O的两次操作,多核处理器时还要考虑内存资源的互斥,这些都大大影响了软件系统的性能;而本发明实施例通过在预定处理器内设置计数模块,在预定处理器执行指令时,该计数模块根据正在执行的指令的地址在计数空间中的对应位置进行计数,因此软件系统中没有大量的计数指令,使得软件系统的性能大大提高;当计数空间创建在寄存器中时,不用考虑用高速内存存储计数带来的问题,进一步提高了软件系统的性能。
由于现有技术是通过在软件系统中写用来计数的指令来实现计数,因此给用户发送设计的软件系统时,一般是发送两个版本,一个版本是没有计数指令的软件系统,通常称为Release版本,该Release版本的软件系统性能较高,但是由于没有计数功能,所以不能获得指令执行的次数情况,从而也就不能得知实际运行时软件系统内部的各个分支模块运行情况;另一个版本是带有计数指令的软件系统,通常称为Debug版本,用户虽然可以根据该Debug版本的软件系统获得指令执行次数解决实际中遇到的问题,但是该Debug版本的软件系统的性能较低,因此一般不会应用于对性能要求较高的场景中;而利用本发明实施例提供的方法来对指令进行计数的话,只需给用户发送一个Release版本的软件系统,在软件系统性能高的同时,还可以根据得到的指令执行次数,获知当前软件系统在运行哪些流程,运行过哪些错误流程,缩小了查找问题的范围,提高解决问题的效率。
本发明实施例还可以用于软件系统的性能设计,现有技术一般采取静态的设计方法,即假定一个主要业务流程,在设计和实现上为该主要业务流程进行优化,达到既定的性能目标,这种静态设计的软件系统可以满足大多数的用户需求,不能满足用户的全部需求,如果根据实际运行情况对业务流程进行动态调整,即对一段时期内运行的所有业务流程进行分析,从中确定出主要业务流程,这种动态设计的软件系统在性能上可以能满足用户的所有需求。因此,当第一指令为软件系统的多个业务流程中每个业务流程的预设指令时,该方法还可以包括:
根据多个业务流程中每个业务流程的预设指令执行次数的计数结果,确定主要业务流程。
实际应用中,一般选择多个业务流程中每个业务流程的第一条指令为预设指令,但本发明实施例对此不作限制,也可以在每个业务流程中选择其它的指令作为预设指令。
本发明实施例通过在对应预定处理器的指令空间地址创建1∶1的计数空间,并在预定处理器内部设置计数模块,当预定处理器在执行指令时,该计数模块根据正在执行的指令的地址在计数空间中的对应位置进行计数,而不用在软件系统中写用来计数的指令,因此大大提高了软件系统的性能;在软件系统性能不受影响的情况下,可以根据计算的指令执行次数解决实际出现的问题,提高了用户体验;还可以根据每个业务流程的预设指令执行次数的计数情况,确定主要业务流程,实现软件系统的性能动态优化。
实施例2
图2为本发明对指令执行次数进行计数的方法第二实施例流程示意图,如图2所示,该方法包括:
201:在指定指令上添加计数信息;
具体的,本发明实施例可以扩展指定指令的长度,在扩展的指定指令的长度上添加计数信息;
其中,指定指令是一些可能需要计数的指令。
具体的,添加的计数信息可以包括计数使能标记和寄存器索引,但不限于这两个信息。
本发明实施例以设置当计数使能标记为真时,表示需要进行计数;当计数使能标记为假时,表示不需要进行计数为例进行说明;当然,这只是一种具体的设置方法,也可以设置当计数使能标记为真时,表示不需要进行计数;当计数使能标记为假时,表示需要进行计数,本发明实施例对这些不做限制。
202:在处理器内部设置一个计数模块,当处理器执行指定指令时,该计数模块根据正在执行的指定指令的计数信息,在对应的寄存器中对正在执行的指定指令的执行次数进行计数。
本实施例中计数模块可以是计数器或累加器,但不限于这两种计数器或累加器,只要可以达到计数目的的硬件单元都可以。在预定处理器内部可以通过门电路或者触发器等硬件电路对计数模块进行设置,使得当预定处理器执行第一指令时,该计数模块就根据第一指令的地址在上述计数空间中的对应位置对第一指令的执行次数进行计数。
继续上述例子,处理器在执行某条指定指令时,如果该指定指令的计数使能标记为真,表示需要对该指定指令进行计数,则计数模块根据寄存器索引在对应的寄存器中对该指定指令的执行次数执行加1的计数操作。
图3为本发明实施例中计数模块进行计数的流程示意图,如图3所示,该过程如下:
301:当处理器执行指定指令时,根据该指定指令的计数使能标记判断是否需要对该指定指令计数,如果是,执行302;否则,执行303;
302:计数模块根据寄存器索引在对应的寄存器中对正在执行的指定指令的执行次数执行加1的计数操作;
303:处理器只执行该指定指令,计数模块不对该指定指令的执行次数进行计数。
本发明实施例中,处理器可以根据不同的需要来定义寄存器的规格大小,例如,寄存器的索引为8位时,表明处理器在执行指令时可以支持256个指令的计数,如果处理器执行的指令比较少,则可以通过减少寄存器索引的位数来减小寄存器的规格,节省了寄存器的成本。
本发明实施例中,处理器可以是所有架构的处理器。
现有技术对某条指令计数时,需要在软件系统中对应于该指令地址的位置写用来计数的指令,通过执行用来计数的指令来实现计数,计数结果存储在内存中,因此当软件系统中需要计数的指令很多时,用来计数的指令也就很多,并且每一次计数还需要进行I/O的两次操作,多核处理器时还要考虑内存资源的互斥,这些都大大影响了软件系统的性能;而本发明实施例通过在处理器内设置一个计数模块,在处理器执行指令时,该计数模块根据该指令的计数信息在对应的寄存器中对正在执行的指令地执行次数进行计数,因此软件系统中没有大量的计数指令,大大提高了软件系统的性能。
由于现有技术是通过在软件系统中写用来计数的指令来实现计数,因此给用户发送设计的软件系统时,一般是发送两个版本,一个版本是没有计数指令的软件系统,通常称为Release版本,该Release版本的软件系统性能较高,但是由于没有计数功能,所以不能获得指令执行的次数情况,从而也就不能得知实际运行时软件系统内部的各个分支模块运行情况;另一个版本是带有计数指令的软件系统,通常称为Debug版本,用户虽然可以根据该Debug版本的软件系统获得指令执行次数解决实际中遇到的问题,但是该Debug版本的软件系统的性能较低,因此一般不会应用于对性能要求较高的场景中;而利用本发明实施例提供的方法来对指令进行计数的话,只需给用户发送一个Release版本的软件系统,在软件系统性能高的同时,还可以根据得到的指令执行次数,获知当前软件系统在运行哪些流程,运行过哪些错误流程,缩小了查找问题的范围,提高解决问题的效率。
本发明实施例还可以用于软件系统的性能设计,现有技术一般采取静态的设计方法,即假定一个主要业务流程,在设计和实现上为该主要业务流程进行优化,达到既定的性能目标,这种静态设计的软件系统可以满足大多数的用户需求,不能满足用户的全部需求,如果根据实际运行情况对业务流程进行动态调整,即对一段时期内运行的所有业务流程进行分析,从中选出主要业务流程,这种动态设计的软件系统在性能上可以能满足用户的所有需求。因此,上述指定指令可以是软件系统的多个业务流程中每个业务流程的预设指令,相应的,该方法还可以包括:
根据多个业务流程中的每个业务流程的预设指令执行次数的计数结果,确定主要业务流程。
实际应用中,一般选择每个业务流程的第一条指令为预设指令,但本发明实施例对此不作限制,也可以在每个业务流程中选择其它的指令作为预设指令。
本发明实施例中,通过对指定指令的长度进行扩展,添加计数信息,并在处理器内部设置一个计数模块,当处理器执行指定指令时,该计数模块根据该指定指令的计数信息在对应的寄存器中对正在执行的指定指令的执行次数进行计数,由于扩展的指令长度只是在存储长度上增加,处理器在执行指定指令时,不处理该指定指令的与计数相关的信息,因此不影响处理器执行指定指令,而且可以根据实际需要设置寄存器的规格大小,节省了寄存器的成本;由于使用计数模块来计数,而不在软件系统中写用来计数的指令,因此大大提高了软件系统的性能;在软件系统性能不受影响的情况下,可以根据计算的指令执行次数解决实际出现的问题,提高了用户体验;还可以根据每个业务流程的预设指令执行次数的计数情况,确定主要业务流程,实现软件系统的性能动态优化。
实施例3
图4为本发明对指令执行次数进行计数的系统第一实施例结构示意图,如图4所示,该系统包括:预定处理器401和存储计数装置402;
预定处理器401包括第一执行模块4011和第一计数模块4012;
第一执行模块4011,用于执行第一指令;
第一计数模块4012,用于当第一执行模块4011执行第一指令时,根据第一执行模块4011正在执行的第一指令的地址,在存储计数装置402中的对应位置对正在执行的第一指令的执行次数进行计数;
本实施例中第一计数模块4012可以是计数器或累加器,但不限于计数器或累加器,只要可以达到计数目的的硬件单元都可以。
存储计数装置402,用于存储第一计数模块4012的计数结果。
存储计数装置402可以是高速内存,也可以是寄存器。
本发明实施例中的预定处理器401是指非冯-诺伊曼架构的处理器,在非冯-诺伊曼架构的处理器中,指令空间是独立存在的。由于对所有指令都计数,指令地址即为计数索引,因此可以不用存储计数索引,就可以简单方便的实现计数。
具体的,如果存储计数装置402为高速内存,则当预定处理器401执行第一指令时,第一计数模块4012先从高速内存中读取该第一指令当前的执行次数,然后将该执行次数加1,最后将更新后的第一指令的执行次数存储在高速内存中;如果存储计数装置402为寄存器,则当预定处理器401执行第一指令时,第一计数模块4012直接在预定处理器的寄存器中对该第一指令的执行次数加1。
需要说明的是,对于系统实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。
本发明实施例通过在预定处理器401内部设置第一计数模块4012,当预定处理器的第一执行模块4011在执行指令时,该第一计数模块4012根据正在执行的指令的地址在存储计数装置402中的对应位置对正在执行的指令进行计数,而不是通过在软件系统中写指令来计数,因此大大提高了软件系统的性能,在软件系统性能不受影响的情况下,还可以根据计算的指令执行次数解决实际出现的问题,提高了用户体验。
实施例4
图5为本发明处理器的第一实施例结构示意图,如图5所示,该处理器包括:添加模块501、第二执行模块502、第二计数模块503和寄存器504;
添加模块501,用于在指定指令上添加计数信息;
具体的,添加模块501通过扩展指定指令的长度,在扩展的指定指令的长度上添加计数信息。
其中,指定指令是一些可能需要计数的指令,添加的计数信息可以包括计数使能标记和寄存器索引,但不限于这两个信息。
第二执行模块502,用于执行指定指令;
第二计数模块503,用于在第二执行模块502执行指定指令的时候,根据添加模块501添加的计数信息,在对应的寄存器504中对正在执行的指定指令的执行次数进行计数。
本实施例中第二计数模块503可以是计数器或累加器,但不限于计数器或累加器,只要可以达到计数目的的硬件单元都可以。
本发明实施例中,处理器可以是所有架构的处理器。
需要说明的是,对于处理器实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。
本发明实施例中,添加模块501在指定指令上添加计数信息,当处理器的第二执行模块502执行指定指令时,第二计数模块503根据该指定指令的计数信息在对应的寄存器504中对正在执行的指定指令的执行次数进行计数,当添加模块501通过扩展指定指令的长度,在扩展的指定指令的长度上添加计数信息时,由于扩展的指令长度只是在存储长度上增加,因此不影响第二执行模块502执行指定指令;由于使用第二计数模块503来计数,不在软件系统中写用来计数的指令,因此大大提高了软件系统的性能;并在软件系统性能不受影响的情况下,还可以根据计算的指令执行次数解决实际出现的问题,提高用户体验。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (7)

1.一种对指令执行次数进行计数的方法,其特征在于,包括:
对应预定处理器的指令空间地址,在预设的存储空间中划分计数空间,所述预定处理器是指非冯-诺伊曼架构的处理器;
在所述预定处理器内设置计数模块,当所述预定处理器执行第一指令时,所述计数模块根据所述第一指令的地址,在所述计数空间中的对应位置对所述第一指令的执行次数进行计数;
所述第一指令为软件系统的多个业务流程中每个业务流程的预设指令时,所述方法还包括:
根据所述多个业务流程中每个业务流程的预设指令执行次数的计数结果,确定主要业务流程。
2.一种对指令执行次数进行计数的方法,其特征在于,包括:
在指定指令上添加计数信息,所述计数信息包括:计数使能标记和寄存器索引;
在处理器内部设置计数模块,当所述处理器执行所述指定指令时,所述计数模块根据正在执行的所述指定指令的计数信息,在对应的寄存器中对所述正在执行的指定指令的执行次数进行计数;
所述指定指令为软件系统的多个业务流程中每个业务流程的预设指令时,所述方法还包括:
根据所述多个业务流程中每个业务流程的预设指令执行次数的计数结果,确定主要业务流程。
3.根据权利要求2所述的对指令执行次数进行计数的方法,其特征在于,所述在指定指令上添加计数信息,包括:
扩展指定指令的长度,在扩展的指定指令的长度上添加计数信息。
4.根据权利要求2或3所述的对指令执行次数进行计数的方法,其特征在于,所述计数模块根据所述指定指令的计数信息,在对应的寄存器中对所述指定指令的执行次数进行计数,包括:
所述计数模块根据所述指定指令的计数使能标记判断是否需要对所述指定指令的执行次数进行计数;
如果是,则所述计数模块根据所述寄存器索引在对应的寄存器中对所述指定指令的执行次数进行计数;否则,所述处理器只执行所述指定指令。
5.一种对指令执行次数进行计数的系统,其特征在于,所述系统包括:预定处理器和存储计数装置,所述预定处理器是指非冯-诺伊曼架构的处理器;
所述预定处理器包括第一执行模块和第一计数模块;
所述第一执行模块,用于执行第一指令;
所述第一计数模块,用于当所述第一执行模块执行所述第一指令时,根据正在执行的所述第一指令的地址,在所述存储计数装置中的对应位置对所述第一指令的执行次数进行计数;
所述预定处理器,用于所述第一指令为软件系统的多个业务流程中每个业务流程的预设指令时,根据所述多个业务流程中每个业务流程的预设指令执行次数的计数结果,确定主要业务流程。
6.根据权利要求5所述的对指令执行次数进行计数的系统,其特征在于,所述存储计数装置为高速内存或寄存器。
7.一种处理器,其特征在于,所述处理器包括:添加模块、第二执行模块、第二计数模块和寄存器;
所述添加模块,用于在指定指令上添加计数信息,所述计数信息包括:计数使能标记和寄存器索引;
所述第二执行模块,用于执行所述指定指令;
所述第二计数模块,用于当所述第二执行模块执行所述指定指令时,根据所述添加模块添加的计数信息,在所述寄存器中对所述第二执行模块正在执行的指定指令的执行次数进行计数;
所述处理器,用于所述指定指令为软件系统的多个业务流程中每个业务流程的预设指令时,根据所述多个业务流程中每个业务流程的预设指令执行次数的计数结果,确定主要业务流程。
CN201080004276.7A 2010-03-29 2010-03-29 对指令执行次数进行计数的方法、系统及处理器 Expired - Fee Related CN102947803B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2010/071391 WO2011120216A1 (zh) 2010-03-29 2010-03-29 对指令执行次数进行计数的方法、系统及处理器

Publications (2)

Publication Number Publication Date
CN102947803A CN102947803A (zh) 2013-02-27
CN102947803B true CN102947803B (zh) 2016-06-08

Family

ID=44711299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080004276.7A Expired - Fee Related CN102947803B (zh) 2010-03-29 2010-03-29 对指令执行次数进行计数的方法、系统及处理器

Country Status (2)

Country Link
CN (1) CN102947803B (zh)
WO (1) WO2011120216A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199159B (zh) * 2020-10-16 2022-03-25 常熟理工学院 对操作数栈和变量表的读写方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN1604044A (zh) * 2003-09-30 2005-04-06 国际商业机器公司 用于指令和数据访问的选择性计数的方法和装置
CN1834940A (zh) * 2005-12-22 2006-09-20 苏州超锐微电子有限公司 一种通过在指令中嵌入计数器实现断点调试功能的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493478B2 (en) * 2002-12-05 2009-02-17 International Business Machines Corporation Enhanced processor virtualization mechanism via saving and restoring soft processor/system states
US8234484B2 (en) * 2008-04-09 2012-07-31 International Business Machines Corporation Quantifying completion stalls using instruction sampling

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN1604044A (zh) * 2003-09-30 2005-04-06 国际商业机器公司 用于指令和数据访问的选择性计数的方法和装置
CN1834940A (zh) * 2005-12-22 2006-09-20 苏州超锐微电子有限公司 一种通过在指令中嵌入计数器实现断点调试功能的方法

Also Published As

Publication number Publication date
WO2011120216A1 (zh) 2011-10-06
CN102947803A (zh) 2013-02-27

Similar Documents

Publication Publication Date Title
US9507688B2 (en) Execution history tracing method
CN102279766B (zh) 并行模拟多个处理器的方法及系统、调度器
CN104714785A (zh) 任务调度装置、方法及并行处理数据的设备
EP2474918A1 (en) System and method for data transfer
CN102750317B (zh) 数据持久化处理方法、装置及数据库系统
CN107480327B (zh) 一种仿真验证方法、装置和电子设备
CN110718264A (zh) 测试固态硬盘信息的方法、装置、计算机设备及存储介质
CN110488764A (zh) 一种基于fpga的雕刻机运动控制器及其雕刻设备和方法
CN102541750A (zh) 数据快照的实现方法和装置
US20150082207A1 (en) Extracting a deterministic finite-state machine model of a gui based application
CN103927215A (zh) 基于内存盘与SSD硬盘的kvm虚拟机调度的优化方法及系统
US20120174076A1 (en) Systems and methods for profiling servers
US20140019569A1 (en) Method to determine patterns represented in closed sequences
CN103092759A (zh) 一种嵌入式环境下的代码动态性能剖析器
CN102947803B (zh) 对指令执行次数进行计数的方法、系统及处理器
CN102331961B (zh) 并行模拟多个处理器的方法及系统、调度器
CN107436839B (zh) 进程负载获取方法、电子终端及计算机可读存储介质
CN110908644B (zh) 状态节点的配置方法、装置、计算机设备和存储介质
CN105389190A (zh) 一种操作系统启动的方法、装置及系统
CN111176663B (zh) 应用程序的数据处理方法、装置、设备及存储介质
WO2019071535A1 (zh) 计算机存储介质、程序运行监测方法及装置
CN104657239A (zh) 基于分离式日志的多核处理器瞬时故障恢复系统及其瞬时故障恢复方法
US9223697B2 (en) Computer reprogramming method, data storage medium and motor vehicle computer
CN114238107A (zh) 一种跟踪调试方法、系统及计算机可读存储介质
CN101819608B (zh) 一种微处理器指令级随机验证中加速取指的装置和方法

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
TR01 Transfer of patent right

Effective date of registration: 20170817

Address after: 201, room 1, building A, No. 518053, front Bay Road, Qianhai, Shenzhen Shenzhen cooperation zone, Guangdong, China

Patentee after: Shenzhen Zhitong World Technology Service Co. Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20130227

Assignee: Shenzhen Vimicro Tech Co. Ltd.

Assignor: Shenzhen Zhitong World Technology Service Co. Ltd.

Contract record no.: 2017440020097

Denomination of invention: Method, system and processor for performing count of instruction execution times

Granted publication date: 20160608

License type: Common License

Record date: 20171211

EE01 Entry into force of recordation of patent licensing contract
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160608

Termination date: 20200329

CF01 Termination of patent right due to non-payment of annual fee