用于平台功率节省的协调设备和应用程序中断事件的制作方法

文档序号:6359124阅读:187来源:国知局
专利名称:用于平台功率节省的协调设备和应用程序中断事件的制作方法
技术领域
实施方式总体上涉及平台中断(break)事件的管理。更特别地,实施方式涉及协调来自不同源的中断事件的发布以便增强平台功率节省。
背景技术
在传统的移动计算平台中,多10(输入/输出)设备(例如,通信接口)和软件应用程序可能倾向于生成不协调的中断事件,这会阻止平台及其部件快速地进入较低的功率状态并停留在那些状态中延长的时段。实际上,更短的和次优的电池寿命会导致平台比需要的情况更经常地保持在高功率状态中。


通过阅读下面的说明书和所附的权利要求书以及通过参考下面的附图,本发明的实施方式的各种优点对于本领域技术人员而言将变得显而易见,其中图1是根据实施方式的多个被协调的中断事件的示例的框图;图2是根据实施方式的中断事件管理单元的示例的框图;图3是根据实施方式的协调中断事件的发布的方法的示例的流程图;图4是根据实施方式的中断事件管理单元和多个合并单元的框图;以及图5是根据实施方式的平台的示例的框图。
具体实施例方式实施方式可以提供一种方法,其中检测来自第一事件源的第一中断事件和来自第二事件源的第二中断事件。该方法还能够提供至少部分地基于与平台相关联的运行时间信息来协调到该平台的第一和第二中断事件的发布。其他实施方式可以包括具有指令集的计算机可读存储介质,如果该指令集被处理器执行会促使计算机检测来自第一事件源的第一中断事件和检测来自第二事件源的第二中断事件。这些指令还能够促使计算机至少部分地基于与平台相关联的运行时间信息来协调到该平台的第一和第二中断事件的发布。另外,实施方式可以包括具有输入/输出(IO)模块的装置,该输入/输出模块具有用于检测来自第一事件源的第一中断事件和检测来自第二事件源的第二中断事件的逻辑。所述逻辑还可以至少部分地基于与平台相关联的运行时间信息来协调到该平台的第一和第二中断事件的发布。实施方式还可以包括具有第一事件源、第二事件源、处理器和耦合到该处理器的输入/输出(IO)模块的系统。IO模块可以具有用于检测来自第一事件源的第一中断事件和检测来自第二事件源的第二中断事件的逻辑。另外,所述逻辑可以至少部分地基于与该系统相关联的运行时间信息来协调到该系统的第一和第二中断事件的发布。现在转到图1,其示出了在协调到平台的中断事件10的发布之前和之后的来自不同源(例如,功率管理实体)的多个中断事件IO(IOa-IOf)。在所示示例中,在时刻、请求来自设备(例如鼠标)的输入/输出(IO)事件IOa(例如,中断信号(interrupt)),以及在时刻、请求来自运行在平台上的活动应用程序的定时器事件10b。另外,可以在时刻 t3请求来自另一设备(例如网络接口卡(NIC))的一系列IO事件10c。如将更详细讨论的那样,可以由布置在NIC上或布置在中央位置处的合并单元来将IO事件IOc自身组合到一起。还可以在时刻t4请求来自音频设备的IO事件10d。另外,所示示例示出了分别在时刻 t5和t6检测来自活动应用程序的定时器事件IOe和IOf。在它们的本来状态中,中断事件 10可能具有将阻止平台在延长的时段中进入某些功率节省状态的时间概况。因此,可以协调到平台的中断事件10的发布,以使得该平台能够降低功耗。例如, 所示出的来自鼠标的IO事件IOa被延迟直到延迟后的时刻tld,以便其能够与可以在延迟后的时刻t2d被发布的应用程序定时器事件IOb的发布相对准。在另一示例中,定时器事件 IOb可以是不可延迟的事件。在该情况中,IO事件IOa可以被延迟,而定时器事件IOb可以如所调度的那样被发布。在任一种情况中,能够产生延长的空闲时段12,其中由于该延长的时段12,平台可以更快地进入更深的功率节省状态(例如,ACPI/高级配置和电源接口规范,ACPI规范,版本4.0,2009年6月16日,低功率状态)并且保持更长的时段。另外, 分别在延迟后的时刻t3d和t4d处,来自NIC的IO事件IOc可以与来自音频设备的IO事件 IOd相对准,以产生另一延长的时段14。类似地,应用程序定时器事件IOe和IOf可以分别被延迟到时刻t5d和t6d,这能够导致延长的时段16。简言之,延长的时段12、14、16会使得能够实现增强的平台功率节省和更长的电池寿命。图2示出了中断事件管理单元(BMU) 18,该中断事件管理单元18能够检测中断事件20并至少部分地基于与平台/OS(操作系统) 相关联的运行时间信息M来将它们对准为协调后的中断事件22。BMU 18可以被实现在平台沈的模块中,诸如移动互联网设备 (MID)平台的系统控制单元(SCU)或膝上型计算机平台的平台控制器中心(PCH)。实际上, BMU18可以使用稍微不同的接口和实现技术驻留在操作系统(OS)内核空间中,或者驻留在用户空间中。在所示的示例中,可以从中断事件20的源观以及平台沈自身获得运行时间信息M。例如,从耦合到该平台的设备获得的运行时间信息M可以包括用于识别一个或多个IO事件的最大延迟时间的QoS(服务质量)规范。另外,从应用程序获得的运行时间信息M可以识别一个或多个定时器事件的延迟能力特性。例如,如果定时器事件是不可延迟的,则BMU 18可以尝试将其他中断事件与该不可延迟的定时器事件相对准。否则,BMU 18 可以管理定时器事件以实现最佳平台功率节省和性能。通过示例的方式,如果应用程序请求定时器事件每50ms出现一次,并可延迟到每 IOOms的最大频率,则BMU 18可以在平台沈相对不活跃时每隔IOOms触发定时器事件。然而,如果平台沈因为其他源生成的中断事件而变得更活跃,则BMU 18可以将定时器事件的发布向50ms改变,以实现更好的应用程序性能,而不对功耗产生负面影响。另外,平台沈可以以低功率状态中断平均时间、可编程性能要求等的形式来提供运行时间信息M。低功率状态中断平均时间可以指示平台26应当停留在特定低功率状态中以便补偿/偿还与进入和离开该低功率状态相关联的任何功率成本开销的时间量。如下面将更详细讨论的那样,BMU 18可以使用低功率状态中断平均时间来确定每个被延迟的中断事件的保持时间。在这一点上,当保持时间变得比中断平均时间长得多时,功率节省的益处会快速下降,同时性能会明显恶化。因此,BMU 18可以基于中断平均时间和所期望的性能来确定合理的保持时间。可编程性能要求可以由平台沈的用户来定义。因此,如果用户喜欢更高的性能, 则可以将保持时间向下调整到更短的值以便提供更快的响应和改善的性能(同时潜在地丢失一些功率节省机会)。另一方面,如果用户要求更长的电池寿命,则保持时间可以被设置成相对更长的值以便向平台26提供更多的机会来保持在较低功率状态中。现在转到图3,其示出了协调中断事件的发布的示例性方法30。该方法30可以以使用电路技术(诸如ASIC、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术)的固定功能的硬件来实现、以可执行软件来实现为存储在存储器(诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、闪存等)的机器或计算机可读存储介质中的固件和/或逻辑指令集、或者以它们的任意组合来实现。处理框32用于从设备、应用程序和平台收集运行时间信息,并基于运行时间信息确定保持时间。如已经指出的,保持时间的确定可以考虑低功率中断平均时间和可编程性能要求以及IO事件的最大延迟时间和定时器事件的延迟能力特性。如果在框34检测到中断事件,则在框36处可以确定保持时间是否已经期满。如果没有,则在框38处可以延迟该中断事件。依赖于环境,可以以多种不同的方式来实现中断事件的延迟。例如,中断事件可以被放置到队列中,其中该队列可以由BMU 18(图2)来配置(collocate),可以由发布该中断事件的设备在与该设备相关联的合并单元中来配置, 等等。实际上,如果中断事件与管理事务(例如,DMA/直接存储器存取)的总线相关联,则可以通过不宣称(de-assert)PCIe (高速外围部件互连)0BFF(机会缓冲刷新/填充)信号以通知源设备PCIe总线不可用来延迟中断事件。如果在框40检测到不可延迟的中断事件或者在框36确定保持时间已经期满,则在框42可以向平台释放/发布所有被延迟的中断事件。所示出的框44用于基于收集到的运行时间信息来调度下一保持时间。如已经指出的,可以动态地调节保持时间。在框46,可以向平台功率管理单元通知该下一保持时间。图4示出了系统48,其中BMU 50耦合到从应用程序定时器M和设备56 (56a_56c) 接收各种中断事件的处理器/平台52,其中中断事件能够使处理器/平台52离开(或阻止进入)一个或多个低功率状态。在所示的示例中,合并单元58能够用于通过例如将要不然会导致多个中断事件的多个分组组合成单个中断事件来降低中断事件的数量。因此,合并单元58对于通信设备(诸如网络控制器)而言是特别有用的,虽然其他的设备和应用程序也可以从合并处理中受益。从在启动时间的初始化阶段开始,合并单元58能够获得或者可能已经获悉诸如覆盖策略、设备缓存器大小、设备等待时间容忍要求等的系统参数。这些参数可以由合并单元58用来确定初始的基于设备/应用程序的保持时间,该保持时间随后可以在需要时基于运行时间行为进行调整。在运行时间期间,合并单元58可以跟踪每个具备中断事件能力的设备以确定该设备是否已经沉默了预定的时段(例如,在过去的α ms没有生成中断信号)。 当出现这种不活跃时,上述讨论的合并单元58能够进入保持间隔(例如,i3ms),在该保持间隔中没有来自该特定源的中断信号将被中继给BMU 50和/或处理器/平台52。该方法可以在每个设备/应用程序的基础上被实现,并针对每个设备/应用程序使用不同的参数。4/5页
另外,可以使用某些策略来绕过(bypass)合并单元58,诸如高性能/基准模式等。虽然可以在设备56和应用程序定时器M中实现合并单元58,但是通过消除对设备制造商的支持中断事件对准的任何要求,使它们位于BMU 50中可以是更加可缩放的。在 BMU 50中实现合并单元58可以包括确保保持定时器β的上限与设备的内部缓存器大小相兼容以避免缓存器溢出。另外,不活跃定时器α可以被设置成足够大的值,以便避免过早的期满以及对最大系统性能的任何负面影响。可以将多种不同的策略用于合并定时器调整。例如,“静态策略”可以包括将合并行为与用户设置(或基于OS概况)的系统喜好相联系。因此,如果用户喜欢高性能概况, 则可以用β =0来绕过合并。对于均衡的性能/功率概况,可以选择β = 5ms的典型值。 对于具有最大功率节省的低功率模式,可以选择β = IOms的典型值。可替换地,可以基于在某个计数周期上观察到的平均中断事件计数,使用在其中基于闭环来控制β的“动态策略”。因此,该方法能够尽可能地使合并是非干扰性的,以便中断事件行为(平均意义上)并没有明显地改变。从典型的小β值开始,可以在相对较长的时间段(例如,秒量级)上观察来自单个设备的中断事件的数量,并且可以累积地增加β直到事件的平均数量明显改变。 依赖于该改变,β可以重置以从零开始进行调整或者被成倍地减小。现在转到图5,其示出了系统60。系统60可以是具有计算功能(例如,个人数字助理/PDA、膝上型计算机)、通信功能(例如,无线智能电话)、成像功能、媒体播放功能或它们的任意组合(例如,移动互联网设备/MID)的移动平台的一部分。在所示出的示例中,系统60包括处理器62、集成的存储控制器(IMC) 74、IO模块64、系统存储器66、网络控制器 (例如,网络接口卡)68、音频IO设备72、固态盘(SSD) 70和一个或多个其他控制器80。如已经指出的,可以包括具有一个或若干个处理器核心76的核心区域的处理器62可以基于性能和/或功率管理考虑而使用功率管理单元(PMU) 78来将它的核心76和其他系统部件置于一个或多个活动和/或空闲状态中。所示出的IO模块64 (有时称为芯片组的南桥或南集合体)用作主设备并与网络控制器68进行通信,该网络控制器68可以出于各种广泛的目的(诸如蜂窝电话(例如, W-CDMA(UMTS)、CDMA2000 (IS-856/IS-2000)等)、WiFi (例如,IEEE 802. 11,1999 年版本, LAN/MAN无线LANS)、蓝牙(例如,IEEE 802. 15. 1-2005,无线个人区域网)、WiMax (例如, IEEE802. 16-2004、LAN/MAN宽带无线LANS)、全球定位系统(GPS)、扩频(例如,900MHz)和其他射频(RF)电话目的)而提供平台外通信功能。IO模块64还可以包括一个或多个无线硬件电路块以支持这种功能。SSD 70可以包括一个或多个NAND芯片,并且可以用来提供高容量数据存储和/ 或很大的并行操作量。还可以存在这样的解决方案,该解决方案包括被实现为连接到标准总线(诸如串行ATA(SATA,例如SATA版本3. 0规范,2009年5月27日,SATA国际组织/ SATA-I0)总线、或者PCI高速图形(PEG,例如外围部件互连/PCI高速xl6图形150W-ATX 规范1. 0,PCI专门兴趣组)总线)上的IO模块64的分离的专用集成电路(ASIC)控制器的NAND控制器。SSD 70还可以用作USB(通用串行总线,例如USB规范2.0,USB应用者论坛)闪存设备。所示出的IO模块64包括BMU 82,该BMU 82被配置来检测来自多个不同源(诸如网络控制器68、音频IO设备72、SSD 70、在处理器62上执行的活动应用程序等)的中断事
7件并基于与系统60相关联的运行时间信息来协调到处理器62的中断事件的发布。在一个示例中,协调中断事件的发布包括基于运行时间信息来确定保持时间并且基于该保持时间来延迟至少一个中断事件。例如,系统60可以执行VoIP(网际协议语音)应用程序,其中网络控制器68和音频IO设备72各自活动地生成与由其他设备生成的IO事件很少相关或不相关的IO事件。通过使用BMU 82来协调来自网络控制器68和音频IO设备72的中断事件,所示出的IO模块64能够使得系统60的部件进入更深的低功率状态更长的时间段, 并且因此能够明显地增强由系统60实现的功率节省。因此,上面的技术能够提供整体的方法来定义计算系统架构和接口,使得它们协调和对准多个IO设备和应用程序的活动。作为结果,平台空闲可以被最大化以用于优化的平台功率节省。另外,这种协调和对准使得平台能够更紧密地接近具有稳健性能的理想的 “工作-负荷比例”功耗。本发明的实施方式适用于与所有类型的半导体集成电路(“IC”)芯片一起使用。 这些IC芯片的示例包括但不限于处理器、控制器、芯片组部件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片、片上系统(SoC)、SSD/NAND控制器ASIC等。另外,在一些附图中,用线表示信号导体线。一些可以更粗以表明更多的组分信号路径,一些可以具有数字标号以表明组分信号路径的数量,和/或一些可以在一端或更多端具有箭头以表明主信息流向。然而,这不应当以限制的方式进行解释。相反地,可以结合一个或多个示例性实施方式来使用这些添加的细节,以便更容易地理解电路。任何所描绘的信号线(无论是否具有附加信息) 都可以实际地包括可以在多个方向上传播的一个或多个信号,并且可以用任何适当类型的信号方案来实现,例如,使用差分对实现的数字或模拟线、光纤线和/或单端线。已经给出了示例性的尺寸/模型/值/范围,但本发明的实施方式并不局限于此。 当加工技术(例如,光刻术)随着时间而成熟时,期望能够制造出更小尺寸的设备。此外,出于说明和讨论的简化以便不模糊本发明实施方式的主要方面的目的,在附图中可以示出或不示出到IC芯片和其他部件的公知电源/地连接。另外,为了避免模糊本发明的实施方式以及鉴于与框图布置的实现方式相关的细节高度依赖于在其中实现实施方式的平台,即这些细节应当充分地位于本领域技术人员的知识范围内,可以以框图形式示出所述布置。虽然阐述了具体细节(例如,电路)以描述本发明的示例性实施方式,但是对本领域技术人员而言显而易见的是,可以在没有这些具体细节或采用这些具体细节的变形的情况下来实现本发明的实施方式。因此,本说明书应当被认为是说明性而非限制性的。本文可以使用术语“耦合”来指代所讨论的部件之间的任何类型的关系,无论是直接的还是间接的,并且可以应用于电气、机械、流体、光、电磁、电机械或其它连接。另外,本文中使用的术语“第一”、“第二”等仅用于便于讨论,并不带有特定的时间或按时间先后顺序排列的重要性,除非以其他方式指出。本领域技术人员将从前面的描述中意识到,可以以各种形式来实现本发明的实施方式的广泛技术。因此,虽然已经结合本发明的特定示例描述了本发明的实施方式,但是本发明的实施方式的真正范围不应局限于此,因为通过研究附图、说明书和所附的权利要求书,其它修改对于熟练的从业者而言将是显而易见的。
权利要求
1.一种发布一个或多个中断事件的方法,包括检测来自第一事件源的第一中断事件;检测来自第二事件源的第二中断事件;以及至少部分地基于与平台相关联的运行时间信息来协调到所述平台的所述第一中断事件和所述第二中断事件的发布。
2.根据权利要求1所述的方法,其中,协调所述第一中断事件和所述第二中断事件的发布包括至少部分地基于所述运行时间信息来确定保持时间,以及至少部分地基于所述保持时间来延迟所述第一中断事件和所述第二中断事件中的至少一个。
3.根据权利要求1所述的方法,还包括从所述第一事件源和所述第二事件源中的至少一个获得所述运行时间信息。
4.根据权利要求3所述的方法,其中,所述运行时间信息是从耦合到所述平台的设备获得的,所述第一中断事件和所述第二中断事件中的至少一个包括输入/输出事件,并且所述运行时间信息识别所述输入/输出事件的延迟时间。
5.根据权利要求3所述的方法,其中,所述运行时间信息是从所述平台上的活动应用程序获得的,所述第一中断事件和所述第二中断事件中的至少一个包括定时器事件,并且所述运行时间信息识别所述定时器事件的延迟能力特性。
6.根据权利要求1所述的方法,还包括从所述平台获得所述运行时间信息。
7.根据权利要求6所述的方法,其中,所述运行时间信息识别低功率状态中断平均时间。
8.根据权利要求6所述的方法,其中,所述运行时间信息识别可编程性能要求。
9.一种用于发布一个或多个中断事件的装置,包括输入/输出模块,其具有用于检测来自第一事件源的第一中断事件的模块;用于检测来自第二事件源的第二中断事件的模块;以及用于至少部分地基于与平台相关联的运行时间信息来协调到所述平台的所述第一中断事件和所述第二中断事件的发布的模块。
10.根据权利要求9所述的装置,其中,协调所述第一中断事件和所述第二中断事件的发布包括至少部分地基于所述运行时间信息来确定保持时间,以及至少部分地基于所述保持时间来延迟所述第一中断事件和所述第二中断事件中的至少一个。
11.根据权利要求9所述的装置,其中,所述输入/输出模块还包括用于从所述第一事件源和所述第二事件源中的至少一个获得所述运行时间信息的模块。
12.根据权利要求11所述的装置,其中,所述运行时间信息是从耦合到所述平台的设备获得的,所述第一中断事件和所述第二中断事件中的至少一个包括输入/输出事件,并且所述运行时间信息用于识别所述输入/输出事件的延迟时间。
13.根据权利要求11所述的装置,其中,所述运行时间信息是从所述平台上的活动应用程序获得的,所述第一中断事件和所述第二中断事件中的至少一个包括定时器事件,并且所述运行时间信息用于识别所述定时器事件的延迟能力特性。
14.根据权利要求9所述的装置,其中,所述输入/输出模块还包括用于从所述平台获得所述运行时间信息的逻辑,并且所述运行时间信息用于识别低功率状态中断平均时间和可编程性能要求中的至少一个。
15.一种用于发布一个或多个中断事件的系统,包括第一事件源;第二事件源;处理器;以及耦合到所述处理器的输入/输出模块,所述输入/输出模块具有用于检测来自所述第一事件源的第一中断事件的模块,用于检测来自所述第二事件源的第二中断事件的模块;以及用于至少部分地基于与所述系统相关联的运行时间信息来协调到所述系统的所述第一中断事件和所述第二中断事件的发布的模块。
16.根据权利要求15所述的系统,其中,协调所述第一中断事件和所述第二中断事件的发布包括至少部分地基于所述运行时间信息来确定保持时间,以及至少部分地基于所述保持时间来延迟所述第一中断事件和所述第二中断事件中的至少一个。
17.根据权利要求15所述的系统,其中,所述输入/输出模块还包括用于从所述第一事件源和所述第二事件源中的至少一个获得所述运行时间信息的模块。
18.根据权利要求17所述的系统,其中,所述第一事件源和所述第二事件源中的至少一个包括耦合到所述系统的设备,所述第一中断事件和所述第二中断事件中的至少一个包括输入/输出事件,并且所述运行时间信息用于识别所述输入/输出事件的延迟时间。
19.根据权利要求17所述的系统,其中,所述第一事件源和所述第二事件源中的至少一个包括所述系统的用于执行活动应用程序的部件,所述第一中断事件和所述第二中断事件中的至少一个包括定时器事件,并且所述运行时间信息用于识别所述定时器事件的延迟能力特性。
20.根据权利要求15所述的装置,其中,所述输入/输出模块还包括用于从所述系统获得所述运行时间信息的模块,并且所述运行时间信息用于识别低功率状态中断平均时间和可编程性能要求中的至少一个。
全文摘要
管理中断事件的系统和方法可以用于检测来自第一事件源的第一中断事件和检测来自第二事件源的第二中断事件。在一个示例中,事件源可以包括耦合到平台的设备以及该平台上的活动应用程序。可以至少部分地基于与平台相关联的运行时间信息来协调到该平台的所述第一中断事件和所述第二中断事件的发布。
文档编号G06F9/44GK102597912SQ201180002743
公开日2012年7月18日 申请日期2011年9月16日 优先权日2010年9月23日
发明者B·L·弗莱明, J-s·蔡, M·A·埃尔金, P·N·伊耶, R·王, T-Y·C·泰 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1