《用于系统管理的可伸缩数据采集.pdf》由会员分享,可在线阅读,更多相关《用于系统管理的可伸缩数据采集.pdf(17页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103838658 A (43)申请公布日 2014.06.04 CN 103838658 A (21)申请号 201310549467.7 (22)申请日 2013.11.07 13/686,391 2012.11.27 US G06F 11/30(2006.01) G06F 1/28(2006.01) G08C 19/00(2006.01) (71)申请人 国际商业机器公司 地址 美国纽约阿芒克 (72)发明人 I贝萨 JS多德森 K拉加玛尼 EE雷特 GS斯蒂尔 MS艾伦 - 韦尔 SH赖德 TJ罗斯达尔 GV休本 (74)专利代理机构 北京市金杜律师事务所 1。
2、1256 代理人 王茂华 孙新国 (54) 发明名称 用于系统管理的可伸缩数据采集 (57) 摘要 具有用于系统管理的可伸缩数据采集的系 统, 包括多个本地数据采集器和系统采集器。 每个 本地数据采集器与系统的相应子系统耦合。每个 本地数据采集器被配置成周期性地从相应的子系 统采集功率管理相关的数据, 并且对采集的功率 管理相关的数据进行格式化以便沿本地数据采集 器和系统采集器之间的多个通道的任意一个通道 进行传递。系统采集器经由多个通道与多个本地 数据采集器耦合。系统采集器至少部分地基于通 道状态从系统采集器和每个本地数据采集器之间 的通道进行选择, 并且取回由所述多个本地数据 采集器的每个。
3、本地数据采集器沿针对所述本地数 据采集器选择的通道所采集的所述功率管理相关 的数据。 (30)优先权数据 (51)Int.Cl. 权利要求书 2 页 说明书 10 页 附图 4 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书10页 附图4页 (10)申请公布号 CN 103838658 A CN 103838658 A 1/2 页 2 1. 一种方法, 包括 : 由多个本地数据采集器中的每个本地数据采集器来周期性地采集针对系统中的多个 子系统的相应一个子系统的功率管理数据, 其中所述功率管理数据包括热学数据和性能数 据 ; 由所述多个本地数据采集器中的每。
4、个本地数据采集器对所述功率管理数据进行格式 化以便沿所述本地数据采集器和系统功率管理数据采集器之间的多个通道的任意一个通 道传递 ; 针对所述多个本地数据采集器中的每个本地数据采集器, 至少部分地基于所述多个通道的通道状态来选择在所述本地数据采集器和所述系统 功率管理数据采集器之间的所述多个通道中的第一通道 ; 以及 沿所述第一通道取回所述功率管理数据。 2. 根据权利要求 1 所述的方法, 进一步包括至少部分地基于从所述多个本地数据采集 器采集的所述功率管理数据来管理用于所述系统的功率。 3. 根据权利要求 1 所述的方法, 进一步包括确定所述通道状态。 4. 根据权利要求 1 所述的方法,。
5、 其中也基于所述多个通道的通道特性来进行所述多个 通道中的所述第一通道的所述选择。 5. 根据权利要求 1 所述的方法, 其中由所述多个本地数据采集器中的每个本地数据采 集器采集针对所述系统中的所述多个子系统的所述相应一个子系统的所述功率管理数据 包括 : 从遍及所述多个子系统的所述相应一个子系统的感应温度的热传感器来采集所述热 学数据 ; 以及 采集关于所述多个子系统的所述相应一个子系统的所述性能数据。 6. 根据权利要求 5 所述的方法, 其中所述采集关于所述多个子系统的所述相应一个子 系统的所述性能数据包括读取性能计数器和确定事件的到达间隔时间中的至少一个。 7. 根据权利要求 1 所述。
6、的方法, 其中所述功率管理数据也包括功耗测量值。 8. 根据权利要求 1 所述的方法, 进一步包括向所述多个本地数据采集器中的发起所述 周期性地采集所述功率管理数据的至少一个子集传送命令。 9. 根据权利要求 1 所述的方法, 进一步包括所述多个本地数据采集器的至少一个子集 根据本地定时器功能来采集所述功率管理数据。 10. 根据权利要求 1 所述的方法, 进一步包括在所述功率管理数据的所述取回前, 所述 多个本地数据采集器中的至少一个本地数据采集器向采集的所述功率管理数据添加错误 或状态信息。 11. 一种系统, 包括 : 多个子系统 ; 多个本地数据采集器, 每个所述本地数据采集器与所述多。
7、个子系统的相应的子系统耦 合, 所述多个本地数据采集器中的每个本地数据采集器被配置成, 周期性地从所述相应的子系统采集与功率管理相关的数据 ; 对周期性采集的所述与功率管理相关的数据进行格式化以便沿所述本地数据采集器 和系统采集器之间的多个通道中的任意一个通道传递 ; 以及 权 利 要 求 书 CN 103838658 A 2 2/2 页 3 系统采集器, 其经由所述多个通道与所述多个本地数据采集器中的每个本地数据采集 器耦合, 所述系统采集器被配置成, 至少部分地基于所述多个通道的状态来从所述系统采集器和所述本地数据采集器中 的每个本地数据采集器之间的所述多个通道进行选择, 沿针对所述本地数。
8、据采集器选择的通道来取回由所述多个本地数据采集器中的每个 本地数据采集器所采集的所述与功率管理相关的数据。 12. 根据权利要求 11 所述的系统, 进一步包括系统功率管理器, 其被配置成至少部分 地基于由所述系统采集器所提供的所述与功率管理相关的数据来管理所述多个子系统的 功耗。 13. 根据权利要求 11 所述的系统, 其中所述多个本地数据采集器中的每个本地数据采 集器和所述系统采集器是可配置的数字逻辑。 14.根据权利要求11所述的系统, 其中所述多个子系统包括存储器子系统、 输入/输出 子系统、 通信子系统和图形子系统中的两个或更多个。 15. 根据权利要求 11 所述的系统, 其中所。
9、述系统采集器被配置成命令所述多个本地数 据采集器中的至少第一本地数据采集器来发起数据采集。 16. 根据权利要求 11 所述的系统, 其中所述多个本地数据采集器中的至少第一本地数 据采集器被配置成根据由所述第一本地数据采集器生成的定时脉冲来周期性地从所述多 个子系统的所述相应的子系统采集所述与功率管理相关的数据。 17. 根据权利要求 11 所述的系统, 其中所述多个本地数据采集器中的至少第一本地数 据采集器被配置成在向所述系统采集器传递的所述与功率管理相关的数据中包括错误数 据。 权 利 要 求 书 CN 103838658 A 3 1/10 页 4 用于系统管理的可伸缩数据采集 技术领域 。
10、0001 本发明主题的实施例一般地涉及功率管理的领域, 并且更具体地, 涉及用于功率 管理的信息的分布式采集。 背景技术 0002 系统的功率密度已经随系统的复杂度增加。 功率密度中的增加影响系统的温度条 件和性能。复杂系统的功率管理使用各种传感器来监测大量的组件和子系统, 并且采集关 于影响系统性能的环境条件和事件的信息。 功率管理依赖于该信息的及时传递以便采取被 动或主动的动作来维持性能。 发明内容 0003 本发明的主题的实施例包括一种系统, 该系统包括多个子系统、 多个本地数据采 集器以及系统采集器。每个本地数据采集器与多个子系统的相应子系统耦合。多个本地数 据采集器的每个本地数据采集。
11、器被配置成周期性地从相应地子系统采集与功率管理相关 的数据, 并且被配置成对与周期性采集地功率管理相关的数据进行格式化以便沿本地数据 采集器和系统采集器之间的多个通道的任意一个进行传递。 系统采集器经由多个通道与多 个本地数据采集器的每个本地数据采集器耦合。 系统采集器被配置成至少部分地基于多个 通道的状态来从系统采集器和每个本地数据采集器之间的多个通道进行选择, 并且被配置 成沿针对本地数据采集器选择的通道来取回由多个本地数据采集器的每个本地数据采集 器所采集的与功率管理相关的数据。 附图说明 0004 通过参考附图, 本实施例可以被更好地理解, 并且多个目标、 特征和优势对于本领 域技术人。
12、员来说变得清楚。 0005 图 1 绘出具有本地化的功率管理数据采集和动态通道选择以携带本地功率管理 数据的示例系统的概念图 ; 0006 图 2 绘出用于从管理的子系统本地采集功率管理数据的操作的示例流程图 ; 0007 图 3 绘出系统功率管理数据采集器的示例操作。 0008 图 4 绘出具有用于多个子系统的本地数据采集器的示例系统的概念图。 具体实施方式 0009 下面的描述包括体现本发明主题的技术的示例性系统、 方法、 技术、 指令序列和计 算机程序产品。然而, 将理解到描述的实施例可以在没有这些具体细节的情况下实施。例 如, 说明书引用采集用于功率管理的热学数据和性能数据的例子。实施。
13、例可以采集其他的 数据, 例如功耗测量值。在其他的实例中, 公知的指令实例、 协议、 结构和技术未详细地示 出, 以便不模糊描述。 说 明 书 CN 103838658 A 4 2/10 页 5 0010 系统采集来自于位置遍及于整个系统的传感器和性能监视器的信息以管理功耗。 传感器和监视器从存储器装置、 输入 / 输出控制器、 图像核等采集信息。在典型的系统架构 中携带该信息的通道不足以满足对于有效功率管理的及时性要求。 缺乏及时性导致不正确 的功率管理动作, 其负面地影响系统性能。 0011 系统架构可以被设计成从多个可用的通道选择最为有效的通道以传送功率管理 数据 (例如, 热学数据和性。
14、能数据的组合) 。由于复杂的系统将包括遭受和 / 或影响功率管 理的多个子系统, 针对可伸缩性来本地化数据采集。 在周期性的时间间隔处, 本地功率管理 数据采集器采集针对给定子系统的功率管理数据。 系统功率管理数据采集器在周期性地时 间间隔处从每个本地功率管理数据采集器采集功率管理数据。对于给定的时间间隔, 系统 功率管理数据采集器选择系统功率管理数据采集器和每个本地功率管理数据采集器之间 最为有效的通道以获得本地功率管理数据。 因为不同的通道特性 (例如, 通道带宽和通道频 率) 和通道的各种使用和用户, 通道的效率可以跨通道而变化。在给定的时间间隔内选择最 为有效的通道的灵活性允许功率管理。
15、在动态系统中操作, 同时满足对于功率管理的及时性 的要求。 0012 图 1 绘出具有本地化功率管理数据采集和动态通道选择以携带本地功率管理数 据的示例系统的概念图。绘出的系统包括处理器芯片 101、 存储器子系统 110A 和存储器子 系统 110B。处理器芯片 101 包括系统功率管理器 103 和系统功率管理数据采集器 105。系 统功率管理器 103 可以以片上控制器来实现。系统功率管理器 103 执行任务以管理跨系统 的功耗。系统功率管理数据采集器 105 可以以可配置的 / 可编程的数字逻辑来实现。实施 例也可以以系统功率管理器中的固件或由处理器执行的固件来实现系统功率管理数据采 。
16、集器。系统功率管理器也可以以处理器芯片上的固件来实现。 0013 为了该示例说明, 存储器子系统110A和110B具有类似的配置。 存储器子系统110A 包括存储器单元 112A 和片上本地数据采集器 114A。存储器子系统 110B 包括存储器单元 112B 和片上本地数据采集器 114B。数据采集器可以以片上控制器来实现, 通过修改子系统 控制器的电路装置和固件 (例如, 修改存储器控制器) 来实现, 实现为可配置 / 可编程逻辑 等。热传感器 120 感应在本地数据采集器 114A 处的逻辑的温度。热传感器 135 感应存储 器单元 112A 的温度。热传感器 121 感应在本地数据采集。
17、器 114B 处的逻辑的温度。热传感 器 137 感应存储器单元 112B 的温度。热传感器的例子包括热二极管。 0014 本地数据采集器114A、 114B被配置成分别采集关于存储器子系统110A、 110B的热 学数据和性能数据。 例如, 每个本地数据采集器114A、 114B编程有代码 (例如, 固件) , 其指示 本地数据采集器如何对由本地数据采集器所采集的热学数据和性能数据进行格式化和封 包。用于处理本地数据采集器 114A 的热学数据的代码 / 数字逻辑被逻辑地绘为热监视器 116A。用于处理本地数据采集器 114A 的性能数据的代码 / 数字逻辑被逻辑地绘为性能监 视器 118A。
18、。同样地, 本地数据采集器 114B 被绘为包括热监视器 116B 和性能监视器 118B。 对于存储器子系统110A, 热传感器120、 135向热监视器116A供应热学数据。 对于存储器子 系统 110B, 热传感器 121、 137 向热监视器 116B 供应热学数据。性能监视器 118A、 118B 采集 性能数据。采集性能数据的例子包括读取事件计数器, 该事件计数器代表与各种性能相关 的事件 (读、 写、 命中、 漏掉、 功耗中的改变等) 的频率。采集性能数据的另一例子包括计算事 件的到达间隔时间 (即, 事件之间经过的时间量) 。 性能监视器118A针对存储器子系统110A 说 明。
19、 书 CN 103838658 A 5 3/10 页 6 采集性能数据, 而性能监视器 118B 针对存储器子系统 110B 采集性能数据。 0015 有多个通道可以用于将来自于存储器子系统 110A、 110B 的每个的功率管理数据 携带到系统功率管理数据采集器 105。通道可以是互连或总线。通道的例子包括串行外围 接口互联总线、 IC间总线、 系统管理总线以及点到点处理器互连。 通道122或通道124可以 用于将来自于本地数据采集器 114A 的功率管理数据携带到系统功率管理数据采集器 105。 同样地, 通道 126 或通道 128 可以用于将来自于本地数据采集器 114B 的功率管理数。
20、据携带 到系统功率管理数据采集器 105。当针对存储器子系统 110A 采集功率管理数据时, 系统功 率管理数据采集器105确定通道122、 124中的哪个在给定的时间间隔内可以更为有效地提 供对存储器子系统 110A 的本地功率管理数据的访问。当针对存储器子系统 110B 采集功率 管理数据时, 系统功率管理数据采集器 105 确定通道 126、 128 中的哪个在给定的时间间隔 内可以更为有效地提供对存储器子系统 110A 的本地功率管理数据的访问。 0016 基于稍微不同地假设来不同地绘出图 1 中的通道。通道 124、 126 被分别绘出为系 统功率管理数据采集器 105 和本地数据采。
21、集器 114A、 114B 之间的点到点通道。例如, 通道 124 可以是由处理器芯片 101 用于配置存储器子系统 110A 的缓冲器芯片的服务通道, 假定 缓冲器芯片包括本地数据采集器 114A。本地数据采集器 114A 将采集到的功率管理数据写 入到可以经由通道 124 访问的本地数据采集器 114A 的存储器位置 (例如, 寄存器文件) 。类 似地, 本地数据采集器114B将采集的功率管理数据写入到可以经由通道126访问的本地数 据采集器 114B 的存储器位置。然而, 在写入功率管理数据前, 本地数据采集器 114A、 114B 将采集的热学数据和性能数据封包成功率管理数据。本地数据。
22、采集器 114A、 114B 接着分别 视情况将功率管理数据进行格式化, 以便通过通道 124、 126 来传输。当系统功率管理数据 采集器 105 经由通道 124、 126 来采集功率管理数据时, 系统功率管理数据将采集到的功率 管理数据写入可以由系统功率管理器 103 访问的存储器位置。尽管图 1 将通道 124、 126 绘 为系统功率管理数据采集器 105 和本地数据采集器 114A、 114B 之间的点到点, 系统功率管 理数据采集器 105 将利用相应的通道控制器来访问通道 124、 126。 0017 图1绘出具有相关联的存储器和互连的通道122、 128。 本地数据采集器11。
23、4A将数 据写入到存储器 131(例如, 寄存器文件) 。本地数据采集器 114B 将数据写入存储器 133。 本地数据采集器 114A 或者直接写入到存储器 131 或经由用于存储器 131 的控制器来写入。 类似地, 本地数据采集器 114B 或者直接写入到存储器 133 或者经由用于存储器 133 的控制 器来写入。 当准备采集数据时, 系统功率管理数据采集器105将向通道122的控制器以及通 道 128 的控制器提交请求。响应于该请求, 通道 122 的控制器从存储器 131 取回数据。控 制器接着将数据写进存储器 109 并且通知请求方。响应于该通知, 系统功率管理数据采集 器 10。
24、5 从存储器 109 读取数据并且向系统功率管理器 103 传送该功率管理数据。类似地, 响应于来自于系统功率管理数据采集器 105 的请求, 通道 128 的控制器从存储器 133 取回 数据。通道 128 的控制器接着将数据写进存储器 107 并且通知请求方。响应于该通知, 系 统功率管理数据采集器 105 从存储器 107 读取数据并且向系统功率管理器 103 传送该功率 管理数据。系统功率管理器 103 基于由系统功率管理数据采集器 105 所提供的数据来周期 性地管理功耗 / 对各种子系统的递送。 0018 尽管图 1 仅绘出热学数据和性能数据的采集, 但实施例可以采集其他的数据, 。
25、例 如功耗测量值。作为例子, 功率测量装置可以从存储器子系统采集功耗测量值。存储器子 说 明 书 CN 103838658 A 6 4/10 页 7 系统可以包括跨电源轨上的检测电阻 (电流测量) 的电压的模拟 / 数字转换器, 该电源轨向 存储器模块提供电源以及施加的电压的测量值 (感应轨和地之间的下降) 。这些一起可以用 于在本地功耗监视器处计算从该电压轨到存储器子系统的功耗。类似于其他的监视器, 功 耗监视器可以向本地数据采集器周期性地提供带有或不带有修改的功耗测量值 (例如, 区 分从不同的电源轨感应的测量值, 计算平均值等) 。 0019 图 2 绘出用于从管理的子系统本地采集功率管。
26、理数据的操作的示例流程图。这些 操作可以利用对片上控制器进行编程的固件、 专用集成电路、 可编程 / 可配置数字逻辑控 制器等来实现。 0020 在块 201 处, 从热监视器采集热学数据并且从性能监视器采集性能数据。监视器 可以实现为本地数据采集器的一部分或单独的代码和 / 或硬件。热监视器从位于由本地数 据采集器所管理的子系统中的一个或多个热传感器 (例如, 热二极管) 来获得热学数据。如 果热监视器从多个传感器采集热学数据, 则热监视器可以保留各个温度的测量值或合并测 量值 (例如, 计算热学数据的平均值) 。性能监视器读取发生在子系统中的与各种性能相关 的事件的子系统的一个或多个计数器。
27、。 性能监视器也可以计算事件之间的时间 (即, 到达间 隔事件数据) 。热学数据和性能数据可以写入到由本地数据采集器所有的存储器 (例如, 高 速缓冲存储器) 。 0021 在块 203 处, 确定跨本地数据采集器和下一级数据采集器 (例如, 系统功率管理数 据采集器) 之间的通道的格式化是相同的。例如, 通道可以具有不同的宽度、 频率、 报头规 范等。相同的代码可以安装进不同架构的多个系统。在启动后, 被配置成或编程成操作为 本地数据采集器的芯片 (即, 执行安装的代码的芯片) 将与可由本地数据采集器访问的通道 控制器通信, 以便比较通道的格式化。如果格式化跨通道是同质的, 则控制流向块 2。
28、05。否 则, 控制流向块 213。 0022 在块 205 处, 热学数据和性能数据被格式化并且被封包以用于功率管理。例如, 热 学数据和性能数据被格式化为适合 8 字节寄存器 / 缓冲器, 并且插入标识符以区分热学数 据与性能数据。热学数据和性能数据可以由相应的监视器或由本地数据采集器加标记。相 应的监视器或本地数据采集器也可以对封包的数据增加错误 / 状态字段, 以指示针对数据 的特定方面的错误和 / 或与本地数据采集有关的问题。例如, 热监视器在来自于每个热传 感器的热学数据前插入字段, 并且本地数据采集器对功率管理数据包添加报头字段。热监 视器在对应于来自报告基本上偏离于相邻热传感器。
29、的热学数据的热传感器的热学数据的 字段中插入错误标记和热传感器的标识符。 本地数据采集器可以向包报头写入对应于字段 的偏移 / 指针以及针对本地数据采集的故障的指示。实施例也可以封装热学数据和性能数 据以便进行封包。另外, 本地数据采集器可以向功率管理数据 (即, 热学数据和性能数据) 添 加报头信息以符合通道规范。 0023 在块 207 处, 性能数据包经由任意的通道写入可由系统功率管理数据采集器所访 问的存储器位置。例如, 本地数据采集器写入性能数据包 (即, 格式化和封包的热学数据和 性能数据) 。例如, 本地数据采集器对热学数据和性能数据进行格式化并且封包在由本地 数据采集器所有的存。
30、储器 (例如, 高速缓冲存储器) 中。本地数据采集器接着将来自于由本 地数据采集器所有的存储器的、 格式化和封包的数据写入到通过任意的通道可访问的存储 器。这假定所有的通道可以访问存储器。在一些情形中, 通道可以具有同质的格式化但访 说 明 书 CN 103838658 A 7 5/10 页 8 问不同的存储器。 对于那些情形, 对于数目增加的候选通道, 实施例可以向多个存储器写入 性能数据包, 以便向系统功率管理数据采集器携带性能数据包。 0024 在块 209 处, 存储器位置被标记为更新。标记存储器位置指示位置主控新的数据 和位置主控过期数据 (即, 已经向系统功率管理数据采集器传送的数。
31、据) 的轨道。标记存储 器位置的例子包括设置标记和写入时间戳。控制从块 209 流向块 211。 0025 在块 211 处, 本地数据采集器等待下一时间间隔以便开始。控制从块 211 流回块 201。 0026 如果在块203处确定跨通道的格式化是异质的, 则在块213处选择通道格式之一。 例如, 第一格式可以是对应于服务通道的8字节寄存器/缓冲器。 第二格式可以是用于128 字节高速缓冲存储器线通道的 128 个字节。通道格式的选择可以涉及访问这样的结构, 该 结构字面地或参考地指示不同的通道格式。结构可以在系统启动时填充。 0027 在块 215 处, 根据选择的通道格式来对热学数据和性。
32、能数据封包。可以根据参考 块 205 描述的各种例子来完成格式化和封包。 0028 在块 217 处, 功率管理数据包写入到可以由系统功率管理数据采集器经由对应于 选择的通道格式的一个或多个通道访问的存储器位置。 类似于块207, 本地数据采集器可以 将功率管理数据包写入通过对应于选择的通道格式的不同通道可访问的多个存储器。 0029 在块 219 处, 存储器位置被标记为更新。再次, 标记传达数据可以用于由系统功率 管理数据采集器来读取。 0030 在块 221 处, 确定是否还有在当前的时间间隔内没有被选择的额外通道格式。例 如, 本地数据采集器可以沿通道数据格式指示的链接列表走下去。当本。
33、地数据采集器到达 空值时, 则已经选择了所有的通道格式。 作为另一个例子, 本地数据采集器可以维护一个计 数器, 该计数器针对在一个时间间隔内的每个选择的通道格式增加, 并且在当前的时间间 隔到期时重置。 如果留有未选择的通道格式, 则控制流向块223。 如果在当前的时间段内已 经选择了所有的通道格式, 则控制流向块 211。 0031 在块 223 处, 选择通道格式中的不同一个通道格式。控制从块 233 流向块 215。 0032 图 3 描绘系统功率管理数据采集器的示例操作。针对每个时间段来重复一组操 作, 其是针对系统功率管理数据采集器来定义的。 0033 在块 301 处, 针对当前。
34、的时间间隔来选择管理的子系统并且确定用于管理的子系 统的最为有效的通道。 系统功率管理数据采集器 ( “系统采集器” ) 可以针对这样的信息来查 询每个通道采集器, 该信息向特定的子系统指示关于通道的通道状态和通道特性的通道效 率。 例如, 由于更大的带宽 (即, 通道特性) , 第一通道被认为相比较于第二通道更为有效。 但 由于繁重的使用, 第一通道可能具有更大的延迟 (即, 通道状态) 。尽管针对当前的时间间隔 确定关于通道状态的效率, 但指示通道状态效率的信息可以描述前一时间间隔中的通道状 态。系统采集器可以异步地针对子系统来查询通道, 并且当所有的相应通道响应时选择子 系统。一些实施例。
35、对子系统进行优先排序。因此, 系统采集器根据子系统优先级来查询通 道。例如, 存储器子系统可以具有超过输入 / 输出 (I/O) 子系统的优先级。因此, 系统采集 器在查询到 I/O 子系统的本地数据采集器的通道的通道控制器前, 查询到存储器子系统的 本地数据采集器的通道的通道控制器。实施例可以查询所有的通道控制器, 并且接着根据 优先级来选择通道。在一些情形中, 多个子系统可以具有相同的优先级。例如, 图像子系统 说 明 书 CN 103838658 A 8 6/10 页 9 和存储器子系统可以在一个时间间隔内被定义为具有相同的优先级。 系统采集器查询到两 个系统的通道的通道控制器并且从所有。
36、通道都响应的本地数据采集器采集功率管理数据。 0034 在块 303 处, 选择子系统的最为有效的通道。例如, 系统采集器选择具有最低延迟 的通道。实施例可以将通道状态和通道特性输入到输出代表效率的值的函数中。例如, 系 统采集器可以使用基于通道的延迟和带宽来计算效率的函数。 0035 在块 305 处, 可以经由选择的通道来访问存储器位置。例如, 系统采集器向选择的 通道的控制器提交针对数据的请求。 0036 在块 307 处, 确定功率管理数据包是否可以用于管理的子系统。例如, 通道控制器 读取子系统的本地数据采集器的存储器中的存储器位置并且确定 (多个) 条目被标记为由 本地数据采集器更。
37、新。 如果功率管理数据包可用, 则控制流向块313。 如果功率管理数据包 不可用, 则控制流向块 309。 0037 在块 309 处, 针对选择的通道来报告错误。错误例程可以确定数据包是否由于本 地数据采集器中的错误、 故障监视器、 与选择的通道的问题等而不可用。 0038 在块 311 处, 确定针对管理的子系统的下一最为有效的通道。系统采集器可以将 关于通道状态和通道特性的信息维持一个时间段或跨多个时间段。 系统采集器使用维持的 通道信息来选择下一最为有效的通道。控制从块 311 流回到块 305。 0039 如果在块307处功率管理数据包可用, 则在块313处, 经由选择的通道来取回功。
38、率 管理数据包。 0040 在块 315 处, 向可以由系统功率管理器访问的位置写入功率管理数据包。例如, 系 统采集器向由系统功率管理器所有的存储器传输功率管理数据包。 系统采集器可以聚合跨 管理的子系统所采集的功率管理数据。 系统采集器也可以将采集的数据组织进可由系统功 率管理器访问的合适缓冲器 / 存储器。 0041 在块 317 处, 在选择的通道的存储器位置中的性能数据包被标记为读取。响应于 系统采集器移动或复制性能数据包, 通道控制器可以标记位于通道的每个端处的存储器位 置 (例如缓冲器) 。通道控制器可以将数据标记为如控制器之间协商的读取。取决于通道规 范, 通道控制器可以在执行。
39、读取后冲刷缓冲器。 0042 在块 319 处, 确定在当前的时间间隔中是否存在未选择的管理的子系统。系统采 集器可以维护指示功率管理数据已经从其选择的管理的子系统的数据。 实施例也可以针对 每个管理的子系统来设计系统采集器中的缓冲器。 系统采集器可以基于缓冲器是否为空来 确定在当前的时间间隔中是否为数据采集而选择了管理的子系统。 如果在当前的时间间隔 中存在未选择的管理的子系统, 则控制流向块 321。否则, 控制流向块 323。 0043 在块 321 处, 选择不同的管理的子系统。控制从块 321 流向块 303。 0044 在块323处, 系统采集器等待直到当前的时间间隔到期。 控制从。
40、块323流向块301。 0045 提供流程图以辅助理解本发明的主题并且不旨在限制权利要求或本发明主题的 范围。在绘出的示例操作中的变化对于本发明的主题是可以的。例如, 在图 2 的块 205 和 207 中绘出为不同的操作可以作为单个的操作发生。本地数据采集器可以对通道可访问的 存储器装置中的数据进行格式化和封包。实施例可以格式化和封包存储器的一个位置 (例 如, 预留的暂存空间) 中的数据并且接着当准备由通道访问时, 将格式化和封包的数据移动 /复制到存储器中的另一位置。 作为另一示例性变化, 在图2中的块211前可以执行附加的 说 明 书 CN 103838658 A 9 7/10 页 1。
41、0 操作, 以便循环访问由本地数据采集器所管理的多个子系统。 进一步, 实施例并不必需要编 码以适应同质通道格式或异质通道格式的可能性。例如, 实施例可以配置本地数据采集器 以执行对应于块 205、 207、 209 和 211 的操作而不需要对应于块 203 的任何决策操作或否分 支的操作。类似地, 实施例可以配置本地数据采集器以执行对应于块 203 的否分支的操作 而不需要块 203 的决策操作以及不需要对应于来自于块 203 的是分支的块的操作。 0046 关于图3, 可以执行不同的操作以允许热学数据和/或性能数据的稍后到达。 实施 例可以设置标记以用于指示针对管理的子系统的选择的通道的。
42、潜在问题和读取针对不同 的管理的子系统的数据。 在时间间隔到期前并且在读取了针对不同的管理的子系统的数据 包后, 系统采集器可以在报告错误前, 尝试从管理的子系统的选择的通道再次读取数据包。 作为另一个示例性变化, 在块 315 后、 在块 321 后, 或在一个时间间隔内已经采集了针对所 有管理的子系统的数据后, 可以向系统功率管理器通知可用的功率管理数据。 0047 除了已经描述的实施例, 实施例可以以分层或嵌套的方式来实现本发明的主题。 本地数据采集器可以负责多个子系统。 这些子系统可以或可以不具有它们自己的本地数据 采集器, 并且本地数据采集器可以是片外的 (例如, 协处理器) 和/或。
43、与由本地数据采集器管 理的子系统分离。例如, I/O 集线器控制器可以具有本地数据采集器, 该本地数据采集器采 集针对 I/O 集线器控制器和来自于连接到 I/O 集线器控制器的装置 (例如, 图像装置、 外围 组件互连装置等) 的本地数据采集器的功率管理数据。这些连接的装置对于本地数据采集 可以认为是更小的域, 而包围的或更大的域包括这些装置和 I/O 集线器控制器。本地数据 采集器采集来自于图像装置的功率管理数据并且将采集的数据向 I/O 集线器控制器的本 地数据采集器报告。另一本地数据采集器从 PCIe 装置采集功率管理数据并且也向负责 I/ O 集线器控制器域的本地数据采集器报告该采集。
44、的数据。更大域的本地数据采集器格式化 和封包来自于更小的域和I/O集线器控制器的数据 (即, 格式化和封包针对更大的I/O集线 器域的功率管理数据) 。图 4 绘出具有用于多个子系统的本地数据采集器的示例系统的概 念图。图 4 绘出处理器芯片 401、 本地数据采集器 411、 413 和子系统 437、 435、 433。处理器 芯片 401 包括与系统功率管理器 403 通信的系统功率管理数据采集器 405。本地数据采集 器 411 包括热监视器 415 和性能监视器 421。本地数据采集器耦合到也与子系统 437、 435 耦合的总线 439。本地数据采集器 413 包括热监视器 417。
45、 和性能监视器 419。总线 441 将 本地数据采集器 413 与子系统 433 耦合。 0048 本地数据采集器 411 从子系统 437、 435 采集功率管理数据。本地数据采集器 411 的热监视器 415 从热传感器 423、 427、 429 采集热学数据。热传感器 423 感应本地数据采集 器 411 的温度。热传感器 427 感应子系统 437 的温度 (例如, 靠近存储器单元) 。热传感器 429 感应子系统 435(例如, 图像处理器) 的温度。性能监视器 421 经由总线 439 从子系统 437、 435采集性能数据。 性能监视器421可以查询子系统437、 435的代。
46、理。 代理读取/维护 计数器和计算到达间隔事件时间。本地数据采集器 411 可以配置成区分地传送由本地数据 采集器 411 所管理的不同子系统的功率管理数据或配置成组合功率管理数据。例如, 本地 数据采集器可以配置成 (或通过系统功率管理数据采集器 405 所指示) 计算跨子系统 437、 435 和本地数据采集器 411 的热学数据的平均值。实施例也可以权衡不同的数据 (例如, 相 比较于本地数据采集器热学数据, 给予子系统热学数据更大的权重) 。 0049 本地数据采集器 413 从子系统 433 采集功率管理数据。本地数据采集器 413 的热 说 明 书 CN 103838658 A 1。
47、0 8/10 页 11 监视器 417 从热传感器 425、 431 采集热学数据。热传感器 425 感应本地数据采集器 413 的 温度。热传感器 431 感应子系统 433 的温度。性能监视器 419 经由总线 441 从子系统 433 采集性能数据。性能监视器 421 查询子系统 433 的代理。代理读取 / 维护计数器和计算到 达间隔事件时间。 0050 多个通道可以用于将来自于本地数据采集器 411、 413 的每个本地数据采集器的 功率管理数据携带到系统功率管理数据采集器 405。通道 422 或通道 424 可以用于将来自 于本地数据采集器411的功率管理数据携带到系统功率管理数。
48、据采集器405。 类似地, 通道 426 或通道 428 可以用于将来自于本地数据采集器 413 的功率管理数据携带到系统功率管 理数据采集器405。 当从本地数据采集器411采集功率管理数据时, 系统功率管理数据采集 器405确定通道422、 424中的哪个在给定的时间间隔内可以更为有效地提供到本地功率管 理数据的访问。当从本地数据采集器 413 采集功率管理数据时, 系统功率管理数据采集器 405 确定通道 426、 428 中的哪个在给定的时间间隔内可以更为有效地提供到本地功率管理 数据的访问。 0051 图 4 中的通道被不同地绘出以代表不同的通道特性的可能性, 例如通道带宽。通 道 。
49、422、 426 被绘出为具有比通道 428、 424 更大的带宽。但是通道 424、 428 可以操作在更高 的频率, 由更少的组件来使用。从图 4 移除了图 1 中绘出的一些最低细节。通道 422、 424、 426、 428在本地数据采集器411、 413的相应一个处可以具有缓冲器和控制器。 类似地, 通道 422、 424、 426、 428 在处理器芯片 401 处可以具有缓冲器和控制器。缓冲器 407、 409 被绘出 为在处理器芯片 401 上。缓冲器 407 跨越通道 422、 424 二者。类似地, 缓冲器 409 跨越通 道 426、 428 二者。缓冲器 407、 409 以虚线绘出以考虑其中每个缓冲器实际上是多缓冲器的 可能实施例以及考虑其中缓冲器跨通道共享的可能实施例。 0052 系统功率管理数据采集器 405 以类似于图 1 的系统功率管理数据采集器 105 来操 作。系统功率管理数据采集器 405 可以对功率管理数据执行附加的操作, 以分开组合的功 率管理数据, 因为功率管理数据可以被组合以便有效地从本地数据采集器传。