数据处理系统中的性能事件的检测和记录装置以及方法

文档序号:7969673阅读:99来源:国知局
专利名称:数据处理系统中的性能事件的检测和记录装置以及方法
技术领域
本发明涉及数据处理系统,具体地,涉及数据处理系统中的性能亊件 的检测和记录装置以及方法。
背景技术
在当前的处理器中,通常都提供有使该处理器能够对其数据处理系统 中的性能事件的发生进行计数以及对该数据处理系统中的进程的执行进行 计时等的功能。这样的功能称作处理器的性能监测,其是由处理器中的性 能监测系统来实现的。在包括这样的处理器的数据处理系统中,所发生的性能亊件大多都可 由该处理器的性能事件监测系统中的一个或多个计数器所计数。这种计数 器包括多个位字段,且其操作是由该处理器中的控制寄存器所管理的。一 般地,这样的控制寄存器和计数器都是可由该数据处理系统中的软件读和 写的。因此,通过利用软件在控制寄存器中写入相应的值,用户可选择该 数据处理系统中将要被监测的性能事件类型并指定对该类型的性能亊件进 行计数的计数器的启用条件。在美国专利5,555,748、"数据处理系统中用于性能监测的方法和系 统,,(Method and system for performance monitoring within a data processing system)中,公开了一种性能监测系统。图l中示出了该性能监 测系统的示意性结构。如图1所示,该性能监测系统包括多路转换器14 和性能事件递增器10。多路转换器14用于通过线路16接收数据处理系统 中的来自待监测的电路内的各个位置的多个性能事件信号。此外,线路15上的模式选择信号用于确定这多个性能事件信号中的哪些性能亊件信号可以通过多路转换器14传输到性能亊件递增器10。性能亊件递增器10用于 在所逸择的性能事件信号的触发下,对该性能亊件信号所对应的性能亊件 的发生进行计数。也就是说,通过多路转换器14的性能事件信号被传输到 控制线路20上,使得性能事件递增器10能够对该性能事件信号所对应的 性能亊件的发生进行计数。具体地,在性能事件递增器10中,多路转换器12经由线路18接收寄 存器11的值、经由线路17接收通过递增器逻辑13递增后的值,作为输入。 这样,当线路20上的被选择的性能事件信号为高电平(逻辑'T,)时, 多路转换器12将线路17上的信号传输到寄存器11。这时,线路17上的 输入相当于寄存器ll的输出通过递增器逻辑13递增1后的值。因此,线 路19上的寄存器11的最终输出表示性能事件递增器10计数的最,。该 值等于该数据处理系统中所监测到的性能亊件的发生总数。综上所述,在图l的性能监测系统中,对于指定的时间片,仅根据所 监测的性能事件信号触发性能事件计数递增,从而仅提供性能事件的统计 数据,供数据处理系统中的性能分析工具在分析该系统的行为时使用。但 是,在性能分析工具针对例如多线程应用等进行性能分析和调试的情况下, 每个相关性能事件的时间戳也是非常重要的信息。因此,为了跟踪特定时 间片内的特定性能事件,不仅需要记录性能亊件本身,而且也应该记录该 性能事件的时间戳,供性能分析工具进行亊件分析时所使用。此外,对于 大部分数据处理系统来说,在期望进行亊件分析的时间段内 一般都会有成 千上万的事件发生,如果采用图1的性能监测系统,则需要足够多的事件 记数器来跟踪全部事件,这显然是不切合实际的。此外,在美国专利6,775,640、 "Performance adder for tracking occurrence of events within a circuit(用于恥睹电路内的事件的发生的性能 加法器)"所公开的性能监测系统中包括一种信号检测逻辑电路,用于跟 踪待监测电路内的各种类型的性能事件信号。图2示出了该信号检测逻辑 电路的示意性结构。如图所示,信号检测逻辑电路50包括事件类型逻辑块 基本逻辑块45、边沿逻辑块46和跳转或开/关逻辑块47。例如,线路51 上的信号0被传输到基本逻辑块45进行基本信号检测、被传输到边沿逻辑 块46进行边沿信号检测、被传输到跳转或开/关逻辑块47进行跳转或开/ 关信号检测。然后,由基本逻辑、边沿逻辑和跳转或开/关逻辑中的每一个 所生成的性能事件信号都被传输到多路转换器43。多#换器43由线路 44上的类型选择信号所控制,用于选择要传输到多i^换器37的性能亊 件信号的类型(基本、边沿或跳转),该选择的性能亊件信号进而可由多 路转换器37选择传输到未示出的下一级的性能事件递增器10。如果采用图2的信号检测逻辑电路,则需要为待监测电路内的每一路 信号都要设置一个这样的特定的信号检测逻辑电路以及用于控制多路转换 器的类型选择寄存器。但是,在同一时刻,这些信号检测逻辑电路中,只 有被多路转换器37所选择的那一路信号的信号检测逻辑电路在工作,因而 会造成对资源的极大浪费。此外,该信号检测逻辑电路也不能够同时, 诸如表示处理器状态的相关联的多位信号,从而不能够实现对多位信号相 结合所产生的 一个性能事件的检测。因此,需要设计出一种新的对数据处理系统中的性能事件进行检测和 记录的性能监测系统,以解决这些问题。发明内容本发明正是鉴于上述现有技术中的问题提出的,其目的在于提供数据 处理系统中的性能事件的检测和记录装置以及方法。根据本发明的一个方面,提供一种数据处理系统中的性能亊件记录装 置,包括性能事件记录生成单元,用于为上述数据处理系统中所监测到 的性能亊件、根据系统时钟生成性能亊件记录;以及性能亊件记录存储单 元,用于存储上述性能事件记录生成单元所生成的性能事件记录。根据本发明的另 一个方面,提供一种数据处理系统中的性能事件检测 装置,包括信号线路选择单元,用于选择上述数据处理系统中待检测的 信号线路;以及性能亊件检测单元,用于对上述选择的信号线路进行性能 事件的检测,并在检测到性能事件时激活相应的性能事件信号,以通知该 数据处理系统中的性能亊件记录装置。根据本发明的另一个方面,提供一种数据处理系统中的多位性能信号合并装置,包括掩码寄存器,用于通过可配置的值确定上述多位性能信号中对于性能事件的检测有效的性能信号位;模式寄存器,用于通过可配 置的值确定对于上述多位性能信号的合并模式;逻辑与单元,用于对上述 掩码寄存器的值和上述多位性能信号的值进行逻辑与运算,以及对上述掩码寄存器的值和上述模式寄存器的值进行逻辑与运算;以及比较逻辑单元, 用于比较上述掩码寄存器的值和上述多位性能信号的值的逻辑与结果、上述掩码寄存器的值和上述模式寄存器的值的逻辑与结果是否相等,并根据 比较结果输出相应的 一位信号。根据本发明的另 一个方面,提供一种数据处理系统中的性能事件监测 系统,包括上述的数据处理系统中的性能亊件检测装置,用于对所选择 的待监测信号线路进行性能事件检测,并在检测到性能亊件的发生时激活 相应的性能事件信号以通知性能亊件记录装置;以及上述的数据处理系统中的性能事件记录装置,用于为上述性能事件检测装置所检测到的性能亊 件生成性能事件记录。根据本发明的另 一个方面,提供一种数据处理系统中的性能事件记录方法,包括为上述数据处理系统中所监测到的性能亊件,棉^据系统时钟 生成性能事件记录;以及存储上述所生成的性能事件记录。根据本发明的另 一个方面,提供一种数据处理系统中的性能亊件检测 方法,包括选择上述数据处理系统中待检测的信号线路;以及对上述选 择的信号线路进行性能事件的检测,并在检测到性能事件时激活相应的性 能事件信号,以便进行性能事件的记录。根据本发明的另 一个方面,提供一种数据处理系统中的多位性能信号 合并方法,包括设定用于确定上述多位性能信号中的有效性能信号位的 掩码和对于该多位性能信号的合并模式;对上述掩码值和上述多位性能信 号的值进行逻辑与运算;对上述掩码值和上述模式值进行逻辑与运算;以 及比较上述掩码值和上述多位性能信号的值的逻辑与结果、上述掩码值和 上述模式值的逻辑与结果是否相等,并根据比较结果输出相应的一位信号。 根据本发明的另一个方面,提供一种数据处理系统中的性能亊件监测方法,包括利用上述的数据处理系统中的性能事件检测方法,对所选择 的待监测信号线路进行性能事件检测,并在检测到性能亊件的发生时激活 相应的性能事件信号;以及利用上述的数据处理系统中的性能亊件记录方 法,为所检测到的性能亊件生成性能事件记录。


相信通过以下结合附图对本发明具体实施方式
的说明,能够佳人们更 好地了解本发明上述的特点、优点和目的。图1是现有技术的数据处理系统中的性能监测系统的结构示意图; 图2是现有技术的数据处理系统中的信号检测逻辑电路的结构示意图;图3是根据本发明实施例的数据处理系统中的性能亊件监测系统的结 构示意图;图4是根据本发明实施例的数据处理系统中的性能事件检测装置的结 构示意图;图5是根据本发明实施例的数据处理系统中的多位性能倌号合并装置 的结构示意图;图6是根据本发明实施例的数据处理系统中的性能事件记录装置的结 构示意图;图7是根据本发明另一实施例的数据处理系统中的性能亊件记录装置 的结构示意图;图8是根据本发明实施例的数据处理系统中的性能事件监测方法的流 程图;图9是根据本发明实施例的数据处理系统中的多位性能信号合并方法 的流程图; 图10是根据本发明实施例的数据处理系统中的性能亊件检测方法的 流程图;图11是根据本发明实施例的数据处理系统中的性能亊件记录方法的 流程图;以及图12是根据本发明另一实施例的数据处理系统中的性能事件记录方 法的流程图。
具体实施方式
下面就结合附图对本发明的各个优选实施例进行详细的说明。 首先,对本发明的数据处理系统中的性能事件监测系统及其各组成部 分进行详细说明。图3是根据本发明实施例的数据处理系统中的性能亊件监测系统的结 构示意图。如图3所示,本实施例的数据处理系统中的性能亊件监测系统 30至少包括有性能事件检测装置31和性能亊件记录装置32。性能事件检测装置31用于跟踪该数据处理系统中待监测的电路中的 各种类型的性能事件并通知给性能事件记录装置32。性能事件检测装置31 可以是如图4所示的结构,对于其具体细节,将在后面进行详细描述。性能事件记录装置32,用于记录该数据处理系统中的所监测到的性能 事件。性能事件记录装置32可以是如图6或图7所示的结构。根据数据处 理系统及待监测电路的不同,可相应地选择图6或图7所示结构的性能亊 件记录装置中的一个来使用。对于性能事件记录装置的具体细节,将在后 面进行详细描述。此外,如图3所示,本实施例的性能亊件监测系统30还可选地包括有 多位性能信号合并装置33。多位性能信号合并装置33用于将该数据处理 系统中待监测的电路中的多位性能信号合并为 一位性能信号。在待监测电 路中的多位性能信号相关联而能够呈现单个性能亊件时,可以首先利用该 多位性能信号合并装置33将其合并为一位性能信号,然后再传输至性能事 件检测装置31进行性能亊件检测。多位性能信号合并装置33可以是如图 5所示的结构,对于其具体细节,将在后面进行详细描述。此外,如图3所示,由本实施例的性能事件监测系统30生成的性能事 件记录,存储在性能事件日志数据库34中,以供该系统中的性能分析应用 对该数据处理系统进行性能分析时使用。此外,在采用图4的性能事件检测装置的情况下,本实施例的性能亊 件监测系统中的性能事件记录装置也可以采用任何已知结构的能够实现性 能事件记录的装置。同样地,在采用图6或图7的性能亊件记录装置的情况下,本实施例 的性能事件监测系统中的性能亊件检测装置也可以采用任何已知结构的能 够实现性能事件检测的装置。此外,需要指出的是,为了说明的简单起见,图3示出的本实施例的 性能亊件监测系统30仅包括了单个性能亊件检测装置31、单个性能亊件 记录装置32和单个多位性能信号合并装置33,但在实际实现中,由于数 据处理系统中的电路是相当繁杂的,在进行性能事件监测的一个时间片内 可能会发生成千上万的性能事件,因而通常会需要多个这样的性能事件检 测装置、性能事件记录装置和多位性能信号合并装置来实现对这么多性能 事件的监测。下面,结合图4对图3的性能亊件监测系统中的性能亊件检测装置31 进行详细描述。图4是根据本发明实施例的数据处理系统中的性能事件检测装置的结 构示意图。如图4所示,本实施例的性能亊件检测装置31包括有信号线路 选择单元310和性能信号检测单元311。信号线路选择单元310用于选择该数据处理系统中待监测的信号线 路,以便由性能信号检测单元311进行性能亊件的检测。具体地,如图4所示,信号线路选择单元310进一步包括模式选择寄 存器3101和多路转换器3102。其中,模式选择寄存器3101用于通过其可配置的值确定来自待监测的 电路的多路信号中的哪一路可以通过多路转换器3102,而传输到性能信号 检测单元311。需要说明的是,模式选择寄存器3101可以由该数据处理系 统中的软件读和写。多路转换器3102则根据模式选择寄存器3101的配置从来自待监测的 电路的多个信号线路中选择相应的一个作为性能事件待检测线路。需要说明的是,本实施例的信号线路选择单元310并不限于上述的结 构,任何对于所连接的多个线路能够实现其中一路的选通的结构都是适用 的。例如,也可通it^目应的逻辑开关电路来实现各信号线路的选通,即对 各信号线路分别连接逻辑开关电路,并在进行监测时利用相应的逻辑开关 电路实现待监测的信号线路的选通。接着,性能信号检测单元311用于对信号线路选择单元310所选出的 信号线路进行信号检测,并在检测到性能亊件时激活相应的性能亊件信号, 以通知该数据处理系统中的性能亊件记录装置。具体地,如图4所示,性能信号检测单元311进一步包括有基本逻辑 单元3U1、边沿逻辑单元3112、跳转或开/关逻辑单元3U3、类型选择寄 存器3114和多路转换器3115。其中,基本逻辑单元3111用于对信号线路选择单元310所选择的信号 线路进行基本信号检测。其中,基本信号检测是在每一周期检测所选信号的高(逻辑"r ),并在检测到所选信号的高时确;Ut生了基本性能亊件 从而激活表示基本性能事件的发生的基本性能亊件信号的信号检测逻辑。边沿逻辑单元3112用于对信号线路选择单元310所选择的信号线路进 行边沿信号检效'j。其中,边沿信号检测是检测所选信号的上升沿和下降沿, 并在检测到这样的上升沿或下降沿时确定发生了边沿性能亊件从而激活表 示边沿性能事件的发生的边沿性能事件信号的信号检测逻辑。跳转或开/关逻辑单元3113用于对信号线路选择单元310所选择的信 号线路进行跳转或开/关信号检测。其中,跳转或开/关信号检测是检测所选 信号的跳转或开/关,并在检测到这样的跳转或开/关时确定发生了跳转或/ 开/关性能事件从而激活表示跳转或开/关性能事件的发生的跳转或开/关性 能亊件信号的信号检测逻辑。
类型选择寄存器3114用于通过其可配置的值确定选择哪一类型的性 能亊件信号,即确定基本逻辑单元3111、边沿逻辑单元3112、跳转或开/ 关逻辑单元3113中的哪一个所生成的性能亊件信号能够通过多路转换器 3115传输到本数据处理系统中的性能亊件记录装置。需要说明的是,类型 选择寄存器3114可以由该数据处理系统中的软件读和写。多^#换器3115根据类型选择寄存器3114的配置,选择由基^辑 单元3111、边沿逻辑单元3112和跳转或开/关逻辑单元3113中的一个所生 成的性能事件信号,将其通知给该数据处理系统中的性能亊件记录装置。在本实施例中,基本逻辑单元3111、边沿逻辑单元3112、跳转或开/ 关逻辑单元3113中的任何一个都可采用能够实现对信号的相应(基本、边 沿、跳转或开/关)信号检测的已知结构。以上,就是对本实施例的数据处理系统中的性能亊件检测装置的描述。 如上所述,本实施例的性能事件检测装置31首先利用信号线路选择单元 310选择待检测的信号线路,然后利用性能信号检测单元311对所选择的 待检测信号线路进行指定类型的信号检测,以生成相应的性能亊件信号。在本实施例中,通过对多个信号线路设置一个信号线路选择单元来进 行信号线路的选择并设置一个性能信号检测单元对所选择的佶号线路进行 性能事件检测,相对于现有技术中对各信号线路都分别设置性能信号检测 单元来进行性能事件检测并对多个信号线路设置一个信号线路选择单元以 选择要记录性能事件的信号线路而言,所需的性能信号检测单元的数量急 剧減少,从而避免了系统资源的极大浪费,并降低了设计成本。此外,需要说明的是,本实施例的性能信号检测单元311并不限于上 述的结构,任何对于所选择的信号线路能够实现各种类型的性能亊件的检 测的结构都是适用的。下面,结合图5对图3的性能亊件监测系统中的多位性能信号合并装 置33进行详细描述。图5是根据本发明实施例的数据处理系统中的多位性能信号合并装置 的结构示意图。如图5所示,本实施例的多位性能信号合并装置33至少包 括有掩码寄存器331、模式寄存器332、逻辑与单元333、逻辑与单元334 和逻辑比较单元335。其中,掩码寄存器331用于确定来自待监测电路的多位性能倌号中的 哪些位信号能够作为用于性能事件的检测的有效位。掩码寄存器331中的 配置值是根据对待监测的多位性能信号的检测需要而预先设定的,其可由 数据处理系统中的软件读和写。模式寄存器312用于确定对于待监测的多位性能信号的合并模式。其 配置值是根据对待监测的多位性能信号的检测需要而预先设定的,其可由 数据处理系统中的软件读和写。逻辑与单元333用于对来自待监测电路的多位性能信号和掩码寄存器 331中的内容进行逻辑与运算。逻辑与单元334用于对掩码寄存器331中的内容和模式寄存器332中 的内容进行逻辑与运算。逻辑比较单元335用于确定逻辑与单元333和逻辑与单元334的输出 值是否相等。具体地,逻辑比较单元335对逻辑与单元333和逻辑与单元 334的输出值进行比较,并根据比较结果输出相应的一位信号。例如,当 逻辑与单元333和逻辑与单元334的输出值相等时,逻辑比较单元335输 出为逻辑"高"的信号,否则输出为逻辑"低"的信号。此外,逻辑比较 单元335输出的信号可作为性能信号输入到上述的性能亊件检测装置,以 进行性能事件的监测。以上,就是对本实施例的数据处理系统中的多位性能信号合并装置的 描述。本实施例的多位性能信号合并装置针对一些特定的性能信号,进行 特别的处理,其适用于多路待监测信号相互关联而能够共同反映一个性能 事件的情形。在数据处理系统的某些电路中,很多情况下其多路信号是相 互关联的,整体结合起来才能真实地反映一种性能亊件。例如在来自处理 器状态寄存器的多路信号的情况下,这多路信号结^来的变化才能反映 处理器状态的变化情况。但对于以往的及本发明的性能亊件检测装置和性 能事件记录装置而言,所实现的都是对单个信号线路的处理,因而对于多位监测信号相关联的情况,其所采用的处理方式并不是^it合。因此,利 用本发明的多位性能信号合并装置,可以首先对多位性能信号进行处理以 合并为一位信号,然后再交由性能亊件检测装置来进行性能事件检测,可 以达到更佳的性能事件检测效果。需要说明的是,本实施例的多位性能信号合并装置33并不限于上述的 结构,任何能够实现将多位信号线路中的信号合并为一位信号的结构都是 适用的。例如,也可以是仅采用一个逻辑与单元的结构,即例如保留掩码 寄存器331和多位性能信号的输入之间的逻辑与单元333而省略掩码寄存 器331和模式寄存器332之间的逻辑与单元334。在此情况下,可以预先 将l^码寄存器331和模式寄存器332之间的逻辑与的结果求出并保存起来, 并在逻辑比较单元335进行比较时,作为已知结果输入到逻辑比较单元 335,从而使逻辑比较单元335仅接收逻辑与单元333的运算结果即可。下面,结合图6~7对图3的性能事件监测系统中的性能亊件记录装置 32进行详细描述。图6是根据本发明实施例的数据处理系统中的性能亊件记录装置的结 构示意图。如图6所示,本实施例的性能事件记录装置32至少包括有性能 事件记录写入器321、性能事件记录写队列322、沖突仲裁单元323、性能 事件记录存储单元324和性能亊件记录读取器325。其中,性能事件记录写入器321用于针对从该数据处理系统中的性能 事件检测装置31传送来的被激活的性能事件信号,生成性能亊件记录,并 将该性能事件记录写入到性能事件记录写队列322中。其中,该性能亊件 记录包括性能事件记录写入器的标识以及该性能事件信号被触发时的系统 时钟。 一般地,数据处理系统中的电路是相当繁杂的,在一个时间片内所 发生的性能事件可能会是成千上万的,因而通常需要设置多个性能亊件检 测装置以分别检测不同的电路,从而其所检测的性能亊件也成为特定的一 类性能亊件,从而相应地也需要设置多个性能亊件记录写入器321和性能 事件记录写队列322以分别配合不同的性能亊件检测装置进行性能亊件记 录,因而各个性能事件记录写入器所记录的性能亊件也是特定的。因而需
要为各个性能事件记录写入器321分别分配标识(索引),以对性能亊件 记录写入器321进行区分。同时,性能亊件检测装置31传送来的被激活的 性能事件信号是在模式逸捧寄存器3101和类型选棒寄存器3114的控制下 产生的,而这两个寄存器可以由该数据处理系统中的软件读和写,因而, 在一个性能事件检测装置31的模式选择寄存器3101和类型选择寄存器 3114已经通过软件设置为一个确定的值的情况下,通过与该性能亊件检测 装置31相连的性能事件记录写入器321的标识可以确定性能亊件信号来自 待监测的电路的多路信号中的哪一路以及该性能事件信号的类型。因此, 性能事件记录中的性能事件记录写入器的标识可表明该性能事件的来源以 及类型。性能事件记录写队列322用于緩存上述性能事件记录写入器321所生 成的性能事件记录,并请求向性能事件记录存储单元324写入队列中的性 能事件记录。冲突仲裁单元323,用于在多个上述性能亊件记录写队列322同时请 求将其中的性能亊件记录存储到性能事件记录存储单元324中时,对写冲 突进行仲裁,以确定其中被允许写入的性能事件记录。如上所述,数据处 理系统中通常需要设置多个性能事件记录写入器321和性能事件记录写队 列322,因而为解决各性能亊件记录写队列322可能存在的存储沖突,冲 突仲裁单元323是必要的。性能事件记录存储单元324,用于存储上述冲突仲裁单元323所允许 的、上述性能事件记录写队列请求写入的性能事件记录。在本实施例中, 性能事件记录存储单元324由先进先出(FIFO)緩冲器来实现,该FIFO 緩沖器可以是处理器的内存或高速緩存中的一部分。当然,根据具体情况, 也可以利用其他存储器、其他方式来实现。性能事件记录读取器325,用于根据数据处理系统中性能分析的需要, 读出上述性能事件记录存储单元324中的性能亊件记录。以上,就是对本实施例的数据处理系统中的性能事件记录装置32的描 述。利用本实施例,在利用数据处理系统中的性能分析应用根据性能事件 记录进行系统性能分才斤时,性能事件记录写入器的标识可以4吏用户方便地 定位性能事件记录所对应的监测电路,并且性能事件记录中的系统时钟信 息则准确地反映了性能亊件在监测电路中的发生时间,这对于性能分析来 说是相当重要的信息。以本实施例中的性能亊件记录作为系统的性能日志, 对性能亊件的记录全面而准确,从而方便了系统的性能分析。需要说明的是,本实施例的性能事件记录装置32并不限于上述的结 构,任何能够实现根据系统时钟对性能事件的记录的结构都是适用的。例 如,在其他实施例中,也可以不包括有性能亊件记录写队列。图7是根据本发明另一实施例的数据处理系统中的性能亊件记录装置 的结构示意图。如图7所示,本实施例的性能事件记录装置32包括有位掩 码寄存器326、性能事件记录写入器321、性能亊件记录存储单元324和性 能亊件记录读取器325。其中,位掩码寄存器326用于记录数据处理系统中所监测到的性能亊 件的发生与否。其中,位掩码寄存器326中的每一位都对应于该数据处理 系统中的性能事件检测装置所监测的性能亊件信号中的一个,当该路性能 事件信号被激活时,该相应位便被置为高电平,以反映该路性能事件信号 所对应的性能事件的发生。并且,当位掩码寄存器326中的一位或多位所 对应的性能事件信号被激活时,性能事件记录写入器321被触发以便针对 位掩码寄存器326的当前状态生成性能亊件记录。性能事件记录写入器321用于在被触发时针对上述位掩码寄存器326 的当前状态,根据当前的配置(性能事件检测装置中的模式选择等)和系 统时钟生成性能事件记录,并存储到性能亊件记录存储单元324中。其中, 该性能事件记录包括位掩码寄存器326中的当前内容(当前值)以及当前 的系统时钟。由于位4^码寄存器326中的每一位所对应的性能事件信号都 是特定的,所以这样根据位掩码寄存器326的值直接生成的性能亊件记录, 可直观地表明在其记录的时刻有哪些性能亊件发生、哪些性能事件未发生。性能事件记录存储单元324用于存储上述性能事件记录写入器321所 生成的性能事件记录。在本实施例中,性能事件记录存储单元324可以由 器来实现,该FIFO緩沖器可以是处理器的内存或 高速緩存中的一部分。当然,根据具体情况,也可以利用其他存储器、其 他方式来实现。性能事件记录读取器325,用于根据数据处理系统中性能分析的需要, 读出上述性能事件记录存储单元324中的指定的性能亊件记录。以上,就是对本实施例的数据处理系统中的性能事件记录装置的描述。 本实施例的性能事件记录装置具有上面实施例的性能亊件记录装置的所有 优点。此外,与图6所示的性能事件记录装置相比,本实施例的性能亊件 记录装置更适合于同时被检测的性能事件数量较少的情形,而图6的性能 事件记录装置则适合于需要同时对大量的性能亊件进行检测的情形。在同 一发明构思下,结合附图对本发明的爽:据处理系统中的性能亊件 监测方法进行详细说明。图8是根据本发明实施例的数据处理系统中的性能事件监测方法的流 程图。如图8所示,首先在可选步骤805,将多位性能信号合并为一位性 能信号。需要i兌明的是,该步骤不是必要步骤,其只在多^#监测信号相 互关联而能够共同反映一个性能事件的情形下才执行,在其他情况下则不 需要该步骤。在步骤810,对待监测信号线路进行性能事件检测,以跟踪性能事件 的发生。在步骤815,对检测到的性能亊件进行记录。以下,结合图9对上面图8的步骤805中对多位性能信号进行合并的 方法进行详细描述。图9是根据本发明实施例的数据处理系统中的多位性能信号合并方法 的流程图。如图9所示,首先在步骤905,根据对相互关联的多位性能信 号的检测需要,设定确定该多位性能信号中的有效信号位的掩码和对于该 多位性能信号的合并模式。接着,在步骤910,对掩码值和上述多位性能信号的值进行逻辑与运 算,得到逻辑与结果VAL1。
在步骤915,对掩码值和模式值进行逻辑与运算,得到逻辑与结果 VAL2。在步騍920,判断逕铒与结果VAL1与逻辑与结果VAL2是否相等, 如果相等,则在步骤925输出"高",否则在步稞930输出"低"。进一 步地,该输出结果可以作为待检测信号提供给下面描述的性能亊件检测方法。以上,就是对本实施例的数据处理系统中的多位性能信号合并方法的 描述。本实施例的多位性能信号合并方法适用于多#监测信号相互关联 而能够共同反映一个性能亊件的情形。需要说明的是,本发明对上面各步 骤的执行顺序并没有特别限制,只要能够实现本发明的目的即可。以下,结合图IO对上面图8的步骤810中进行性能事件检测的方法进 行详细描述。图10是根据本发明实施例的数据处理系统中的性能亊件检测方法的 流程图。如图IO所示,首先,在步骤1005,选择该数据处理系统中待监 测的信号线路。在步骤1010,设定对于上述所选择的信号线路的信号检测类型。 在步骤1015,根据上述所设定的信号检测类型,对上述选择的信号线 路进行指定类型的信号检测。具体地,在本实施例中,实现以下三种类型 的信号检测基本信号检测、边沿信号检测、跳转或开/关信号检测。这三 种类型的信号检测已经在上面进行了详细介绍,在此不再重复描述。 在步骤1020,根据所检测到的性能亊件激活相应的性能亊件信号。 以上,就是对本实施例的数据处理系统中的性能事件检测方法的描述。 在本实施例中,首先选^^待检测的信号线路,然后对所选择的待检测信号 线路进行指定类型的信号检测,以生成相应的性能事件信号,相对于现有 技术中先分别对各信号线路进行性能亊件检测然后选择要记录性能亊件的 信号线路而言,所需的系统资源及处理时间的数量都急剧减少,从而iltfe 了系统资源的极大浪费,并降低了设计成本。以下,结合图11和12对上面图8的步骤815中对性能事件进行记录 的方法进行详细描述。图11是根据本发明实施例的数据处理系统中的性能事件记录方法的流程图。如图ll所示,首先在步骤1105,接收到该数据处理系统中被激 活的性能事件信号,同时获取当前的系统时钟。在步骤1110,根据当前系统时钟为所接收到的该性能事件信号生成性 能事件记录。该性能事件记录中包括了与该性能事件的类型有关的信息以 及该性能事件发生时的系统时钟。在步骤1115,请求存储所生成的性能事件记录。在步骤1120,判断在对性能亊件记录进行存储操作时是否会产生冲 突。在数据处理系统中,待监测的线g量相当地多,有时候会同时检测 到多个性能事件从而同时生成多个性能事件记录,在使用 一个存储单元进 行存储的情况下,不可避免地会产生多个性能亊件记录的存储冲突。在步骤1125,解决冲突。在步骤1130,存储上述所生成的性能事件记录。图12是根据本发明另一实施例的数据处理系统中的性能亊件记录方 法的流程图。如图12所示,首先在步骤1205,使该数据处理系统中 测的性能亊件信号中的每一个分别与位掩码寄存器中的一位相对应。在步骤1210,接收到该数据处理系统中被监测的性能亊件信号中被激 活的性能事件信号。在步骤1215,将位掩码寄存器中与被激活的性能事件信号相对应的位 置为高,以触发性能事件的记录。在步骤1220,获取当前的系统时钟,并针对当前位掩码寄存器中的内 容生成性能事件记录。其中,该性能亊件记录中包括了该位^^码寄存器的 当前值以及当前的系统时钟。在步骤1225,请求存储所生成的性能事件记录。在步骤1230,存储上述所生成的性能亊件记录。以上,就是对本实施例的数据处理系统中的性能亊件记录方法的描述, 利用本实施例,在利用数据处理系统中的性能分析应用根据性能亊件记录
进行系统性能分析时,可以使用户方便地定位性能亊件记录所对应的监测 电路,并且性能事件记录中的系统时钟信息则准确地反映了性能事件在监 测电路中的发生时间,这对于性能分析来说是相当重要的信息。以本实施 例中的性能事件记录作为系统的性能日志,对性能事件的记录全面而准确, 从而方便了系统的性能分析。以上虽然通过一些示例性的实施例对本发明的数据处理系统中的性能 事件监测系统及方法、数据处理系统中的性能亊件记录装置及方法、性能 事件检测装置及方法、多位性能信号合并装置及方法进行了详细的描述, 但是以上这些实施例并不是穷举的,本领域技术人员可以在本发明的精神 和范围内实现各种变化和修改。因此,本发明并不限于这些实施例,本发 明的范围仅以所附权利要求为准。
权利要求
1.一种数据处理系统中的性能事件记录装置,包括性能事件记录生成单元,用于为上述数据处理系统中所监测到的性能事件、根据系统时钟生成性能事件记录;以及性能事件记录存储单元,用于存储上述性能事件记录生成单元所生成的性能事件记录。
2. 根据权利要求l所述的数据处理系统中的性能事件记录装置,其中 上述性能事件记录生成单元为一个以上。
3. 根据权利要求2所述的数据处理系统中的性能事件记录装置,还包括冲突仲裁单元,用于在上述多个性能事件记录生成单元将其生成的性 能事件记录同时存储到上述性能事件记录存储单元时,对存储沖突进行仲 裁,以确定这些性能事件记录生成单元的性能亊件记录的存储顺序。
4. 根据权利要求1至3中任意一项所述的数据处理系统中的性能事件 记录装置,其中上述性能事件记录生成单元进一步包括性能事件记录写入器,用于针对上述数据处理系统中被激活的表示性 能事件的发生的性能事件信号、根据系统时钟生成性能亊件记录,并将该 性能事件记录写入到性能事件记录存储单元中。
5. 根据权利要求4所述的数据处理系统中的性能亊件记录装置,其中 上述性能事件记录生成单元进一步包括性能事件记录写队列,用于緩存上述性能亊件记录写入器生成的性能 事件记录。
6. 根据权利要求4或5所述的数据处理系统中的性能事件记录装置, 其中上述性能事件记录写入器所生成的性能亊件记录包括该性能亊件的标 识以及该性能亊件发生时的系统时钟信息。
7. 根据权利要求l所述的数据处理系统中的性能亊件记录装置,其中 上述性能事件记录生成单元进一步包括 位掩码寄存器,用于记录上述数据处理系统中进行监测的性能事件的发生与否;以及性能事件记录写入器,用于为上迷位l^码寄存器中记录的所发生的性 能事件,根据系统时钟生成性能事件记录,并存储到上述性能亊件记M 储单元中。
8. 根据权利要求7所述的数据处理系统中的性能亊件记录装置,其中上述位掩码寄存器中的每一位对应于一路性能亊件信号线路,且在该路中 的性能事件信号被激活时,该位被重置以标识相应的性能事件的发生并触 发性能事件记录写入器生成性能事件记录。
9. 根据权利要求7或8所述的数据处理系统中的性能亊件记录装置, 其中上述性能事件写入器所生成的性能事件记录包括上述位l^码寄存器中 的当前内容以及当前的系统时钟信息。
10. 根据权利要求1至3中任意一项所述的数据处理系统中的性能亊 件记录装置,还包括性能事件记录读取器,用于读出上述性能事件记录存储单元中指定的 性能事件记录。
11. 一种数据处理系统中的性能亊件检测装置,包括 信号线路选择单元,用于选择上述数据处理系统中待检测的信号线路;以及性能事件检测单元,用于对上i^择的信号线路进行性能亊件的检测, 并在检测到性能亊件时激活相应的性能亊件信号,以通知该数据处理系统 中的性能事件记录装置。
12. 根据权利要求ll所述的数据处理系统中的性能亊件检测装置,其 中上述信号线路选择单元进一步包括模式选择寄存器,用于通过可配置的值确定多务ft号线路中待检测的 信号线路;以及多路转换器,根据上述模式选择寄存器的配置从上述多条信号线路中 选择相应的 一个作为检测线路。
13. 根据权利要求11或12所述的数据处理系统中的性能事件检测装 置,其中上迷性能事件检测单元包括基本逻辑单元,用于对上述选棒的信号线路进行基本信号检测,并生 成对应的性能事件信号;边沿逻辑单元,用于对上述选择的信号线路进行边沿信号检测,并生成对应的性能事件信号;跳转或开关逻辑单无,用于对上i^择的信号线路进行跳转或开关信 号检测,并生成对应的性能亊件信号;以及信号类型选择单元,用于选择上i^本逻辑单元、边沿逻辑单元、跳 转或开关逻辑单元中的一个所生成的性能事件信号,并通知给该数据处理 系统中的性能事件记录装置。
14. 根据权利要求13所述的数据处理系统中的性能事件检测装置,其 中上述信号类型选择单元进一步包括类型选择寄存器,用于通过可配置的值确定要选择的性能亊件类型;以及多路转换器,根据上述类型选择寄存器的配置,逸择上述基M辑单 元、边沿逻辑单元、跳转或开关逻辑单元中相应的一个所生成的性能事件 信号,以通知给该数据处理系统中的性能亊件记录装置。
15. —种数据处理系统中的多位性能信号合并装置,包括 4^码寄存器,用于通过可配置的值确定上述多位性能信号中对于性能亊件的检测有效的性能信号位;模式寄存器,用于通过可配置的值确定对于上述多位性能信号的合并模式;逻辑与单元,用于对上述i^码寄存器的值和上述多位性能信号的值进 行逻辑与运算,以及对上述掩码寄存器的值和上述模式寄存器的值进行逻 辑与运算;以及比较逻辑单元,用于比较上述掩码寄存器的值和上述多位性能信号的 值的逻辑与结果、上述掩码寄存器的值和上必溪式寄存器的值的逻辑与结 果是否相等,并根据比较结果输出相应的一位信号。
16. 根据权利要求15所述的数据处理系统中的多位信号合并装置,其 中上述逻辑与单元进一步包括笫 一逻辑与单元和笫二逻辑与单元,笫 一逻 辑与单元用于对上述掩码寄存器的值和上迷多位信号的值进行逻辑与运算,第二逻辑与单元用于对上述掩码寄存器的值和上i^溪式寄存器的值进 行逻辑与运算。
17. 根据权利要求15或16所述的数据处理系统中的多位信号合并装 置,其中上述比较逻辑单元,在上述两个逻辑与值相等时,输出高电平, 否则输出低电平。
18. —种数据处理系统中的性能亊件监测系统,包括权利要求11至14中任意一项所述的数据处理系统中的性能事件检测 装置,用于对所选择的待监测信号线路进行性能亊件检测,并在检测到性 能事件的发生时激活相应的性能亊件信号以通知性能亊件记录装置;以及权利要求1至10中任意一项所述的数据处理系统中的性能亊件记录装 置,用于为上述性能事件检测装置所检测到的性能亊件生成性能亊件记录。
19. 根据权利要求18所述的数据处理系统中的性能亊件监测系统,还 包括权利要求15至17中任意一项所述的数据处理系统中的多位性能信号 合并装置,用于将相关联的多位待检测性能信号合并为一位,以由上述性 能事件检测装置进行性能事件检测。
20. —种数据处理系统中的性能亊件记录方法,包括为上述数据处理系统中所监测到的性能亊件,根据系统时钟生成性能 事件记录;以及存储上述所生成的性能事件记录。
21. 根据权利要求20所述的数据处理系统中的性能事件记录方法,其 中该数据处理系统中被监测的性能事件信号中的每一个分别与位掩码寄存 器中的一位相对应,上迷生成性能亊件记录的步骤包括针对当前位掩码寄存器中记录的内容、根据系统时钟生成性能亊件记录。
22. 根据权利要求20所述的数据处理系统中的性能事件记录方法,还 包括在上述生成性能事件记录的步骤中同时生成了多个性能亊件记录时, 对存储冲突进行仲裁,以确定这些性能事件记录的存储顺序。
23. 根据权利要求20至22中任意一项所述的数据处理系统中的性能 亊件记录方法,还包括读出上述性能事件记录,以用于系统性能分析。
24. 根据权利要求20至22中任意一项所述的数据处理系统中的性能 事件记录方法,其中上述性能亊件记录包括表明该性能亊件的类型的标识 以及该性能事件发生时的系统时钟信息。
25. —种数据处理系统中的性能事件检测方法,包括 选择上述数据处理系统中待检测的信号线路;以及 对上述选择的信号线路进行性能亊件的检测,并在检测到性能事件时激活相应的性能事件信号,以便进行性能亊件的记录。
26. 根据权利要求25所述的数据处理系统中的性能亊件检测方法,其 中上述进行性能事件的检测的步骤进一步包括对上述选择的信号线路进行基本信号检测,并生成对应的性能亊件信号;对上述选择的信号线路进行边沿信号检测,并生成对应的性能亊件信号;对上述选择的信号线路进行跳转或开关信号检测,并生成对应的性能 事件信号;以及选择上述基本信号检测、边沿信号检测、跳转或开关信号检测步骤中 的一个所生成的性能亊件信号,以用于性能亊件的记录。
27. —种数据处理系统中的多位性能信号合并方法,包括设定用于确定上述多位性能信号中的有效性能信号位的掩码和对于该 多位性能信号的合并模式;对上述掩码值和上述多位性能信号的值进行逻辑与运算; 对上述掩码值和上述模式值进行逻辑与运算;以及 比较上述掩码值和上述多位性能信号的值的逻辑与结果、上述掩码值 和上述模式值的逻辑与结果是否相等,并根据比较结果输出相应的一位信号。
28. —种数据处理系统中的性能事件监测方法,包括 利用权利要求25或26所述的数据处理系统中的性能亊件检测方法,对所选择的待监测信号线路进行性能事件检测,并在检测到性能事件的发 生时激活相应的性能事件信号;以及利用权利要求20至24中任意一项所述的数据处理系统中的性能事件 记录方法,为所检测到的性能亊件生成性能亊件记录。
29. 根据权利要求28所述的数据处理系统中的性能事件监测方法,还 包括利用权利要求27所述的数据处理系统中的多位性能信号合并方法,将 相关联的多位待检测性能信号合并为一位,以便进行性能事件的检测。
全文摘要
本发明公开了一种数据处理系统中的性能事件的监测和记录装置以及方法。该数据处理系统中的性能事件记录装置包括性能事件记录生成单元,用于为上述数据处理系统中所监测到的性能事件、根据系统时钟生成性能事件记录;以及性能事件记录存储单元,用于存储上述性能事件记录生成单元所生成的性能事件记录。本发明的性能事件记录装置在记录性能事件的同时还记录反映性能事件的发生时间的系统时钟信息,这对于性能分析来说是相当重要的信息。
文档编号H04L29/02GK101155172SQ20061013939
公开日2008年4月2日 申请日期2006年9月27日 优先权日2006年9月27日
发明者强 刘, 杨雨东, 林国辉 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1