当前位置: 首页 > 专利查询>英特尔公司专利>正文

以低开销获得功率分布图信息制造技术

技术编号:9438082 阅读:86 留言:0更新日期:2013-12-12 17:44
在一个实施例中,一种方法包括:在针对多核处理器的核心发生多个功率状态转换事件时,读取该核心的系统计数器值和该核心的低功率计数器值,而无需定时器到期或者中断的触发。可以将这些值存储在处理器的存储器中。随后,在完成收集之后,可以访问该存储器,以便使用所存储的值来确定该处理器的功率分布图。还描述和要求保护了其它实施例。

【技术实现步骤摘要】
【国外来华专利技术】以低开销获得功率分布图信息
技术介绍
现代计算机系统包括耦接在一起的许多不同组件,用以执行数据处理、存取信息和多种其它类似的任务。但是,即使当操作时,也可能不需要很多组件或者其一部分来执行有用的工作。通常,可以将这些组件设置成低功率状态,以减少功耗。这些组件(其还称为设备)可以是特定的芯片、处理器、或者消耗功率的任何其它硬件实体。此外,诸如处理器或片上系统(SoC)之类的单一芯片可以可控制地将其组件中的一个或多个设置成低功率状态。为了帮助分析功耗,可以确定功率分布图(powerprofile),功率分布图是设备的功率状态的时间轴。在很多系统中,为了确定设备的功率状态,处理器必须处于非低功率状态,以便执行指令或其它操作来获得功率分布图信息。也就是说,在进行分布图描绘的系统上执行的分布图描绘(profiling)应用通过调度事件(例如,中断或定时器)进行操作。当该事件发生时,操作系统调用该应用来收集描述其正在进行分布图描绘的行为所必需的信息。但是,通过强制处理器处于完全的供电状态来获得该信息,会使减少功耗的目的受挫。也就是说,这种关于一个平台的功率信息的定期收集,造成使用另外的功率,而且其还使该平台的功率行为失真。附图说明图1示出了根据本专利技术实施例的时序。图2是根据本专利技术实施例用于执行功率分布图描绘的整体方法的流程图。图3是根据本专利技术一个实施例的收集方法的流程图。图4是根据本专利技术实施例用于终止数据收集的方法的流程图。图5是根据本专利技术实施例用于处理所收集的数据的方法的流程图。图6是根据本专利技术实施例的处理器的框图。图7是根据本专利技术实施例的系统的框图。具体实施方式在各个实施例中,可以在无需使处理器或其它设备不必要地退出低功率状态的情况下,执行功率分布图描绘。用此方式,可以使用减少的功耗来确定功率分布图描绘信息(例如,通过不使用处于低功率或者睡眠状态下的处理器来收集功率分布图信息)。因此,实施例提供了一种方法,所述方法在无需使处理器退出低功率或睡眠状态的情况下,在一个平台上实现功率分布图描绘,同时允许用户非常准确地对该平台进行分布图描绘。在很多实施例中,可以对用于跟踪功率状态转换的事件和硬件电力仪表功能进行组合,以使功率分布图描绘应用能非常准确地对平台的功率使用进行分布图描绘。虽然本申请关于处理器描述了示例性实施例,但应当理解的是,本专利技术的范围并不限于此,并且功率分布图描绘也可以应用于诸如片上系统(SoC)等等之类的系统的其它组件。具体而言,SoC可以包括系统控制单元(SCU),系统控制单元是始终开启并管理整个SoC的功率的小型处理器。一些实施例可以执行来自于该处理器的功率分布图描绘器,并能够对平台的任何组件进行监测。处理器功率状态转换事件跟踪处理器何时改变其当前功率状态。这样的功率状态转换事件包括:活动到睡眠转换和睡眠到活动转换。应当注意,如本申请所使用的,术语“睡眠状态”和“低功率状态”可以互换地使用,以指代设备的与正常操作状态相比更低的功率状态。在这样的低功率状态下,例如参照处理器,一些组件可以保持加电并进行工作,而其它组件则处于断电状态。当处理器进入低功率状态时,实现省电。处理器可以被安排为进入低功率状态,或者当处理器检测到执行的工作负载不需要其支持时,自主地进入低功率状态。也就是说,在一些实施例中,可以由软件(例如,操作系统(OS))或者硬件(例如,处理器自身)来触发这些事件。在各个实施例中,在发生转换事件之后,可以通知分布图描绘应用或者其它分布图描绘器。在LinuxTM操作系统中存在处理器功率状态转换事件的一个示例,即power_start跟踪点(其还称为C状态进入跟踪点)。当操作系统准备将处理器安排为进入睡眠状态时,执行C状态进入跟踪点。这些跟踪点是内核测量机制,可以将它们放置在内核源代码流中的一些点处,以使开发者能更好地理解该内核的功能。换言之,跟踪点就像内核源代码中的printf函数调用。跟踪点提供允许设备驱动程序动态地连接到该跟踪点的功能。当一个设备驱动程序连接到一个跟踪点(例如,向跟踪点注册)时,在执行包括该跟踪点的内核源代码时,操作系统调用该设备驱动程序中的函数。换言之,当处理器准备进入睡眠状态时,可以使用C状态进入跟踪点来通知功率分布图描绘应用。应当注意,虽然参照LinuxTMOS的实现进行了描述,但应当理解的是,本专利技术的范围并不限于此,并且实施例也可以用于其它OS。也就是说,更一般地,实施例提供了在功率状态转换时某些功率状态信息的收集,例如,如OS所实现的。当处理器进入某些低功率状态时,其通常停止工作。换言之,其不再执行指令。当处理器被安排进入低功率状态时,其可以选择偏离所请求的睡眠状态。换言之,操作系统可以安排硬件进入睡眠状态1,而该硬件可以基于其对于当前平台活动的了解而选择进入睡眠状态2。代表性处理器包括那些基于IntelTM指令集体系结构(ISA)的处理器,其可以例如根据高级配置和电源接口(ACPI)标准(例如,(2006年10月10日公布的)版本3.0b),提供多种低功率状态,其中ACPI标准提供关于处理器核心的多种低功率状态或所谓的C状态。在一些实施例中,处理器可以提供关于功率分布图描绘信息的硬件支持。例如,在多核处理器中,每一个核心可以包括低功率状态驻留期计数器(例如,C状态驻留期计数器)。这些低功率状态驻留期计数器是当硬件处于特定的低功率状态时对(例如,处理器周期)进行计数的单调增加计数器。例如,处理器可以提供仅仅用于某些指定的低功率状态(例如,C状态C3和C6)的C状态驻留期计数器。该硬件监测仪器允许对硬件的低功率行为进行准确地监测。此外,硬件可以提供系统时间计数器。例如,处理器可以针对每一个核心提供一个时间戳计数器(TSC)。在一些实施例中,这些计数器是一直(当该硬件活动时,或者处于低功率状态时)进行计数的单调增加计数器。如上所述,传统的分布图描绘应用对事件(例如,中断或定时器)进行调度,使得分布图描绘应用可以收集某些信息。但是,这恰恰是功率功率分布图描绘软件可能使处于睡眠状态的处理器退出其睡眠状态的行为。当处理器退出睡眠状态时,其继续以其正常的功耗模式进行操作。换言之,与没有执行应用分布图描绘器的平台相比,对事件进行调度的传统分布图描绘应用使平台消耗了另外的功率(并且可能使低功率性能信息失真)。由于实施例使用处理器功率状态转换事件作为收集关于平台的功率信息的触发事件,因此避免了定时器或中断,并且实施例仅当该处理器活动地执行时,才获得数据。用此方式,分布图描绘应用使用于对平台进行分布图描绘的功率最小化,并避免了该平台低功率行为的失真。在一个实施例中,可以使用设备驱动程序来收集功率分布图信息;但是,在其它实施例中,其它特权级别的软件或者甚至用户级别的软件也可以获得该信息。当处理器准备进入低功率状态时,设备驱动程序使用处理器功率状态转换事件而被通知。在该实现中,设备驱动程序使OS的功率状态转换代码来注册一个函数(例如,收集函数)。例如,在一个实施例中,该代码可以是LinuxTMC状态进入跟踪点,并且该注册使得C状态进入跟踪点在每一次操作系统决定将处理器设置为睡眠状态时调用所注册的函数。在一个实施例中,当OS执行其C状态进入跟踪点时,设备驱动程序收集函数读取系统本文档来自技高网...
以低开销获得功率分布图信息

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2011.03.24 US 13/070,7001.一种用于以低开销获得功率分布图信息的方法,包括:向操作系统OS注册功率分布图描绘器的设备驱动程序的函数,当在系统的处理器中发生功率状态转换事件时所述功率分布图描绘器要被调用;分配用于存储与所述功率状态转换事件有关的信息的缓冲区;以及在发生作为所述功率分布图描绘器的触发事件的所述功率状态转换事件时,调用所述函数用于:读取系统计数器值和针对所述处理器的一个或多个低功率状态中的每一个低功率状态的所述处理器的计数器值;并且将所述系统计数器值和一个或多个计数器值写入到所述缓冲区中,以确切地在分布图描绘窗期间收集信息,其中,所述功率分布图描绘器不调度用于收集所述信息的事件,使得在不发生中断或定时器到期的情况下,所述系统计数器值和多个计数器值被读取。2.根据权利要求1所述的方法,还包括:将控制权从所述OS传递到所述功率分布图描绘器的设备驱动程序的所述函数,以读取所述系统计数器值和所述多个计数器值。3.根据权利要求2所述的方法,还包括:在所述OS的跟踪点中,插入对所述函数的调用。4.根据权利要求1所述的方法,还包括:针对多个功率状态转换事件中的每一个功率状态转换事件,读取所述系统计数器值和所述多个计数器值,以及针对所述多个功率状态转换事件中的每一个功率状态转换事件,将所述系统计数器值和所述多个计数器值写入所述缓冲区。5.根据权利要求4所述的方法,还包括:基于在第一功率状态转换事件和第二功率状态转换事件时读取的所述系统计数器值,来确定所述第一功率状态转换事件和所述第二功率状态转换事件之间的流逝时间,以及基于在所述第一功率状态转换事件和所述第二功率状态转换事件时读取的所述多个计数器值,来确定在所述第一功率状态转换事件之后所进入的低功率状态的类型和持续时间。6.根据权利要求5所述的方法,还包括:确定在所述第一功率状态转换事件和所述第二功率状态转换事件时读取的所述系统计数器值之间的差。7.根据权利要求5所述的方法,还包括:向请求所述第一功率状态转换事件的所述OS提供包括所述持续时间和所述低功率状态的类型的信息。8.根据权利要求7所述的方法,还包括:修改所述操作系统的行为,其中所述操作系统请求所述第一功率状态转换事件为一种不同的类型,所述处理器将所述请求重写为与所述低功率状态的类型相对应的一种不同的低功率状态。9.根据权利要求5所述的方法,还包括:在表中记录所述流逝时间、所述持续时间和所述低功率状态的类型。10.一种用于以低开销获得功率分布图信息的装置,包括:用于在针对多核处理器的核心发生第一方向的多个功率状态转换事件中的每一个功率状态转换事件时,并且在不调度用于信息收集的事件的情况下,从操作系统的通知机制调用功率分布图描绘器的函数的单元,调用所述功率分布图描绘器的函数用于:在不存在使...

【专利技术属性】
技术研发人员:R·奈特
申请(专利权)人:英特尔公司
类型:
国别省市:

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

1