掌桥专利:专业的专利平台
掌桥专利
首页

针对PCIE进行SRIS模式选择的系统、方法和装置

文献发布时间:2023-06-19 10:16:30


针对PCIE进行SRIS模式选择的系统、方法和装置

本申请是2018年9月5日提交的申请号为201811030425.1的同名专利申请的分案申请。

背景技术

互连可以用于在系统内的不同设备之间提供通信,使用某种类型的互连机制。一种用于计算机系统中的设备之间的通信互连的典型通信协议是快速外围组件互连(PCIExpress

设备可以跨各种数量的数据链路来连接,每个数据链路包括多个数据通道。上游设备和下游设备在初始化时经历链路训练,以优化跨各种链路和通道的数据传输。

附图说明

图1示出了包括多核心处理器的计算系统的框图的实施例。

图2是根据本公开的实施例的示例快速外围组件互连(PCIe)链路架构的示意图。

图3是根据本公开的实施例的包括支持SRIS模式选择机制比特的链路能力寄存器的示意图示。

图4是根据本公开的实施例的包括支持SRIS模式选择机制比特的链路控制寄存器的示意图示。

图5是根据本公开的实施例的符合PCIe的端口基于SRIS模式选择机制起作用的过程流程图。

图6示出了包括互连架构的计算系统的实施例。

图7示出了包括分层栈的互连架构的实施例。

图8示出了要在互连架构内生成或接收的请求或分组的实施例。

图9示出了互连架构的发射机和接收机对的实施例。

图10示出了包括处理器的计算系统的框图的另一实施例。

图11示出了包括多个处理器插座的计算系统的块的实施例。

图12示出了计算系统的框图的另一实施例。

具体实施方式

在以下描述中阐述了许多具体细节,例如,特定类型的处理器和系统配置、特定硬件结构、特定架构和微架构细节、特定寄存器配置、特定指令类型、特定系统组件、特定测量/高度、特定处理器管线阶段和操作等的示例,以便提供对本发明的透彻理解。然而,对于本领域技术人员显而易见的是,不一定需要采用这些具体细节来实践本发明。在其他实例中,没有详细描述以下公知的组件或方法以免不必要地模糊本发明:例如,特定和替代的处理器架构、用于所描述的算法的特定逻辑电路/代码、特定固件代码、特定互连操作、特定逻辑配置、特定制造技术和材料、特定编译器实现方式、代码形式的特定算法表达、特定掉电和门控技术/逻辑以及计算机系统的其他特定操作细节。

虽然可以参考特定集成电路中的能量节约和能量效率来描述以下实施例(例如,在计算平台或微处理器中),但是其他实施例也适用于其他类型的集成电路和逻辑器件。本文描述的实施例的类似技术和教导可以适用于可以同样受益于更好的能量效率和能量节约的其他类型的电路或半导体器件。例如,所公开的实施例不限于台式计算机系统或Ultrabooks

随着计算系统的发展,其中的组件变得更加复杂。因此,在组件之间用于耦合和通信的互连架构的复杂性也在增加,以确保满足最佳组件操作的带宽要求。此外,不同的细分市场需要互连架构的不同方面来满足市场需求。例如,服务器要求更高的性能,而移动生态系统有时能够牺牲整体性能以节省功率。然而,大部分结构的单一目的是提供最高可能的性能和最大功率节省。下面讨论了许多互连,这些互连将潜在地受益于本文描述的本发明的方面。

参考图1,描绘了包括多核心处理器的计算系统的框图的实施例。处理器100包括任何处理器或处理设备,例如,微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持处理器、应用处理器、协处理器、片上系统(SOC)或用于执行代码的其他设备。在一个实施例中,处理器100包括至少两个核心——核心101和102,其可以包括不对称核心或对称核心(所示实施例)。然而,处理器100可以包括可以是对称或不对称的任何数量的处理元件。

在一个实施例中,处理元件指支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、处理单元、上下文、上下文单元、逻辑处理器、硬件线程、核心和/或任何其他元件,其能够保持处理器的状态,例如,执行状态或架构状态。换言之,在一个实施例中,处理元件指能够独立地与代码(例如,软件线程、操作系统、应用或其他代码)相关联的任何硬件。物理处理器(或处理器插座)典型地指集成电路,其潜在地包括任何数量的其他处理元件,例如,核心或硬件线程。

核心经常指位于能够维护独立架构状态的集成电路上的逻辑,其中每个独立维护的架构状态与至少一些专用执行资源相关联。与核心对比,硬件线程典型地指位于能够维护独立架构状态的集成电路上的任何逻辑,其中独立维护的架构状态共享对执行资源的访问。如可以看出的,当共享特定资源而其他资源专用于架构状态时,硬件线程与核心的命名之间的界限重叠。但是经常,操作系统将核心和硬件线程视为个体逻辑处理器,其中操作系统能够单独地在每个逻辑处理器上调度操作。

如图1所示,物理处理器100包括两个核心——核心101和102。这里,核心101和102被认为是对称核心,即具有相同配置、功能单元和/或逻辑的核心。在另一实施例中,核心101包括无序的处理器核心,而核心102包括按顺序的处理器核心。然而,核心101和102可以从以下任何类型的核心中单独地选择:例如,本机核心、软件管理核心、适于执行本机指令集架构(ISA)的核心、适于执行转换指令集架构(ISA)的核心、共同设计的核心或其他已知核心。在异构核心环境(即,非对称核心)中,可以利用某种形式的转换(例如,二进制转换)来在一个或两个核心上调度或执行代码。但是为了进一步讨论,核心101中示出的功能单元在下面进一步详细描述,因为核心102中的单元在所描绘的实施例中以类似的方式进行操作。

如所描绘的,核心101包括两个硬件线程101a和101b,它们也可以称为硬件线程槽101a和101b。因此,在一个实施例中,诸如操作系统的软件实体潜在地将处理器100视为四个分离的处理器,即能够并发地执行四个软件线程的四个逻辑处理器或处理元件。如上面提及的,第一线程与架构状态寄存器101a相关联,第二线程与架构状态寄存器101b相关联,第三线程可以与架构状态寄存器102a相关联,并且第四线程可以与架构状态寄存器102b相关联。这里,架构状态寄存器(101a、101b、102a和102b)中的每个可以被称为处理元件、线程槽或线程单元,如上面描述的。如所示出的,架构状态寄存器101a在架构状态寄存器101b中被复制,因此能够针对逻辑处理器101a和逻辑处理器101b存储个体架构状态/上下文。在核心101中,还可以针对线程101a和101b复制其他较小的资源,例如,分配器和重命名器块130中的指令指针和重命名逻辑。可以通过分区来共享一些资源,例如,重新排序/退出单元135中的重新排序缓冲器、ILTB 120、加载/存储缓冲器以及队列。潜在地完全共享其他资源,例如,通用内部寄存器、(多个)页表基址寄存器、低级别数据-高速缓存和数据-TLB 115、(多个)执行单元140以及无序单元135的部分。

处理器100经常包括其他资源,这些其他资源可以是完全共享的、通过分区共享的、或由处理元件专用/专用于处理元件的。在图1中,示出了具有处理器的说明性逻辑单元/资源的纯示例性处理器的实施例。注意,处理器可以包括或省略这些功能单元中的任何一个,以及包括未描绘的任何其他已知功能单元、逻辑或固件。如所示出的,核心101包括简化的代表性无序的(OOO)处理器核心。但是在不同的实施例中可以使用按顺序的处理器。OOO核心包括用于预测要执行/采用的分支的分支目标缓冲器120,以及用于存储指令的地址转换条目的指令转换缓冲器(I-TLB)120。

核心101还包括解码模块125,其耦合到取得单元120,用于解码所取得的元素。在一个实施例中,取得逻辑包括分别与线程槽101a、101b相关联的个体定序器。通常,核心101与第一ISA相关联,该第一ISA定义/指定在处理器100上可执行的指令。经常,作为第一ISA的一部分的机器代码指令包括指令的一部分(称为操作码),其引用/指定要执行的指令或操作。解码逻辑125包括从其操作码中识别这些指令并且在管线中传递解码的指令以便如由第一ISA定义地进行处理的电路。例如,如下面更详细讨论的,在一个实施例中,解码器125包括被设计为或适于识别诸如事务指令的特定指令的逻辑。由于解码器125进行的识别,架构或核心101采取特定的、预先定义的动作来执行与适当指令相关联的任务。重要的是要注意,可以响应于单个或多个指令来执行本文描述的任务、块、操作和方法中的任一个;其中一些指令可能是新的指令或旧的指令。注意,在一个实施例中,解码器126识别相同的ISA(或其子集)。可替代地,在异构核心环境中,解码器126识别第二ISA(第一ISA的子集或不同的ISA)。

在一个示例中,分配器和重命名器块130包括用于预留资源(例如,用于存储指令处理结果的寄存器文件)的分配器。然而,线程101a和101b潜在地能够无序执行,其中分配器和重命名器块130还预留其他资源,例如,用于跟踪指令结果的重新排序缓冲器。单元130还可以包括寄存器重命名器,用于将程序/指令参考寄存器重命名为处理器100内部的其他寄存器。重新排序/退出单元135包括诸如上面提及的重新排序缓冲器、加载缓冲器和存储缓冲器之列的组件,以支持无序执行和无序执行的指令的稍后按顺序退出。

在一个实施例中,(多个)调度器和执行单元块140包括调度器单元,用于调度执行单元上的指令/操作。例如,浮点指令在具有可用浮点执行单元的执行单元端口上被调度。还包括与执行单元相关联的寄存器文件,以存储信息指令处理结果。示例性执行单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元和其他已知的执行单元。

较低级别数据高速缓存和数据转换缓冲器(D-TLB)150耦合到(多个)执行单元140。数据高速缓存用于存储近期使用/操作的元素,例如数据操作数,其潜在地保留在存储器相干性状态中。D-TLB用于存储近期的虚拟/线性到物理地址转换。作为特定示例,处理器可以包括页表结构以将物理存储器分成多个虚拟页。

这里,核心101和102共享对更高级别或更远高速缓存的存取,例如,与片上接口110相关联的第二级高速缓存。注意,更高级别或更远是指高速缓存级别增加或更远离(多个)执行单元。在一个实施例中,更高级别高速缓存是最后一级数据高速缓存——处理器100上的存储器层级中的最后一级高速缓存——例如,第二级或第三级数据高速缓存。然而,更高级别高速缓存不限于此,因为其可以与指令高速缓存相关联或包括指令高速缓存。追踪高速缓存——一种类型的指令高速缓存——替代地可以在解码器125之后耦合,以存储近期解码的追踪。这里,指令潜在地指宏指令(即,由解码器识别的一般指令),其可以解码为多个微指令(微操作)。

在所描绘的配置中,处理器100还包括片上接口模块110。历史上,下面更详细描述的存储器控制器包括在处理器100外部的计算系统中。在该场景中,片上接口110用于与处理器100外部的设备通信,例如,系统存储器175、芯片组(经常包括用于连接到存储器175的存储器控制器中心以及用于连接外围设备的I/O控制器中心)、存储器控制器中心、北桥或其他集成电路。并且在这种场景中,总线105可以包括任何已知的互连,例如,多点总线、点对点互连、串行互连、并行总线、相干(例如,高速缓存相干)总线、分层协议架构、差分总线和GTL总线。

存储器175可以专用于处理器100或与系统中的其他设备共享。存储器175类型的常见示例包括DRAM、SRAM、非易失性存储器(NV存储器)和其他已知的存储设备。注意,设备180可以包括耦合到存储器控制器中心的图形加速器、处理器或卡,耦合到I/O控制器中心的数据存储装置,无线收发器,闪存设备,音频控制器,网络控制器或其他已知的设备。

然而最近,随着更多逻辑和设备被集成在单个管芯上(例如,SOC),这些设备中的每个可以合并在处理器100上。例如,在一个实施例中,存储器控制器中心与处理器100在同一封装和/或管芯上。这里,核心的一部分(核心上部分)110包括一个或多个控制器,用于与诸如存储器175或图形设备180之类的其他设备相接合。包括用于与这种设备相接合的互连和控制器的配置经常被称为核心上(或非核心配置)。作为示例,片上接口110包括用于片上通信的环形互连和用于片外通信的高速串行点对点链路105。然而,在SOC环境中,甚至更多的设备(例如,网络接口、协处理器、存储器175、图形处理器180和任何其他已知的计算机设备/接口)可以集成在单个管芯或集成电路上,以提供具有高功能和低功耗的小形状因子。

在一个实施例中,处理器100能够执行编译器、优化和/或转换器代码177,以编译、转换和/或优化应用代码176,以便支持本文描述的装置和方法或与其的接口。编译器经常包括将源文本/代码转换为目标文本/代码的程序或程序集。通常,用编译器编译程序/应用代码是在多个阶段中完成的,并且传递到将高级编程语言代码变换为低级机器或汇编语言代码。然而,单遍编译器仍可以用于简单编译。编译器可以利用任何已知的编译技术并且执行任何已知的编译器操作,例如,词法分析、预处理、解析、语义分析、代码生成、代码变换和代码优化。

较大的编译器经常包括多个阶段,但是大多数情况下经常是这些阶段包括在两个一般阶段中:(1)前端,即通常句法处理、语义处理和一些变换/优化可以发生的地方,以及(2)后端,即通常分析、变换、优化和代码生成发生的地方。一些编译器指中间,其说明了编译器的前端与后端之间描绘的模糊处。因此,对编译器的插入、关联、生成或其他操作的引用可以在上述阶段或传递以及编译器的任何其他已知的阶段或传递中的任一个中发生。作为说明性示例,编译器潜在地在编译的一个或多个阶段中插入操作、调用、函数等,例如,在编译的前端阶段插入调用/操作,并且然后在变换阶段期间将调用/操作变换为较低级别代码。注意,在动态编译期间,编译器代码或动态优化代码可以插入此类操作/调用,以及优化代码以供在运行时期间执行。作为特定说明性示例,可以在运行时期间动态地优化二进制代码(已经编译的代码)。这里,程序代码可以包括动态优化代码、二进制代码或其组合。

与编译器类似,转换器(例如,二进制转换器)将代码静态或动态地转换,以优化和/或转换代码。因此,对执行代码、应用代码、程序代码或其他软件环境的引用可以指:(1)动态地或静态地执行(多个)编译器程序、优化代码优化器或转换器,以编译程序代码、维护软件结构、执行其他操作、优化代码或转换代码;(2)执行包括操作/调用的主程序代码,例如,已经优化/编译的应用代码;(3)执行与主程序代码相关联的其他程序代码(例如,库),以维护软件结构、执行其他软件相关的操作或者优化代码;或(4)其组合。

快速PCI(PCIe)支持多个时钟架构,其中这些时钟架构之间的本质区别在于:相同的参考时钟被提供给链路上的两个组件(“公共”计时),在这种情况下,时钟是否“扩展”通常是无关紧要的;或者没有共享的参考,在这种情况下,时钟是否扩展非常重要——这种模式被称为具有独立扩频计时(SSC)的分离参考时钟(SRIS)。在最初定义SRIS时,SRIS或非SRIS模式操作的选择是实现方式特定的。然而,这已经证明与平台和硅供应商希望实现SRIS的方式不太适合。本公开提供了用于使系统软件能够改变下游端口的操作模式的技术。

来自不同供应商的硅实现不同的方法,并且因此在例如一些PCIe连接器直接连接到根复合体并且其他连接器连接到开关以及潜在地与重定时器连接的情况下,平台供应商难以构建系统。

本公开定义了用于系统软件的寄存器接口,其用于确定和控制PCIe链路的操作,并且在要求时(例如,如果插入设备被热移除并且替换为不同类型的单位)使得能够在运行时改变计时模式。

对于本领域技术人员而言,本公开的优点是显而易见的。优点之中包括用于重新配置硬件的机制。本文描述的技术可以集成到PCIe规范中。

图2是根据本公开的实施例的示例快速外围组件互连(PCIe)链路架构200的示意图。PCIe链路架构200包括第一组件202,其可以是上游组件、根复合体或符合PCIe协议的开关。第一组件202可以包括下游端口210,其促进跨链路222(例如,符合PCIe协议的链路)与上游组件进行通信。第一组件202可以耦合到第二组件208,该第二组件208可以是符合PCIe协议的下游组件、端点或开关。在一些实施例中,第一组件可以链接到一个或多个中间组件,例如,第一重定时器204和第二重定时器206。

在实施例中,第一组件202可以包括下游端口210,以促进与第二组件208(如果直接连接)或与重定时器204的上游(伪)端口212的下游通信(例如,朝向第二组件208)。第二组件208可以包括上游端口220,以促进与第一组件202(如果直接连接)或与重定时器204的下游(伪)端口212的上游通信(例如,朝向第一组件202)。

在图2所示的示例中,第一组件202可以通过第一链路段224链接到第一重定时器204。同样,第一重定时器204可以通过链路段226链接到第二重定时器206。第二重定时器206可以通过链路段228链接到第二组件208。链路段224、226和228可以构成链路222的全部或一部分。

链路222可以促进第一组件202与第二组件208之间的上游通信和下游通信。在实施例中,上游通信是指从第二组件208朝向第一组件202发送的数据和控制信息;并且下游通信是指从第一组件202朝向第二组件208发送的数据和控制信息。如上面提及的,一个或多个重定时器(例如,重定时器204和206)可以用于延长链路222在第一组件202与第二组件208之间的范围。

包含一个或多个重定时器(例如,重定时器204、206)的链路222可以以与采用类似协议但没有重定时器的链路实现的数据速率相当的数据速率形成两个或更多个分离的电子链路。例如,如果链路222包括单个重定时器,则链路222可以形成具有两个分离的子链路的链路,每个子链路以8.0GT/s或更高来操作。如图2所示,可以利用多个重定时器204、206来延长链路222。可以通过两个重定时器204、206来定义三个链路段222、224和226,其中第一子链路222将第一组件202连接到第一重定时器204,第二子链路224将第一重定时器204连接到第二重定时器206,并且第三子链路226将第二重定时器206连接到第二组件208。

如图2的示例所示,在一些实现方式中,重定时器可以包括两个端口(或伪端口),并且端口可以动态地确定其相应的下游/上游方向。在实施例中,重定时器204可以包括上游端口212和下游端口214。同样,重定时器206可以包括上游端口216和下游端口218。每个重定时器204、206可以具有上游路径和下游路径。此外,重定时器204、206可以支持包括转发模式和执行模式的操作模式。在一些实例中,重定时器204、206可以对在子链路上接收到的数据进行解码,并且对要在其另一子链路上向下游转发的数据进行重新编码。因此,重定时器可以在重新生成比特流并将其重新发送到另一设备或甚至另一重定时器(或重驱动器或中继器)之前捕获接收到的比特流。在一些情况下,重定时器可以修改其接收到的数据中的一些值,例如,在处理和转发有序集数据时。另外,重定时器可以潜在地支持任何宽度选项作为其最大宽度,例如,由诸如PCIe之类的规范定义的一组宽度选项。

随着串行互连(例如,PCIe、UPI、USB等)的数据速率增加,重定时器越来越多地用于延长信道范围。多个重定时器可以级联,以用于甚至更长的信道范围。预期随着信号速度增加,一般情况下信道范围典型地降低。因此,随着互连技术加速,重定时器的使用可能变得更加普遍。作为示例,如采用PCIe Gen-4(16GT/s)来支持PCIe Gen-3(8GT/s),重定时器在PCIe互连中的使用可能会增加,在其他互连中随着速度的增加可能是这样的情况。

在链路建立之前或当链路222不能恰当地起作用时,系统软件可访问下游端口210(例如,在第一组件202中,其可以是上游组件,例如,根复合体或开关)。在实施例中,可以设置寄存器(例如,链路能力寄存器)以在下游端口210中执行时钟模式选择。系统固件/软件可以将下游端口210配置为预期模式,并且如果需要改变,则这将由系统固件/软件而不是由硬件完成。

如上面指出的,PCIe基本上存在两类时钟架构:在第一场景中,在每个组件之间没有共享的时钟参考。在该第一场景中,时钟被扩展以用于电磁干扰(EMI)减轻——该第一模式被称为具有独立SSC的分离参考时钟(SRIS)。在第二场景中,相同的参考时钟被提供给链路222上的每个组件(有时称为公共计时),在这种情况下,时钟是否“扩展”通常是无关紧要的(非SRIS)。

PCISIG暂时确定,对于支持“Gen 5”(也称为5.0,又名32GT/s)的组件,必须支持SRIS操作模式和非SRIS操作模式两者。提议将本文描述的系统、方法和功能包括在PCIe5.0基本规范中,以用于支持SRIS计时和非SRIS计时两者。特定元素包括:

支持32G模式操作和其他的下游端口可以指示支持“SRIS模式选择机制”。

指示这种支持的下游端口可以:

支持SRIS操作模式和SRNS(“非SRIS”)操作模式两者,并且对称地这样做,使得端口的Rx和Tx两者始终处于相同模式;

实现配置机制(下面定义)以选择下游端口的操作模式;

当链路(例如,链路222)被禁用时(并且不在其他时间),支持改变下游端口的操作模式;以及

基于由下游端口(例如,下游端口210)发送的训练集(TS)或有序集(OS)向重定时器处的端口(例如,伪端口)和上游端口指示使用哪个模式。

图3是根据本公开的实施例的包括支持SRIS模式选择机制比特的链路能力寄存器300的示意图示。链路能力寄存器300识别快速PCI链路特定能力。链路能力寄存器300中的寄存器字段的分配如图3所示。表1提供了相应的比特定义。

在链路能力寄存器300中,可以包括用于各种能力机制的多个比特。链路能力寄存器300中的比特之中存在预留比特(例如,比特23),其可以用作指示支持SRIS模式选择机制的置位比特。可以将以下内容添加到23比特能力定义:

表1.链路能力寄存器比特23定义

图4是根据本公开的实施例的包括支持SRIS模式选择机制比特的链路控制寄存器400的示意图示。在链路控制寄存器400中,可以包括用于各种能力机制的多个比特。链路控制寄存器400中的比特之中存在预留比特(例如,比特12),其可以用作指示支持SRIS模式选择机制的置位比特。可以将以下内容添加到表2的12比特能力定义:

表2.链路控制寄存器比特12定义

在实施例中,SRIS模式选择比特可以是多比特字段。例如,多比特字段可以用于从PPM/SKP策略的菜单中进行选择,例如,1000个ppm,超出由当前SRIS/非SRIS模式定义的。在实施例中,SRIS模式选择比特也可以用于允许SRIS模式选择同样在上游端口中实现。

链路能力2寄存器字段可以重新定义如下:

链路控制3寄存器可以重新定义如下:

L1 PM子状态

L1功率管理(PM)子状态建立链路功率管理制度,其创建L1链路状态的较低功率子状态,以及用于使用这些子状态的相关联的机制。

支持L1 PM子状态的端口在处于除L1.0之外的L1 PM子状态时不要求参考时钟。

在以SRIS模式操作时,要求支持L1 PM子状态并且还支持SRIS模式的端口来支持L1 PM子状态。在这种情况下,CLKREQ#信号由L1 PM子状态协议使用,但与链路上的任一端口使用的任何本地时钟没有定义的关系,并且对这些本地时钟的管理是实现方式特定的。

RefClock(参考时钟)架构的形状因子要求

每个形状因子规范必须包括下表,其提供了支持形状因子规范的设备的计时架构要求的清晰概述。对于每个计时架构,该表指示该架构对于该形状因子是要求的、可选的或不允许的。注意,这是指设备的操作——而不是底层的硅能力。使用上面描述的SRIS模式选择机制来发现和控制底层硅能力。

图5是根据本公开的实施例的符合PCIe的端口基于SRIS模式选择机制起作用的过程流程图500。首先,对上游组件(例如,根复合体或开关)的下游端口进行控制的软件或固件可以确定是否(或确定)下游端口支持SRIS模式选择机制(502)。软件/固件可以基于一个或多个寄存器(例如,链路能力寄存器和/或链路控制寄存器)中置位的比特来做出该确定。如果下游端口不支持SRIS模式选择机制,则软件/固件可以放弃有关SRIS模式选择的其他步骤。链路能力寄存器和/或链路控制寄存器中的比特可以在启动、重启、热启动等时置位,或者在将新设备连接到现有主机或根控制器时置位。

软件/固件可以至少部分地基于链路能力寄存器或链路控制寄存器(或其他寄存器)中的一个或两者的置位比特来确定从下游端口到对应的上游端口(或重定时器的伪端口)的系统时钟配置(504)。软件/固件可以例如使用带外管理接口(例如,用于查询设备/开关的系统管理(SM)总线)和/或使用诸如扩充卡或背板之类的系统级元件来确定系统时钟配置。

软件/固件可以基于对系统时钟配置的确定将下游端口中的SRIS模式选择设置为适当的模式(506)。在一些实施例中,软件/固件可以将SRIS模式传送到一个或多个上游端口,包括跨符合PCIe的链路传送到连接的(多个)重定时器的伪端口。下游端口可以使用所选择的SRIS模式跨链路执行下游数据和控制信息通信(510)。也就是说,当处于SRIS模式时,上游组件和下游组件可以各自使用具有扩频的独立时钟进行数据和控制传输。

一种互连结构架构包括快速外围组件互连(PCI)(PCIe)架构。PCIe的主要目标是跨越多个细分市场使来自不同供应商的组件和设备能够在开放式架构中互操作;客户端(台式的和移动的)、服务器(标准的和企业的)以及嵌入式和通信设备。快速PCI是高性能、通用I/O互连,其针对各种未来的计算和通信平台定义。一些PCI属性(例如,其使用模型、加载-存储架构和软件接口)已经通过其修订版进行维护,而先前的并行总线实现方式已经被高度可扩展、完全串行的接口取代。更近期的快速PCI版本利用点对点互连、基于开关的技术和分组协议的改进来实现新的性能和特征级别。快速PCI支持的改进特征中的一些是功率管理、服务质量(QoS)、热插拔/热交换支持、数据完整性和错误处理。

参考图6,示出了由互连一组组件的点对点链路组成的结构的实施例。系统600包括耦合到控制器中心615的处理器605和系统存储器610。处理器605包括任何处理元件,例如,微处理器、主机处理器、嵌入式处理器、协处理器或其他处理器。处理器605通过前侧总线(FSB)606耦合到控制器中心615。在一个实施例中,FSB 606是如下面描述的串行点对点互连。在另一实施例中,链路606包括符合不同互连标准的串行差分互连架构。

系统存储器610包括任何存储器设备,例如,随机存取存储器(RAM)、非易失性(NV)存储器或系统600中的设备可存取的其他存储器。系统存储器610通过存储器接口616耦合到控制器中心615。存储器接口的示例包括双倍数据速率(DDR)存储器接口、双通道DDR存储器接口以及动态RAM(DRAM)存储器接口。

在一个实施例中,控制器中心615是快速外围组件互连(PCIe或PCIE)互连层级中的根中心、根复合体或根控制器。控制器中心615的示例包括芯片组、存储器控制器中心(MCH)、北桥、互连控制器中心(ICH)、南桥和根端口控制器/中心。经常,术语芯片组指两个物理上分离的控制器中心,即耦合到互连控制器中心(ICH)的存储器控制器中心(MCH)。注意,当前系统经常包括与处理器605集成的MCH,而控制器615以与下面描述的类似的方式与I/O设备通信。在一些实施例中,可选地通过根复合体615支持对等路由。

这里,控制器中心615通过串行链路619耦合到开关/桥620。输入/输出模块617和621(也可以称为接口/端口617和621)包括/实现分层协议栈,以提供控制器中心615与开关620之间的通信。在一个实施例中,多个设备能够耦合到开关620。

开关/桥620将分组/消息从设备625向上游(即,朝向根复合体向上的层级)路由到控制器中心615,以及从处理器605或系统存储器610向下游(即,远离根端口控制器向下的层级)路由到设备625。在一个实施例中,开关620被称为多个虚拟PCI到PCI桥设备的逻辑组件。设备625包括待耦合到电子系统的任何内部或外部的设备或组件,例如,I/O设备、网络接口控制器(NIC)、插入卡、音频处理器、网络处理器、硬盘驱动器、存储设备、CD/DVD ROM、监视器、打印机、鼠标、键盘、路由器、便携式存储设备、Firewire设备、通用串行总线(USB)设备、扫描仪以及其他输入/输出设备。经常在PCIe中,诸如设备的术语被称为端点。虽然没有具体示出,但是设备625可以包括PCIe到PCI/PCI-X桥,以支持传统或其他版本的PCI设备。PCIe中的端点设备经常被分类为传统、PCIe或根复合体集成端点。

图形加速器630也通过串行链路632耦合到控制器中心615。在一个实施例中,图形加速器630耦合到MCH,该MCH耦合到ICH。然后将开关620以及因此I/O设备625耦合到ICH。I/O模块631和618还用于实现分层协议栈,以在图形加速器630与控制器中心615之间进行通信。类似于上面讨论的MCH,图形控制器或图形加速器630本身可以集成在处理器605中。

转到图7,示出了分层协议栈的实施例。分层协议栈700包括任何形式的分层通信栈,例如,快速路径互连(QPI)栈、PCIe栈、下一代高性能计算互连栈或其他分层栈。虽然紧接着下面参考图6-9的讨论与PCIe栈有关,但是相同的概念可以适用于其他互连栈。在一个实施例中,协议栈700是包括事务层705、链路层710和物理层720的PCIe协议栈。接口(例如,图1中的接口617、618、621、622、626和631)可以表示为通信协议栈700。作为通信协议栈的表示也可以称为实现/包括协议栈的模块或接口。

快速PCI使用分组来在组件之间传送信息。在事务层705和数据链路层710中形成分组,以将信息从发送组件携带到接收组件。当被发送的分组流经其他层时,这些分组利用在这些层处处理分组所需的附加信息进行扩展。在接收侧,发生反向过程,并且分组从其物理层720表示变换为数据链路层710表示,并且最后(对于事务层分组)变换为可以由接收设备的事务层705处理的形式。

事务层

在一个实施例中,事务层705用于提供设备的处理核心与互连架构(例如,数据链路层710和物理层720)之间的接口。在这方面,事务层705的主要职责是分组(即,事务层分组或TLP)的组包和拆包。事务层705典型地管理针对TLP的基于信用的流控制。PCIe实现分离事务,即请求和响应通过时间分开的事务,允许链路在目标设备收集用于响应的数据时携带其他流量。

此外,PCIe利用基于信用的流控制。在该方案中,设备在事务层705中通告接收缓冲器中的每个的初始信用量。在链路的相对端的外部设备(例如,图1中的控制器中心115)对由每个TLP消耗的信用的数量进行计数。如果事务未超过信用限制,则可以发送事务。当接收到响应时,将恢复一定量的信用。信用方案的优点在于,如果没有遇到信用限制,则信用返回的延迟不会影响性能。

在一个实施例中,四个事务地址空间包括配置地址空间、存储器地址空间、输入/输出地址空间和消息地址空间。存储器空间事务包括用于将数据传输到存储器映射的位置或从存储器映射的位置传输数据的读取请求和写入请求中的一个或多个。在一个实施例中,存储器空间事务能够使用两种不同的地址格式,例如,短地址格式(例如,32比特地址)或长地址格式(例如,64比特地址)。配置空间事务用于访问PCIe设备的配置空间。配置空间的事务包括读取请求和写入请求。消息空间事务(或简称消息)被定义为支持PCIe代理之间的带内通信。

因此,在一个实施例中,事务层705对分组报头/有效载荷706进行组包。当前分组报头/有效载荷的格式可以在PCIe规范网站处的PCIe规范中找到。

快速参考图8,示出了PCIe事务描述符的实施例。在一个实施例中,事务描述符800是用于携带事务信息的机制。在这方面,事务描述符800支持对系统中事务的识别。其他潜在用途包括跟踪对默认事务排序的修改以及事务与信道的关联。

事务描述符800包括全局标识符字段802、属性字段804和信道标识符字段806。在所示示例中,全局标识符字段802被描绘为包括本地事务标识符字段808和源标识符字段810。在一个实施例中,全局事务标识符802对于所有未完成的请求是唯一的。

根据一种实现方式,本地事务标识符字段808是由请求代理生成的字段,并且其对于对该请求代理而言要求完成的所有未完成的请求是唯一的。此外,在该示例中,源标识符810唯一地标识PCIe层级内的请求者代理。因此,与源ID 810一起,本地事务标识符字段808提供层级域内的事务的全局标识。

属性字段804指定事务的特性和关系。在这方面,属性字段804潜在地用于提供允许修改对事务的默认处理的附加信息。在一个实施例中,属性字段804包括优先级字段812、预留字段814、排序字段816和非监听字段818。这里,优先级子字段812可以由发起者修改以向事务分配优先级。预留属性字段814被预留以供将来使用或供应商定义的使用。可以使用预留属性字段来实现使用优先级或安全性属性的可能使用模型。

在该示例中,排序属性字段816用于提供传达可以修改默认排序规则的排序类型的可选信息。根据一个示例实现方式,排序属性“0”表示要应用默认排序规则,其中排序属性“1”表示不严格的排序,其中写入可以在相同方向上传递写入,并且读取完成可以在相同方向上传递写入。监听属性字段818用于确定事务是否被监听。如所示出的,信道ID字段806标识事务与其相关联的信道。

链路层

链路层710(也称为数据链路层710)充当事务层705与物理层720之间的中间阶段。在一个实施例中,数据链路层710的职责是提供用于在两个链路组件之间交换事务层分组(TLP)的可靠机制。数据链路层710的一侧接受由事务层705组包的TLP,应用分组序列标识符711(即,标识编号或分组编号),计算并应用错误检测码(即,CRC 712),并且将修改后的TLP提交给物理层720用于跨物理到外部设备的传输。

物理层

在一个实施例中,物理层720包括逻辑子块721和电子块722,以物理地将分组发送到外部设备。这里,逻辑子块721负责物理层720的“数字”功能。在这方面,逻辑子块包括用于准备传出信息以供由物理子块722进行发送的发送部分,以及用于在将接收到的信息传递到链路层710之前识别并准备接收到的信息的接收器部分。

物理块722包括发送器和接收器。发送器由逻辑子块721提供符号,发送器将符号串行化并发送到外部设备。向接收器提供来自外部设备的串行化符号,并且接收器将接收到的信号变换为比特流。比特流被解序列化并提供给逻辑子块721。在一个实施例中,采用8b/10b传输码,其中发送/接收十比特符号。这里,特殊符号用于将分组帧化为帧723。另外,在一个示例中,接收器还提供从传入的串行流中恢复的符号时钟。

如上面陈述的,虽然参考PCIe协议栈的特定实施例讨论了事务层705、链路层710和物理层720,但是分层协议栈不限于此。实际上,可以包括/实现任何分层协议。作为示例,表示为分层协议的端口/接口包括:(1)用于对分组进行组包的第一层,即事务层;用于对分组进行排序的第二层,即链路层;以及用于传输分组的第三层,即物理层。作为具体示例,使用公共标准接口(CSI)分层协议。

接下来参考图9,示出了PCIe串行点对点结构的实施例。虽然示出了PCIe串行点对点链路的实施例,但是串行点对点链路不限于此,因为它包括用于传输串行数据的任何传输路径。在所示的实施例中,基本PCIe链路包括两个低电压差分驱动信号对:发送对906/911和接收对912/907。因此,设备905包括用于将数据发送到设备910的发送逻辑906以及用于从设备910接收数据的接收逻辑907。换言之,两个发送路径(即,路径916和917)以及两个接收路径(即,路径918和919)包括在PCIe链路中。

传输路径指用于传输数据的任何路径,例如,传输线路、铜线路、光线路、无线通信信道、红外通信链路或其他通信路径。两个设备(例如,设备905和设备910)之间的连接被称为链路,例如,链路915。链路可以支持一个通道——每个通道表示一组差分信号对(一对用于发送,一对用于接收)。为了扩展带宽,链路可以聚合由xN表示的多个通道,其中N是任何支持的链路宽度,例如1、2、4、8、12、16、32、64或更宽。

差分对指代两个传输路径,例如,线路916和917,用于发送差分信号。作为示例,当线路916从低电压电平切换到高电压电平(即,上升沿)时,线路917从高逻辑电平驱动到低逻辑电平(即,下降沿)。差分信号潜在地表现出更好的电特性,例如,更好的信号完整性,即交叉耦合、电压过冲/下冲、振铃等。这允许更好的定时窗口,其支持更快的传输频率。

注意,上面描述的装置、方法和系统可以在如前述的任何电子设备或系统中实现。作为具体说明,下面的附图提供了用于利用如本文描述的发明的示例性系统。由于下文更详细地描述了系统,因此根据上面的讨论公开、描述和重新考虑了许多不同的互连。并且显而易见的是,上面描述的改进可以适用于这些互连、结构或架构中的任何一种。

转到图10,示出了根据本发明的一个实施例的示例性计算机系统的框图,该计算机系统利用包括执行指令的执行单元的处理器形成,其中互连中的一个或多个互连实现一个或多个特征。根据本发明,例如,在本文描述的实施例中,系统1000包括诸如处理器1002之类的组件,用于采用包括逻辑的执行单元来执行用于过程数据的算法。系统1000表示基于可从Intel公司(Santa Clara,California)获得的PENTIUM III

实施例不限于计算机系统。本发明的替代实施例可以用在其他设备中,例如,手持设备和嵌入式应用。手持设备的一些示例包括蜂窝电话、互联网协议设备、数码照相机、个人数字助理(PDA)和手持PC。嵌入式应用可以包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络中心、广域网(WAN)交换机或可以执行根据至少一个实施例的一个或多个指令的任何其他系统。

在该示出的实施例中,处理器1002包括一个或多个执行单元1008,以实现要执行至少一个指令的算法。可以在单处理器台式机或服务器系统的上下文中描述一个实施例,但是替代实施例可以包括在多处理器系统中。系统1000是“中心”系统架构的示例。计算机系统1000包括用于处理数据信号的处理器1002。作为一个说明性示例,处理器1002包括复杂指令集计算机(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现指令集的组合的处理器或者任何其他处理器设备(例如,数字信号处理器)。处理器1002耦合到处理器总线1010,该处理器总线1010在处理器1002与系统1000中的其他组件之间传输数据信号。系统1000的元件(例如,图形加速器1012、存储器控制器中心1016、存储器1020、I/O控制器中心1024、无线收发器1026、闪速BIOS 1028、网络控制器1034、音频控制器1036、串行扩展端口1038、I/O控制器1040等)执行其被本领域技术人员熟知的常规功能。

在一个实施例中,处理器1002包括1级(L1)内部高速缓冲存储器1004。取决于架构,处理器1002可以具有单个内部高速缓存或多级内部高速缓存。其他实施例包括内部高速缓存和外部高速缓存两者的组合,这取决于特定的实现方式和需求。寄存器文件1006用于在各种寄存器中存储不同类型的数据,该寄存器包括整数寄存器、浮点寄存器、向量寄存器、分组式寄存器、影子寄存器、检查点寄存器、状态寄存器以及指令指针寄存器。

包括用于执行整数和浮点运算的逻辑的执行单元1008也驻留在处理器1002中。在一个实施例中,处理器1002包括用于存储微代码(ucode)的微代码ROM,该微代码在被执行时将执行用于特定宏指令或处理复杂场景的算法。这里,微代码潜在地可更新,以处理处理器1002的逻辑错误/修复。对于一个实施例,执行单元1008包括用于处理打包的指令集1009的逻辑。通过连同用于执行指令的相关联的电路一起将打包的指令集1009包括在通用处理器1002的指令集中,许多多媒体应用使用的操作可以使用通用处理器1002中的打包的数据来执行。因此,通过使用处理器数据总线的完全宽度对打包的数据执行操作,来更高效地加速和执行许多多媒体应用。这潜在地消除了跨处理器的数据总线传输较小数据单元以执行一个或多个操作(一次一个数据元素)的需要。

执行单元1008的替代实施例还可以在微控制器、嵌入式处理器、图形设备、DSP和其他类型的逻辑电路中使用。系统1000包括存储器1020。存储器1020包括动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪速存储器设备或其他存储设备。存储器1020存储由要由处理器1002执行的数据信号表示的指令和/或数据。

注意,本发明的前述特征或方面中的任一个可以用于图10中所示的一个或多个互连上。例如,用于耦合处理器1002的内部单元的管芯上互连(ODI)(未示出)实现了上面描述的本发明的一个或多个方面。或者,本发明与处理器总线1010(例如,Intel快速路径互连(QPI)或其他已知的高性能计算互连)、到存储器1020的高带宽存储器路径1018、到图形加速器1012的点对点链路(例如,符合快速外围组件互连(PCIe)的结构)、控制器中心互连1022、用于耦合其他所示组件的I/O或其他互连(例如,USB、PCI、PCIe)相关联。这些组件的一些示例包括音频控制器1036、固件中心(闪速BIOS)1028、无线收发器1026、数据存储设备1024、包含用户输入和键盘接口1042的传统I/O控制器1010、诸如通用串行总线(USB)之类的串行扩展端口1038以及网络控制器1034。数据存储设备1024可以包括硬盘驱动器、软盘驱动器、CD-ROM设备、闪速存储器设备或其他大容量存储设备。

现在参考图11,示出了根据本发明的实施例的第二系统1100的框图。如图11所示,多处理器系统1100是点对点互连系统,并且包括经由点对点互连1150耦合的第一处理器1170和第二处理器1180。处理器1170和1180中的每个可以是处理器的某一版本。在一个实施例中,1152和1154是串行点对点相干互连结构的一部分,例如,Intel的快速路径互连(QPI)架构。因此,本发明可以在QPI架构内实现。

虽然仅示出了两个处理器1170、1180,但是应该理解,本发明的范围不限于此。在其他实施例中,在给定的处理器中可以存在一个或多个附加处理器。

示出了处理器1170和1180分别包括集成存储器控制器单元1172和1182。处理器1170还包括作为其总线控制器单元的一部分的点对点(P-P)接口1176和1178;类似地,第二处理器1180包括P-P接口1186和1188。处理器1170、1180可以使用点对点(P-P)接口电路1178、1188经由P-P接口1150交换信息。如图11所示,IMC 1172和1182将处理器耦合到相应的存储器,即存储器1132和存储器1134,其可以是本地附接到相应处理器的主存储器的部分。

处理器1170、1180各自使用点对点接口电路1176、1194、1186和1198经由个体P-P接口1152、1154与芯片组1190交换信息。芯片组1190还沿着高性能图形互连1139经由接口电路1192与高性能图形电路1138交换信息。

共享高速缓存(未示出)可以包括在任一处理器中或两个处理器之外;但仍经由P-P互连与处理器连接,从而如果处理器被置于低功率模式,则处理器的本地高速缓存信息中的任一个或两者可以存储在共享高速缓存中。

芯片组1190可以经由接口1196耦合到第一总线1116。在一个实施例中,第一总线1116可以是外围组件互连(PCI)总线,或诸如快速PCI总线或另一第三代I/O互连总线之类的总线,但是本发明的范围不限于此。

如图11所示,各种I/O设备1114与总线桥1118一起耦合到第一总线1116,该总线桥1118将第一总线1116耦合到第二总线1120。在一个实施例中,第二总线1120包括低引脚计数(LPC)总线。各种设备耦合到第二总线1120,包括例如键盘和/或鼠标1122、通信设备1127和诸如磁盘驱动器或其他大容量存储设备之类的存储单元1128,在一个实施例中该存储单元1128经常包括指令/代码和数据1130。此外,音频I/O 1124被示出为耦合到第二总线1120。注意,其他架构是可能的,其中所包括的组件和互连架构变化。例如,代替图11的点对点架构,系统可以实现多点总线或其他这样的架构。

使用平台中存在的各种惯性和环境传感器,可以实现许多不同的用例。这些用例支持包括感知计算的高级计算操作,并且还允许关于功率管理/电池寿命、安全性和系统响应性进行增强。

例如,关于功率管理/电池寿命问题,至少部分地基于来自环境光传感器的信息,确定平台位置中的环境光条件并相应地控制显示器的强度。因此,在特定光条件下减少操作显示器所消耗的功率。

关于安全性操作,基于从传感器获得的上下文信息(例如,位置信息),可以确定是否允许用户访问特定安全文档。例如,可以准许用户在工作场所或家庭位置访问这些文档。然而,当平台存在于公共位置时,阻止用户访问这些文档。在一个实施例中,该确定基于例如经由GPS传感器或对地标的照相机识别确定的位置信息。其他安全性操作可以包括提供彼此靠近距离内的设备的配对,例如,如本文描述的便携式平台和用户的台式计算机、移动电话等。在一些实现方式中,当这些设备如此配对时,经由近场通信实现特定共享。然而,当设备超过特定距离时,可以禁用这种共享。此外,当将如本文描述的平台与智能电话配对时,当在公共位置时,警报可以被配置为当设备移动超过离彼此预确定的距离时触发。相反,当这些配对的设备处于安全位置(例如,工作场所或家庭位置)时,设备可以超过该预确定的限制而不触发这种警报。

还可以使用传感器信息来增强响应性。例如,即使当平台处于低功率状态时,仍然可以使得传感器能够以相对低的频率运行。因此,确定例如由惯性传感器、GPS传感器等确定的平台位置的任何变化。如果没有注册过任何这样的变化,则发生到前一无线中心(例如,Wi-Fi

应当理解,使用经由如本文描述的平台内的集成传感器获得的传感器信息,可以实现许多其他用例,并且以上示例仅用于说明的目的。使用如本文描述的系统,感知计算系统可以允许添加替代输入模态,包括手势识别,并且使得系统能够感测用户操作和意图。

在一些实施例中,可以存在一个或多个红外或其他热感测元件,或用于感测用户的存在或移动的任何其他元件。这种感测元件可以包括一起工作、按顺序工作或两者的多个不同元件。例如,感测元件包括通过例如超声飞行时间照相机或图案化光照相机提供诸如光或声音投影之类的初始感测接下来感测手势检测的元件。

同样在一些实施例中,该系统包括光发生器以产生照明线。在一些实施例中,该线提供关于虚拟边界的视觉提示,即空间中的虚构或虚拟位置,其中用户通过或突破虚拟边界或平面的动作被解释为与计算系统接合的意图。在一些实施例中,照明线可以随着计算系统关于用户转变到不同状态而改变颜色。照明线可以用于为空间中的虚拟边界的用户提供视觉提示,并且可以由系统用于确定计算机关于用户的状态转变,包括确定何时用户希望与计算机接合。

在一些实施例中,计算机感测用户位置并操作以将用户的手移动通过虚拟边界解释为指示用户与计算机接合的意图的手势。在一些实施例中,在用户经过虚拟线或平面时,由光发生器生成的光可以改变,从而向用户提供用户已经进入用于提供手势以向计算机提供输入的区域的视觉反馈。

显示屏可以提供计算系统关于用户的状态转变的视觉指示。在一些实施例中,以其中由系统感测到用户的存在的第一状态提供第一屏幕,例如通过使用感测元件中的一个或多个感测元件。

在一些实现方式中,系统用于感测用户身份,例如,通过面部识别。这里,可以以其中计算系统已经识别出用户身份的第二状态提供到第二屏幕的转变,其中该第二屏幕向用户提供用户已经转变到新状态的视觉反馈。可以以其中用户已经确认对用户的识别的第三状态发生到第三屏幕的转变。

在一些实施例中,计算系统可以使用转变机制来确定用户的虚拟边界的位置,其中虚拟边界的位置可以随用户和上下文而变化。计算系统可以生成光(例如,照明线),以指示用于与系统接合的虚拟边界。在一些实施例中,计算系统可以处于等待状态,并且可以以第一颜色产生光。计算系统可以检测用户是否已经到达虚拟边界,例如,通过使用感测元件来感测用户的存在和移动。

在一些实施例中,如果检测到用户已经越过虚拟边界(例如,用户的手比虚拟边界线更靠近计算系统),则计算系统可以转变到用于从用户接收手势输入的状态,其中指示转变的机制可以包括光指示虚拟边界改变为第二颜色。

在一些实施例中,计算系统然后可以确定是否检测到手势移动。如果检测到手势移动,则计算系统可以继续进行手势识别过程,该过程可以包括使用来自手势数据库的数据,该手势数据库可以驻留在计算设备中的存储器中或者可以由计算设备以其他方式存取。

如果识别出用户的手势,则计算系统可以响应于输入而执行功能,并且如果用户在虚拟边界内则返回以接收附加手势。在一些实施例中,如果未识别到手势,则计算系统可以转变到错误状态,其中指示错误状态的机制可以包括光指示虚拟边界改变为第三颜色,其中如果用户在虚拟边界内,则系统返回以接收附加的手势以便与计算系统接合。

如上面提及的,在其他实施例中,系统可以被配置为可转换平板系统,其可以以至少两种不同的模式来使用:平板模式和笔记本模式。可转换系统可以具有两个面板,即显示面板和基础面板,从而在平板模式下,两个面板堆叠地布置在彼此顶部上。在平板模式下,显示面板面向外部,并且可以提供在常规平板中发现的触摸屏功能。在笔记本模式中,两个面板可以以打开的翻盖式配置来布置。

在各种实施例中,加速度计可以是具有至少50Hz的数据速率的3轴加速度计。还可以包括陀螺仪,其可以是3轴陀螺仪。另外,可以存在电子罗盘/磁力计。另外,可以提供一个或多个接近度传感器(例如,用于打开盖板以感测人何时接近(或不接近)系统并调节功率/性能以延长电池寿命)。对于一些OS的传感器融合能力(包括加速度计、陀螺仪和罗盘),可以提供增强的特征。另外,经由具有实时时钟(RTC)的传感器中心,可以实现从传感器唤醒机制,以在系统的其余部分处于低功率状态时接收传感器输入。

在一些实施例中,内部盖板/显示器打开开关或传感器用于指示盖板何时关闭/打开,并且可以用于将系统置于连接待机或自动从连接待机唤醒状态。其他系统传感器可以包括用于内部处理器、存储器和皮肤温度监测的ACPI传感器,以基于感测到的参数来实现处理器和系统操作状态的改变。

在实施例中,OS可以是实现连接待机(本文中也称为Win8 CS)的

现在参考图12,示出了根据本发明的实施例的计算机系统中存在的组件的框图。如图12所示,系统1200包括组件的任何组合。这些组件可以实现为IC、其部分、分立电子设备,或适配在计算机系统中的其他模块、逻辑、硬件、软件、固件或其组合,或者实现为以其他方式并入计算机系统的机箱内的组件。还应注意,图12的框图旨在示出计算机系统的许多组件的高级别视图。然而,应该理解在其他实现方式中,可以省略所示出的组件中的一些组件,可以存在附加的组件,并且可以出现所示出的组件的不同布置。因此,上面描述的本发明可以在下面示出或描述的互连中的一个或多个互连的任何部分中实现。

如图12中看到的,在一个实施例中,处理器1210包括微处理器、多核心处理器、多线程处理器、超低电压处理器、嵌入式处理器或其他已知的处理元件。在所示的实现方式中,处理器1210充当主处理单元和中央中心,用于与系统1200的各种组件中的许多组件通信。作为一个示例,处理器1210被实现为片上系统(SoC)。作为具体的说明性示例,处理器1210包括基于

在一个实施例中,处理器1210与系统存储器1215通信。作为说明性示例,这在实施例中可以经由多个存储器设备来实现以提供给定量的系统存储器。作为示例,存储器可以符合基于联合电子器件工程委员会(JEDEC)低功率双倍数据速率(LPDDR)的设计,例如,根据JEDEC JESD 209-2E(2009年4月发布)的当前LPDDR2标准,或者被称为LPDDR3或LPDDR4的下一代LPDDR标准,其将提供对LPDDR2的扩展以增加带宽。在各种实现方式中,个体存储器设备可以具有不同的封装类型,例如,单管芯封装(SDP)、双管芯封装(DDP)或四管芯封装(67P)。在一些实施例中,这些设备直接焊接到主板上以提供较低轮廓的解决方案,而在其他实施例中,这些设备被配置为一个或多个存储器模块,其进而通过给定连接器耦合到主板。并且当然,其他存储器实现也是可能的,例如,其他类型的存储器模块,例如,不同种类的双列直插式存储器模块(DIMM),包括但不限于microDIMM、MiniDIMM。在特定的说明性实施例中,存储器的大小在2GB和16GB之间,并且可以被配置为经由球栅阵列(BGA)焊接到主板上的DDR3LM封装或LPDDR2或LPDDR3存储器。

为了提供对诸如数据、应用、一个或多个操作系统等之类的信息的持久存储,大容量存储装置1220也可以耦合到处理器1210。在各种实施例中,为了实现更薄更轻的系统设计以及为了提高系统响应性,可以经由SSD实现该大容量存储装置。然而,在其他实施例中,大容量存储装置可以主要使用硬盘驱动器(HDD)来实现,其中较少量的SSD存储装置充当SSD高速缓存,以在断电事件期间实现对上下文状态和其他此类信息的非易失性存储,从而可以在发起系统活动时发生快速上电。同样如图12所示,闪存设备1222可以例如经由串行外围接口(SPI)耦合到处理器1210。该闪存设备可以提供对系统软件的非易失性存储,包括基本输入/输出软件(BIOS),以及系统的其他固件。

在各种实施例中,系统的大容量存储装置由SSD单独实现或者实现为具有SSD高速缓存的磁盘驱动器、光驱动器或其他驱动器。在一些实施例中,大容量存储装置实现为SSD或HDD以及恢复(RST)高速缓存模块。在各种实现方式中,HDD提供在320GB-4太字节(TB)及以上之间的存储,而RST高速缓存利用容量为24GB-256GB的SSD实现。注意,这种SSD高速缓存可以被配置为单级高速缓存(SLC)或多级高速缓存(MLC)选项,以提供适当级别的响应性。在仅SSD选项中,模块可以容纳在各种位置,例如,在mSATA或NGFF槽中。作为示例,SSD的容量范围为120GB-1TB。

系统1200内可以存在各种输入/输出(IO)设备。在图12的实施例中具体示出了显示器1224,其可以是配置在机箱的盖板部分内的高清晰度LCD或LED面板。该显示面板还可以提供触摸屏1225(例如,在显示面板上外部适配),从而经由用户与该触摸屏的交互可以向系统提供用户输入以实现期望的操作,例如,关于显示信息、访问信息等。在一个实施例中,显示器1224可以经由显示互连耦合到处理器1210,该显示互连可以实现为高性能图形互连。触摸屏1225可以经由另一互连耦合到处理器1210,在实施例中,该互连可以是I2C互连。如图12中进一步所示,除了触摸屏1225之外,通过触摸方式的用户输入也可以经由触摸板1230发生,触摸板1230可以配置在机箱内并且还可以耦合到与触摸屏1225相同的I2C互连。

显示面板可以以多种模式操作。在第一模式中,显示面板可以以透明状态布置,其中显示面板对可见光透明。在各种实施例中,除了围绕外围的边框之外,显示面板的大部分可以是显示器。当系统以笔记本模式操作并且显示面板以透明状态操作时,用户可以查看在显示面板上呈现的信息,同时还能够查看显示器后面的对象。另外,显示在显示面板上的信息可以由位于显示器后面的用户查看。或者显示面板的操作状态可以是不透明状态,其中可见光不透过显示面板。

在平板模式中,系统被折叠闭合,从而当基板的底表面搁置在表面上或由用户保持时,显示面板的后显示表面停留在使得其向外面向用户的位置处。在平板操作模式中,后显示表面起到显示器和用户接口的作用,因为该表面可以具有触摸屏功能并且可以执行常规触摸屏设备(例如,平板设备)的其他已知功能。为此,显示面板可以包括布置在触摸屏层与前显示表面之间的透明度调节层。在一些实施例中,透明度调节层可以是电致变色层(EC)、LCD层或EC层和LCD层的组合。

在各种实施例中,显示器可以具有不同的尺寸,例如,11.6"或13.3"的屏幕,并且可以具有16:9的纵横比,并且至少300尼特的亮度。此外,显示器可以是全高清晰度(HD)分辨率(至少1920x1080p),与嵌入式显示器端口(eDP)兼容,并且是具有面板自刷新的低功率面板。

关于触摸屏能力,该系统可以提供多触摸电容并且至少支持5个手指的显示器多触摸面板。并且在一些实施例中,显示器可以支持10个手指。在一个实施例中,触摸屏容纳在低摩擦的防损坏和刮擦玻璃和涂层(例如,Gorilla Glass

对于感知计算和其他目的,各种传感器可以存在于系统内并且可以以不同的方式耦合到处理器1210。特定的惯性和环境传感器可以通过传感器中心1240耦合到处理器1210,例如,经由I2C互连。在图12所示的实施例中,这些传感器可以包括加速度计1241、环境光传感器(ALS)1242、罗盘1243和陀螺仪1244。其他环境传感器可以包括一个或多个热传感器1246,其在一些实施例中经由系统管理总线(SMBus)总线耦合到处理器1210。

使用平台中存在的各种惯性和环境传感器,可以实现许多不同的用例。这些用例支持包括感知计算的高级计算操作,并且还允许关于功率管理/电池寿命、安全性和系统响应性进行增强。

例如,关于功率管理/电池寿命问题,至少部分地基于来自环境光传感器的信息,确定平台位置中的环境光条件并相应地控制显示器的强度。因此,在特定光条件下减少操作显示器所消耗的功率。

关于安全性操作,基于从传感器获得的上下文信息(例如,位置信息),可以确定是否允许用户访问特定安全文档。例如,可以准许用户在工作场所或家庭位置访问这些文档。然而,当平台存在于公共位置时,阻止用户访问这些文档。在一个实施例中,该确定基于例如经由GPS传感器或对地标的照相机识别确定的位置信息。其他安全性操作可以包括提供彼此靠近距离内的设备的配对,例如,如本文描述的便携式平台和用户的台式计算机、移动电话等。在一些实现方式中,当这些设备如此配对时,经由近场通信实现特定共享。然而,当设备超过特定距离时,可以禁用这种共享。此外,当将如本文描述的平台与智能电话配对时,当在公共位置时,警报可以被配置为当设备移动超过离彼此预确定的距离时触发。相反,当这些配对的设备处于安全位置(例如,工作场所或家庭位置)时,设备可以超过该预确定的限制而不触发这种警报。

还可以使用传感器信息来增强响应性。例如,即使当平台处于低功率状态时,仍然可以使得传感器能够以相对低的频率运行。因此,确定例如由惯性传感器、GPS传感器等确定的平台位置的任何变化。如果没有注册过任何这样的变化,则发生到前一无线中心(例如,Wi-Fi

应当理解,使用经由如本文描述的平台内的集成传感器获得的传感器信息,可以实现许多其他用例,并且以上示例仅用于说明的目的。使用如本文描述的系统,感知计算系统可以允许添加替代输入模态,包括手势识别,并且使得系统能够感测用户操作和意图。

在一些实施例中,可以存在一个或多个红外或其他热感测元件,或用于感测用户的存在或移动的任何其他元件。这种感测元件可以包括一起工作、按顺序工作或两者的多个不同元件。例如,感测元件包括通过例如超声飞行时间照相机或图案化光照相机提供诸如光或声音投影之类的初始感测接下来感测手势检测的元件。

同样在一些实施例中,该系统包括光发生器以产生照明线。在一些实施例中,该线提供关于虚拟边界的视觉提示,即空间中的虚构或虚拟位置,其中用户通过或突破虚拟边界或平面的动作被解释为与计算系统接合的意图。在一些实施例中,照明线可以随着计算系统关于用户转变到不同状态而改变颜色。照明线可以用于为空间中的虚拟边界的用户提供视觉提示,并且可以由系统用于确定计算机关于用户的状态转变,包括确定何时用户希望与计算机接合。

在一些实施例中,计算机感测用户位置并操作以将用户的手移动通过虚拟边界解释为指示用户与计算机接合的意图的手势。在一些实施例中,在用户经过虚拟线或平面时,由光发生器生成的光可以改变,从而向用户提供用户已经进入用于提供手势以向计算机提供输入的区域的视觉反馈。

显示屏可以提供计算系统关于用户的状态转变的视觉指示。在一些实施例中,以其中由系统感测到用户的存在的第一状态提供第一屏幕,例如通过使用感测元件中的一个或多个感测元件。

在一些实现方式中,系统用于感测用户身份,例如,通过面部识别。这里,可以以其中计算系统已经识别出用户身份的第二状态提供到第二屏幕的转变,其中该第二屏幕向用户提供用户已经转变到新状态的视觉反馈。可以以其中用户已经确认对用户的识别的第三状态发生到第三屏幕的转变。

在一些实施例中,计算系统可以使用转变机制来确定用户的虚拟边界的位置,其中虚拟边界的位置可以随用户和上下文而变化。计算系统可以生成光(例如,照明线),以指示用于与系统接合的虚拟边界。在一些实施例中,计算系统可以处于等待状态,并且可以以第一颜色产生光。计算系统可以检测用户是否已经到达虚拟边界,例如,通过使用感测元件来感测用户的存在和移动。

在一些实施例中,如果检测到用户已经越过虚拟边界(例如,用户的手比虚拟边界线更靠近计算系统),则计算系统可以转变到用于从用户接收手势输入的状态,其中指示转变的机制可以包括光指示虚拟边界改变为第二颜色。

在一些实施例中,计算系统然后可以确定是否检测到手势移动。如果检测到手势移动,则计算系统可以继续进行手势识别过程,该过程可以包括使用来自手势数据库的数据,该手势数据库可以驻留在计算设备中的存储器中或者可以由计算设备以其他方式存取。

如果识别出用户的手势,则计算系统可以响应于输入而执行功能,并且如果用户在虚拟边界内则返回以接收附加手势。在一些实施例中,如果未识别到手势,则计算系统可以转变到错误状态,其中指示错误状态的机制可以包括光指示虚拟边界改变为第三颜色,其中如果用户在虚拟边界内,则系统返回以接收附加的手势以便与计算系统接合。

如上面提及的,在其他实施例中,系统可以被配置为可转换平板系统,其可以以至少两种不同的模式来使用:平板模式和笔记本模式。可转换系统可以具有两个面板,即显示面板和基础面板,从而在平板模式下,两个面板堆叠地布置在彼此顶部上。在平板模式下,显示面板面向外部,并且可以提供在常规平板中发现的触摸屏功能。在笔记本模式中,两个面板可以以打开的翻盖式配置来布置。

在各种实施例中,加速度计可以是具有至少50Hz的数据速率的3轴加速度计。还可以包括陀螺仪,其可以是3轴陀螺仪。另外,可以存在电子罗盘/磁力计。另外,可以提供一个或多个接近度传感器(例如,用于打开盖板以感测人何时接近(或不接近)系统并调节功率/性能以延长电池寿命)。对于一些OS的传感器融合能力(包括加速度计、陀螺仪和罗盘),可以提供增强的特征。另外,经由具有实时时钟(RTC)的传感器中心,可以实现从传感器唤醒机制,以在系统的其余部分处于低功率状态时接收传感器输入。

在一些实施例中,内部盖板/显示器打开开关或传感器用于指示盖板何时关闭/打开,并且可以用于将系统置于连接待机或自动从连接待机唤醒状态。其他系统传感器可以包括用于内部处理器、存储器和皮肤温度监测的ACPI传感器,以基于感测到的参数来实现处理器和系统操作状态的改变。

在实施例中,OS可以是实现连接待机(本文中也称为Win8 CS)的

还在图12中看到,各种外围设备可以经由低引脚计数(LPC)互连耦合到处理器1210。在所示的实施例中,各种组件可以通过嵌入式控制器1235耦合。这些组件可以包括键盘1236(例如,经由PS2接口耦合)、风扇1237和热传感器1239。在一些实施例中,触摸板1230也可以经由PS2接口耦合到EC 1235。另外,诸如可信平台模块(TPM)1238(根据日期为2003年10月2日的可信计算组(TCG)TPM规范版本1.2)之类的安全性处理器也可以经由该LPC互连耦合到处理器1210。然而,应理解本发明的范围不限于此方面,并且对安全信息的安全处理和存储可以在另一受保护的位置(例如,安全性协处理器中的静态随机存取存储器(SRAM))进行,或者作为仅当受安全飞地(SE)处理器模式保护时解密的加密数据二进制大对象。

在特定实现方式中,外围端口可以包括高清晰度媒体接口(HDMI)连接器(其可以具有不同的形状因子,例如,全尺寸、迷你或微型);诸如根据通用串行总线修订版3.0规范(2008年11月)的全尺寸外部端口之类的一个或多个USB端口,当系统处于连接待机状态并插入到AC墙壁电源时,至少一个端口供电以对USB设备(例如,智能电话)充电。另外,还可以提供一个或多个Thunderbolt

系统1200可以以各种方式与外部设备通信,包括无线地。在图12所示的实施例中,存在各种无线模块,其中的每个无线模块可以对应于针对特定无线通信协议配置的无线电。一种用于诸如近场之类的短距离的无线通信的方式可以是经由近场通信(NFC)单元1245,其在一个实施例中可以经由SMBus与处理器1210通信。注意,经由该NFC单元1245,彼此非常接近的设备可以通信。例如,用户可以通过将两个设备紧密地适配在一起使得系统1200能够与另一(例如)便携式设备(例如,用户的智能电话)进行通信,并且使得能够传输诸如识别信息、支付信息之类的信息,诸如图像数据之类的数据等。还可以使用NFC系统来执行无线功率传输。

使用本文描述的NFC单元,用户可以通过利用这种设备中的一个或多个设备的线圈之间的耦合来并排地撞击设备并且并排地放置设备以用于近场耦合功能(例如,近场通信和无线功率传输(WPT))。更具体地,实施例提供具有策略性成形并放置的铁氧材料的设备,以提供线圈的更好耦合。每个线圈具有与其相关联的电感,可以结合系统的电阻、电容和其他特征来选择电感,以便针对系统实现共同的共振频率。

如在图12中进一步看到的,附加的无线单元可以包括其他短距离无线引擎,包括WLAN单元1250和蓝牙单元1252。使用WLAN单元1250,可以实现根据给定的电气和电子工程师协会(IEEE)802.11标准的Wi-Fi

另外,例如根据蜂窝或其他无线广域协议的无线广域通信可以经由WWAN单元1256发生,该WWAN单元1256进而可以耦合到订户身份模块(SIM)1257。另外,为了使得能够接收和使用位置信息,还可以存在GPS模块1255。注意,在图12所示的实施例中,WWAN单元1256和诸如照相机模块1254之类的集成捕获设备可以经由给定的USB协议(例如,USB 2.0或3.0链路,或UART或I2C协议)进行通信。再次,这些单元的实际物理连接可以经由使NGFF插入卡适于在主板上配置的NGFF连接器。

在特定实施例中,无线功能可以例如以WiFi

如上面描述的,集成照相机可以并入到盖板中。作为一个示例,该照相机可以是高分辨率照相机,例如,具有至少2.0兆像素(MP)的分辨率并且延伸到6.0MP或更高。

为了提供音频输入和输出,可以经由数字信号处理器(DSP)1260实现音频处理器,该数字信号处理器1260可以经由高清晰度音频(HDA)链路耦合到处理器1210。类似地,DSP1260可以与集成编码器/解码器(CODEC)和放大器1262通信,CODEC和放大器1262进而可以耦合到可以在机箱内实现的输出扬声器1263。类似地,放大器和CODEC 1262可以耦合以接收来自麦克风1265的音频输入,在实施例中,麦克风1265可以经由双阵列麦克风(例如,数字麦克风阵列)来实现,以提供高质量的音频输入以便在系统内实现对各种操作的语音激活控制。还应注意,音频输出可以从放大器/CODEC 1262提供给耳机插孔1264。虽然在图12的实施例中以这些特定的组件示出,但应理解本发明的范围不限于此方面。

在特定实施例中,数字音频编码解码器和放大器能够驱动立体声耳机插孔、立体声麦克风插孔、内部麦克风阵列和立体声扬声器。在不同的实现方式中,编码解码器可以集成到音频DSP中或者经由HD音频路径耦合到外围控制器中心(PCH)。在一些实现方式中,除了集成立体声扬声器之外,还可以提供一个或多个低音扬声器,并且扬声器解决方案可以支持DTS音频。

在一些实施例中,处理器1210可以由外部电压调节器(VR)和集成在处理器管芯内部的多个内部电压调节器(称为完全集成的电压调节器(FIVR))供电。在处理器中使用多个FIVR使得能够将组件分组到分离的电源平面中,从而功率由FIVR调节并仅提供给组中的那些组件。在功率管理期间,当处理器被置于特定低功率状态时,一个FIVR的给定电源平面可以掉电或断电,而另一FIVR的另一电源平面保持活动或完全供电。

在一个实施例中,可以在一些深度睡眠状态期间使用维持电源平面来针对若干I/O信号使I/O引脚通电,例如,处理器与PCH之间的接口,与外部VR的接口以及与EC 1235的接口。该维持电源平面还对管芯上电压调节器供电,该管芯上电压调节器支持机载SRAM或在睡眠状态期间存储处理器上下文的其他高速缓冲存储器。维持电源平面还用于使处理器的唤醒逻辑通电,该唤醒逻辑监测并处理各种唤醒源信号。

在功率管理期间,当其他电源平面在处理器进入特定深度睡眠状态时掉电或断电时,维持电源平面保持通电以支持上面引用的组件。然而,这可能导致当不需要这些组件时不必要的功耗或耗散。为此,实施例可以提供连接的待机睡眠状态以使用专用电源平面来维护处理器上下文。在一个实施例中,连接的待机睡眠状态有助于使用PCH的资源进行处理器唤醒,该PCH本身可以与处理器一起存在于封装中。在一个实施例中,连接的待机睡眠状态有助于维持PCH中的处理器架构功能直到处理器唤醒,这使得能够关闭在深度睡眠状态期间先前保持通电的所有不必要的处理器组件,包括关闭所有时钟。在一个实施例中,PCH包含时间戳计数器(TSC)和用于在连接的待机状态期间控制系统的连接的待机逻辑。用于维持电源平面的集成电压调节器也可以驻留在PCH上。

在实施例中,在连接的待机状态期间,集成电压调节器可以用作专用电源平面,其在处理器进入深度睡眠状态和连接的待机状态时保持通电以支持存储处理器上下文(例如,关键状态变量)的专用高速缓冲存储器。该关键状态可以包括与架构、微架构相关联的状态变量,调试状态和/或与处理器相关联的类似状态变量。

可以在连接的待机状态期间将来自EC 1235的唤醒源信号发送到PCH而不是处理器,从而PCH而不是处理器可以管理唤醒处理。另外,TSC在PCH中维护以有助于维持处理器架构功能。虽然在图12的实施例中以这些特定组件示出,但应理解本发明的范围不限于此方面。

处理器中的功率控制可以导致增强的功率节省。例如,可以在核心之间动态地分配功率,个体核心可以改变频率/电压,并且可以提供多个深度低功率状态以实现非常低的功耗。另外,对核心或独立核心部分的动态控制可以通过在不使用组件时将组件断电来提供降低的功耗。

一些实现方式可以提供特定的功率管理IC(PMIC)以控制平台功率。使用该解决方案,当处于给定待机状态时(例如,当处于Win8连接的待机状态时),系统可以在延长的持续时间(例如,16小时)内看到非常低(例如,小于5%)的电池降级。在Win8空闲状态下,可以实现超过例如9小时的电池寿命(例如,以150nit)。关于视频回放,可以实现长的电池寿命,例如,全HD视频回放可以在最少6小时内发生。一个实现方式中的平台可以具有例如35瓦特小时(Whr)的能量容量用于使用SSD的Win8 CS和(例如)40-44Whr用于使用具有RST高速缓存配置的HDD的Win8 CS。

特定实现方式可以提供对15W标称CPU热设计功率(TDP)的支持,具有高达大约25WTDP设计点的可配置CPU TDP。由于上面描述的热特征,该平台可以包括最小的通风口。另外,该平台是枕垫友好的(因为没有热空气吹向用户)。取决于机箱材料可以实现不同的最高温度点。在塑料机箱的一种实现方式中(至少必须具有塑料的盖板或基部),最大操作温度可以是52摄氏度(C)。并且对于金属机箱的实现方式,最高操作温度可以是46℃。

在不同的实现方式中,诸如TPM的安全性模块可以集成到处理器中,或者可以是诸如TPM 2.0设备之类的分立设备。利用集成的安全性模块(也称为平台信任技术(PTT)),可以使能BIOS/固件以针对特定安全性特征公开特定硬件特征,包括安全指令、安全启动、

虽然已经关于有限数量的实施例描述了本发明,但是本领域技术人员将从中意识到许多修改和变型。所附权利要求旨在覆盖落入本发明的真实精神和范围内的所有这些修改和变型。

设计可以经历从创建到模拟到制造的各种阶段。表示设计的数据可以以多种方式来表示设计。首先,如在模拟中有用的,可以使用硬件描述语言或另一种功能描述语言来表示硬件。另外,可以在设计过程的某些阶段产生具有逻辑和/或晶体管栅极的电路级模型。此外,大多数设计在某个阶段达到表示硬件模型中各种设备的物理放置的数据级别。在使用常规半导体制造技术的情况下,表示硬件模型的数据可以是指定用于产生集成电路的掩模在不同掩模层上存在或不存在各种特征的数据。在设计的任何表示中,数据可以以任何形式的机器可读介质存储。诸如盘的存储器或者磁或光存储装置可以是机器可读介质,用于存储经由被调制或以其他方式生成以传输这样的信息的光波或电波传输的信息。当传输指示或携带代码或设计的电载波时,在执行对电信号的复制、缓冲或重传的程度上,做出新的副本。因此,通信提供商或网络提供商可以至少临时地在有形的机器可读介质上存储物品(例如,编码成载波、体现本发明的实施例的技术的信息)。

如本文使用的模块指硬件、软件和/或固件的任何组合。作为示例,模块包括与非暂时性介质相关联的硬件,例如,微控制器,用于存储适于由微控制器执行的代码。因此,在一个实施例中,对模块的引用是指特别地配置为识别和/或执行要保留在非暂时性介质上的代码的硬件。此外,在另一实施例中,模块的使用是指包括代码的非暂时性介质,该代码特别适于由微控制器执行以执行预确定的操作。并且如可以推断的,在又一实施例中,术语模块(在该示例中)可以指微控制器和非暂时性介质的组合。经常被示为分离的模块边界通常变化并且潜在地重叠。例如,第一模块和第二模块可以共享硬件、软件、固件或其组合,同时潜在地保留一些独立的硬件、软件或固件。在一个实施例中,术语逻辑的使用包括诸如晶体管、寄存器或其他硬件(例如,可编程逻辑器件)之类的硬件。

在一个实施例中,短语“用于”或“被配置为”的使用是指布置、放置在一起、制造、提供销售、导入和/或设计装置、硬件、逻辑或元件,以执行指定或确定的任务。在该示例中,如果装置或其元件被设计、耦合和/或互连以执行所述指定任务,则未被操作的装置或其元件仍“被配置为”执行指定任务。作为纯粹说明性示例,逻辑门可以在操作期间提供0或1。但是逻辑门“被配置为”向时钟提供使能信号不包括每个潜在逻辑门可以提供1或0。相反,逻辑门是以某种方式耦合的,在操作期间1或0输出用于使能时钟。再次注意,术语“被配置为”的使用不要求操作,而是关注于装置、硬件和/或元件的隐藏状态,其中在隐藏状态下,装置、硬件和/或元件被设计用于在装置、硬件和/或元件操作时执行特定任务。

此外,在一个实施例中,短语“能够/能够用于”和/或“可操作用于”的使用是指一些装置、逻辑、硬件和/或元件以这样的方式设计,以使得能够以指定的方式使用装置、逻辑、硬件和/或元件。注意,如上述在一个实施例中,使用用于、能够用于或可操作用于是指装置、逻辑、硬件和/或元件的隐藏状态,其中装置、逻辑、硬件和/或元件不操作但以这种方式设计为使得能够以特定方式使用装置。

如本文所使用的值包括数字、状态、逻辑状态或二进制逻辑状态的任何已知表示。经常,逻辑电平、逻辑值或逻辑的值的使用也称为1和0的使用,其仅表示二进制逻辑状态。例如,1指代高逻辑电平,并且0指代低逻辑电平。在一个实施例中,诸如晶体管或闪存单元之类的存储单元能够保持单个逻辑值或多个逻辑值。然而,已经在计算机系统中使用值的其他表示。例如,十进制数十也可以表示为二进制值1010和十六进制字母A。因此,值包括在计算机系统中能够保存的信息的任何表示。

此外,状态可以由值或值的部分表示。作为示例,第一值(例如,逻辑一)可以表示默认或初始状态,而第二值(例如,逻辑零)可以表示非默认状态。另外,在一个实施例中,术语复位和置位分别指默认值或状态和更新的值或状态。例如,默认值潜在地包括高逻辑值(即,复位)而更新的值潜在地包括低逻辑值(即,置位)。注意,可以使用值的任何组合来表示任何数量的状态。

上面阐述的方法、硬件、软件、固件或代码的实施例可以经由存储在可由处理元件执行的机器可存取、机器可读、计算机可存取或计算机可读介质上的指令或代码来实现。非暂时性机器可存取/可读介质包括以机器(例如,计算机或电子系统)可读形式提供(即,存储和/或传输)信息的任何机制。例如,非暂时性机器可存取介质包括随机存取存储器(RAM),例如,静态RAM(SRAM)或动态RAM(DRAM);ROM;磁性或光学存储介质;闪速存储器设备;电存储设备;光存储设备;声存储设备;用于保持从暂时性(传播)信号(例如,载波、红外信号、数字信号)接收到的信息的其他形式的存储设备;等等,其区别于可以从其接收信息的非暂时性介质。

用于对逻辑进行编程以执行本发明的实施例的指令可以存储在系统中的存储器(例如,DRAM、高速缓存、闪速存储器或其他存储装置)内。此外,指令可以经由网络或通过其他计算机可读介质的方式来分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,但不限于软盘、光盘、压缩盘只读存储器(CD-ROM)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪速存储器或用于通过互联网经由电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)传输信息的有形的机器可读存储装置。因此,计算机可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的有形的机器可读介质。

本说明书中对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,贯穿本说明书各处出现的短语“在一个实施例中”或“在实施例中”不一定都指代相同的实施例。此外,特定特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。

在前述说明书中,已经参考特定示例性实施例给出了详细描述。然而,显而易见的是,在不脱离如所附权利要求中阐述的本发明的更宽泛的精神和范围的情况下,可以对其进行各种修改和改变。因此,说明书和附图应被视为说明性意义而非限制性意义的。此外,实施例的前述使用和其他示例性语言不一定指代相同的实施例或相同的示例,而是可以指代不同且相异的实施例,以及潜在地相同的实施例。

系统、方法和装置可以包括以下示例中的一个或以下示例的组合:

示例1是一种用于操作上游组件的端口的方法,上游组件跨符合快速外围组件互连(PCIe)的链路连接到一个或多个下游组件,该方法包括:确定下游端口支持一个或多个具有独立扩频计时(SSC)的分离参考时钟(SRIS)模式选择机制;确定从下游端口到对应的上游端口的系统时钟配置,对应的上游端口通过符合PCIe的链路连接到下游端口;在下游端口中设置SRIS模式;以及使用所确定的系统时钟配置跨链路从下游端口发送数据。

示例2可以包括示例1的主题,其中,在下游端口中设置SRIS模式包括至少部分地基于对系统时钟配置的确定来设置SRIS模式。

示例3可以包括示例1或2中任一个的主题,并且还可以包括跨符合PCIe的链路将SRIS模式传送到连接到下游端口的一个或多个上游端口。

示例4可以包括示例3的主题,其中,一个或多个上游端口包括重定时器的伪端口。

示例5可以包括示例1-4中任一个的主题,其中,确定下游端口支持一个或多个SRIS模式选择机制包括确定在链路相关联的寄存器中SRIS模式选择机制比特被置位。

示例6可以包括示例5的主题,其中,链路相关联的寄存器包括链路能力寄存器。

示例7可以包括示例6的主题,其中,在链路能力寄存器中被置位的比特包括被置位以指示存在SRIS模式选择能力的23比特。

示例8可以包括示例5的主题,其中,链路相关联的寄存器包括链路控制寄存器。

示例9可以包括示例8的主题,其中,在链路控制寄存器中被置位的比特包括被置位以指示SRIS模式选择的12比特。

示例10可以包括1-9中任一个的主题,其中,确定系统时钟配置包括使用带外管理接口来确定系统时钟配置,带外管理接口包括系统管理总线。

示例11是一种有形地体现在非暂时性计算机可读介质上的计算机程序产品,计算机程序产品包括指令,该指令在被执行时使得体现在符合快速外围组件互连(PCIe)协议的根端口控制器上的逻辑用于:确定下游端口支持一个或多个具有独立扩频计时(SSC)的分离参考时钟(SRIS)模式选择机制;确定从下游端口到对应的上游端口的系统时钟配置,对应的上游端口通过符合PCIe的链路连接到下游端口;在下游端口中设置SRIS模式;以及使用所确定的系统时钟配置跨链路从下游端口发送数据。

示例12可以包括示例11的主题,其中,在下游端口中设置SRIS模式包括至少部分地基于对系统时钟配置的确定来设置SRIS模式。

示例13可以包括示例11-12中任一个的主题,该指令用于跨符合PCIe的链路将SRIS模式传送到连接到下游端口的一个或多个上游端口。

示例14可以包括示例13的主题,其中,一个或多个上游端口包括重定时器的伪端口。

示例15可以包括示例11-14中任一项的主题,其中,确定下游端口支持一个或多个SRIS模式选择机制包括确定在链路相关联的寄存器中SRIS模式选择机制比特被置位。

示例16可以包括示例15的主题,其中,链路相关联的寄存器包括链路能力寄存器。

示例17可以包括示例16的主题,其中,在链路能力寄存器中被置位的比特包括被置位以指示存在SRIS模式选择能力的23比特。

示例18可以包括示例11-17的主题,其中,链路相关联的寄存器包括链路控制寄存器。

示例19可以包括示例18的主题,其中,在链路控制寄存器中被置位的比特包括被置位以指示SRIS模式选择的12比特。

示例20可以包括示例11-19的主题,其中,确定系统时钟配置包括使用带外管理接口来确定系统时钟配置,带外管理接口包括系统管理总线。

示例21是一种计算系统,包括:根端口控制器,其符合快速外围组件互连(PCIe)协议,根端口控制器包括下游端口;下游端口包括至少部分地以硬件实现的逻辑,逻辑用于:确定下游端口支持一个或多个具有独立扩频计时(SSC)的分离参考时钟(SRIS)模式选择机制;确定从下游端口到对应的上游端口的系统时钟配置,对应的上游端口通过符合PCIe的链路连接到下游端口;在下游端口中设置SRIS模式;以及使用所确定的系统时钟配置跨链路从下游端口发送数据。

示例22可以包括示例21的主题,其中,在下游端口中设置SRIS模式包括至少部分地基于对系统时钟配置的确定来设置SRIS模式。

示例23可以包括示例21-22的主题,该指令用于跨符合PCIe的链路将SRIS模式传送到连接到下游端口的一个或多个上游端口。

示例24可以包括示例23的主题,其中,一个或多个上游端口包括重定时器的伪端口。

示例25可以包括示例21-24中任一个的主题,其中,确定下游端口支持一个或多个SRIS模式选择机制包括确定在链路相关联的寄存器中SRIS模式选择机制比特被置位。

示例26可以包括示例25的主题,其中,链路相关联的寄存器包括链路能力寄存器。

示例27可以包括示例26的主题,其中,在链路能力寄存器中被置位的比特包括被置位以指示存在SRIS模式选择能力的23比特。

示例28可以包括示例21-27中任一项的主题,其中,链路相关联的寄存器包括链路控制寄存器。

示例29可以包括示例28的主题,其中,在链路控制寄存器中被置位的比特包括被置位以指示SRIS模式选择的12比特。

示例30可以包括示例21-29中任一项的主题,其中,确定系统时钟配置包括使用带外管理接口来确定系统时钟配置,带外管理接口包括系统管理总线。

相关技术
  • 针对PCIE进行SRIS模式选择的系统、方法和装置
  • 针对PCIE进行SRIS模式选择的系统、方法和装置
技术分类

06120112481403