计算机系统及通过计算机系统执行的性能监控方法技术方案

技术编号:13505308 阅读:63 留言:0更新日期:2016-08-10 12:12
本发明专利技术实施例公开计算机系统及性能监控方法。所述计算机系统包括:存储单元和处理单元,其中,多个任务在所述处理单元的控制下进行切换;所述处理单元用于在任务切换被执行的位置提供回调函数,且当第一任务切换发生时重置性能监控单元的用于外部访问计数的计数器,当第二任务切换发生时,从所述计数器读取计数值记录到所述存储单元的日志中作为所述第一任务的记录,并在这之后为所述第二任务重置所述计数器;其中,所述日志中在一预定时间段对应所述第一任务的记录被求和来分析所述第一任务的性能,由此确定对一个特定事件所述第一任务的外部访问的性能。本发明专利技术实施例可精确地确定在一个给定时间段内所选择的任务的发生及性能。

【技术实现步骤摘要】
本专利技术要求申请日为2015年2月2日,专利号为62/110,678的美国临时专利的优先权,该美国专利的全部内容均包含在本专利技术中。
本专利技术涉及计算机
,尤其涉及一种计算机系统及通过计算机系统执行的性能监控方法
技术介绍
近些年,性能监控单元(Performance Monitoring Units,PMU)已被广泛地应用在高端处理器中。性能监控单元主要以硬件方式建立在处理器内部以测试所述处理器的性能参数,为获取性能信息,所述性能监控单元中的一个或多个计数器(counter)对计算机系统中的多个事件进行计数。而这些计数器的操作受控制寄存器(control register)所管理。通常情况下,可通过软件对所述控制寄存器和所述计数器进行读写,因此,用户可通过向所述控制寄存器中写入参数来选择计算机系统中将被监控的事件(events)以及指定所述计数器被使能的条件。有了性能监控单元,可依靠处理器所提供的支持(也即硬件)来测量指令周期(instruction cycle)、高速缓存命中(cache hits)、高速缓存未命中(cachemisses)、分支错误(branch misses)及其他很多的参数。在这类测量中,累积一个给定时间段内所发生的事件的总数量并在该给定时间段结束时一起进行报告。所述性能控制寄存器用于对所期望的事件进行计数,并且在所述监控期结束后这些寄存器的值(values)可被读取。当前,所读取的值仅有助于确定或提供一个给定时间段内所发生的事件的总数或所选择的事件的发生,没有信息可精确地确定在一个给定时间段内所选择的任务(task)的发生。
技术实现思路
本专利技术提供计算机系统及通过计算机系统执行的性能监控方法。本专利技术提供的一种计算机系统,可包括:存储单元;处理单元,包括用于监控多个任务的性能监控单元;其中,所述多个任务在所述处理单元的控制下进行切换;其中,所述处理单元用于在任务切换被执行的位置提供回调函数,且当用于将任务的执行切换为所述多个任务的第一任务的第一任务切换发生时重置所述性能监控单元的用于外部访问计数的计数器,以及,当用于将任务的执行从所述多个任务的所述第一任务切换为第二任务的第二任务切换发生时,从所述性能监控单元的所述用于外部访问计数的计数器读取计数值并将所读取的值记录到所述存储单元中的日志中作为所述第一任务的记录,以及,在该次所述第一任务的记录产生之后为所述第二任务重置所述性能监控单元的所述用于外部访问计数的计数器;其中,所述日志中在一预定时间段对应所述第一任务的记录被求和来分析所述第一任务在所述预定时间段内的性能,由此确定对一个特定事件所述第一任务的外部访问的性能。另外,本专利技术提供的一种通过计算机系统所执行的性能监控方法,所述计算机系统包括处理单元和存储单元,其中所述处理单元包括用于监控多个任务的性能监控单元,所述方法包括:通过所述处理单元在任务切换被执行的位置提供回调函数;当用于将任务的执行切换为所述多个任务的第一任务的第一任务切换发生时,通过所述处理单元重置所述性能监控单元的用于外部访问计数的计数器;当用于将任务的执行从所述多个任务的所述第一任务切换为第二任务的第二任务切换发生时,通过所述处理单元从所述性能监控单元的所述用于外部访问计数的计数器读取计数值并将所读取的值记录到所述存储单元中的日志中作为所述第一任务的记录;以及,在该次所述第一任务的记录产生后为所述第二任务重置所述性能监控单元的所述用于外部访问计数的计数器;其中,所述日志中在一预定时间段对应所述第一任务的所述记录被求和来分析所述第一任务在所述预定时间段内的性能,由此确定对一个特定事件所述第一任务的外部访问的性能。通过上述所提供的方案,本专利技术实施例可精确地确定在一个给定时间段内所选择的任务的发生及性能。【附图说明】图1为依据本专利技术的一个实施例的计算机系统的功能单元的结构示意图。图2为依据本专利技术的一个实施例的任务的性能监控的方法的流程图。图3为依据本专利技术的一个实施例的在一个预定时间段内对一个特定事件的执行流程。图4为依据本专利技术的一个实施例的对应于图3的执行流程的日志的结构示意图。图5为依据本专利技术的另一个实施例的在一预定时间段内一特定事件的执行流程示意图。图6为依据本专利技术的另一个实施例的对应于图5的执行流程的日志的结构示意图。图7为依据本专利技术的另一个实施例的在一个预定时间段内的一个日志的示意图。【具体实施方式】接下面的描述为本专利技术预期的最优实施例。这些描述用于阐述本专利技术的大致原则而不应用于限制本专利技术。本专利技术的保护范围应在参考本专利技术的权利要求的基础上进行认定。图1为依据本专利技术的一个实施例的计算机系统100的功能单元的结构示意图。在一些实施例中,计算机系统100可为一个台式电脑或一个移动设备,例如,可为移动电话、智能手机、便携式媒体播放器(Portable Media Player,PMP)、掌上游戏机、平板计算机、或者笔记本电脑等。计算机系统100至少可包括处理单元110、存储单元120以及显示装置130。处理单元110可包括一处理器和其他信号处理电路。所述处理器可为中央处理单元(Central Processing Unit,CPU)、微控制单元(Micro-Control Unit,MCU)、数字信号处理器(Digital SignalProcessor,DSP),诸如此类,它们用于提供数据处理和计算的功能。处理单元110可进一步包括性能监控单元112用于对多个任务(task)进行性能监控。更具体而言,所述处理单元110可装载并执行一系列来自于所述存储单元120的指令和/或程序代码来控制所述处理单元110、所述存储单元120以及所述显示装置130的操作来执行本专利技术的方法,包括:在执行任务切换(task switch)的位置提供回调函数(callback function);当用于将任务的执行切换为第一任务的第一任务切换发生时,重置(reset)所述性能监控单元的用于外部访问计数的计数器;当用于将任务的执行从所述第一任务切换为第二任务的第二任务切换发生时,从所述性能监控单元(用于执行任务监控)的用于外部访问计数的计数
器读取计数值并将所读取的值记录到存储单元中的日志中作为所述第一任务的记录,并在所述第一任务的记录产生后为所述第二任务重置所述性能监控单元的用于外部访问计数的计数器。所述回调函数的第一个作用为当任务切换或任务之间的内容切换发生时,从所述用于外部访问计数的计数器(例如,从所述性能监控单元的总线读/写寄存器)中读取计数值并将读取的值记录到日志122中作为在被切换的第一任务(也即,任务的执行是从所述第一任务切换为另外的第二任务)期间已经发生的事件的数量。所述回调函数的第二个作用为在任务的切换的过程中(也即,任务自所述第一任务切换为所述下一任务)为下一个将要切换到的任务重置所述计数器(也即,将所述性能监控单元的总线读/写寄存器的值清空为0)。所述存储单元120可为非易失性存储器(non-volatile storage medium),例如,只读存储器(Read-Only Memory,ROM)、闪存(Flash memory)、磁性录音带(magnetic tape)本文档来自技高网
...

【技术保护点】
一种计算机系统,其特征在于,包括:存储单元;处理单元,包括用于监控多个任务的性能监控单元;其中,所述多个任务在所述处理单元的控制下进行切换;其中,所述处理单元用于在任务切换被执行的位置提供回调函数,且当用于将任务的执行切换为所述多个任务的第一任务的第一任务切换发生时重置所述性能监控单元的用于外部访问计数的计数器,以及,当用于将任务的执行从所述多个任务的所述第一任务切换为第二任务的第二任务切换发生时,从所述性能监控单元的所述用于外部访问计数的计数器读取计数值并将所读取的计数值记录到所述存储单元中的日志中作为所述第一任务的记录,以及,在该次所述第一任务的记录产生之后为所述第二任务重置所述性能监控单元的所述用于外部访问计数的计数器;其中,所述日志中在一预定时间段对应所述第一任务的记录被求和来分析所述第一任务在所述预定时间段内的性能,由此确定对一个特定事件所述第一任务的外部访问的性能。

【技术特征摘要】
2015.02.02 US 62/110,678;2015.06.26 US 14/751,8871.一种计算机系统,其特征在于,包括:存储单元;处理单元,包括用于监控多个任务的性能监控单元;其中,所述多个任务在所述处理单元的控制下进行切换;其中,所述处理单元用于在任务切换被执行的位置提供回调函数,且当用于将任务的执行切换为所述多个任务的第一任务的第一任务切换发生时重置所述性能监控单元的用于外部访问计数的计数器,以及,当用于将任务的执行从所述多个任务的所述第一任务切换为第二任务的第二任务切换发生时,从所述性能监控单元的所述用于外部访问计数的计数器读取计数值并将所读取的计数值记录到所述存储单元中的日志中作为所述第一任务的记录,以及,在该次所述第一任务的记录产生之后为所述第二任务重置所述性能监控单元的所述用于外部访问计数的计数器;其中,所述日志中在一预定时间段对应所述第一任务的记录被求和来分析所述第一任务在所述预定时间段内的性能,由此确定对一个特定事件所述第一任务的外部访问的性能。2.如权利要求1所述的计算机系统,其特征在于,所述处理单元还用于:当用于将任务的执行从所述第二任务切换回所述第一任务的第三任务切换发生时从所述性能监控单元的所述用于外部访问计数的计数器读取计数值并将所读取的计数值记录到所述存储单元中的日志中作为所述第二任务的记录,以及,在该次第二任务的记录产生之后为所述第一任务重置所述性能监控单元的所述用于外部访问计数的计数器;其中,所述日志中在所述预定时间段内对应所述第二任务的所述记录被求和来分析所述第二任务在所述预定时间段内的性能,由此确定对所述特定事件所述第二任务的外部访问的性能。3.如权利要求1所述的计算机系统,其特征在于,所述第一任务还包括多个函数调用,所述处理单元还用于:为每一个所述函数调用提供一个标签,并在第二任务切换发生之前的每次函数调用被执行时为第一函数调用产生所述标签以用于对所述第一函数调用的发生计数,以及当所述第二任务切换发生时读取为所述第一函数调用的发生进行计数的计数值并将所述读取的计数值记录到所述存储单元的日志中作为所述第一函数调用的一个记录。4.如权利要求1所述的计算机系统,其特征在于,所述处理单元还包括多个处理核心,且所述处理单元进一步用于:当用于在每一个处理核心中将任务的执行切换为第一任务的第四任务切换发生时,重置所述性能监控单元的所述用于外部访问计数的计数器;以及,当用于在每一个处理核心中将任务的执行由所述第一任务切换为第二任务的第五任务切换发生时,从所述性能监控单元的所述用于外部访问计数的计数器中读取计数值并将读取的计数值记录到所述日志中作为所述第一任务的记录;以及,在该次第一任务的记录产生之后为每一个处理核心中的所述第二任务重置所述性能监控单元的用于外部访问计数的所述计数器;其中,所有处理核心的所述第一任务在所述预定时间段内在所述日志中的记录可被求和来分析所述第一任务在所述预定时间段内的性能,以便确定对应特定事件所述第一任务的外部访问的性能。5.如权利要求1所述的计算机系统,其特征在于,所述性能监控单元的所述用于外部访问计数的计数器为所述性能监控单元的总线读...

【专利技术属性】
技术研发人员:乔梦麟曾柏坤
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:中国台湾;71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1