用于控制链路接口的未使用硬件的功率消耗的方法、装置和系统的制作方法

文档序号:9217137阅读:323来源:国知局
用于控制链路接口的未使用硬件的功率消耗的方法、装置和系统的制作方法
【技术领域】
[0001] 本公开涉及计算系统,并且尤其(但是不排他地)涉及在这样的系统中的链路接 口的功率管理。
【附图说明】
[0002] 图1是包括多核处理器的计算系统的方框图的实施例。
[0003] 图2是由互连组件的集合的点对点链路构成的结构的实施例。
[0004] 图3是分层协议栈的实施例。
[0005] 图4是PCIe事务描述符的实施例。
[0006] 图5是PCIe串行点对点结构的实施例。
[0007] 图6是根据实施例的SoC设计的方框图。
[0008] 图7是根据本发明实施例的系统的方框图。
[0009] 图8是根据本发明实施例的配置方法的流程图。
[0010] 图9A是根据实施例的配置存储装置的方框图。
[0011] 图9B是根据实施例的电压控制电路的一部分的方框图。
[0012] 图10是根据实施例的系统的一部分的方框图。
【具体实施方式】
[0013] 在下面的描述中阐释了各种具体细节,例如处理器和系统配置的具体类型、具体 硬件结构、具体架构和微架构细节、具体寄存器配置、具体指令类型、具体系统组件、具体测 量/高度、具体处理器管线级和操作等等的示例,以便提供对本发明的全面理解。然而,对 于本领域技术人员显而易见的是,不需要采用这些具体细节来实践本发明。在其它实例中, 为了避免不必要地混淆本发明,没有详细描述公知的组件和方法,例如具体和可选处理器 架构、用于所描述的算法的具体逻辑电路/代码、具体固件代码、具体互连操作、具体逻辑 配置、具体制造技术和材料、具体编译器实现、算法在代码中的具体表示、具体掉电和选通 技术/逻辑以及计算机系统的其它具体操作细节。
[0014] 尽管参照在具体集成电路中的能量节约和能量效率描述了下面的实施例,例如在 计算平台或者微处理器中,但是其它实施例可应用于其它类型的集成电路和逻辑设备。本 文描述的实施例的类似技术和教导可以应用于也可以得益于更好的能量效率和能量节约 的其它类型的电路或者半导体设备。例如,所公开的实施例不局限于桌面计算机系统或者 Ultrabooks?。并且也可以用在其它设备中,例如手持设备、平板电脑、其它薄型笔记本、片 上系统(SoC)设备以及嵌入式应用。手持设备的一些示例包括蜂窝电话、互联网协议设备、 数码相机、个人数字助理(PDA)和手持PC。嵌入式应用典型地包括微控制器、数字信号处理 器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机或者能 够执行下面教导的功能和操作的任意其它系统。而且,本文描述的装置、方法和系统不局限 于物理计算设备,而是也可以涉及对于能够节约和效率的软件优化。在下面的描述中将变 得显而易见的是,本文描述的方法、装置和系统的实施例(无论是参照硬件、固件、软件或 者其组合)对于以性能考虑均衡的"绿色技术"未来是至关重要的。
[0015] 随着计算系统的发展,其中的组件变得更加复杂。结果,用于在组件之间进行耦合 和通信的互连架构也在复杂性方面增加,以便确保满足针对最佳组件操作的带宽需求。而 且,不同的市场分割要求互连架构的不同方面以便适合市场的需要。例如,服务器要求较高 的性能,而移动生态系统有时能够牺牲整体性能用于功率节省。然而,大多数结构的单一目 的在于提供具有最大功率节省的最高可能性能。下面讨论了多个互连,这些互连将潜在地 得益于本文描述的本发明的方面。
[0016] 参照图1,阐释了包括多核处理器的计算系统的方框图的实施例。处理器100包括 用于执行代码的任意处理器或者处理设备,例如微处理器、嵌入式处理器、数字信号处理器 (DSP)、网络处理器、手持处理器、应用处理器、协处理器、片上系统(SOC)或者其它设备。在 一个实施例中,处理器100包括至少两个核心,核心101和102,这两个核心可以包括非对称 核心或者对称核心(所说明的实施例)。然而,处理器100可以包括可以是对称或者非对称 的任意数量的处理元件。
[0017] 在一个实施例中,处理元件指代用于支持软件线程的硬件或者逻辑。硬件处理元 件的示例包括:线程单元、线程插槽、线程、处理单元、上下文、上下文单元、逻辑处理器、硬 件线程、核心和/或能够保持处理器的状态的任何其它元件,该状态例如是执行状态或者 架构状态。换句话说,在一个实施例中,处理元件指代能够与代码独立相关联的任意硬件, 该代码例如是软件线程、操作系统、应用或者其它代码。物理处理器(或者处理器插口)典 型地指代集成电路,该集成电路潜在地包括任意数量的其它处理元件,例如核心或者硬件 线程。
[0018] 核心经常指代能够维持独立架构状态的位于集成电路上的逻辑,其中,每一个独 立维持的架构状态与至少一些专用执行资源相关联,与核心相比较,硬件线程典型地指代 能够维持独立架构状态的位于集成电路上的任意逻辑,其中该独立维持的架构状态共享到 执行资源的接入。可以看出,当某些资源被共享并且其它资源专用于架构状态时,硬件线程 和核心的名称之间的界线重叠。然而经常,核心和硬件线程由操作系统看作是单独的逻辑 处理器,其中操作系统能够在每一个逻辑处理器上单独地调度操作。
[0019] 如在图1中说明的,物理处理器100包括两个核心,核心101和102。这里,核心 101和102被认为是对称核心,即具有相同的配置、功能单元和/或逻辑的核心。在另一实 施例中,核心101包括无序处理器核心,而核心102包括有序处理器核心。然而,核心101和 102可以从任意类型的核心中进行单独选择,该任意类型的核心例如是本地核心、软件管理 核心、适于执行本地指令集架构(ISA)的核心、适于执行转换的指令集架构(ISA)的核心、 共同设计的核心或者其它已知核心。在异构核心环境(即,非对称核心)中,可以利用诸如 二进制转换的一些形式的转换来调度或者执行位于一个或者两个核心上的代码。然而为了 进一步讨论,下面进一步详细描述在核心101中说明的功能单元,因为在所阐释的实施例 中,核心102中的单元按照类似的方式进行操作。
[0020] 如所阐释的,核心101包括也可以被称为硬件线程插槽101a和101b的两个硬件 线程101a和101b。因此,在一个实施例中,诸如操作系统的软件实体潜在地将处理器100看 作是四个分离的处理器,即,能够同时执行四个软件线程的四个逻辑处理器或者处理元件。 如上面提及的,第一线程与架构状态寄存器101a相关联,第二线程与架构状态寄存器101b 相关联,第三线程可以与建构状态寄存器l〇2a相关联,并且第四线程可以与架构状态寄存 器102b相关联。这里,可以将架构状态寄存器(101a,101b,102a,102b)中的每一个称为如 上所述的处理元件、线程插槽或者线程单元。如所说明的,架构状态寄存器l〇la被复制到 架构状态寄存器l〇lb,因此能够存储单独的架构状态/上下文用于逻辑处理器101a和逻辑 处理器101b。在核心101中,诸如位于分配器和重命名器块130中的指令指针和重命名逻 辑的其它较小资源也可以被复制用于线程l〇la和101b。诸如重排序/引退单元135中的 重排序缓冲器、ILTB120,装载/存储缓冲器和队列的一些资源可以经过分区而被共享。诸 如通用内部寄存器、页表基本寄存器、低级数据高速缓存和数据TLB115、执行单元140以 及无序单元135的部分被潜在地充分共享。
[0021] 处理器100经常包括可以被充分共享、经过分区共享、或者由处理元件专用/对于 处理元件专用的其它资源。在图1中,说明了具有处理器的说明性逻辑单元/资源的纯示 例性处理器的实施例。注意到,处理器可以包括或者省去这些功能单元中的任意一个,并且 可以包括没有阐释的任意其它已知的功能单元、逻辑或者固件。如所说明的,核心101包括 简化的代表性无序(〇〇〇)处理器核心。但是在不同的实施例中可以利用有序处理器。000 核心包括用于预测要被执行/采取的分支的分支目标缓冲器120以及用于存储针对指令的 地址转换条目的指令转换缓冲器(I-TLB) 120。
[0022] 核心101进一步包括耦合到获取单元120以便对所获取的元素进行解码的解码模 块125。在一个实施例中,获取逻辑包括分别与线程插槽101a、101b相关联的单独序列器。 通常,核心101与第一ISA相关联,其定义/指定能够在处理器100上执行的指令。经常,作 为第一ISA-部分的机器代码指令包括一部分指令(被称为操作码),其引用/指定要被执 行的指令或者操作。解码逻辑125包括根据这些指令的操作码识别这些指令并且在管线中 传送所解码的指令用于由第一ISA定义的处理的电路。例如,如下面更加详细讨论的,在一 个实施例中,解码器125包括被设计为或者适于识别诸如事务指令的具体指令的逻辑。作 为解码器125的识别的结果,架构或者核心101采取具体的、预定义的动作以执行与合适的 指令相关联的任务。重要的是要注意到,本文描述的任意的任务、块、操作和方法可以响应 于单个指令或者多个指令而被执行;其中的一些可以是新指令或者旧指令。注意到,在一个 实施例中,解码器126识别相同的ISA(或者其子集)。可选地,在异构核心环境中,解码器 126识别第二ISA(或者第一ISA的子集或者不同的ISA)。
[0023] 在一个示例中,分配器和重命名器块130包括用于保留资源的分配器,例如用于 存储指令处理结果的寄存器文件。然而,线程l〇la和101b潜在地能够无序执行,其中分配 器和重命名器块130也保留其它资源,例如用于跟踪指令结果的重排序缓冲器。单元130 也可以包括寄存器重命名器以便将程序/指令引用寄存器重命名到位于处理器100内部的 其它寄存器。重排序/引退单元135包括诸如上面提及的重排序缓冲器的组件、装载缓冲 器和存储缓冲器,以便支持无序执行以及被无序执行的指令的稍后的有序引退。
[0024] 在一个实施例中,调度器和执行单元块140包括调度器单元以便在执行单元上调 度指令/操作。例如,浮点指令在具有可用浮点执行单元的执行单元的端口上被调度。也 包括与执行单元相关联的寄存器文件以便存储信息指令处理结果。示例性执行单元包括浮 点执行单元、整数执行单元、跳转执行单元、装载执行单元、存储执行单元以及其它已知的 执行单元。
[0025] 较低级数据高速缓存和数据转换缓冲器(D-TLB) 150耦合到执行单元140。数据高 速缓存用于将最近使用/操作的存储在元素上,例如被潜在地保持在存储器一致性状态中 的数据操作数。D-TLB用于将最近的虚拟/线性的存储到物理地址转换。作为具体示例,处 理器可以包括页表结构以将物理存储器分成多个虚拟页。
[0026] 这里,核心101和102共享到较高级或者进一步外部的高速缓存的存取,例如与片 上接口 110相关联的第二级高速缓存。注意到,较高级或者进一步外部指代增加的或者变 得更加远离执行单元的高速缓存级。在一个实施例中,较高级高速缓存是最后级数据高速 缓存,处理器100上的存储器分级中的最后高速缓存,例如第二或者第三级数据高速缓存。 然而,较高级高速缓存并不局限于此,因为其可以与指令高速缓存相关联或者包括指令高 速缓存。轨迹高速缓存,指令高速缓存的类型,可以替代地耦合在解码器125之后以便存储 最近解码的轨迹。这里,指令潜在地指代宏指令(即,由解码器识别的通用指令),其可以解 码为多个微指令(微操作)。
[0027] 在所阐释的配置中,处理器100也包括片上接口模块110。在历史上,下面更详细 描述的存储器控制器已经被包括在位于处理器100外部的计算系统中。在这一情景中,片 上接口 11用于与位于处理器100外部的设备进行通信,该设备例如是系统存储
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1