CN104620191B - 用于到i/o接口的门控功率输送的装置、系统及方法 - Google Patents
用于到i/o接口的门控功率输送的装置、系统及方法 Download PDFInfo
- Publication number
- CN104620191B CN104620191B CN201380046339.9A CN201380046339A CN104620191B CN 104620191 B CN104620191 B CN 104620191B CN 201380046339 A CN201380046339 A CN 201380046339A CN 104620191 B CN104620191 B CN 104620191B
- Authority
- CN
- China
- Prior art keywords
- resource
- link
- decoupling
- power supply
- resource set
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/266—Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3278—Power saving in modem or I/O interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
Abstract
用于管理向输入/输出(I/O)接口的资源的功率输送的技术及机制。在实施例中,监视多个通信链路中的第一链路。在该多条链路中,I/O接口的第一资源集合用于支持仅经由该第一链路的通信。I/O接口的一个或多个其他资源用于支持该多条链路中的另一个链路的通信。在另一个实施例中,响应于检测该第一链路的活跃通道总数,将该第一资源集合中的资源从电源解耦合。
Description
背景
1.技术领域
本发明的一个或多个实施例总体上涉及计算机系统领域。更具体地,某些实施例涉及计算机系统中的功率输送。
2.背景技术
能量高效性能是对许多计算应用的日益重要的要求。在服务器和其他计算机系统中,输入/输出(I/O)接口硬件的操作是总体功耗的重要贡献者。各种计算机平台的性能分析已经显示出I/O链路的带宽可总体上非常低,即便当这种计算机平台在接近峰值系统功率负载下操作时。甚至当不通过平台的I/O链路处理任何事务时,相关联的I/O接口资源消耗接近其峰值功率。这种低带宽利用周期期间的功率浪费导致较差的能量效率。
已经传统上通过扩展链路速度和/或链路宽度降低这种I/O硬件的功耗。某些链路功率降低方案使用动态链路宽度调制(DLW),其动态地基于带宽要求调整链路宽度并且对原本用于操作链路的当前不活跃硬件的时钟进行门控。当前I/O链路功率管理(LPM)策略(诸如LOs、LOp、LI)依赖于时钟门控。然而,随着后续几代计算机系统继续在尺寸和速度方面扩展,这种计算机系统的性能日益对能量效率中的增量改进敏感。
附图简要描述
通过举例而非通过限制在附图的图式中展示了本发明的各种实施例,并且在附图中:
图1是示出根据实施例的用于提供I/O接口的功率门控的系统的元素的框图。
图2是示出根据实施例提供功率门控所针对的I/O接口的协议栈的元素的框图。
图3是根据实施例的用于提供功率门控的系统的元素的框图。
图4是根据实施例的用于对I/O接口的功率进行门控的方法的元素的流程图。
图5是根据实施例的用于提供功率门控的系统的元素的框图。
图6是示出根据实施例的用于对I/O接口的功率进行门控的计算系统的元素的框图。
图7是根据实施例的用于对I/O接口的功率进行门控的移动设备的元素的框图。
图8是示出根据实施例的用于对I/O接口的功率进行门控的计算系统的元素的框图。
详细描述
在此讨论的实施例以各种方式提供功率门控机制和技术以便将I/O接口的硬件资源选择性地从电源解耦合和/或选择性地耦合到电源。当前时钟门控技术仅节省动态功率而不节省泄漏功率,泄漏功率对于I/O接口硬件的总功耗而言是主要原因。例如,当前串行I/O链路功率管理(LPM)策略对时钟门控的依赖并未解决由于泄漏功率造成的功率低效问题。对比之下,某些实施例以各种方式提供对不活跃I/O接口硬件的供电进行门控以便节省泄漏和动态功率的能力。例如,这种功率门控可选择不同的硬件,例如在每链路的基础上,以便显著地通过I/O带宽利用率改善功率规模。
图1示出根据实施例的用于提供功率门控的说明性计算机系统100的元素。计算机系统100可例如包括个人计算机(诸如桌上计算机、膝上计算机、手持式计算机(例如,平板计算机、掌上计算机、智能电话、媒体播放器等等)和/或其他这种计算机系统)的硬件平台。可替代地或另外,计算机系统100可提供作为服务器、工作站或其他这种计算机系统来操作。在实施例中,计算机系统100包括用于在每链路粒度水平控制功率传送的一种或多种机制。
在实施例中,计算机系统100包括通过互连120与彼此通信的设备110和设备130。设备110和设备130可各自以各种方式包括能够进行输入/输出(I/O)通信的各种设备中的任何一种,例如,当这种通信根据点到点串行I/O协议时。能够进行I/O通信的某些类型的设备的示例包括处理器、网络控制器、存储控制器以及各种外围设备,包括但不限于计算机鼠标、键盘、硬盘驱动器、固态驱动器、CD-ROM驱动器、DVD-ROM驱动器、扩展卡、图形卡、麦克风、打印机、显示器、扬声器等等。如在此所使用的,“输入/输出”是指往/来于包括讨论中的I/O接口的设备的通信。然而,这种通信可在例如单个计算机平台的两个组件之间。
通过说明而非限制,互连120可包括与串行I/O规范兼容的物理互连。例如,互连120可与外围组件互连(PCI)规范(诸如PCI本地总线规范,版本3.0,2004,可从PCI特殊兴趣小组获得,波特兰,OR.,美国(以下称为“PCI总线”)、PCI快速(PCIe)规范,版本2.0,2006,可从前述PCI特殊兴趣小组获得,波特兰,OR.,美国等等)兼容。在这种实施例中,设备110和设备130可以分别是处理器和外围设备。在替代实施例中,设备110和设备130可各自是处理器,例如,其中互连120包括用于支持快速路径互连(QPI)通信或其他这种跨处理器通信的硬件。在另一个实施例中,互连120与通用串行总线(USB)标准(诸如,USB 3.0标准,由USB3.0促进者小组于2008年11月发布)兼容。
互连120可以是支持一条或多条可变宽度链路的各种其他类型互连硬件中的任何一种,包括其他串行互连和各种并行互连。术语“链路”被认为包括可一起作为功能组操作的信道、总线或其他这种一组通道。通过说明而非限制,互连120可以是耦合在存储器控制器和存储器设备(例如,动态随机存取存储器(DRAM)、Rambus DRAM(RDRAM)等等)之间的并行总线。可替代地,互连120可以是跨集成电路(I2C)总线、视频图形阵列(VGA)互连、高清晰多媒体接口互连中的一种。
在实施例中,设备110包括用于支持经由互连120进行通信的I/O接口105。I/O接口105可包括至少部分地实现用于与互连120交换通信的对应操作的各种资源,例如包括电路或其他硬件。计算机系统100可包括用于对向I/O接口105的这种资源的功率输送以各种方式进行门控的功率输送逻辑140,例如包括硬件、固件和/或执行软件。对向I/O接口105的这种资源的功率输送进行门控可包括例如独立地将资源各自耦合到一个或多个对应的电源(未示出)和/或独立地将这种资源各自从一个或多个对应的电源解耦合。可按照每链路粒度执行这种功率耦合/解耦合,包括针对可各自特定于不同的对应串行通信链路的资源进行独立功率耦合/解耦合。在替代实施例中,功率输送逻辑140的一些部分或全部可被结合到设备110内。附加地或可替代地,功率输送逻辑140可为设备130提供功率门控,尽管某些实施例在此方面不受限制。
在此参照到串行I/O接口的资源的功率输送的选择性门控,讨论各实施例的某些特征。然而,这种讨论可延伸到附加地或可替代地应用到对向各种类型的并行I/O接口中的任何一种的资源的功率输送进行门控。
图2示出根据实施例提供功率门控所针对的串行I/O接口的协议栈200的元素。串行I/O接口可在包括例如计算机系统100的某些或全部特征的系统中操作。在实施例中,在提供I/O接口105的某些或全部功能的接口中实现协议栈200。
协议栈200可至少部分地经由串行互连实现通信,例如,其中这种通信与PCIe或其他串行点到点通信标准兼容。协议栈200可包括各种各样的分层通信堆栈中的任何一种,诸如公共标准接口(CSI)堆栈、PCIe堆栈或其他这种协议栈。通过说明而非限制,协议栈200可以是包括事务层210、链路层220和物理层230的PCIe协议栈。在此参照PCIe协议栈的具体实施例讨论串行I/O接口的某些特征。然而,这种讨论可延伸到附加地或可替代地应用到串行I/O接口的各种各样的分层协议栈中的任何一种。
在一个实施例中,事务层210用于提供设备的处理逻辑和互连架构之间的接口,诸如数据链路层220和物理层230的接口。在此方面,事务层210的责任可包括例如组装/或拆分分组(即,事务层分组或TLP)。事务层210可附加地或可替代地实现其他功能,包括但不限于分离事务、基于信用的流控制等等。
链路层220(也称为数据链路层220)可充当事务层210和物理层230之间的中间级。在一个实施例中,链路层220提供用于在链路的组件之间交换事务层分组(TLP)的一种或多种机制。例如,链路层210可接受事务层210所组装的TLP、应用分组序列标识符、计算并应用检错码、和/或向物理层230提交经修改的TLP用于传输到另一个设备。物理层230可包括用于向外部设备物理地传输分组的逻辑。例如,物理层230可包括用于准备用于传输的传出信息的传输逻辑部分以及用于在将其传递到链路层220之前标识并准备所接收的信息的接收逻辑。
在实施例中,协议栈200的各层各自包括用于以各种方式实现该层的功能的对应硬件资源。通过说明而非限制,事务层210可包括用于组装分组用于从包括串行I/O接口的设备传输的传输资源集合212以及用于拆分已经由该设备接收的分组的接收资源集合214。类似地,链路层220和物理层230可分别包括各自用于以各种方式准备由传输资源集合212组装的传输分组的传输资源集合222和传输资源集合232。可替代地或附加地,链路层220和物理层230可分别包括各自用于以各种方式准备由接收资源集合214拆分的所接收分组的接收资源集合224和接收资源集合234。
协议栈200可支持多条链路,例如串行点到点链路,其在给定的时间分别包括一个或多个对应的通道。每条通道可包括可被实现为例如差分信号线、单端信号线或光纤信道的串行信道。链路可例如是单向点到点链路,其中,链路的每条通道用于从设备传输数据,或者链路的每条通道用于接收发送到该设备的数据。可替代地,链路可以是双向的,例如,其中,链路的一个或多个通道以各种方式从设备传输数据,并且链路的一个或多个其他通道以各种方式接收发送到该设备的数据。协议栈200所支持的该多条链路可包括在不同的时间可具有当前活跃的用于实现对应的通信的不同总数的通道的至少一条链路。为了简明,这种链路在此被称为“可变宽度”链路,其中,“宽度”被理解为指代链路的当前活跃通道的总数。
在协议栈200所支持的该多条链路中,协议栈200的某些资源可操作用于仅支持一条这种链路。例如,资源集合212、214、222、224、232、234中的一个或多个集合可帮助经由该多条链路中的第一链路的通信,其中,这种一个或多个资源集合不帮助该多条链路中的任何其他链路的通信。在这种实施例中,至少在该多条链路的上下文中,这种一个或多个资源集合可被认为特定于或专用于该第一链路。这种资源可以是链路特定的,至少部分地由于串行I/O接口的硬接线电路,尽管某些实施例在此方面不受限制。
图3示出根据实施例的用于提供功率门控的系统300的元素。系统300可包括例如系统100的某些或全部特征。在实施例中,系统100包括处理器、包括串行I/O接口的外围设备或其他设备(诸如设备100),其中,该设备耦合到或结合提供功率输送逻辑140的某些或全部功能的逻辑。
系统300可包括功率输送单元310,其包括用于对向系统300的串行I/O接口的各种资源的功率输送进行选择性地门控的逻辑,例如包括硬件、固件和/或执行软件。功率输送单元310可包括功率输送逻辑140的某些或全部特征。在实施例中,功率输送单元310以各种方式耦合到串行I/O接口的不同资源(为了简明,在此也称为“接口资源”或简单地“资源”)。接口资源可以各种方式支持多条通信链路,例如串行点到点链路,其在给定的时间各自包括一个或多个对应的通道。
通过说明而非限制,功率输送单元310可耦合到资源集合340a,例如,其中,资源集合340a包括一个或多个接收资源342a和/或一个或多个传输资源344a。可替代地或附加地,资源集合340a可包括用于传输数据和接收数据的一个或多个资源。资源集合340a可包括根据不同实施例的各种各样的附加或可替代资源中的任何一种。在系统300的串行I/O接口所支持的该多条链路中,资源集合340a可支持仅一条具体链路的通信。例如,资源集合340a的操作可帮助经由该多条链路中的第一链路305的通信,其中,独立于资源集合340a实现该多条链路中的任何其他链路的通信。
在此在针对双向链路的资源集合的上下文中实现各实施例的某些特征,例如,其中,资源集合340a包括用于双向链路接收通信的一个或多个接收资源342a以及用于该双向链路传输资源的一个或多个传输资源344a。然而,这种讨论可延伸到附加地或可替代地应用于针对单向链路的接口资源集合。例如,一个或多个接收资源342a可以是特定于单向接收链路的资源集合和/或一个或多个接收资源342a可以是特定于单向传输链路的资源集合。
在实施例中,除资源集合340a之外,系统300的串行I/O接口还包括用于支持与该多条链路中非第一链路305的链路的通信的其他资源。通过说明而非限制,串行I/O接口可包括资源集合340b,该资源集合包括一个或多个接收资源342b和/或一个或多个传输资源344b。资源集合340b可特定于该多条链路中的另一条链路,尽管某些实施例在此方面不受限制。例如,资源集合340b的操作可帮助经由该多条链路中的第二链路的通信,例如,第二双向链路,其中,资源集合340b不用于帮助该多条链路中的任何其他链路的通信。
功率输送单元310可包括用于监视链路的控制逻辑320,其中,在串行I/O接口的该多条链路中,串行I/O接口的资源集合特定于该链路。例如,控制逻辑可监视与资源集合340a相对应的双向链路305。监视这种链路305可包括监听该链路的一个或多个通道的控制逻辑320,例如用于为每个这种通道检测对应的通道活跃性(不活跃性)水平。可替代地或附加地,控制逻辑320可从串行I/O接口接收标识一个或多个通道的活跃性(不活跃性)的专用消息。根据不同实施例,用于监视I/O接口的各种各样的常规机制中的任何一种可被适配成用于控制逻辑320以便监视链路305。
在实施例中,监视链路305包括控制逻辑320监视链路305的活跃通道的总数的计数(L计数)322。例如可基于经由通道的信息交换速率(例如,基于这种信息交换速率与零(0)或某个其他阈值的比较)确定通道的活跃性(或不活跃性)。在实施例中,所监视的链路305是可变宽度链路,例如,其中,L计数322的值标识链路305的当前宽度。根据不同实施例,控制逻辑320可监视一个或多个附加或可替代链路的宽度。
基于该监视,控制逻辑320可检测L计数322的改变。响应于所检测到的L计数322的改变,功率输送单元310可改变向串行I/O接口的一个或多个资源的功率输送状态。例如,功率输送单元310可进一步包括耦合在资源集合340a和一个或多个电源之间的功率门控逻辑330。功率门控逻辑330可包括用于选择性地将接口资源耦合到电源和/或选择性地将这种接口资源从电源解耦合的逻辑,例如,其中,这种资源可彼此独立地选择性地耦合/解耦合。通过说明而非限制,功率门控逻辑330可包括开关逻辑,例如包括说明性开关元素SE1 332、SE2 334,其各自耦合在电源和对应的接口资源(或接口资源集合)之间。SE1 332可选择性地例如仅为资源集合340a的一个或多个资源提供功率耦合/解耦合。可替代地或附加地,SE2 334可选择性地例如仅为资源集合340b的一个或多个资源提供电源耦合/解耦合。
功率门控逻辑330的一个或多个开关元件(例如,SE1 332和SE2 334)可彼此独立地操作。通过说明而非限制,例如,响应于L计数322改变到零或某个其他阈值(例如,在实施例中,低于阈值),SE1 332可将一个或多个接收资源342a和/或一个或多个传输资源344a从电源解耦合。资源集合340a的一个或多个资源的这种解耦合可在与SE2 334的功率耦合状态(例如,耦合或解耦合)保持不变的同时发生。
可替代地或附加地,资源集合340a的一个或多个资源的这种解耦合可在资源集合340a的一个或多个其他资源的功率耦合状态保持不变的同时发生。例如,SE1 332可选择性地仅为资源集合340a中的资源子集提供功率,例如,其中,独立于SE1 332为资源集合340a的一个或多个其他资源提供功率。在实施例中,功率门控逻辑330包括用于独立于SE1 332的选择性功率耦合/解耦合,为资源集合340a中的这种其他资源提供选择性功率耦合/解耦合的一个或多个其他开关元素(未示出)。
在此结合选择性地将不同的接口资源耦合到同一电源和/或选择性地将不同的接口资源从同一电源解耦合,讨论各实施例的某些特征。然而,这种讨论可延伸到附加地或可替代地应用于选择性地将接口资源各自耦合到不同的对应电源和/或选择性地将接口资源各自从不同的对应电源解耦合。
图4示出根据实施例的用于为I/O接口提供功率门控的方法400的元素。方法400可对向接口(诸如I/O接口105)的功率输送进行门控。在实施例中,方法400由具有功率输送单元310的某些或全部功能的逻辑执行。
方法400可包括在410监视多条链路中的第一链路,其中,I/O接口包括包含用于支持仅经由该第一链路的通信的第一资源集合的资源。I/O接口可被配置成用于耦合到互连,该互连例如与PCI互连标准兼容。在实施例中,I/O接口驻留在第一处理器上,其中,互连用于第一处理器和第二处理器之间的通信。在实施例中,该第一资源集合包括协议栈的物理层的资源。可替代地或附加地,该第一资源集合可包括这种协议栈中的链路层的资源和/或事务层的资源。
方法400可进一步包括在420基于该监视检测第一链路的活跃通道的总数的改变。在420检测改变可包括例如检测经由互连的通信以便为第一链路协商宽度改变。可替代地或附加地,在420检测改变可包括由作为I/O通信的目标的另一个设备检测向空闲(例如,LI)或其他低功率状态的转变。
响应于检测到第一链路的活跃通道的总数的改变,方法400可在430将第一资源集合中的资源从对应的电源解耦合。在430的功率解耦合可例如响应于检测到第一链路的通道都不活跃。在实施例中,在430的功率解耦合独立于另一个接口资源的任何功率解耦合。例如,在430的功率解耦合可独立于第二组资源中的资源从对应的电源的任何解耦合,其中,该第二组资源特定于该多条链路中的第二链路。可替代地或附加地,在430的解耦合可独立于第一资源集合中的另一个资源的任何功率解耦合。在实施例中,在410的监视在430的检测之后并且在第一资源集合中的其他资源保持上电的同时恢复或继续。第一资源集合的这些其他资源可例如为第一链路维护状态信息。
在实施例中,方法400进一步包括用于将一个或多个接口资源耦合(例如,重新耦合)到电源的一个或多个操作(未示出)。例如,在410的监视可在430的解耦合之后恢复或继续,其中,基于附加监视,检测活跃通道的总数的另一改变。响应于检测到活跃通道的总数的另一改变,之前在430从功率解耦合的资源可再次耦合到对应的电源。这种耦合可例如响应于检测到第一链路的至少一个通道的活跃性的指示。
某些实施例独立地解耦合协议栈中的层的一个或多个接口资源,其中,这种一个或多个资源特定于多条链路中的具体链路。这种一个或多个资源可例如至少目前为止区别于常规接口资源,因为该一个或多个资源驻留在特定于该具体链路的硬件的功率域中。然而,这种一个或多个资源可实现原本由常规技术和/或机制实现的协议栈层的某些功能。
通过说明而非限制,物理层资源独立地功率耦合和/或解耦合可包括用于提供数据加扰和/或解扰功能的加扰电路,例如包括每通道和/或链路宽度的加扰/解扰。可替代地或附加地,这种物理层资源可以是以下中的一项或多项:用于过度驱动数据传输的一部分的预强调逻辑、用于标识数据帧中的参考点的字节锁定电路、用于适应跨越不同时钟域的通信操作的时钟补偿FIFO、解偏移缓冲器和/或控制逻辑、频率补偿缓冲器、8b/10b编码器(解码器)逻辑和/或各种各样用于实现物理层功能的其他这种逻辑中的任何一种。可独立地从电源解耦合的链路层的资源的示例包括例如用于对通过链路传输的分组进行分片的逻辑、用于对经由链路接收的分组进行解分片的逻辑、错误检测和/或错误校正逻辑,诸如循环冗余校验(CRC)生成/校验电路和/或各种各种的用于实现链路层功能的其他这种逻辑中的任何一种。根据不同的实施例,协议栈的物理层、链路层和/或其他层的各种各样的附加或可替代地资源中任何一种可独立地功率耦合/解耦合。
例如,在说明性实施例中,功率门控逻辑330通过为特定于该链路的一个或多个资源执行功率解耦合而不为特定于该链路的另一个资源执行功率解耦合,对该链路内的任何通道的不活跃性作出响应。在实施例中,另一个资源保存该链路的状态信息。通过说明而非限制,另一个资源包括一个或多个物理层资源,诸如控制寄存器、状态寄存器、链路训练状态和状态机(LTSSM)和/或维持该链路的状态的其他这种资源。可替代地,另一个资源可包括一个或各种链路层资源,诸如链路层控制寄存器、状态寄存器、重试状态机等等。
图5示出根据实施例的用于提供功率门控的系统500的元素。系统500可包括例如系统300的某些或全部特征。在实施例中,系统500包括包含处理器、串行I/O接口的外围设备或其他设备(诸如设备100),其中,该设备耦合到或结合提供功率输送单元310的某些或全部功能的逻辑。
在实施例中,系统500的串行I/O接口包括用于支持与包括一个或多个可变宽度链路的多条链路的通信的资源。支持这种通信可包括串行I/O接口实现分层协议栈。通过说明而非限制,串行I/O接口可实现协议栈的链路层,例如,其中,链路层资源集合510a特定于第一链路并且链路层资源集合510n用于第二链路而不是第一链路。可替代地或附加地,串行I/O接口可实现这种协议栈的物理层,例如,其中,物理层资源集合520a特定于第一链路并且物理层资源集合520n用于第二链路而不是第一链路。
在实施例中,链路层资源集合510a包括以下中的一项或多项:用于数据传输的传输资源512a、用于数据接收的接收资源514a以及在另一个实施例中用于数据传输、数据接收或二者的另一个资源516a。类似地,链路层资源集合510n包括以下中的一项或多项:传输资源512n、接收资源514n以及在实施例中用于数据传输、数据接收或二者的另一个资源516a。可替代地,物理层资源集合520a包括以下中的一项或多项:用于数据传输的传输资源522a、用于数据接收的接收资源524a以及在实施例中用于数据传输、数据接收或二者的另一个资源526a。类似地,物理层资源集合520n包括以下中的一项或多项:传输资源522n、接收资源524n以及在实施例中用于数据传输、数据接收或二者的另一个资源516a。
协议栈的实现方式可包括系统500的链路层有限状态机(FSM)530或其他这种逻辑的操作,以便以各种方式为链路层资源集合510a和/或链路层资源集合514n的对应操作分别提供控制信号532。可替代地或附加地,系统500可包括物理层FSM 540或其他这种逻辑,以便以各种方式为物理层资源集合520a和/或物理层资源集合520n的对应操作分别提供控制信号542。控制信令532、542中的某些或全部可根据用于操作协议栈的常规技术并且可不限于某些实施例。
系统500可包括用于对至串行I/O接口的资源的功率输送进行门控的电路。例如,系统500可包括功率门控FSM 550或其他这种逻辑以便选择性地控制各种接口资源各自到对应的电源的耦合。功率门控FSM 550可包括例如功率输送单元310的某些或全部特征。在实施例中,功率门控FSM550执行方法400。
功率门控FSM 550可从链路层FSM 530和/或物理层FSM 540接收一个或多个信号用于监视由系统500的接口资源支持的该多条链路中的链路。通过说明而非限制,功率门控FSM 550可监视链路层资源集合510a和/或物理层资源集合520a所支持的第一链路,其中,在该多条链路中,链路层资源集合510a和/或物理层资源集合520a支持仅该第一链路的通信。在实施例中,功率门控FSM 550可监视链路层资源集合510n和/或物理层资源集合520n所支持的第二链路,其中,在该多条链路中,链路层资源集合510n和/或物理层资源集合520n支持仅该第二链路的通信。
基于该监视,功率门控FSM 550可检测第一链路的宽度的改变。响应于第一链路的这种改变,功率门控FSM 550可为第一链路的宽度的改变实现功率节省操作集合。通过说明而非限制,响应于第一链路不具有活跃通道,功率门控FSM 550可以各种方式将功率线路集合552a中的一条或多条各自从对应的电源(例如,同一电源)解耦合。功率线路集合552a可以各种方式为传输资源512a、接收资源514a和资源516a中的不同的对应资源上电。可替代地或附加地,功率门控FSM 550可以各种方式将功率线路集合554a中的一条或多条各自从对应的电源(例如,同一电源)解耦合。功率线路集合552a可以各种方式为传输资源522a、接收资源524a和资源526a中的不同的对应资源上电。
在实施例中,功率门控FSM 550可进一步例如基于链路层FSM 530和/或物理层FSM的监视,检测第二链路的宽度的改变。响应于第二链路的这种改变,功率门控FSM 550可为第二链路的宽度的改变实现功率节省操作集合。通过说明而非限制,响应于第二链路不具有活跃通道,功率门控FSM550可以各种方式将功率线路集合552n中的一条或多条各自从对应的电源(例如,同一电源)解耦合。功率线路集合552n可以各种方式为传输资源512n、接收资源514n和资源516n中的不同的对应资源上电。可替代地或附加地,功率门控FSM 550可以各种方式将功率线路集合554n中的一条或多条各自从对应的电源(例如,同一电源)解耦合。功率线路集合552n可以各种方式为传输资源522n、接收资源524n和资源526n中的不同的对应资源上电。
链路层资源集合510a和物理层资源集合520a的资源的选择性功率耦合/解耦合可独立于链路层资源集合510a和物理层资源集合520a的另一个资源的选择性功率耦合/解耦合。可替代地或附加地,链路层资源集合510a和物理层资源集合520a的资源的选择性功率耦合/解耦合可独立于链路层资源集合510n和物理层资源集合520n的资源的选择性功率耦合/解耦合。
图6是可在其中实现功率门控的计算系统的实施例的框图。系统600表示根据在此描述的任何实施例的计算设备并且可以是膝上计算机、桌上计算机、服务器、游戏或娱乐控制系统、扫描仪、复印机、打印机、或其他电子设备。系统600可包括处理器620,该处理器为系统600提供处理、操作管理以及指令执行。处理器620可包括任何类型的微处理器、中央处理单元(CPU)、处理核、或其他处理硬件以便为系统600提供处理。处理器620控制系统600的整体操作并且可以是或可包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑器件(PLD)等等或这种设备的组合。
存储器子系统630表示系统600的主存储器并且为有待由处理器620执行的代码或有待用于执行例程的数据值提供临时存储。存储器子系统630可包括一个或多个存储器设备,诸如只读存储器(ROM)、闪存、一种或多种随机存取存储器(RAM)、或其他存储器设备、或这种设备的组合。除其他事项之外,存储器子系统630存储并主宿操作系统(OS)636以便为在系统600中执行指令提供软件平台。此外,从存储器子系统630存储并执行其他指令638以便提供系统600的逻辑和处理。OS 636和指令638由处理器620执行。
存储器子系统630可包括存储器设备632,其中,其存储数据、指令、程序、或其他事项。在一个实施例中,存储器子系统包括存储器控制器634,其是根据在此描述的任何实施例的并且提供功率输送机制的存储器控制器。在一个实施例中,存储器控制器634为存储器设备632提供命令。这些命令可用于存储器设备632以便为存储器设备632提供数据访问。
处理器620和存储器子系统630耦合到总线/总线系统610。总线610是表示由合适的网桥、适配器、和/或控制器连接的任何一个或多个分离的物理总线、通信线路/接口、和/或点到点连接的抽象。因此,总线610可包括例如以下中的一项或多项:系统总线、外围组件互连(PCI)总线、超传输或工业标准架构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、或电子电气工程师协会(IEEE)标准1394总线(统称为“火线”)。总线610的总线还可对应于网络接口650中的接口。
系统600还可包括一个或多个输入/输出(I/O)接口640、网络接口650、一个或多个内部大容量存储设备660以及耦合到总线610的外围接口670。I/O接口640可包括用户与系统600交互所通过的一个或多个接口组件(例如,视频、音频、和/或字母数字接口连接)。网络接口650为系统600提供通过一个或多个网络与远程设备(例如,服务器、其他计算设备)通信的能力。网络接口650可包括以太网适配器、无线互连组件、USB(通用串行总线)、或其他基于有线或无线标准的接口或专有接口。
存储设备660可以是或可包括用于以非易失性方式存储大量数据的任何常规介质,诸如一个或多个基于磁、固态、或光的盘或组合。存储设备660以持久状态保持代码或指令和数据662(即,保留该值,而不管到系统600的功率是否中断)。存储设备660可一般地被认为是“存储器”,尽管存储器630是用于为处理器620提供指令的执行或操作存储器。鉴于存储设备660是非易失性的,存储器630可包括易失性存储器(即,如果到系统600的功率中断,数据的值或状态是不确定的)。
外围接口670可包括未在以上特别提及的任何硬件接口。外围设备总体上指代依赖地连接到系统600的设备。依赖连接是如下连接,其中系统600提供操作在其上执行并且用户与其交互的软件和/或硬件平台。
图8示出根据实施例的用于提供功率管理的说明性计算机系统800的元素。计算机系统800可包括例如系统100的某些或全部特征。在实施例中,计算机系统800包括处理器810和经由并行互连820耦合到其上的存储器设备,例如,说明性双列直插存储器模块(DIMM)840。
处理器810可包括中央处理单元(CPU)、安全处理器、图形处理器、协处理器等等。处理器810是根据实施例可包括提供功率门控所针对的并行I/O接口的一种类型的设备的示例。通过说明而非限制,处理器810可包括用于耦合到并行互连820的存储器控制器逻辑830,例如,其中,存储器控制器逻辑830提供用于控制DIMM 840的操作的各种机制。存储器控制器逻辑830可包括例如I/O接口105的某些或全部特征。
在实施例中,存储器控制器逻辑830针对处理器810操作以便以各种方式从DIMM840的DRAM设备842a、...、842x读取数据和/或向其写入数据。根据不同的实施例,存储器控制器逻辑830可实现各种各样的附加或可替代I/O资源中的任何一种。DIMM 840是根据实施例可参与同提供功率门控所针对的另一个设备的并行I/O接口的通信的一种类型的设备的示例。
在实施例中,存储器控制器逻辑支持多条链路各自用于经由互连820通信,例如,其中,至少一条这种链路是可变宽度链路。处理器810可包括或耦合到用于为存储器控制器逻辑830提供在链路特定基础上是选择性的细粒度功率门控的逻辑(例如,说明性功率门控电路812)。除偶尔跨所有链路切换功率之外,这种功率门控还可例如利用简短的空闲间隔来节省DDR泄露。
例如,在DIMM 840的某些或全部的自刷新(SR)循环过程中,可将存储器控制器逻辑830的大部分掉电。可存在分布在存储器控制器逻辑830中的需要保持“存活”并且不能被掉电的一些关键架构状态/逻辑。这种状态/逻辑可例如包括特定于给定链路的配置寄存器834。附加地或可替代地,存储器控制器逻辑830可包括特定于给定链路的调度器逻辑836和/或数据通路电路838。在实施例中,调度器逻辑836和数据通路电路838必需都保持上电,即使当特定链路转变到不具有当前活跃通道的状态时。可替代地或附加地,这种状态/逻辑可包括将时钟使能(CKE)引脚驱动为低以将DIMM 840保持在自刷新中的逻辑、用于维持DIMM 840在自刷新中的指示和/或帮助合适的自刷新退出序列、事务序列以及标识队列是否为空的相关联逻辑标志等等的状态机。
在实施例中,存储器控制器逻辑830包括特定于多条链路中的给定链路的可例如响应于该给定链路的活跃通道的数量的改变被选择性地功率门控的其他逻辑。例如,存储器控制器逻辑830可进一步包括例如专用于为特定链路执行地址解码操作的地址解码逻辑832。在实施例中,地址解码逻辑832可响应于该特定链路转变到不具有当前活跃通道的状态从任何/全部功率切换地解耦合。根据不同的实施例,存储器控制器逻辑830的各种各样的附加或可替代组件(未示出)中的任何一种可由功率门控电路选择性地功率门控。
图7是可在其中实现功率门控的移动设备的实施例的框图。设备700表示移动计算设备,诸如计算平板、移动电话或智能电话、启用无线的电子阅读器、或其他移动设备。将理解的是通常示出某些组件并且在设备700中未示出这种设备的全部组件。
设备700可包括执行设备700的主要处理操作的处理器710。处理器710可包括一个或多个物理设备,诸如微处理器、应用处理器、微控制器、可编程逻辑器件、或其他处理器装置。在一个实施例中,除处理器管芯之外,处理器710包括光学接口组件。因此,处理器管芯和光子组件在同一封装中。根据在此描述的任何实施例,这种处理器封装可光学地与光连接器接口连接。
处理器710执行的处理操作包括执行在其上执行应用和/或设备功能的操作平台或操作系统。处理操作包括与人类用户或与其他设备的I/O(输入/输出)有关的操作、与功率管理有关的操作、和/或与将设备700连接到另一个设备有关的操作。处理操作还可包括与音频I/O和/或显示I/O有关的操作。
在一个实施例中,设备700包括音频子系统720,其表示与为计算设备提供音频功能相关联的硬件(例如,音频硬件和音频电路)和软件(例如,驱动器、编解码器)。音频功能可包括扬声器和/或耳机输出以及麦克风输入。用于这种功能的设备可被集成到设备700中或连接到设备700。在一个实施例中,用户通过提供由处理器710接收并处理的音频命令与设备700交互。
显示子系统730表示为用户提供视觉和/或触觉显示以便与计算设备交互的硬件(例如,显示设备)和软件(例如,驱动器)。显示子系统730可包括显示接口732,其可包括用于为用户提供显示的特定屏幕或硬件设备。在一个实施例中,显示接口732包括与处理器710分离的用于提供与显示有关的至少某些处理的逻辑。在一个实施例中,显示子系统730包括为用户提供输出和输入和触摸屏设备。
I/O控制器740表示与同用户的交互有关的硬件设备和软件组件。I/O控制器740可操作以便管理为音频子系统720和/或显示子系统730的一部分的硬件。此外,I/O控制器740示出用于连接到设备700的附加设备的用户可通过其与系统交互的连接点。例如,可附连到设备700的设备可包括麦克风设备、扬声器或立体声系统、视频系统或其他显示设备、键盘或小键盘设备、或其他I/O设备,以便与特定应用(诸如读卡器或其他设备)一起使用。
如上所述,I/O控制器740可与音频子系统720和/或显示子系统730交互。例如,通过麦克风或其他音频设备的输入可为设备700的一个或多个应用或功能提供输入或命令。此外,可代替或除显示输出之外提供音频输出。在另一个示例中,如果显示子系统包括触摸屏,显示设备还充当输入设备,其可至少部分地由I/O控制器740管理。设备700还可存在附加按钮或开关以便提供由I/O控制器740管理的I/O功能。
在一个实施例中,I/O控制器740可管理设备,诸如加速计、相机、光传感器或其他环境传感器、陀螺仪、全球定位系统(GPS)、或可包括在设备700中的其他硬件。输入可以是直接用户交互的一部分以及为系统提供环境输入以便影响其操作(诸如滤除噪音、调整显示器的亮度检测、为相机应用闪光或其他特征)。
在一个实施例中,设备700包括管理电池功率使用、电池充电以及与功率节省操作有关的特征的功率管理750。存储器子系统760可包括用于在设备700中存储信息的存储器设备762。存储器子系统760可包括非易失性(如果到存储器设备的功率中断,状态不改变)和/或易失性(如果到存储器设备的功率中断,状态是不确定的)存储器设备。存储器子系统760可存储应用数据、用户数据、音乐、照片、文档、或其他数据以及与系统700的应用和功能的执行有关的系统数据(不管是长期的还是临时的)。在一个实施例中,存储器子系统760包括存储器控制器764(其还可被认为是系统700的控制的一部分并且可潜在地被认为是处理器710的一部分)。在实施例中,存储器控制器764发布访问存储器762的命令。
连接770包括硬件设备(例如,无线和/或有线连接器和通信硬件)和软件设备(例如,驱动器、协议栈),以便允许设备700与外部设备通信。设备可以是分离的设备,诸如其他计算设备、无线接入点或基站以及外围设备,诸如手机、打印机、或其他设备。
连接770可包括多种不同类型的连接。为了概括,设备700被示出为具有蜂窝连接772和无线连接774。蜂窝连接772一般指代无线载波提供的蜂窝网络连接,诸如经由GSM(全球移动通信系统)或变体或衍生物、CDMA(码分多址)或变体或衍生物、TDM(时分复用)或变体或衍生物、LTE(长期演进,也称为“4G”)或其他蜂窝服务标准提供的。无线连接774指代不是蜂窝的无线连接并且可包括个域网(诸如蓝牙)、局域网(诸如WiFi)、和/或广域网(诸如WiMax)、或其他无线通信。无线通信指代通过使用通过非固态介质的经调制的电磁辐射的数据传送。有线通信通过固态通信介质发生。
外围连接780包括硬件接口和连接器以及软件组件(例如,驱动器、协议栈)以便形成外围连接。将理解的是设备700可以是到其他计算设备的外围设备(“至”782)并且具有连接到其上的外围设备(“从”784)。设备700通常具有为了诸如管理(例如,下载和/或上传、改变、同步)设备700上的内容的目的的用于连接到其他计算设备的“对接(docking)”连接器。此外,对接连接器可允许设备700连接到允许设备700控制到例如视听或其他系统的内容输出的某些外围设备。
除专用对接连接器或其他专用连接硬件之外,设备700可经由常见或基于标准的连接器形成外围连接780。常见类型可包括通用串行总线(USB)连接器(其可包括多个不同硬件接口中的任何一个)、包括迷你显示端口(MDP)的显示端口、高清多媒体接口(HDMI)、火线、或其他类型。
在一方面中,一种设备包括:功率门控逻辑,用于耦合到控制逻辑,其中,该控制逻辑监视多条链路中的第一链路,其中,串行输入/输出(I/O)接口包括包含用于支持仅经由该第一链路的通信的第一资源集合的资源,该功率门控逻辑用于响应于该控制逻辑检测到该第一链路的活跃通道总数的改变,将该第一资源集合中的资源从对应的电源解耦合。
在实施例中,该多条链路进一步包括第二链路,其中,该资源进一步包括用于支持仅经由该第二链路的通信的第二资源集合,其中,该功率门控逻辑用于独立于该第二资源集合中的任何资源从对应的电源解耦合,将该第一资源集合中的该资源从该对应的电源解耦合。在实施例中,该功率门控逻辑用于响应于该控制逻辑检测到该第一链路的通道都不活跃,将该第一资源集合中的该资源从该对应的电源解耦合。在实施例中,该功率门控逻辑用于独立于该第一资源集合中的任何其他资源从对应的电源解耦合,将该第一资源集合中的该资源从该对应的电源解耦合。
在实施例中,该第一资源集合中的该其他资源维护该链路的状态信息。在实施例中,在该第一资源集合中的该资源从该对应的电源解耦合之后并且在该第一资源集合中的该其他资源上电时,该控制逻辑进一步监视该多条链路。在实施例中,该I/O接口用于与外围组件互连(PCI)通信标准兼容的通信。在实施例中,该I/O接口用于第一处理器和第二处理器之间的通信。
在另一个方面中,一种系统包括输入/输出(I/O)接口,该接口包括包含用于支持仅经由多条链路中的第一链路的通信的第一资源集合的资源。该系统进一步包括功率输送单元,该功率输送单元包括用于监视该第一链路的控制逻辑,其中,该控制逻辑用于检测该第一链路的活跃通道总数的改变。该功率输送单元进一步包括耦合到该控制逻辑的功率门控逻辑,该功率门控逻辑用于响应于该第一链路的该活跃通道总数的改变,将该第一资源集合中的资源从对应的电源解耦合。
在实施例中,该多条链路进一步包括第二链路,其中,该资源进一步包括用于支持仅经由该第二链路的通信的第二资源集合,其中,该功率门控逻辑用于独立于资源的第二资源集合中的任何资源从对应的电源解耦合,将该第一资源集合中的该资源从该对应的电源解耦合。在实施例中,该功率门控逻辑用于响应于该控制逻辑检测到该第一链路的通道都不活跃,将该第一资源集合中的该资源从该对应的电源解耦合。在实施例中,该功率门控逻辑用于独立于该第一资源集合中的任何其他资源从对应的电源解耦合,将该第一资源集合中的该资源从该对应的电源解耦合。
在实施例中,该第一资源集合中的该其他资源维护该链路的状态信息。在实施例中,在该第一资源集合中的该资源从该对应的电源解耦合之后并且在该第一资源集合中的该其他资源上电时,该控制逻辑进一步监视该多条链路。在实施例中,该I/O接口用于与外围组件互连(PCI)通信标准兼容的通信。在实施例中,该I/O接口用于第一处理器和第二处理器之间的通信。
在另一方面中,一种方法包括:监视多条链路中的第一链路,其中,输入/输出(I/O)接口包括包含用于支持仅经由该第一链路的通信的第一资源集合的资源;以及基于该监视,检测该第一链路的活跃通道总数的改变。该方法进一步包括响应于检测到该第一链路的该活跃通道总数的该改变,将该第一资源集合中的资源从对应的电源解耦合。在实施例中,该多条链路进一步包括第二链路,其中,该资源进一步包括用于支持仅经由第二链路的通信的第二资源集合,其中,该将该第一资源集合中的该资源从该对应的电源解耦合独立于该第二资源集合中的资源从对应的电源的任何解耦合。在实施例中,该将该第一资源集合中的该资源从该对应的电源解耦合响应于检测到该第一链路的通道都不活跃。在实施例中,该将该第一资源集合中的该资源从该对应的电源解耦合独立于该第一资源集合中的另一个资源从对应的电源的任何解耦合。在实施例中,该第一资源集合中的该其他资源维护该链路的状态信息。在实施例中,该I/O接口用于与外围组件互连(PCI)通信标准兼容的通信。在实施例中,该I/O接口用于第一处理器和第二处理器之间的通信。
在另一方面中,一种其上存储有指令的计算机可读存储介质,当由一个或多个处理单元执行时,该指令致使一个或多个处理单元执行一种方法。该方法包括:监视多条链路中的第一链路,其中,输入/输出(I/O)接口包括包含用于支持仅经由该第一链路的通信的第一资源集合的资源;以及基于该监视,检测该第一链路的活跃通道总数的改变。该方法进一步包括响应于检测到该第一链路的该活跃通道总数的该改变,将该第一资源集合中的资源从对应的电源解耦合。
在实施例中,该多条链路进一步包括第二链路,其中,该资源进一步包括用于支持仅经由第二链路的通信的第二资源集合,其中,该将该第一资源集合中的该资源从该对应的电源解耦合独立于该第二资源集合中的资源从对应的电源的任何解耦合。在实施例中,该将该第一资源集合中的该资源从该对应的电源解耦合响应于检测到该第一链路的通道都不活跃。
在实施例中,该将该第一资源集合中的该资源从该对应的电源解耦合独立于该第一资源集合中的另一个资源从对应的电源的任何解耦合。在实施例中,该第一资源集合中的该其他资源维护该链路的状态信息。在实施例中,该I/O接口用于与外围组件互连(PCI)通信标准兼容的通信。在实施例中,该I/O接口用于第一处理器和第二处理器之间的通信。
在此描述了用于管理功率输送的技术和架构。在以上描述中,为了解释的目的,列出了许多特定细节以便提供某些实施例的透彻理解。然而,对本领域普通技术人员将明显的是可在没有这些特定细节的情况下实践某些实施例。在其他情况中,用框图的形式示出结构和设备,以便避免混淆本描述。
贯穿本说明书对“一个实施例”或“实施例”的引用是指在此结合该实施例所描述的特定特征、结构或特性包括在本发明的至少一个实施例中。在本说明书中,短语“在一个实施例中”在各种地方的出现并非必须全部指代相同的实施例。
在在计算机存储器内的数据位上的操作的算法和符号表示方面展现在此的详细描述的某些部分。这些算法描述和表示是计算领域的技术人员最有效地将其工作实质传达给本领域的其他技术人员的手段。算法在此并且通常被认为是导致所期望的结果的步骤的自洽序列。这些步骤是要求物理量的物理操纵的那些步骤。通常,尽管不必需,这些量采取能够被存储、传输、组合、比较、以及以其他方式操纵的电信号或磁信号的形式。已经证明方便的是有时主要出于常见用途的原因,将这些信号称为位、值、元素、符号、字符、项目、编号等等。
然而,应当记住的是所有这些和类似的项目有待与适当的物理量相关联并且仅仅是适用于那些量的方便标签。除非明确地以其他方式声明,如从在此的讨论明显的是,认识到贯穿本描述,使用术语诸如“处理”或“计算”或“运算”或“确定”或“显示”等等的讨论是指操纵表示为计算机系统的寄存器和存储器内的物理(电子)量的数据并将其转换为类似地表示为计算机系统存储器或寄存器或其他这种信息存储、传输或显示设备内的物理量的其他数据的计算系统或类似的电子计算设备的动作和/或过程。
某些实施例还涉及用于执行在此的操作的装置。该装置可具体地为所需目的构造,或者其可包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这种计算机程序可被存储在计算机可读存储介质中,诸如但不限于任何类型的盘,包括软盘、光盘、CD-ROM以及磁光盘、只读存储器(ROM)、随机存取存储器(RAM),诸如动态RAM(DRAM)、EPROM、EEPROM、磁卡或光卡、或任何类型的适合用于存储电子指令并且耦合到计算机系统总线的介质。
在此呈现的算法和显示不是固有地与任何具体的计算机或其他装置有关。各种通用系统可与根据在此的教导的程序一起使用,或者其可证明方便构造用于执行所需方法步骤的更专门的装置。各种各样的这些系统的所需结构将从在此的描述出现。此外,未结合任何具体的编程语言描述某些实施例。将认识到的是各种各样的编程语言可用于实现在此描述的这种实施例的教导。
除在此描述的内容之外,可对所公开的实施例及其实现方式进行各种修改而不背离其范围。因此,应当以说明性而非限制性意义解释在此的说明和示例。应当仅参考以下权利要求书衡量本发明的范围。
Claims (26)
1.一种用于门控功率输送的装置,包括:
功率门控逻辑,用于耦合到控制逻辑,其中所述控制逻辑监视多条链路中的第一链路,其中串行输入/输出I/O接口包括包含用于支持仅经由所述第一链路的通信的第一资源集合的资源,所述功率门控逻辑用于响应于所述控制逻辑检测到所述第一链路的活跃通道总数的改变,将所述第一资源集合中的资源从对应的电源解耦合,其中所述功率门控逻辑用于独立于所述第一资源集合中的任何其他资源从对应的电源解耦合,将所述第一资源集合中的所述资源从对应的电源解耦合。
2.如权利要求1所述的装置,其中,所述多条链路进一步包括第二链路,其中所述资源进一步包括用于支持仅经由所述第二链路的通信的第二资源集合,其中所述功率门控逻辑用于独立于所述第二资源集合中的任何资源从对应的电源解耦合,将所述第一资源集合中的所述资源从对应的电源解耦合。
3.如权利要求1所述的装置,其中,所述功率门控逻辑用于响应于所述控制逻辑检测到所述第一链路的通道都不活跃,将所述第一资源集合中的所述资源从对应的电源解耦合。
4.如权利要求1所述的装置,其中,所述第一资源集合中的其他资源维护所述链路的状态信息。
5.如权利要求4所述的装置,其中,在所述第一资源集合中的所述资源从对应的电源解耦合之后并且在所述第一资源集合中的所述其他资源上电时,所述控制逻辑进一步监视所述多条链路。
6.如权利要求1所述的装置,其中,所述I/O接口用于与外围组件互连(PCI)通信标准兼容的通信。
7.如权利要求1所述的装置,其中,所述I/O接口用于第一处理器和第二处理器之间的通信。
8.一种计算系统,包括:
输入/输出I/O接口,包括包含用于支持仅经由多条链路中的第一链路的通信的第一资源集合的资源;以及
功率输送单元,包括:
控制逻辑,用于监视所述第一链路,其中,所述控制逻辑用于检测所述第一链路的活跃通道总数的改变;以及
功率门控逻辑,耦合到所述控制逻辑,所述功率门控逻辑用于响应于所述第一链路的所述活跃通道总数的改变,将所述第一资源集合中的资源从对应的电源解耦合,其中所述功率门控逻辑用于独立于所述第一资源集合中的任何其他资源从对应的电源解耦合,将所述第一资源集合中的所述资源从对应的电源解耦合。
9.如权利要求8所述的系统,其中,所述多条链路进一步包括第二链路,其中所述资源进一步包括用于支持仅经由所述第二链路的通信的第二资源集合,其中所述功率门控逻辑用于独立于所述第二资源集合中的任何资源从对应的电源解耦合,将所述第一资源集合中的所述资源从对应的电源解耦合。
10.如权利要求8所述的系统,其中,所述功率门控逻辑用于响应于所述控制逻辑检测到所述第一链路的通道都不活跃,将所述第一资源集合中的所述资源从对应的电源解耦合。
11.如权利要求8所述的系统,其中,所述第一资源集合中的其他资源维护所述链路的状态信息。
12.如权利要求11所述的系统,其中,在所述第一资源集合中的所述资源从对应的电源解耦合之后并且在所述第一资源集合中的所述其他资源上电时,所述控制逻辑进一步监视所述多条链路。
13.如权利要求8所述的系统,其中,所述I/O接口用于与外围组件互连(PCI)通信标准兼容的通信。
14.如权利要求8所述的系统,其中,所述I/O接口用于第一处理器和第二处理器之间的通信。
15.一种用于门控功率输送的方法,包括:
监视多条链路中的第一链路,其中输入/输出I/O接口包括包含用于支持仅经由所述第一链路的通信的第一资源集合的资源;
基于所述监视,检测所述第一链路的活跃通道总数的改变;以及
响应于检测到所述第一链路的所述活跃通道总数的所述改变,将所述第一资源集合中的资源从对应的电源解耦合,
其中,所述将所述第一资源集合中的所述资源从对应的电源解耦合独立于所述第一资源集合中的另一个资源从对应的电源的任何解耦合。
16.如权利要求15所述的方法,其中,所述多条链路进一步包括第二链路,其中所述资源进一步包括用于支持仅经由所述第二链路的通信的第二资源集合,其中,所述将所述第一资源集合中的所述资源从对应的电源解耦合独立于所述第二资源集合中的资源从对应的电源的任何解耦合。
17.如权利要求15所述的方法,其中,所述将所述第一资源集合中的所述资源从对应的电源解耦合响应于检测到所述第一链路的通道都不活跃。
18.如权利要求15所述的方法,其中,所述第一资源集合中的其他资源维护所述链路的状态信息。
19.如权利要求15所述的方法,其中,所述I/O接口用于与外围组件互连(PCI)通信标准兼容的通信。
20.如权利要求15所述的方法,其中,所述I/O接口用于第一处理器和第二处理器之间的通信。
21.一种计算系统,包括:
存储器,用于存储指令;以及
处理单元,与所述存储器耦合,用于响应于所述指令:
监视多条链路中的第一链路,其中输入/输出I/O接口包括包含用于支持仅经由所述第一链路的通信的第一资源集合的资源;
基于所述监视,检测所述第一链路的活跃通道总数的改变;以及
响应于检测到所述第一链路的所述活跃通道总数的所述改变,将所述第一资源集合中的资源从对应的电源解耦合,
其中,所述将所述第一资源集合中的所述资源从对应的电源解耦合独立于所述第一资源集合中的另一个资源从对应的电源的任何解耦合。
22.如权利要求21所述的计算系统,其中,所述多条链路进一步包括第二链路,其中所述资源进一步包括用于支持仅经由所述第二链路的通信的第二资源集合,其中,所述将所述第一资源集合中的所述资源从对应的电源解耦合独立于所述第二资源集合中的资源从对应的电源的任何解耦合。
23.如权利要求21所述的计算系统,其中,所述将所述第一资源集合中的所述资源从对应的电源解耦合响应于检测到所述第一链路的通道都不活跃。
24.如权利要求21所述的计算系统,其中,所述第一资源集合中的其他资源维护所述链路的状态信息。
25.如权利要求21所述的计算系统,其中,所述I/O接口用于与外围组件互连(PCI)通信标准兼容的通信。
26.如权利要求21所述的计算系统,其中,所述I/O接口用于第一处理器和第二处理器之间的通信。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/646,468 | 2012-10-05 | ||
US13/646,468 US9141162B2 (en) | 2012-10-05 | 2012-10-05 | Apparatus, system and method for gated power delivery to an I/O interface |
PCT/US2013/046402 WO2014055141A1 (en) | 2012-10-05 | 2013-06-18 | Apparatus, system and method for gated power delivery to an i/o interface |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104620191A CN104620191A (zh) | 2015-05-13 |
CN104620191B true CN104620191B (zh) | 2017-10-03 |
Family
ID=50433724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380046339.9A Active CN104620191B (zh) | 2012-10-05 | 2013-06-18 | 用于到i/o接口的门控功率输送的装置、系统及方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9141162B2 (zh) |
KR (1) | KR101642709B1 (zh) |
CN (1) | CN104620191B (zh) |
DE (1) | DE112013004026T5 (zh) |
WO (1) | WO2014055141A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9152214B2 (en) * | 2013-05-16 | 2015-10-06 | Qualcomm Innovation Center, Inc. | Dynamic load and priority based clock scaling for non-volatile storage devices |
US10185621B2 (en) * | 2013-05-20 | 2019-01-22 | ATI Technologies ULD | Method and apparatus for providing a display stream embedded with non-display data |
US10078361B2 (en) | 2014-10-08 | 2018-09-18 | Apple Inc. | Methods and apparatus for running and booting an inter-processor communication link between independently operable processors |
US10042794B2 (en) | 2015-06-12 | 2018-08-07 | Apple Inc. | Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link |
US10085214B2 (en) | 2016-01-27 | 2018-09-25 | Apple Inc. | Apparatus and methods for wake-limiting with an inter-device communication link |
US10572390B2 (en) | 2016-02-29 | 2020-02-25 | Apple Inc. | Methods and apparatus for loading firmware on demand |
US10198364B2 (en) | 2016-03-31 | 2019-02-05 | Apple Inc. | Memory access protection apparatus and methods for memory mapped access between independently operable processors |
US20180070312A1 (en) * | 2016-09-08 | 2018-03-08 | Mediatek Inc. | Wireless communication method and system |
US10591976B2 (en) | 2016-11-10 | 2020-03-17 | Apple Inc. | Methods and apparatus for providing peripheral sub-system stability |
US10775871B2 (en) | 2016-11-10 | 2020-09-15 | Apple Inc. | Methods and apparatus for providing individualized power control for peripheral sub-systems |
US10261923B2 (en) * | 2017-07-26 | 2019-04-16 | Intel Corporation | Configurable interconnect apparatus and method |
US10346226B2 (en) | 2017-08-07 | 2019-07-09 | Time Warner Cable Enterprises Llc | Methods and apparatus for transmitting time sensitive data over a tunneled bus interface |
JP2019047146A (ja) * | 2017-08-29 | 2019-03-22 | 東芝メモリ株式会社 | 電子機器および電力管理方法 |
US11381514B2 (en) | 2018-05-07 | 2022-07-05 | Apple Inc. | Methods and apparatus for early delivery of data link layer packets |
US10585699B2 (en) | 2018-07-30 | 2020-03-10 | Apple Inc. | Methods and apparatus for verifying completion of groups of data transactions between processors |
US10719376B2 (en) | 2018-08-24 | 2020-07-21 | Apple Inc. | Methods and apparatus for multiplexing data flows via a single data structure |
US10838450B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Methods and apparatus for synchronization of time between independently operable processors |
US10789110B2 (en) | 2018-09-28 | 2020-09-29 | Apple Inc. | Methods and apparatus for correcting out-of-order data transactions between processors |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7188263B1 (en) * | 2003-05-07 | 2007-03-06 | Nvidia Corporation | Method and apparatus for controlling power state of a multi-lane serial bus link having a plurality of state transition detectors wherein powering down all the state transition detectors except one |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7080341B2 (en) | 2003-09-09 | 2006-07-18 | Robert Eisenstadt | Apparatus and method for integrated circuit power management |
US7276932B2 (en) | 2004-08-26 | 2007-10-02 | International Business Machines Corporation | Power-gating cell for virtual power rail control |
US7219244B2 (en) | 2005-08-25 | 2007-05-15 | International Business Machines Corporation | Control circuitry for power gating virtual power supply rails at differing voltage potentials |
US10069711B2 (en) * | 2006-06-30 | 2018-09-04 | Intel Corporation | System and method for link based computing system having automatically adjustable bandwidth and corresponding power consumption |
US7805621B2 (en) * | 2006-09-29 | 2010-09-28 | Broadcom Corporation | Method and apparatus for providing a bus interface with power management features |
US7739461B2 (en) | 2007-07-10 | 2010-06-15 | International Business Machines Corporation | DRAM power management in a memory controller |
US8185761B2 (en) | 2008-01-21 | 2012-05-22 | Broadcom Corporation | “Subset PHY” approach for reducing power consumption during periods of low link utilization |
-
2012
- 2012-10-05 US US13/646,468 patent/US9141162B2/en not_active Expired - Fee Related
-
2013
- 2013-06-18 WO PCT/US2013/046402 patent/WO2014055141A1/en active Application Filing
- 2013-06-18 DE DE201311004026 patent/DE112013004026T5/de active Pending
- 2013-06-18 KR KR1020157005860A patent/KR101642709B1/ko active IP Right Grant
- 2013-06-18 CN CN201380046339.9A patent/CN104620191B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7188263B1 (en) * | 2003-05-07 | 2007-03-06 | Nvidia Corporation | Method and apparatus for controlling power state of a multi-lane serial bus link having a plurality of state transition detectors wherein powering down all the state transition detectors except one |
Also Published As
Publication number | Publication date |
---|---|
DE112013004026T5 (de) | 2015-04-30 |
CN104620191A (zh) | 2015-05-13 |
WO2014055141A1 (en) | 2014-04-10 |
KR101642709B1 (ko) | 2016-07-27 |
US20140101468A1 (en) | 2014-04-10 |
US9141162B2 (en) | 2015-09-22 |
KR20150041072A (ko) | 2015-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104620191B (zh) | 用于到i/o接口的门控功率输送的装置、系统及方法 | |
US10387348B2 (en) | PCI express tunneling over a multi-protocol I/O interconnect | |
CN103765345B (zh) | 用于降低平台中空闲链路功率的方法和装置 | |
US9753529B2 (en) | Systems, apparatuses, and methods for synchronizing port entry into a low power status | |
CN104050122B (zh) | 自适应反向信道均衡 | |
KR101565357B1 (ko) | 타임아웃을 처리하기 위한 시스템, 방법 및 장치 | |
CN106209695B (zh) | 给加载/存储通信协议提供低功率物理单元 | |
CN104956347B (zh) | 将一种互连协议的枚举和/或配置机制用于不同的互连协议 | |
CN104620564B (zh) | 用于经由利用数据隧道的接口的多协议数据元素的传输的装置和方法 | |
US20090106476A1 (en) | Association of multiple pci express links with a single pci express port | |
CN111865338A (zh) | 用于带内链路管理的重定时器机制 | |
US8185072B2 (en) | Method and apparatus for power reduction for interconnect links | |
CN112597089A (zh) | 使用消息总线接口的phy重新校准 | |
US20190131974A1 (en) | Width and frequency conversion with phy layer devices in pci-express | |
CN105027444B (zh) | 集成时钟差分缓冲 | |
KR101487181B1 (ko) | 시스템 온 칩 내에 독립 로직 블록의 통합 | |
CN105703883A (zh) | 在统一协议通信中交换错误信息的装置、方法和系统 | |
CN106970886A (zh) | 使用第二协议的扩展功能结构来控制第一协议的物理链路 | |
US9734116B2 (en) | Method, apparatus and system for configuring a protocol stack of an integrated circuit chip | |
CN113986624A (zh) | 通过错误注入和测量进行互连的系统内验证 | |
US9910814B2 (en) | Method, apparatus and system for single-ended communication of transaction layer packets | |
EP4134685A1 (en) | Built-in self-test for network on chip fabric | |
TW200532428A (en) | Optimizing exit latency from an active power management state | |
CN104380274B (zh) | 用于优化的链路训练及管理的装置和方法 | |
US10873525B2 (en) | Dynamic asymmetric communication path allocation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |