本发明专利技术提供了一种处理器内部行为监测方法,包括:执行处理器对于性能事件计数器的保留恢复处理;其中,在处理器进程调度与切换过程中,在操作系统层进行切换进程之前,采用软件方式对处理器性能计数器的内容予以保留与转储,在处理器完成对性能计数器寄存器复位完成之后,再恢复上述计数器的内容;运行支持处理器性能事件计数器保留恢复处理的操作系统;实现处理器单个性能事件的性能计数监测;实现处理器批量性能事件的性能计数监测。
【技术实现步骤摘要】
本专利技术涉及计算机
,具体涉及一种精确计数的。
技术介绍
随着集成电路的规模和复杂度的日益增加,处理器设计越来越复杂、功能更加多样化,处理器的测试与验证工作难度越来越大,对测试用例的要求也越来越高。为了提高处理器测试用例的质量,测试验证人员需要采用各种手段对测试用例的质量进行评估,对测试效果进行反馈与分析,进一步指导测试用例的编写。目前Intel系列处理器为支持性能监测,提供了性能监测计数器PMC(performance monitoring counters),用户可以通过读写10(输入输出)寄存器或者通过RPMC(Remote Performance Monitoring and Control,远距离性能监视及控制)指令的方式获取性能计数器的值,获取测试人员或者用户关的注性能事件的统计情况。Intel系列处理器等通过设置PMC的方式,支持用户获取性能事件(performanceevent),为用户和测试人员进一步窥探处理器行为提供了手段。基于PMC的衍生工具很多,例如在置于L2高速缓存套件的监测L2Cache访问相关的性能的处理器性能监测装置等,这些装置能够准确监测性能事件的发生次数,但是或多或少地增加了硬件开销;另外这些工具很多均是基于某些被重点关注的性能事件开发的,适用范围有限。
技术实现思路
本专利技术所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种精确计数的,其能够在现有硬件资源的情况下,以完全采用软件的方式实现性能事件的监测,为用户和测试人员提供PMC所有性能事件的计数值。根据本专利技术,提供了一种,包括:第一步骤:执行处理器对于性能事件计数器的保留恢复处理;其中,在处理器进程调度与切换过程中,在操作系统层进行切换进程之前,采用软件方式对处理器性能计数器的内容予以保留与转储,在处理器完成对性能计数器寄存器复位完成之后,再恢复上述计数器的内容;第二步骤:运行支持处理器性能事件计数器保留恢复处理的操作系统;第三步骤:实现处理器单个性能事件的性能计数监测;第四步骤:实现处理器批量性能事件的性能计数监测。优选地,所述的还包括:第五步骤,根据第三步骤和第四步骤中性能事件计数结果,分析计数结果。优选地,单个性能事件的性能计数监测进程包括:第一单个性能事件子步骤:选定特定性能事件进行监测,同时设定性能事件监测的总时间;第二单个性能事件子步骤:确定所述性能事件的性能计数的结果日志文件命名原则;第三单个性能事件子步骤:开启所述性能事件的监测进程,启动性能计数器对性能事件的计数值进行计数,开始持续计时;第四单个性能事件子步骤:运行处理器测试用例集合;第五单个性能事件子步骤:获取性能事件的计数值,同时将计数值以某种固定格式以追加的形式更新至指定日志文件;第六单个性能事件子步骤:判断性能事件监测的计时时间是否已经到,如果计时已到,则终止性能事件计数器计数行为;如果计时未到,则在进程休眠指定时间之后,跳转至第五单个性能事件子步骤继续运行。优选地,批量性能事件的性能计数监测进程包括:第一批量性能事件子步骤:将多个性能事件按照预定格式进行罗列;第二批量性能事件子步骤:确定目标CPU的核数,并设置绑定至目标CPU的不同核心的命令;第三批量性能事件子步骤:获取可用CPU核心数量,同时判断性能事件总数与总可用CPU核数之间的关系,并执行下述处理:如果总可用CPU核数少于性能事件总数则不进行性能计数,转至第四批量性能事件子步骤;如果总可用CPU核数超过性能事件总数的预定倍数,则取前面的预定倍数于性能事件总数的可用CPU核数进行性能计数统计,并且跳转至第五批量性能事件子步骤继续运行;如果总可用CPU核数介于性能事件总数以及性能事件总数的预定倍数之间,则选择总可用CPU核数进行性能计数,此后跳转至第五批量性能事件子步骤继续运行;第四批量性能事件子步骤:判定单个性能计数器的性能事件数目的最大值是否大于可用的CPU核数,如果得到肯定判定则停止监测,否则按照遍历不同处理器性能计数器的方式,将处于同一个性能计数器内部的不同性能事件绑定至不同处理器核心;第五批量性能事件子步骤:按照循环遍历性能事件列表的方式,将性能事件绑定到选择的CHJ核心,随后执行第六批量性能事件子步骤;第六批量性能事件子步骤:确定性能事件与CPU具体核心编号之间的关系,之后按照第三步骤的单个性能事件的性能计数监测进程的方式展开批量处理器性能事件的性能计数监测。优选地,所述预定倍数是3倍。由此,本专利技术提供一种精确计数的处理器性能事件自动监测装置,实现了在用户层对处理器定义的性能事件进行统计与反馈,进而对测试用例的编写提供有针对性的指寸ο【附图说明】结合附图,并通过参考下面的详细描述,将会更容易地对本专利技术有更完整的理解并且更容易地理解其伴随的优点和特征,其中:图1示意性地示出了根据本专利技术优选实施例的的单个性能事件监测过程示例的流程图。图2示意性地示出了根据本专利技术优选实施例的的批量性能事件监测过程示例的流程图。需要说明的是,附图用于说明本专利技术,而非限制本专利技术。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。【具体实施方式】为了使本专利技术的内容更加清楚和易懂,下面结合具体实施例和附图对本专利技术的内容进行详细描述。图1示意性地示出了根据本专利技术优选实施例的的单个性能事件监测过程的流程图。图2示意性地示出了根据本专利技术优选实施例的的批量性能事件监测过程示例的流程图。如图1和图2所示,根据本专利技术的一种精确计数的处理器性能事件自动监测方法包括:第一步骤:执行处理器对于性能事件计数器的保留恢复处理;其中,在处理器进程调度与切换过程中,在操作系统层进行切换进程之前,采用软件方式对处理器性能计数器的内容予以保留与转储,在处理器完成对性能计数器寄存器复位完成之后,再恢复上述计数器的内容;采用这种方式,测试人员能够精确地获取多个测试用例运行过程的性能事件的计数统计信息。第二步骤:运行支持处理器性能事件计数器来保留恢复处理的操作系统,由此支持性能事件的精确计数;第三步骤:实现处理器单个性能事件的性能计数监测进程,处理器核心以后台方式提交单个性能事件的监测进程;具体地,例如,如图1所示,单个性能事件的监测进程运行机制描述如下:第一单个性能事件子步骤:选定某个性能事件进行监测,同时设定性能事件监测的总时间;第二单个性能事件子步骤:确定性能事件的性能计数的结果日志文件命名原则;第三单个性能事件子步骤:开启选定性能事件的监测进程,启动性能计数器对性能事件的计数值进行计数,开始计时;第四单个性能事件子步骤:运行处理器测试用例集合;第五单个性能事件子步骤:获取性能事件的计数值,同时将计数值以某种固定格式以追加的形式更新至指定日志文件;第六单个性能事件子步骤:判断性能事件监测的计时时间是否已经到,如果计时已到,则终止性能事件计数器计数行为;否则在进程休眠指定时间之后,跳转至第五单个性能事件子步骤继续运行。第四步骤:实现处理器批量性能事件的性能计数监测。具体地,例如,如图2所示,批量性能事件计数的监测运行当前第1页1 2 本文档来自技高网...
【技术保护点】
一种处理器内部行为监测方法,其特征在于包括:第一步骤:执行处理器对于性能事件计数器的保留恢复处理;其中,在处理器进程调度与切换过程中,在操作系统层进行切换进程之前,采用软件方式对处理器性能计数器的内容予以保留与转储,在处理器完成对性能计数器寄存器复位完成之后,再恢复上述计数器的内容;第二步骤:运行支持处理器性能事件计数器保留恢复处理的操作系统;第三步骤:实现处理器单个性能事件的性能计数监测;第四步骤:实现处理器批量性能事件的性能计数监测。
【技术特征摘要】
【专利技术属性】
技术研发人员:李岱峰,尉红梅,谭坚,王丽一,吴臻,相陈伟,陈磊,
申请(专利权)人:无锡江南计算技术研究所,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。