专利名称:片上系统(soc)的功率测量技术的制作方法
技术领域:
本发明涉及片上系统,并且更具体地但非排它地涉及用于使得能够在各种模式 下进行片上系统的功率测量的技术。
背景技术:
在片上系统(SOC)中,SOC的组件集成在单个芯片上。尽管SOC中组件的高 度集成提供了诸如芯片面积的节省和更高的信号质量的优点,但是,因为使用外部手段 不能轻易地将SOC中的逻辑和功率域隔离开,所以每一个单独的组件的功耗测量可能是 困难的。
当在移动平台中使用SOC时,SOC的空闲功耗是确定移动平台的电池寿命的关 键度量。类似地,SOC的热设计功率是针对移动平台的另一个关键度量,因为它指示 在实际应用工作负荷下消耗的最大功率。SOC的动态功耗可以帮助移动平台的机壳的设 计以使其更有效率,帮助具有更好散热的散热器的设计和/或平台制冷设计。在传统的 SOC设计中,测量SOC的空闲功耗和动态功耗是不容易的,并且取决于SOC的设计,测 量SOC的空闲功耗和动态功耗可能是不可能的。
根据下面主题的详细描述,本发明的实施例的特征和优点将会变得显而易见, 其中
图1说明了根据本发明的一个实施例的SOC的框图2说明了根据本发明的一个实施例的输入/输出模块的框图3说明了根据本发明的一个实施例的由功率管理块控制的模块的框图4说明了根据本发明的一个实施例的输入/输出模块内的时钟门控方案;
图5说明了根据本发明的一个实施例的执行输入/输出模块的空闲功耗测量的步 骤的流程图6说明了根据本发明的一个实施例的执行输入/输出模块的动态功耗测量的步 骤的流程图;以及
图7说明了根据本发明的一个实施例的实现本文公开的方法的系统。
具体实施方式
在附图中以示例的方式而非限制的方式说明了本文描述的本发明的实施例。为 了说明的简便和清楚,附图中说明的部件未必按照比例绘制。例如,为了清楚,可以相 对于其他部件放大一些部件的尺寸。另外,当认为合适时,会在附图中重复标号以指示 相应的或类似的部件。说明书中提及的本发明的“一个实施例”或“实施例”意味着 结合该实施例描述的特定特征、结构或特性至少包含在本发明的一个实施例中。因此, 在说明书全文各处出现的短语“在一个实施例中”未必都指同一实施例。
本发明的实施例提供了用于使得能够在各种模式下进行SOC的功率测量的方法 和系统。在本发明的一个实施例中,SOC对其逻辑和电路具有完全的可控性,以有助于 将SOC配置为期望的操作模式。这允许钩子和/或机构从外部访问SOC以配置SOC。 例如,在本发明的一个实施例中,SOC中的钩子允许后端测试器容易地将SOC配置成各 种模式,以执行SOC的一个或多个单独组件的功耗测量。SOC中单独组件的功耗测量可 以更快地执行并且可以更准确。此外,因为基于SOC组件的单独功耗更容易检测故障部 分,所以能够增加SOC的总产率(overall yield)。
本文描述的以下
了促进SOC中逻辑和I/O电路的完全可控性以执行 SOC组件的功率测量的各种技术。图1说明了根据本发明的一个实施例的SOC 105的框 图100。SOC 105具有两个处理核心110和120,其分别经由通信链路116和IM与输入 /输出(I/O)模块130相耦合。处理器核心110和120经由通信链路114彼此通信,并 且可以分别经由通信链路112和122从外部访问。在本发明的另一个实施例中,可以将 处理器核心110和120组合到单个模块中。在本发明的另一个实施例中,每一个处理器 核心110和120也可以具有多于一个的处理单元。
I/O模块130经由通信链路132和136向处理核心110和120提供外部接口。在 本发明的一个实施例中,I/O模块130具有控制逻辑,以便于启动或禁止I/O模块130和 /或SOC 105中的核心逻辑和I/O电路。例如,在本发明的一个实施例中,当要测量I/ O模块130的空闲功耗时,I/O模块130中的控制逻辑关闭核心逻辑和I/O电路,以最小 化I/O模块130的交换活动和功耗。
在本发明的一个实施例中,I/O模块130具有连接I/O模块中的各个内部逻辑块 的多个功率域。通过将各个内部逻辑块分成不同的功率域或面,可以容易地控制和测量 各个内部逻辑块的功耗。
SOC 105还可以具有接口模块140,其经由通信链路134与I/O模块130相耦 合,并且可以经由通信链路142从外部访问。通信链路包括但不限于直接媒体接口 (DMI)、快速外围组件互连(PCI"E)接口、公共系统接口(CSI)以及任何其他合适的通信 协议。
SOC 105中说明的组件并不意味着是限定性的,并且在本发明其他的实施例 中,SOC 105的配置包括没有在图1中示出的其他组件。相关领域的技术人员将意识到, 可以使用SOC 105的其他配置,而不会影响本发明的工作。此外,针对I/O模块130描 述的技术也不意味着是限定性的。相关领域的技术人员将容易意识到,这些技术可以应 用到SOC 105中的其他组件,而不会影响本发明的工作。
图2说明了根据本发明的一个实施例的I/O模块130的框图200。I/O模块130具 有功率管理块210、公共系统接口(CSI)模块220、交换模块230、DMI模块240和PCI-E 模块250。在本发明的一个实施例中,功率管理块210具有用于允许I/O模块130的完全 可控性的逻辑。例如,在本发明的一个实施例中,功率管理块210具有控制逻辑,用于 配置每一个接口 /通信链路116、124、132、1;34和136的接口状态。基于期望的操作模 式,功率管理块210可以设置I/O模块130的每一个接口的期望接口状态。在本发明的一 个实施例中,使用、但不限于使用寄存器、状态机以及组合逻辑等来实现功率管理块210 的控制逻辑。
CSI模块220分别经由通信链路116和124在I/O模块130与处理核心110和120 之间进行接口连接。在本发明的一个实施例中,C^I模块220具有用于模拟去往和来自 处理核心110和120的通信的逻辑。通过这样做,这允许将处理核心110和120设置为 空闲或静止模式,同时可以在动态或功能模式中操作或运行I/O模块130以进行动态功耗 测量。例如,在本发明的一个实施例中,当仅要测量I/O模块130的动态功耗时,将处 理核心110和120设置为空闲模式,并且任何去往和来自处理核心110和120的通信实际 上并没有中继到处理核心110和120,而是由C^I模块220来模拟。这允许I/O模块130 的动态功耗测量接近实际业务或应用工作负荷。
在本发明的一个实施例中,通过以处理核心110和120的用户可设置频率返回 具有已知签名/值的入站虚读取完成,CM模块220模拟对处理核心110和120的读取命 令。类似的,通过丢弃在C^I模块220的C^I接口处的写入,C^I模块220模拟对处理 核心110和120的写入命令。这确保在进行I/O模块130的动态功耗测量期间,即使处 理核心110和120保持在空闲模式,也可以运行CSI模块220中的逻辑。
交换模块230管理在功率管理块210、C^[模块220、DMI模块240和PCI-E模 块250之间的通信业务的路由。例如,在本发明的一个实施例中,交换模块230接收来 自DMI模块240的端口 1242的数据,并且将接收的数据发送给C^I模块220。在本发明 的一个实施例中,在通信业务的路由期间,交换模块在需要时执行数据格式的转换。
在本发明的一个实施例中,交换模块230具有用于确定进入的通信业务是否涉 及处理核心110和120的逻辑。例如,在本发明的一个实施例中,如果进入的通信业务 涉及或需要将业务从一个端口路由到另一个端口,则交换模块230在不激活处理核心110 和120的情况下,执行该业务的路由。如果在接收进入的通信业务时,处理核心110和 120处于空闲状态,那么处理核心110和120可以保持在空闲状态,同时交换模块230执 行业务或数据的路由。使用交换模块230中的该逻辑,处理核心110和120不必从其空 闲状态被激活或唤醒,并且可以在较长的时间段内保持在其空闲状态以节省功耗。
在本发明的一个实施例中,交换模块230可以通过检查通信业务的源和目的地 报头来确定进入的通信业务是否涉及处理核心110和120。例如,在本发明的一个实施例 中,当I/O模块130接收来自PCI-E模块250的端口 1252的数据时,经由通信链路234 将该数据发送到交换模块230。
接收数据后,交换模块230检查所接收的数据的报头,并且确定所接收的数据 的目的地。如果所接收的数据的目的地是另一端口或接口,而不是C^[模块220中的C^I 接口,即为对等业务,那么交换模块230将所接收的数据路由到相应的端口或接口,而 无需处理核心110和120处理所接收的数据。对等业务包括但不限于图形数据、键盘 仿真和端口间的数据等。
例如,在本发明的一个实施例中,在不激活处理核心110和120的情况下,交换 模块230将来自PCI-E模块250的端口 1252的数据路由到DMI模块MO的端口 2244。 这使得SOC 105节省了功率,因为在接收对等业务时,处理核心110和120可以保持在空 闲状态。相关领域的技术人员将容易地理解,确定是否接收到对等业务的其他方法也可 以应用于本发明,而不会影响本发明的工作。
DMI模块240和PCI-E模块250说明了 I/O模块130的两个接口,它们并不意味着是限定性的。在本发明的其他的实施例中,DMI模块240和PCI-E模块250可以具 有多于或少于两个的端口,并且每个端口可以有不同的速度和配置。相关领域的技术人 员将容易地理解,可以使用DMI模块240和PCI-E模块250的其他配置,而不会影响本 发明的工作。
图3说明了根据本发明的一个实施例的由功率管理块210控制的模块的框图 300。为了说明的目的,假定I/O模块有两个时钟源核心锁相环(PLL)和PCI-E PLL 320。根据需要,PCI-E PLL 320向PCI-E模块250提供时钟,核心PLL 310向I/O模块 130和SOC 105中的其他模块提供时钟。
功率管理块210与核心PLL 310和PCI-E PLL 320相耦合,以对由核心PLL 310 和PCI-E PLL 320提供的时钟的时钟门控进行控制。通过对未使用的逻辑簇(其在I/O模 块130和/或SOC 105的空闲模式中可以被关闭)的时钟进行时钟门控,功率管理块210 使得SOC 105节省功率。在本发明的一个实施例中,功率管理块210分别经由通信链路 314和3 将时钟门控信号发送给核心PLL 310和PCI_E PLL 320。在本发明的另一个实 施例中,功率管理块210经由单独的通信链路(没有在图3中示出)将时钟门控信号发送 给核心 PLL 310 和 PCI-E PLL 320。
功率管理块210也耦合到一个或多个功率门330。为了有助于I/O模块103的 功耗测量,将I/O模块130中的各个内部逻辑块分到一个或多个功率域或电压面中。在 本发明的一个实施例中,将可以在I/O模块130处于空闲状态时关闭的未使用的逻辑连接 到一个或多个特定的功率域。在本发明的一个实施例中,未使用的逻辑的每一个特定的 功率域与功率门相连接。
在本发明的一个实施例中,功率门是在I/O模块130中实现的大型晶体管,其位 于在SOC 105的管芯或封装上的电压输入焊点或凸点与任何未使用的逻辑之间。功率门 将从电压输入焊点或凸点供应的电压传递到受功率门控的逻辑,其中所述电压会有非常 小的电压降。当激活或启动功率门时,它将去往受门控的逻辑的电压从正常电压电平降 低到最低保持电压电平。最低保持电压电平是耦合到功率门的逻辑仍然能够保持其功能 或先前的值的最低电压电平。在本发明的一个实施例中,用来确定保持电压电平的因素 包括但不限于进程约束、受门控的逻辑的状态改变的统计分析、受门控的逻辑中寄存 器比特的故障率等。
通过对受门控的逻辑激活功率门,它使得I/O模块103在处于空闲模式时节省功 耗,因为去往受门控的逻辑的电压从正常电平降到了最低保持电平。在本发明的一个实 施例中,功率管理块210具有可编程寄存器,该可编程寄存器控制核心PLL 310和PCI-E PLL 320中的时钟门控和功率门。这有助于控制SOC 105进入用于功耗测量的期望的操 作模式。在本发明的一个实施例中,功率管理块210的可编程寄存器可以直接经由通信 链路132来访问。这允许钩子或机构易于控制SOC 105的配置,以便进行功耗测量。此 外,钩子允许方便和更加准确地执行老化测试、质量和可靠性测试、特性测量。在本发 明的另一个实施例中,功率管理块210具有反映I/O模块130和/或SOC 105的状况或状 态的状态寄存器。
在本发明的另一个实施例中,当SOC 105处于空闲模式时,功率管理块210关闭 SOC 105中I/O电路不必要的部分。例如,在本发明的一个实施例中,当SOC 105处于空闲模式时,功率管理块210只保持PCI-E模块250和DMI模块MO中的一个静噪电路 处于活动状态。当接口处于空闲或睡眠状态时,静噪电路检测即将发生的业务突发。静 噪I/O逻辑电路尝试检测在接口的不同管脚中的差别电压,以检测活动性并且准备使接 口退出空闲或睡眠状态。
针对I/O模块130描述的技术旨在用于说明,它并不仅限于I/O模块130。相 关领域的技术人员将容易地理解如何将类似技术应用到SOC 105的其它组件,本文将不 对此进行描述。
图4说明了根据本发明的一个实施例的I/O模块130中的时钟门控方案400。核 心PLL 310将主时钟312提供给时钟门1 410和时钟分频器420。时钟门1410控制时钟 1412和时钟M14,所述时钟1412和时钟M14在I/O模块130设置为空闲模式或状态时 可以被禁止。在本发明的一个实施例中,时钟门1410由来自功率管理块210的控制信号 402控制。在本发明的另一个实施例中,功率管理块210经由核心PLL 310将控制信号发 送给时钟门1410。相关领域的技术人员将容易地理解,可以使用控制时钟门1410的其他 方法,而不会影响本发明的工作。
在本发明的一个实施例中,将时钟1412和时钟M14提供给I/O模块130和/或 SOC 105的其他组件中在SOC 105的空闲模式期间可以被关闭或禁止的逻辑。时钟3416 说明了被提供给即使在I/O模块130或SOC 105处于空闲模式时仍不能被关闭的逻辑的时 钟。例如,在本发明的一个实施例中,将时钟3 416提供给功率管理块210,并且不对时 钟3416进行时钟门控,因为功率管理块210需要在I/O模块130处于空闲模式时是活动 的,以确保I/O模块130可以从空闲模式切换回正常操作模式。
时钟分频器420说明可以将主时钟312划分或按比例缩减成其他时钟频率以形成 时钟4422和时钟M25。PCI-E PLL 320也将主时钟322提供给时钟门M30。当I/O模 块130被设置为空闲模式时,也可以禁止时钟432和434。类似地,在本发明的一个实施 例中,由来自功率管理块210的控制信号403控制时钟门M30。在本发明的一个实施例 中,可以并行地启动或禁止时钟门410和430的控制信号402和403。在本发明的另一个 实施例中,可以彼此独立地启动或禁止时钟门410和430的控制信号402和403。
在本发明的一个实施例中,当I/O模块130和/或SOC 105处于空闲模式时,可 以绕过核心PLL 310和PCI-E PLL 320。这允许由功率管理块210禁止核心PLL 310和 PCI-E PLL 320,以节省SOC 105的功耗。在这种情形下,可以由外部源提供功率管理块 210的时钟源。所说明的时钟门控方案400并不意味着是限定性的。相关领域的技术人 员将容易地理解,可以使用时钟门控方案的其他配置,而不会影响本发明的工作。
图5说明了根据本发明的一个实施例的、执行I/O模块130的空闲功耗测量的步 骤的流程图500。为了清楚地说明,参照图2讨论图5。在步骤505,功率管理块210将 所有的接口切换为空闲模式。例如,在本发明的一个实施例中,功率管理块210将(幻模 块220中的CSI接口、DMI模块MO中的端口 242和M4、PCI-E模块250中的端口 252 和2M切换到空闲状态。
在本发明的一个实施例中,I/O模块130和/或SOC 105的接口符合活动状态电 源管理(ASPM)协议。例如,在本发明的一个实施例中,如果I/O模块130符合ASPM, 那么当在步骤505设置功率管理块210中合适的控制寄存器时,功率管理块210将C^I模块220中的CSI接口、DMI模块MO中的端口 242和M4、PCI-E模块250中的端口 252 和2M切换到Ll状态。
在步骤510,将处理核心110和120以及接口 140设置为空闲模式或低功率状 态。在本发明的一个实施例中,处理核心Iio和120符合高级配置和电源接口(ACPI)标 准(2006 年 10 月 10 号发布的 ACPI 标准“Advanced Configuration and Power Interface Specification"(高级配置和电源接口规范),修定版3.0b)。例如,在本发明的一个实施 例中,如果处理核心Iio和120符合ACPI,那么在步骤510将处理核心110和120设置 为功率状态C6或C7。
在本发明的一个实施例中,在步骤515,设置或配置功率门的保持电压。在本发 明的一个实施例中,通过使用I/O模块130中适当的熔丝设置来设置保持电压。在本发 明另一个实施例中,可以将保持电压设置为默认电压电平并且不需要进行配置。在步骤 520,功率管理块210启动功率门。在步骤525,功率管理块210启动时钟门。
在步骤530,测量I/O模块130的功耗,并且流程结束。在本发明的一个实施 例中,通过测量经由I/O模块130的电压供应、流过已知电阻值的电阻器的电流,确定I/ O模块130的功耗的测量。尽管流程500仅描述了对I/O模块130的功率测量,但它并 不意味着是限定性的。相关领域的技术人员将容易地理解如何将类似的技术应用于SOC 105中的其他组件以确定SOC 105中其他组件的功耗。
图6说明了根据本发明的一个实施例的、执行I/O模块130的动态功耗测量的步 骤的流程图600。为了清楚地说明,参照图2讨论图6。在步骤605,功率管理块210将 所有接口切换或设置为正常模式或状态。例如,在本发明的一个实施例中,功率管理块 210将CSI模块220中的CSI接口、DMI模块240中的端口 242和M4、PCI-E模块250 中的端口 252和2M切换到正常状态。
在本发明的一个实施例中,如果I/O模块130符合ASPM,那么当在步骤605设 置功率管理块210中合适的控制寄存器时,功率管理块210将C^I模块220中的C^I接 口、DMI模块MO中的端口 242和M4、PCI-E模块250中的端口 252和2 切换为LO 状态。
在步骤610,将处理核心110和120以及接口 140设置为空闲模式或低功率状 态。例如,在本发明的一个实施例中,如果处理核心110和120符合ACPI,那么在步骤 610将处理核心110和120设置为功率状态C6或C7状态。在步骤615,功率管理块210 禁止或停用功率门并且禁止时钟门。这允许I/O模块130在正常模式下操作,其中所有 时钟都被启动并且电压电平被设置为正常电平。
在步骤620,将通信业务注入或提供给I/O模块130以激活或运行I/O模块130 中同样多的逻辑。例如,在本发明的一个实施例中,经由DMI模块240中的端口 242和 244以及PCI-E模块250中的端口 252和254,将读取和写入通信业务发送给I/O模块 130。当来自DMI模块MO中的端口 242和M4以及PCI-E模块250中的端口 252和2 的任何业务指向处理核心110和120时,CSI模块能够模拟来自处理核心110和120的读 取和写入命令。相关领域的技术人员将容易地理解,也可以使用运行I/O模块130中逻 辑的其他方法并且这些其他方法适用于本发明,而不会影响本发明的工作。
在可选步骤625,如果交换模块230能够帮助或支持对等业务,那么对等业务也被注入到I/O模块130中。例如,在本发明的一个实施例中,当指派给PCI-E模块250 中端口 22M的数据经由DMI模块240中端口 1242被接收时,交换模块230能够在不涉及 处理核心110和120的情况下路由该数据。在步骤630测量I/O模块130的动态功耗, 并且流程结束。在本发明的一个实施例中,通过测量经由I/O模块130的电压供应、流 过已知电阻值的电阻器的电流,确定I/O模块130的功耗的测量。尽管流程600仅描述 了对I/O模块130的功率测量,但它并不意味着是限定性的。相关领域的技术人员将容 易地理解如何将类似的技术应用于SOC 105中的其他组件以确定SOC 105中其他组件的 功耗。
图7说明了根据本发明的一个实施例的实现本文公开的方法的系统700。系统 700包括但不限于台式计算机、膝上型计算机、上网本、笔记本计算机、个人数字助 理(PDA)、服务器、工作站、蜂窝式电话、移动计算设备、互联网装置或任何其它类型 的计算设备。在另一个实施例中,用于实现本文公开的方法的系统700可以是片上系统 (SOC)系统。
处理器710具有处理核心712,用于执行系统700的指令。处理核心712包括但 不限于取指令的预取逻辑、对指令进行译码的译码逻辑、执行指令的执行逻辑等。处 理器710具有用于对系统700的指令和/或数据进行高速缓存的高速缓冲存储器716。在 本发明的另一个实施例中,高速缓冲存储器716包括但不限于一级、二级和三级高速 缓冲存储器或处理器710内的高速缓冲存储器的任何其他配置。
存储器控制中心(MCH)714执行使处理器710能够访问存储器730和与存储器 730进行通信的功能,所述存储器730包括易失性存储器732和/或非易失性存储器734。 易失性存储器732包括但不限于同步动态随机存取存储器6DRAM)、动态随机存取存 储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM),和/或任何其他类型的随机 存取存储器设备。非易失性存储器734包括但不限于NAND快闪存储器、相变存储器 (PCM)、只读存储器(ROM),电可擦可编程只读存储器(EEPROM),或任何其它类型的 非易失性存储器设备。
存储器730存储将由处理器710执行的信息和指令。当处理器710正在执行指 令时,存储器730也可以存储临时变量或其他中间信息。芯片组720经由点对点(PtP)接 口 717和722与处理器710相连。芯片组720使得处理器710能够连接到系统700中的 其他模块。在本发明的一个实施例中,接口 717和722根据PtP通信协议(例如Intel 快速路径互连(QPI)等)进行操作。
芯片组720连接到显示设备740,显示设备740包括但不限于液晶显示器 (LCD)、阴极射线管(CRT)显示器,或任何其它形式的可视显示设备。在本发明的一个 实施例中,处理器710和芯片组720合并到SOC中。此外,芯片组720连接到使各个模 块774、760、762、764和766互连的一个或多个总线750和755。如果总线速度或通信 协议存在不匹配,那么总线750和755可以经由总线桥772互连在一起。芯片组720与 以下项但并不限于以下项耦合非易失性存储器760、大容量存储设备762、键盘/鼠标 764和网络接口 766。
大容量存储设备762包括但不限于固态驱动器、硬盘驱动器、通用串行总线 快闪存储器驱动器,或任何其它形式的计算机数据存储介质。通过使用任何类型的公知10的网络接口标准来实现网络接口 766,所述网络接口标准包括但不限于以太网接口、 通用串行总线(USB)接口、快速外围组件互连(PCI)接口、无线接口和/或任何其它 适当类型的接口。无线接口根据但不限于根据以下协议进行操作IEEE 802.11标准和 与其有关的标准家族、家庭插电AVCHome Plug AV) (HPAV)、超宽带(UWB)、蓝牙、 WiMax,或任何形式的无线通信协议。
尽管图7中示出的模块被描述为在系统700内分离的块,但是由这些块中的一些 执行的功能可以被集成到单个半导体电路中,或可以使用两个或更多分离的集成电路来 实现。例如,尽管高速缓冲存储器716被描述为处理器710中分离的块,但是可以相应 地将高速缓冲存储器716并入到处理器核心712中。在本发明的另一个实施例中,系统 700可以包括多于一个的处理器/处理核心。
本文公开的方法可以通过硬件、软件、固件或其任何其它组合来实现。尽管描 述了所公开主题的实施例的示例,但是相关领域的技术人员将容易地理解,可以替代地 使用实现所公开主题的许多其他方法。在之前的描述中,已经描述了所公开主题的各个 方案。为了解释的目的,阐述了具体的数量、系统和配置,以提供对本主题的透彻理 解。然而,对于受益于本公开的相关领域的技术人员显而易见地是,可以在没有这些具 体细节的情况下实施本主题。在其他例子中,省略、简化、组合或拆分了公知的特征、 组件或模块以免模糊所公开的主题。
本文使用的术语“可操作的”意思是,当设备或系统处于电源关闭状态时,设 备、系统、协议等能够操作或适于操作以用于其期望的功能。所公开主题的各个实施例 可以通过硬件、固件、软件或其组合来实现,并且可以通过参考或结合程序代码(例如 指令、函数、过程、数据结构、逻辑、应用程序、用于设计的模拟、仿真和制造的设计 表示或格式)来描述,当机器访问所述程序代码时导致该机器执行任务、定义抽象数据 类型或低级硬件上下文,或产生结果。
可以使用在一个或多个计算设备(例如,通用计算机或计算设备)上存储并执 行的代码和数据来实现附图中所示的技术。这种计算设备使用机器可读介质(例如机器 可读存储介质(例如磁盘;光盘;随机存取存储器;只读存储器;闪速存储器设备; 相变存储器))和机器可读通信介质(例如,电子的、光的、声的或其它形式的传播信 号——例如载波、红外信号、数字信号等)来对代码和数据进行存储和传送(在内部以及 通过网络与其它计算设备传送)。
虽然参考说明性实施例描述了所公开的主题,但是该描述并非旨在以限制性的 含义来解释。对于所公开主题所属领域中的技术人员来说显而易见的说明性实施例的各 种变型以及本主题的其它实施例被认为在所公开的主题的范围内。
权利要求
1.一种方法,包括将片上系统(SOC)的一个或多个接口设置为空闲模式; 将所述SOC中的一个或多个处理器核心设置为空闲状态; 禁止对所述SOC的一个或多个时钟输入;降低所述SOC的一个或多个逻辑块的电压电平,所述一个或多个逻辑块具有共同的 电压面;以及测量所述SOC的功耗。
2.根据权利要求1所述的方法,其中,将所述SOC的所述一个或多个接口设置为所 述空闲模式包括设置与所述SOC的所述一个或多个接口相关联的一个或多个模式寄存。
3.根据权利要求1所述的方法,其中,所述SOC的所述一个或多个逻辑块包括一 个或多个寄存器,并且其中,降低所述SOC的所述一个或多个逻辑块的所述电压电平包 括在使得每一个寄存器能够保持其状态的情况下降低所述一个或多个逻辑块的所述电 压电平。
4.根据权利要求1所述的方法,其中,所述SOC的所述一个或多个接口包括直接媒 体接口(DMI)、快速外围组件互连(PCI-E)接口,以及公共系统接口(CSI)中的一个或 多个。
5.根据权利要求1所述的方法,其中,所述SOC的所述一个或多个接口的所述空闲 模式至少部分地符合活动状态电源管(ASPM)空闲状态。
6.根据权利要求1所述的方法,其中,禁止对所述SOC的所述一个或多个时钟输入 包括关闭所述SOC的一个或多个锁相环(PLL)。
7.根据权利要求1所述的方法,其中,所述一个或多个处理器核心的所述空闲状态至 少部分地符合高级配置和电源接口(ACPI)空闲状态。
8.—种方法,包括将片上系统(SOC)的一个或多个接口设置为活动模式; 将所述SOC中的一个或多个处理器核心设置为空闲状态; 启动对所述SOC的一个或多个时钟输入; 将通信业务提供给所述SOC ;以及 测量所述SOC的功耗。
9.根据权利要求8所述的方法,其中,将所述SOC的所述一个或多个接口设置为所 述活动模式包括设置与所述SOC的所述一个或多个接口相关联的一个或多个模式寄存。
10.根据权利要求8所述的方法,还包括将对等通信业务提供给所述S0C。
11.根据权利要求8所述的方法,其中,所述SOC的所述一个或多个接口包括直接媒 体接口(DMI)、快速外围组件互连(PCI-E)接口,以及公共系统接口(CSI)中的一个或 多个。
12.根据权利要求8所述的方法,其中,所述SOC的所述一个或多个接口的所述空闲 模式至少部分地符合活动状态电源管理(ASPM)空闲状态。
13.根据权利要求8所述的方法,其中,所述一个或多个处理器核心的所述空闲状态至少部分地符合高级配置和电源接口(ACPI)空闲状态。
14.一种装置,包括功率管理逻辑,其用于控制一个或多个功率门,每一个功率门与电压输入和一个或多个逻辑块的功率域耦 合;以及控制对所述一个或多个逻辑块的一个或多个时钟输入。
15.根据权利要求14所述的装置,其中,所述功率管理逻辑还用于控制所述装置的一 个或多个接口中的每一个的链路状态。
16.根据权利要求14所述的装置,其中,响应于每一个功率门的激活,每一个功率门 将所述电压输入提供给所述一个或多个逻辑块的所述功率域。
17.根据权利要求14所述的装置,其中,响应于每一个功率门的停用,每一个功率门 用于降低所述电压输入;以及将所降低的电压输入提供给所述一个或多个逻辑块的所述功率域。
18.根据权利要求15所述的装置,其中,所述一个或多个接口包括直接媒体接口 (DMI)、快速外围组件互连(PCI-E)接口,以及公共系统接口(CSI)中的一个或多个。
19.根据权利要求14所述的装置,其中,所述功率管理逻辑还用于控制所述装置的输 入/输出(I/O)逻辑。
20.根据权利要求14所述的装置,其中,所述一个或多个时钟输入包括一个或多个锁 相环(PLL)时钟输入。
21.根据权利要求15所述的装置,其中,所述SOC的所述一个或多个接口至少部分 地符合活动状态电源管理(ASPM)。
22.根据权利要求14所述的装置,其中,所述装置还包括具有一个或多个处理核心的 处理器,并且其中,所述功率管理单元还用于控制所述处理器的所述一个或多个处理核 心中至少一个处理核心的操作状态。
23.根据权利要求22所述的装置,其中,所述至少一个处理器核心的所述操作状态至 少部分地符合高级配置和电源接口(ACPI)。
24.根据权利要求14所述的装置,还包括与所述处理器和所述功率管理逻辑耦合的模 块,用于在所述处理器被设置为空闲模式时模拟所述处理器的读取命令和写入命令。
25.根据权利要求24所述的装置,还包括与所述模块和所述一个或多个接口耦合的交 换模块,用于确定来自所述一个或多个接口的通信业务不需要由所述处理器进行处理;以及在所述一个或多个接口之间路由所述通信业务,而不用所述处理器进行任何处理。
26.根据权利要求25所述的装置,其中,用于确定来自所述一个或多个接口的所述通 信业务不需要由所述处理器进行处理的所述交换模块检查所述通信业务的报头指示所述 通信业务不指向所述处理器。
全文摘要
本文描述了使得能够在各种模式下进行片上系统的功率测量的方法和系统。在本发明的一个实施例中,片上系统具有其逻辑和电路的完全可控性,以有助于将片上系统配置为期望的操作模式。这允许钩子或接口从外部访问片上系统以进行测量。例如,在本发明的一个实施例中,片上系统中的钩子允许后端测试器容易地将片上系统配置成各种模式,以执行片上系统的一个或多个单独组件的功耗测量。片上系统中单独组件的功耗测量可以更快地执行并且可以更准确。此外,因为检测故障部分更加容易,所以可以增加SOC的总产率。
文档编号G01R21/01GK102023256SQ20101027991
公开日2011年4月20日 申请日期2010年9月9日 优先权日2009年9月10日
发明者L·P·洛伊, S·J·乔丹, S·S·塔恩, S·拉达克里希南, Y-F·刘 申请人:英特尔公司