用于到i/o接口的门控功率输送的装置、系统及方法

文档序号:8303406阅读:400来源:国知局
用于到i/o接口的门控功率输送的装置、系统及方法
【专利说明】用于到I/O接口的门控功率输送的装置、系统及方法
[0001]背景
[0002]1.
技术领域
[0003]本发明的一个或多个实施例总体上涉及计算机系统领域。更具体地,某些实施例涉及计算机系统中的功率输送。
[0004]2.
【背景技术】
[0005]能量高效性能是对许多计算应用的日益重要的要求。在服务器和其他计算机系统中,输入/输出(I/o)接口硬件的操作是总体功耗的重要贡献者。各种计算机平台的性能分析已经显示出I/o链路的带宽可总体上非常低,即便当这种计算机平台在接近峰值系统功率负载下操作时。甚至当不通过平台的I/O链路处理任何事务时,相关联的I/O接口资源消耗接近其峰值功率。这种低带宽利用周期期间的功率浪费导致较差的能量效率。
[0006]已经传统上通过扩展链路速度和/或链路宽度降低这种I/O硬件的功耗。某些链路功率降低方案使用动态链路宽度调制(DLW),其动态地基于带宽要求调整链路宽度并且对原本用于操作链路的当前不活跃硬件的时钟进行门控。当前I/O链路功率管理(LPM)策略(诸如L0s、L0p、LI)依赖于时钟门控。然而,随着后续几代计算机系统继续在尺寸和速度方面扩展,这种计算机系统的性能日益对能量效率中的增量改进敏感。
[0007]附图简要描述
[0008]通过举例而非通过限制在附图的图式中展示了本发明的各种实施例,并且在附图中:
[0009]图1是示出根据实施例的用于提供I/O接口的功率门控的系统的元素的框图。
[0010]图2是示出根据实施例提供功率门控所针对的I/O接口的协议栈的元素的框图。
[0011]图3是根据实施例的用于提供功率门控的系统的元素的框图。
[0012]图4是根据实施例的用于对I/O接口的功率进行门控的方法的元素的流程图。
[0013]图5是根据实施例的用于提供功率门控的系统的元素的框图。
[0014]图6是示出根据实施例的用于对I/O接口的功率进行门控的计算系统的元素的框图。
[0015]图7是根据实施例的用于对I/O接口的功率进行门控的移动设备的元素的框图。
[0016]图8是示出根据实施例的用于对I/O接口的功率进行门控的计算系统的元素的框图。
[0017]详细描述
[0018]在此讨论的实施例以各种方式提供功率门控机制和技术以便将I/O接口的硬件资源选择性地从电源解耦合和/或选择性地耦合到电源。当前时钟门控技术仅节省动态功率而不节省泄漏功率,泄漏功率对于I/o接口硬件的总功耗而言是主要原因。例如,当前串行I/O链路功率管理(LPM)策略对时钟门控的依赖并未解决由于泄漏功率造成的功率低效问题。对比之下,某些实施例以各种方式提供对不活跃I/O接口硬件的供电进行门控以便节省泄漏和动态功率的能力。例如,这种功率门控可选择不同的硬件,例如在每链路的基础上,以便显著地通过I/O带宽利用率改善功率规模。
[0019]图1示出根据实施例的用于提供功率门控的说明性计算机系统100的元素。计算机系统100可例如包括个人计算机(诸如桌上计算机、膝上计算机、手持式计算机(例如,平板计算机、掌上计算机、智能电话、媒体播放器等等)和/或其他这种计算机系统)的硬件平台。可替代地或另外,计算机系统100可提供作为服务器、工作站或其他这种计算机系统来操作。在实施例中,计算机系统100包括用于在每链路粒度水平控制功率传送的一种或多种机制。
[0020]在实施例中,计算机系统100包括通过互连120与彼此通信的设备110和设备130。设备110和设备130可各自以各种方式包括能够进行输入/输出(I/O)通信的各种设备中的任何一种,例如,当这种通信根据点到点串行I/O协议时。能够进行I/O通信的某些类型的设备的示例包括处理器、网络控制器、存储控制器以及各种外围设备,包括但不限于计算机鼠标、键盘、硬盘驱动器、固态驱动器、CD-ROM驱动器、DVD-ROM驱动器、扩展卡、图形卡、麦克风、打印机、显示器、扬声器等等。如在此所使用的,“输入/输出”是指往/来于包括讨论中的I/O接口的设备的通信。然而,这种通信可在例如单个计算机平台的两个组件之间。
[0021]通过说明而非限制,互连120可包括与串行I/O规范兼容的物理互连。例如,互连120可与外围组件互连(PCI)规范(诸如PCI本地总线规范,版本3.0,2004,可从PCI特殊兴趣小组获得,波特兰,OR.,美国(以下称为“PCI总线”)、PCI快速(PCIe)规范,版本2.0,2006,可从前述PCI特殊兴趣小组获得,波特兰,0R.,美国等等)兼容。在这种实施例中,设备110和设备130可以分别是处理器和外围设备。在替代实施例中,设备110和设备130可各自是处理器,例如,其中互连120包括用于支持快速路径互连(QPI)通信或其他这种跨处理器通信的硬件。在另一个实施例中,互连120与通用串行总线(USB)标准(诸如,USB3.0标准,由USB 3.0促进者小组于2008年11月发布)兼容。
[0022]互连120可以是支持一条或多条可变宽度链路的各种其他类型互连硬件中的任何一种,包括其他串行互连和各种并行互连。术语“链路”被认为包括可一起作为功能组操作的信道、总线或其他这种一组通道。通过说明而非限制,互连120可以是耦合在存储器控制器和存储器设备(例如,动态随机存取存储器(DRAM)、Rambus DRAM (RDRAM)等等)之间的并行总线。可替代地,互连120可以是跨集成电路(I2C)总线、视频图形阵列(VGA)互连、高清晰多媒体接口互连中的一种。
[0023]在实施例中,设备110包括用于支持经由互连120进行通信的I/O接口 105。I/O接口 105可包括至少部分地实现用于与互连120交换通信的对应操作的各种资源,例如包括电路或其他硬件。计算机系统100可包括用于对向I/O接口 105的这种资源的功率输送以各种方式进行门控的功率输送逻辑140,例如包括硬件、固件和/或执行软件。对向I/O接口 105的这种资源的功率输送进行门控可包括例如独立地将资源各自耦合到一个或多个对应的电源(未示出)和/或独立地将这种资源各自从一个或多个对应的电源解耦合。可按照每链路粒度执行这种功率耦合/解耦合,包括针对可各自特定于不同的对应串行通信链路的资源进行独立功率耦合/解耦合。在替代实施例中,功率输送逻辑140的一些部分或全部可被结合到设备110内。附加地或可替代地,功率输送逻辑140可为设备130提供功率门控,尽管某些实施例在此方面不受限制。
[0024]在此参照到串行I/O接口的资源的功率输送的选择性门控,讨论各实施例的某些特征。然而,这种讨论可延伸到附加地或可替代地应用到对向各种类型的并行I/o接口中的任何一种的资源的功率输送进行门控。
[0025]图2示出根据实施例提供功率门控所针对的串行I/O接口的协议栈200的元素。串行I/O接口可在包括例如计算机系统100的某些或全部特征的系统中操作。在实施例中,在提供I/O接口 105的某些或全部功能的接口中实现协议栈200。
[0026]协议栈200可至少部分地经由串行互连实现通信,例如,其中这种通信与PCIe或其他串行点到点通信标准兼容。协议栈200可包括各种各样的分层通信堆栈中的任何一种,诸如公共标准接口(CSI)堆栈、PCIe堆栈或其他这种协议栈。通过说明而非限制,协议栈200可以是包括事务层210、链路层220和物理层230的PCIe协议栈。在此参照PCIe协议栈的具体实施例讨论串行I/O接口的某些特征。然而,这种讨论可延伸到附加地或可替代地应用到串行I/O接口的各种各样的分层协议栈中的任何一种。
[0027]在一个实施例中,事务层210用于提供设备的处理逻辑和互连架构之间的接口,诸如数据链路层220和物理层230的接口。在此方面,事务层210的责任可包括例如组装/或拆分分组(即,事务层分组或TLP)。事务层210可附加地或可替代地实现其他功能,包括但不限于分离事务、基于信用的流控制等等。
[0028]链路层220 (也称为数据链路层220)可充当事务层210和物理层230之间的中间级。在一个实施例中,链路层220提供用于在链路的组件之间交换事务层分组(TLP)的一种或多种机制。例如,链路层210可接受事务层210所组装的TLP、应用分组序列标识符、计算并应用检错码、和/或向物理层230提交经修改的TLP用于传输到另一个设备。物理层230可包括用于向外部设备物理地传输分组的逻辑。例如,物理层230可包括用于准备用于传输的传出信息的传输逻辑部分以及用于在将其传递到链路层220之前标识并准备所接收的信息的接收逻辑。
[0029]在实施例中,协议栈200的各层各自包括用于以各种方式实现该层的功能的对应硬件资源。通过说明而非限制,事务层210可包括用于组装分组用于从包括串行I/O接口的设备传输的传输资源集合212以及用于拆分已经由该设备接收的分组的接收资源集合214。类似地,链路层220和物理层230可分别包括各自用于以各种方式准备由传输资源集合212组装的传输分组的传输资源集合222和传输资源集合232。可替代地或附加地,链路层220和物理层230可分别包括各自用于以各种方式准备由接收资源集合214拆分的所接收分组的接收资源集合224和接收资源集合234。
[0030]协议栈200可支持多条链路,例如串行点到点链路,其在给定的时间分别包括一个或多个对应的通道。每条通道可包括可被实现为例如差分信号线、单端信号线或光纤信道的串行信道。链路可例如是单向点到点链路,其中,链路的每条通道用于从设备传输数据,或者链路的每条通道用于接收发送到该设备的数据。可替代地,链路可以是双向的,例如,其中,链路的一个或多个通道以各种方式从设备传输数据,并且链路的一个或多个其他通道以各种方式接收发送到该设备的数据。协议栈200所支持的该多条链路可包括在不同的时间可具有当前活跃的用于实现对应的通信的不同总数的通道的至少一条链路。为了简明,这种链路在此被称为“可变宽度”链路,其中,“宽度”被理解为指代链路的当前活跃通道的总数。
[0031]在协议栈200所支持的该多条链路中,协议栈200的某些资源可操作用于仅支持一条这种链路。例如,资源集合212、214、222、224、232、234中的一个或多个集合可帮助经由该多条链路中的第一链路的通信,其中,这种一个或多个资源集合不帮助该多条链路中的任何其他链路的通信。在这种实施例中,至少在该多条链路的上下文中,这种一个或多个资源集合可被认为特定于或专用于该第一链路。这种资源可以是链路特定的,至少部分地由于串行I/O接口的硬接线电路,尽管某些实施例在此方面不受限制。
[0032]图3示出根据实施例的用于提供功率门控的系统300的元素。系统300可包括例如系统100的某些或全部特征。在实施例中,系统100包括处理器、包括串行I/O接口的外围设备或其他设备(诸如设备100),其中,该设备耦合到或结合提供功率输送逻辑140
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1