CN111666234A - 用于多通道链路的部分链路宽度状态 - Google Patents

用于多通道链路的部分链路宽度状态 Download PDF

Info

Publication number
CN111666234A
CN111666234A CN202010138132.6A CN202010138132A CN111666234A CN 111666234 A CN111666234 A CN 111666234A CN 202010138132 A CN202010138132 A CN 202010138132A CN 111666234 A CN111666234 A CN 111666234A
Authority
CN
China
Prior art keywords
link
lanes
link width
transmitting
port
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.)
Pending
Application number
CN202010138132.6A
Other languages
English (en)
Inventor
D·达斯夏尔马
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to CN202011569938.7A priority Critical patent/CN112540940A/zh
Publication of CN111666234A publication Critical patent/CN111666234A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

系统和设备可以包括上游端口、下游端口以及将上游端口连接到下游端口的多通道链路,该多通道链路包括第一链路宽度。上游端口或下游端口可以被配置为确定下游端口用于使用第二链路宽度来操作,第二链路宽度小于第一链路宽度;在多通道链路的一个或多个通道上将针对第一链路宽度的最后数据块的指示发送到上游端口;使第一组通道进入空闲状态;以及在第二组通道上发送数据,第二组通道限定第二链路宽度。

Description

用于多通道链路的部分链路宽度状态
背景技术
互连可用于提供系统内不同设备之间的通信,使用某种类型的互连机制。用于计算机系统中的设备之间的通信互连的一种典型的通信协议是快速外围组件互连(快速PCITM(PCIeTM))通信协议。该通信协议是加载/存储输入/输出(I/O)互连系统的一个示例。设备之间的通信通常根据此协议以很高的速度串行执行。
设备可以跨各种数量的数据链路连接,每个数据链路包括多个数据通道。上游设备和下游设备在初始化时进行链路训练,以优化跨各种链路和通道的数据传输。
附图说明
图1示出了根据本公开的实施例的包括多核处理器的计算系统的框图的实施例。
图2A-图2B是根据本公开的实施例的包括一个或多个重定时器的示例链路的简化框图。
图3是示出了根据本公开的实施例的包括部分L0(PL0)状态的示例链路训练状态机的示意图。
图4是示出了根据本公开的实施例的用于交换包括响应和宽度信息的部分L0状态请求的示例标记的示意图。
图5A是根据本公开的实施例的用于提示和协商链路宽度减小配置的过程流程图。
图5B是示出了根据本公开的实施例的在接收到PL0请求标记时链路伙伴动作的过程流程图。
图5C是根据本公开的实施例的用于协商链路宽度增大配置的过程流程图。
图5D是示出了根据本公开的实施例的用于协商链路宽度重新配置的各种实施例的泳道图。
图6示出了包括互连架构的计算系统的实施例。
图7示出了包括分层堆栈的互连架构的实施例。
图8示出了在互连架构内要生成或接收的请求或分组的实施例。
图9示出了用于互连架构的发射器和接收机对的实施例。
图10示出了包括处理器的计算系统的框图的另一实施例。
图11示出了包括多个处理器插槽的计算系统的框的实施例。
具体实施方式
在以下描述中,阐述了许多特定细节,例如特定类型的处理器和系统配置、特定硬件结构、特定架构和微架构细节、特定寄存器配置、特定指令类型、特定系统组件、特定测量/高度、具体的处理器流水线级和操作等,以便提供对本公开的透彻理解。然而,对于本领域的技术人员将显而易见的是,不需要采用这些具体细节来实践本公开。在其他实例中,众所周知的组件或方法,例如特定和替代的处理器架构、所描述算法的特定逻辑电路/代码、特定固件代码、特定互连操作、特定逻辑配置、特定制造技术和材料、特定编译器实现,代码中特定算法的表达、特定的掉电和门控技术/逻辑以及计算机系统的其他特定的操作细节为了避免不必要地使本公开不清楚,没有详细描述。
尽管以下实施例可以参考诸如在计算平台或微处理器中的特定集成电路中的能量节省和能量效率来描述,但是其他实施例可应用于其他类型的集成电路和逻辑设备。本文描述的实施例的类似技术和教导可以应用于也可以受益于更好的能量效率和能量节省的其他类型的电路或半导体器件。例如,公开的实施例不限于桌面型计算机系统或Ultrabooks TM。并且还可以用在其他设备中,例如手持设备、平板计算机,其他轻薄笔记本计算机、片上系统(SOC)设备和嵌入式应用。手持设备的一些示例包括蜂窝电话、互联网协议设备、数码相机、个人数字助理(PDA)和手持PC。嵌入式应用通常包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机或可以执行下面介绍的功能和操作的任何其他系统。此外,本文所述的装置、方法和系统不限于物理计算设备,而是还可以涉及用于节能和效率的软件优化。如在下面的描述中将显而易见的,本文描述的方法、装置和系统的实施例(无论是参考硬件,固件,软件还是它们的组合)对于平衡性能的“绿色技术”未来至关重要。
随着计算系统的发展,其中的组件变得越来越复杂。结果,用于在组件之间耦合和通信的互连架构的复杂度也在增加,以确保满足带宽要求以实现最佳的组件操作。此外,不同的细分市场需要互连架构的不同方面,以满足市场的需求。例如,服务器需要更高的性能,而移动生态系统有时可以牺牲整体性能来节省功耗。然而,大多数结构的唯一目的是提供最大可能的性能并最大程度地节省功率。以下,讨论了许多互连,其将潜在地受益于本文描述的本公开的方面。
参考图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中的重排序缓冲器、ILTB120、加载/存储缓冲器和队列。其他资源(例如通用内部寄存器、页表基址寄存器、低级数据高速缓存和数据TLB 115、执行单元140和乱序单元135的某些部分)可能完全共享。
处理器100通常包括其他资源,这些资源可以被完全共享,通过分区共享,或由处理元件专用/专用于处理元件。在图1中,示出了具有处理器的说明性逻辑单元/资源的纯示例性处理器的实施例。注意,处理器可以包括或省略这些功能单元中的任何一个,以及包括任何其他未示出的已知功能单元、逻辑或固件。如图所示,核101包括简化的、代表性的乱序(OOO)处理器核。但是在不同的实施例中可以使用有序处理器。OOO核包括:分支目标缓冲器120,用于预测要执行/采用的分支;以及指令转换缓冲器(I-TLB)120,用于存储指令的地址转换条目。
核101还包括耦合到获取单元120以解码获取的元素的解码模块125。在一个实施例中,获取逻辑包括分别与线程槽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外部的计算系统中。在此情况下,片上接口11用于与处理器100外部的设备进行通信,所述处理器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)后端,即通常进行分析、转换、优化和代码生成。一些编译器引用中间语言,该中间语言说明了编译器的前端和后端之间的轮廓模糊。结果,对编译器的插入、关联、生成或其他操作的引用可以发生在编译器的任何上述阶段或过程以及任何其他已知阶段或过程中。作为说明性示例,编译器可能在一个或多个编译阶段插入操作、调用、函数等,例如在编译的前端阶段插入调用/操作,然后在转换阶段期间将调用/操作转换为低级代码。注意,在动态编译期间,编译器代码或动态优化代码可能会插入此类操作/调用,并优化代码以在运行时期间执行。作为特定的说明性示例,可以在运行时期间动态地优化二进制代码(已编译的代码)。在此,程序代码可以包括动态优化代码、二进制代码或其组合。
下面的详细描述参考附图。在不同的附图中可以使用相同的附图标记来标识相同或相似的元件。在下面的描述中,出于解释而非限制的目的,阐述了具体细节,例如特定的结构、架构、接口、技术等,以便提供对各个实施例的各个方面的透彻理解。然而,受益于本公开的本领域技术人员将显而易见的是,可以在脱离这些具体细节的其他示例中实践各种实施例的各个方面。在某些实例中,省略了众所周知的设备、电路和方法的描述,以免不必要的细节使各个实施例的描述不清楚。
对于多通道链路,例如基于PCIe的链路,即使在热设计电源使用情况下,平均I/O链路利用率也通常小于50%。动态链路宽度(DLW)调整(也称为链路宽度上配置/下配置)(链路从L0到恢复到配置再到L0)可用于解决低于最佳链路宽度利用率的问题。但是,当链路不可用于交换事务时,DLW调整可能会花费几微秒(通常在高个位数到低个两位数),这表示该链路处于L0状态时的延迟增加了几个数量级。这样的延迟实际上阻止了广泛使用DLW调整机制,因为如果在向上/向下链路宽度配置期间捕获事务,则DLW调整可能会引入过多的延迟,从而导致更高的功耗。
本公开描述了一种机制,该机制允许链路部分处于活动状态(例如,进入部分L0(PL0)子状态),并允许事务在某些通道上进行,而其他通道正在执行电空闲进入(链路宽度下配置)或退出(链路宽度上配置)。PL0子状态可提供深度功率节省,而L1功率节省状态可在空闲的通道上提供。PL0子状态在转换为低功率链路状态或从低功率链路状态转换时可以实现低延迟,这使得PL0子状态被迫积极部署。通过在减小的带宽周期内从I/O夺走功率(或通过匹配实际消耗带宽),这种积极的部署将有助于向其他实体(例如,核)动态分配功率。
本公开描述了一种用于诸如PCIe(如下面的图2A-图2B所示)之类的多通道串行互连中功率节省的机制,其使得功率消耗与带宽消耗成比例,而不会引起链路中断时间。
图2A-图2B是根据本公开的实施例的包括一个或多个重定时器的示例链路的简化框图。包含一个或多个重定时器的链路可以形成两个或多个单独的电气子链路,其数据速率与采用类似协议但没有重定时器的链路所实现的数据速率相当。例如,包含单个重定时器的链路可以与两个单独的子链路形成链路,每个子链路以8.0GT/s或更高来操作。图2A-图2B示出了包括一个或多个重定时器的示例链路的简化框图200a-200b。例如,在图2中,将第一组件205(例如,上游组件,例如根联合体或端口交换机)连接到第二组件210(例如,下游组件)的链路225可以包括单个重定时器215a。第一子链路220a可以将第一组件205连接到重定时器215a,而第二子链路220b可以将重定时器215a连接到第二组件。
在一些实现中,诸如PCIe兼容的链路之类的链路可以包括一个或多个重定时器或诸如转发器之类的其他扩展设备。重定时器设备(或简称为“重定时器”)可以包括有源电子设备,该有源电子设备接收并重新发送(重定时)数字I/O信号。重定时器可用于扩展可与数字I/O总线一起使用的通道的长度。重定时器可以是协议感知的、软件透明的,并且能够执行链路均衡过程,例如PCIe的链路均衡过程。
如图2B所示,可以利用多个重定时器245a、245b来扩展链路255。可以通过两个重定时器245a、245b来定义三个子链路250a-c,其中第一子链路250a将第一组件235连接至第一重定时器245a,第二子链路250b将第一重定时器245a连接到第二重定时器245b,而第三子链路255c将第二重定时器245b连接到第二组件240。
重定时器(缓冲器)设备的主要功能是信号重定时。如图所示,这些功能由重定时器电路模块506(每个方向一个块)执行。特定的重定时器设备电路将取决于用于链路的PHY。通常,重定时器电路被配置为恢复输入信号并使用本地时钟和新的发射均衡电路进行重发,并且为此通常可以采用公知的电路,例如锁相环。重定时器可以进一步包括发射机和接收机电路,该发射机和接收机电路包括一个或多个放大器电路,以及用于增加接收信号的驱动电平的各种类型的公知的信号调节电路。这样的重定时器电路对于高速互连领域的技术人员是众所周知的,因此,这里没有示出或讨论进一步的细节。
每个重定时器215、245a、245b可以具有上游路径和下游路径。在一些实现中,重定时器可以包括两个伪端口,并且伪端口可以动态地确定它们各自的下游/上游定向。此外,重定时器215、245a、245b可以支持包括转发模式和执行模式的操作模式。在一些实例中,重定时器215、245a、245b可以解码在子链路上接收到的数据,并对在其另一子链路上向下游转发的数据进行重新编码。这样,重定时器可以在将比特流重新生成并重新发送到另一设备甚至另一重定时器(或重驱动器或转发器)之前捕获接收到的比特流。在某些情况下,重定时器可以修改其接收的数据中的某些值,例如在处理和转发有序集数据时。另外,重定时器可以潜在地支持任何宽度选项作为其最大宽度,例如由规范(例如PCIe)定义的一组宽度选项。
随着串行互连(例如PCIe、UPI、USB等)的数据速率提高,越来越多地使用重定时器来扩展信道到达。多个重定时器可以级联,以达到更长的信道到达。可以预期,随着信号速度的增加,一般而言,信道到达通常会减少。因此,随着互连技术的加速,重定时器的使用可能变得更加普遍。作为示例,由于采用PCIe Gen-4的速度为16GT/s,而支持PCIe Gen-3的速度为8GT/s,因此在PCIe互连中重新定时器的使用可能会增加,随着速度的提高,在其他情况下可能会如此。
在一种实现中,可以针对基于快速PCI Gen-4(16GT/s)的重定时器定义通用的BGA(球栅阵列)封装。这样的设计至少可以解决传统PCIe Gen-3(8GT/s)重定时器设备中发现的一些示例缺陷,以及采用PCIe Gen-4时出现的一些问题。此外,对于PCIe Gen-4,重定时器供应商的数量和容量有望增加。由于双倍数据速率(从8GT/s到16GT/s)的信号损耗,可实现的互连长度在Gen-4中大大缩短。在这种和其他示例互连技术中,随着数据速率的增加,重定时器可以因此具有更大的效用,因为它们可以用于显著增加信道长度,否则信道长度将受到增加的数据率的限制。
尽管示出为与上游部件和下游部件是分开的,但是重定时器可以是上游部件或下游部件的一部分,与上游或下游部件一起在板上或与下游部件一起在封装上。
在某些实例中,上游组件205和下游组件210可以直接连接,而在两个组件205、210之间的链路上不设置重定时器、重驱动器或转发器。在其他实例中,重定时器(例如215)可以被提供以延伸连接上游部件205和下游部件210的链路,如图2A所示。在其他实现中,可以串联提供两个或更多个重定时器(例如245a、245b)以进一步扩展连接上游组件235和下游组件240的链路。例如,特定的互连技术或协议可以指定最大信道长度,并且可以提供一个或多个重定时器(例如245a、245b)以扩展连接两个设备235和240的通道的物理长度。例如,在上游组件235和下游组件240之间提供重定时器245a、245b可以允许链路是没有这些重定时器(例如245a、245b)的针对链路的最大长度是的三倍,以及在其他示例实现。
在实施例中,可以在诸如PCIe的串行互连中实现用于功率节省的机制,这使得功耗可以与带宽消耗成比例,而不会引起链路中断时间。图2A-图2B示出了可以实现本文所述机制的典型的基于PCIe的系统。上游组件205或235(例如,CPU)的下游端口(DSP)连接到下游组件210或240(例如,网卡、存储或加速器)的上游端口(USP),并且在某些实现中,通过一个或多个重定时器215、245a、245b来实现。USP和DSP控制链路宽度,并且重定时器遵循USP或DSP的引导。重定时器被配置理解交换的标记并理解通道如何变化。
转向图3的图300,示出了示例链路训练状态机,例如PCIe链路训练和状况状态机(LTSSM)。图3是示出了根据本公开的实施例的包括部分L0(PL0)状态的示例性链路训练状态机300的示意图。对于利用根据特定协议的PHY来支持多个替代协议(即,在PHY之上运行)的系统,可以定义有序集,该有序集将在与链路的两个或多个设备之间与链路的训练相关地进行通信。例如,可以发送训练集(TS)有序集(OS)。在利用PCIe作为PHY协议的实现中,除了其他示例性有序集之外,TS有序集可以包括TS1和TS2有序集。在链路训练期间发送的有序集和训练序列可以基于特定的链路训练状态,其中各种链路训练状态用于完成相对应的链路训练活动和目标。
链路训练状态机300可以示出表示多通道链路的各种状态(例如基于PCIe协议的状态)的链路训练和状态状态机(LTSSM)。在一个示例中,例如图3中所示,链路训练状态机300可以包括如下状态,诸如复位状态、检测状态(例如,以检测远端终端(例如,连接至通道的另一设备))、轮询状态(例如,以建立符号锁定和配置通道极性)、配置(或“配置”)状态(例如,将连接的物理通道配置为具有特定通道宽度、通道编号等的链路、执行通道到通道的去偏斜和其他链路配置活动)、环回状态(例如,执行测试、故障隔离、均衡和其他任务)、恢复状态(例如,用于改变操作的数据速率、重新建立位锁定、符号锁定或块对齐、执行通道到通道去偏斜等其他状态),这些状态可用于使链路进入活动链路状态(例如L0 304)。LTSSM 300还示出了各种功率状态:完全活动状态(L0 304)、电空闲或待机状态(L0 306)、L1(低功率待机/休眠状态308)、L2(低功率睡眠状态310)和L3(链路关闭状态)。LTSSM 300还示出了部分L0(PL0)状态302,其是本文所述的子状态。
在一个示例中,可以定义特定的一个或多个链路训练状态中发送的训练序列以适应特定设备的支持的协议中的特定一个协议的协商。例如,特定训练状态可以是进入活动链路状态之前的训练状态,或者可以是数据速率可以被提升(例如,超出所支持的协议中的至少一个所支持的速率)的训练状态,例如,如下PCIe状态,其中,数据速率从Gen1速度转换为Gen3或更高速度,以及其他示例。例如,在图3所示的示例实现中,可以利用和扩展配置状态(例如312)以允许与在训练状态中本机定义的链路训练活动(例如,通道宽度确定、通道编号、偏斜校正、均衡等)并行地协商多个协议中的特定一个协议。例如,可以为训练状态定义特定的训练序列,并且可以扩展这些训练序列以允许信息被传递(例如,在一个或多个字段或有序集合的符号中)以识别链路上的每个设备是否支持多个协议(例如,除了物理层的协议栈之外的至少一个协议栈和相对应的链路训练状态机),标识每个设备支持的特定协议,并同意在特定PHY上采用的一个或多个协议(例如,通过(通过在链路上(在上游和下游两个方向上)传输这些训练序列来完成的握手)。
在一个示例中,PCIe物理层可以用于支持多种不同的协议。因此,PCIe LTSSM中的特定训练状态可以用于链路上的设备之间的协议的协商。如上所述,即使在链路以最低支持的数据速率(例如,PCIe Gen 1数据速率)训练到活动状态(例如,L0 304)之前,也可能发生协议确定。在一示例中,可以使用PCIe Config状态。实际上,可以在链路宽度协商之后并且(至少部分地)与在Config状态期间执行的通道编号并行地使用修改的PCIe训练集(例如,TS1和TS2)来使用PCIe LTSSM来协商协议。
为了支持此处描述的链路宽度调整机制,PCIe LTSSM利用称为PL0302的新状态进行增强。当一侧打算以比协商到L0 304的最大配置的宽度更窄的宽度操作链路时,从L0304进入此状态。在这种新状态下,链路以与L0 304中相同的方式继续,但在更窄的宽度上,而其余通道处于电空闲(EI)中,类似于L1 308。如果仅与处于空闲状态(EI)的通道关联的PLL(锁相环),也可以将其关闭。在PL0状态下,可以向EI添加更多通道,并且也可以导通EI中的一些通道。如果链路以最大配置的链路宽度操作,则LTSSM进入状态L0 304。如果PL0中的链路上行配置工作超时,则链路进入恢复,它将导通所有通道。
作为示例,多通道链路可以包括16条通道。在某个时刻,可以激活4个通道(0–3),而12个通道处于低功耗或睡眠模式。如果系统要增加4条附加通道,则重新训练4条通道。然后,当通道0-3中断时,会向所有8通道发送分组或标记,以使所有8条通道的行为相同。也可以将8条通道向下配置为返回4条通道。
通过特殊的PL0标记来协商从L0或PL0的链路宽度向下配置,该特殊的PL0标记可以类似于EDS(结束数据流)标记,并且在图4中示出。图4是示出了根据本公开的实施例的用于交换包括响应和宽度信息的部分L0状态请求的示例标记400的示意图。此标记的长度为1DW(一个双字),并使用STP编码,长度字段为1,类似于EDS。但是,PL0标记在位[31:20]中使用不同的值,如图4所示。这些位字段指示协商的不同阶段和所需的宽度,如图4所示。示例位值如图4所示,但是其他配置也是可能的:
Figure BDA0002398058590000131
Figure BDA0002398058590000141
图5A–图5B描述了链路宽度减小配置的过程。图5A是根据本公开的实施例的用于提示和协商链路宽度减小配置的过程流程图500。当链路在L0或PL0中运行时,端口可以确定从L0到PL0的向下配置或从PL0到PL0中的较低链路宽度的向下配置(502)。打算缩小链路尺寸的端口在一个或多个活动通道上将PL0请求标记发送到链路伙伴(504)。端口等待响应(ACK或NAK)(506)。如果接收到PL0 NAK响应或链路进入恢复状态L0或L1,则将PL0请求压缩(508)。即,所请求的向下配置已被链路伙伴拒绝,并且请求过程结束。
如果端口从链路伙伴接收到PL0 Ack响应,则链路可以减小宽度。链路两侧的端口会等到下一个调度的(控制)SKP OS(SKiP有序集)。在当前数据流的最后一个DW中,端口将发送“来自下一块的PL0”标记,而不是用于表示数据流的结束的EDS标记(510)。然后,端口在将保持活动状态的通道上发送控制或SKP OS,并在将进入电气空闲(EI)的通道上发送电气空闲有序集(EIOS)(512)。
“来自下一块的PL0”标记表示当前数据流的结尾以及减小的宽度,如标记中的字段[24:20]所编码的(如上图4所示)。暗示地,“来自下一个块的PL0”还指示使用当前链路宽度的最后数据块。因此,无需停机即可向下配置链路宽度。一种变化可以是调度“来自下一个块的PL0”标记,而不等待(控制)SKP有序集边界,并继续来自以下块的新宽度,同时在需要进入EI的通道上发送EIOS。
在发送完最后一个控制/SKP OS之后,活动通道可用于发送数据流;而不活动通道则进入EI(514)。链路伙伴完成相反方向的向下配置后,LTSSM处于PL0中(516)。
图5B是示出了根据本公开的实施例的在接收到PL0请求标记时链路伙伴动作的过程流程图520。链路伙伴在这里可以称为端口。该端口可以接收PL0请求标记(522)。端口可以将响应发送回链路伙伴,例如ACK或NAK(524)。对于此示例,假定端口发送了ACK,从而允许该过程继续进行。端口可以在数据块的最后一个DW中发送带有“来自下一个块的PL0”的PL0标记(526)。然后,端口在将保持活动状态的通道上发送控制或SKP OS,并在将发送至电气空闲(EI)的通道上发送电气空闲有序集(EIOS)(528)。
在发送完最后一个控制/SKP OS后,活动通道可用于发送数据流;而不活动通道则进入EI(530)。在链路伙伴完成相反方向的向下配置(532)后,LTSSM处于PL0中。
图5C是根据本公开的实施例的用于协商链路宽度增大配置的过程流程图540。任何链路伙伴都可以请求链路宽度上配置,无论谁发起了向下配置请求。图5C示出了该过程。要重新激活的通道经过恢复样式的握手(唤醒通道、获取位锁定、块对齐、稳定通道等),而正常业务流继续在活动通道上进行。一旦重新激活的通道准备好被激活,端口就独立等待(控制)SKP OS边界,在当前要激活的通道上发送调度的(控制)SKP OS,然后在通道上发送(开始数据流)SDS OS,SDS OS用于在所有通道(先前处于活动状态+最近重新激活的通道)上去偏移。事务仅在此附加的SDS OS上停止,对于32G链路,它小于5ns。一旦发送端和接收端都被完全上配置,则该上配置过程被视为由端口完成。完成后,如果链路以最大配置宽度操作,则LTSSM从L0 L1p状态转换为L0。
翻开流程图,在外部,端口可以用于向上配置(例如,从PL0到L0的转换,在PL0内的增大或中断在PL0中的某些通道上的空闲)(542)。该端口可以在将变为活动状态的空闲通道上发送EIEOS(544)。活动通道继续发送数据或SKP OS。然后,端口可以在空闲通道上发送TS1 OS,该空闲通道将在将变为活动的通道上每隔32个TS1 OS和SKP OS随EIEOS变为活动(546)。
端口在将变为活动的所有空闲通道上接收8个连续的TS1或TS2 OS(548),端口可以在空闲通道上发送TS2 OS,该空闲通道将在将变为活动的所有通道上每隔32个TS1 OS和SKP OS随EIEOS变为活动(550)(该步骤可以称为(A))。当端口在将变为活动的所有空闲通道上接收到一个TS2之后(552),接收到8个连续的TS2 OS并发送了16个TS2 OS之后,端口可以重复(A),直到活动通道发送用于SKP OS的EDS为止;然后,端口可以在所有活动通道(554)上发送SKP OS和SDS(对于TX通道)。在当前活动通道上的EDS和所有通道上的SKP都变为活动之后,端口也可以对新活动通道进行去偏移(556)。如果所有通道均处于活动,则LTSSM状态为L0。否则,LTSSM状态为PL0。
超时可用于退出转换。例如,如果经过24毫秒(+/-2毫秒)却没有接收到8个连续的TS1或TS2 OS,则端口可以退出PL0上配置,并返回到其处于的PL0状态;然后,在一段时间(例如4毫秒)后,将所有通道返回到恢复(558、560)。
图5D是示出了根据本公开的实施例的用于协商链路宽度重新配置的各种实施例的泳道图570。由于链路伙伴取消请求,以链路宽度下配置的第一次尝试失败。由于链路在下配置完成之前进入恢复,因此第二次尝试失败。第三次尝试成功:双方几乎同时发出了请求。因此,DSP请求将其向下配置为x4标准(stand),USP Ack和链路以x4宽度操作,而LTSSM进入L0 L1p状态。此后,由USP发起的将链路取为x8的向上配置请求成功,并且链路以x8宽度结束,同时仍处于L0 L1p状态。
前两个示例示出了不成功的链路宽度调整。首先,x16链路在L0中操作。在572,DSP将PL0请求标记发送到USP,以从x16 L0转换为x8 PL0。USP用NAK响应,这结束该请求。同样,在574中,DSP发送PL0请求标记以从x16 L0转换为x8 PL0,但是USP进入恢复,这也终止了该请求。如果链路宽度下配置请求尚未完成时,链路从L0进入恢复或低功耗状态,则整个过程将被压缩。
在576中,两个链路伙伴都发送下配置请求,双方有可能在没有收到链路伙伴的标记的情况下独立发送PL0请求标记。这里,DSP请求从x16 L0到x4 PL0的下配置,而USP请求从x16 L0到x2 PL0的转换。DSP的请求胜出,USP必须做出响应(例如,此处USP以ACK进行响应),而DSP则忽略了USP的请求。USP和DSP将分别从下一个块编码发送PL0,然后在较高的12通道上发送EIOS,在较低的4通道上发送控制或SKP OS,在通道4-15上发送EI,在通道0-3上发送数据。
在578中,端口打算从x4 PL0到x8 PL0的上配置。两个端口均执行以下操作:
1)EIEOS在通道4-7上发送,然后在通道4-7上发送TS1以进行链路训练。正常业务员在通道0-3上发送,EI在通道8-15(保持空闲)上发送。
2)TS2(带有EIEOS)在通道4-7上发送,以指示链路就绪,在通道0-3上发送的正常业务以及在通道8-15上发送EI。
3)通道0-3上的EDS表示该数据流的结尾。TS2位于4-7通道,EI位于8-15。
4)在所有活动通道0-7上的SKOS、SDS和数据流,同时在8-15上继续执行EI。
参考图6,示出了由互连一组组件的点对点链路组成的结构的实施例。系统600包括处理器605和耦合到控制器集线器615的系统存储器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、监视器、打印机、鼠标、键盘、路由器、便携式存储设备、火线设备、通用串行总线(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是PCIe协议栈,其包括事务层705、链路层710和物理层720。接口,诸如图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层次结构内的请求者代理。因此,本地事务标识符808字段与源ID 810一起提供了层次结构域内的事务的全局标识。
属性字段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负责物理层721的“数字”功能。在这一点上,逻辑子块包括准备用于物理子块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代表基于可从加利福尼亚州圣克拉拉的英特尔公司获得的PENTIUM IIITM、PENTIUM 4TM、XeonTM、Itanium、XScaleTM和/或StrongARMTM微处理器的处理系统,但是可以使用其他系统(包括具有其他微处理器的PC、工程工作站、机顶盒等)。在一个实施例中,示例系统1000执行可从华盛顿州雷德蒙德的微软公司获得的WINDOWS TM操作系统的版本,但是也可以使用其他操作系统(例如,UNIX和Linux),嵌入式软件和/或图形用户界面。因此,本公开的实施例不限于硬件电路和软件的任何特定组合。
实施例不限于计算机系统。本公开的替代实施例可以用在其他设备中,例如手持设备和嵌入式应用。手持设备的一些示例包括蜂窝电话、互联网协议设备、数码相机、个人数字助理(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包括一级(L1)内部高速缓冲存储器1004。取决于架构,处理器1002可以具有单个内部高速缓冲存储器或多级内部高速缓冲存储器。其他实施例包括取决于特定实现和需求的内部和外部高速缓存两者的组合。寄存器文件1006用于将各种类型的数据存储在各种寄存器中,包括整数寄存器、浮点寄存器、向量寄存器、存储体寄存器、影子寄存器、检查点寄存器、状态寄存器和指令指针寄存器。
执行单元1008,包括执行整数和浮点运算的逻辑,也位于处理器1002中。在一个实施例中,处理器1002包括微码(代码)ROM,用于存储微码,当执行时,该微码将执行某些宏指令或处理复杂场景的算法。此处,微码可能是可更新的,以处理处理器1002的逻辑错误/修复。对于一个实施例,执行单元1008包括用于处理封装的指令集1009的逻辑。通过将封装的指令集1009包括在通用处理器的指令集中1002,连同与执行指令的相关联的电路,可以使用通用处理器1002中的封装数据来执行许多多媒体应用所使用的操作。因此,通过使用用于对封装的数据执行操作处理器的数据总线的全宽度来加速和更有效地执行许多多媒体应用。这潜在地消除了在处理器的数据总线上传输较小数据单位来执行一个或多个操作(一次一个数据元素)的需要。
执行单元1008的替代实施例也可以用在微控制器、嵌入式处理器、图形设备、DSP和其他类型的逻辑电路中。系统1000包括存储器1020。存储器1020包括动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存设备或其他存储设备。存储器1020存储将由处理器1002执行的数据信号表示的指令和/或数据。
注意,本公开的任何前述特征或方面可以在图10所示的一个或多个互连上使用。例如,用于耦合处理器1002的内部单元的管芯上互连(ODI)(未示出)实现了上述公开的一个或多个方面。或本公开与如下相关联:处理器总线1010(例如,英特尔快速路径互连(QPI)或其他已知的高性能计算互连)、到存储器1020的高带宽存储器路径1018、到图形加速器1012的点对点链路(例如,快速外围组件互连(PCIe)兼容结构)、控制器集线器互连1022、I/O或用于耦合其他所示组件的其他互连(例如USB、PCI、PCIe)。这样的组件的一些示例包括音频控制器1036、固件集线器(闪存BIOS)1028、无线收发器1026、数据存储1024、包含用户输入和键盘接口1042的传统I/O控制器1010、串行扩展端口1038(例如通用串行总线(USB)和网络控制器1034。数据存储设备1024可以包括硬盘驱动器、软盘驱动器、CD-ROM设备、闪存设备或其他大容量存储设备。
现在参考图11,示出了根据本公开的实施例的第二系统1100的框图。如图11所示,多处理器系统1100是点对点互连系统,并且包括经由点对点互连1150耦合的第一处理器1170和第二处理器1180。处理器1170和1180中的每一个可以是处理器的某些版本。在一个实施例中,1152和1154是串行、点对点相干互连结构(例如英特尔的快速路径互连(QPI)架构)的一部分。结果,可以在QPI架构内实现本公开。
虽然仅示出了两个处理器1170、1180,但是应当理解,本公开的范围不限于此。在其他实施例中,在给定处理器中可以存在一个或多个附加处理器。
示出了分别包括集成存储器控制器单元1172和1182的处理器1170和1180。处理器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连同将第一总线1116耦合到第二总线1120的总线桥1118耦合到第一总线1116。在一个实施例中,第二总线1120包括低引脚数(LPC)总线。在一个实施例中,各种设备耦合到第二总线1120,包括,例如,键盘和/或鼠标1122、通信设备1127和存储单元1128,例如磁盘驱动器或其他大容量存储设备,其通常包括指令/代码和数据1130。此外,示出了音频I/O 1124耦合到第二总线1120。注意,其他架构是可能的,其中所包括的组件和互连架构是变化的。例如,代替图11的点对点架构,系统可以实现多分支总线或其他这样的架构。
使用平台中存在的各种惯性和环境传感器,可以实现许多不同的用例。这些用例可以进行包括感知计算在内的高级计算操作,还可以增强电源管理/电池寿命、安全性和系统响应能力。
例如,关于功率管理/电池寿命问题,至少部分地基于来自环境光传感器的信息,确定平台位置中的环境光状况,并相应地控制显示器的强度。因此,在某些光照条件下减少了操作显示器的功耗。
关于安全操作,基于从传感器获得的上下文信息,例如位置信息,可以确定是否允许用户访问某些安全文档。例如,可以允许用户在工作场所或家庭位置访问此类文档。但是,当平台位于公共场所时,将阻止用户访问此类文档。在一个实施例中,该确定是基于例如经由GPS传感器或地标的相机识别所确定的位置信息。其他安全操作可以包括提供在彼此的近距离内的设备的配对,例如,如本文所述的便携式平台和用户的台式计算机、移动电话等。在一些实现中,当这些设备配对时,通过近场通信来实现某些共享。但是,当设备超过特定范围时,可能会禁用此类共享。此外,当将如本文所述的平台和智能手机配对时,可以将警报配置为在公共场所中当设备彼此之间移动超过预定距离时触发。相反,当这些配对的设备处于安全位置,例如工作场所或家庭位置时,这些设备可以超过该预定极限而不会触发这种警报。
还可以使用传感器信息来增强响应性。例如,即使当平台处于低功率状态时,仍然可以使传感器以相对低的频率运行。因此,确定平台位置的任何变化,例如,如由惯性传感器、GPS传感器等确定的。如果未注册此类更改,则会发生与以前的无线集线器(例如Wi-FiTM接入点或类似的无线使能器)的更快连接,因为在这种情况下无需扫描可用的无线网络资源。因此,当从低功率状态唤醒时,实现了更高水平的响应性。
应该理解的是,如本文所述,可以使用经由平台内的集成传感器获得的传感器信息来启用许多其他用例,并且以上示例仅用于说明目的。使用本文所述的系统,感知计算系统可以允许添加替代输入模态,包括手势识别,并且使系统能够感测用户操作和意图。
在一些实施例中,可以存在一个或多个红外或其他热感测元件,或用于感测用户的存在或移动的任何其他元件。这样的感测元件可以包括一起工作、顺序工作或两者的多个不同的元件。例如,感测元件包括提供初始感测的元件,诸如光或声音投影,然后通过例如超声波飞行时间相机或图案光相机感测手势检测。
同样在一些实施例中,系统包括光发生器以产生照明线。在一些实施例中,该线提供关于虚拟边界(即,空间中的虚构或虚拟位置)的视觉提示,其中通过或突破虚拟边界或平面的用户动作被解释为与计算系统接合的意图。在一些实施例中,当计算系统转换为关于用户的不同状态时,照明线可以改变颜色。照明线可以用于向用户提供空间中虚拟边界的视觉提示,并且可以被系统用于确定关于用户的计算机状态的转换,包括确定用户何时希望参与计算机。
在一些实施例中,计算机感测用户位置并且操作以将用户的手通过虚拟边界的移动解释为指示与计算机接合的的用户意图的手势。在一些实施例中,在用户经过虚拟线或平面时,由光发生器产生的光可以改变,从而向用户提供视觉反馈,即用户已经进入了用于提供手势以向计算机提供输入的区域。
显示屏可以提供关于用户的计算系统的状态转换的视觉指示。在一些实施例中,在第一状态下提供第一屏幕,在该第一状态下系统例如通过使用一个或多个感测元件来感测用户的存在。
在一些实现中,该系统诸如通过面部识别来感测用户身份。在此,可以在第二状态下提供到第二屏幕的转换,在第二状态下,计算系统已经识别出用户身份,其中在第二状态下,屏幕向用户提供了用户已经转换为新状态的视觉反馈。到第三屏幕的转换可以在用户已经确认对用户的识别的第三状态下发生。
在一些实施例中,计算系统可以使用转换机制来确定用户的虚拟边界的位置,其中虚拟边界的位置可以随用户和上下文而变化。计算系统可以产生光,例如照明线,以指示用于与系统接合的虚拟边界。在一些实施例中,计算系统可以处于等待状态,并且光可以以第一颜色产生。计算系统可以例如通过使用感测元件感测用户的存在和移动来检测用户是否已经到达虚拟边界。
在一些实施例中,如果已经检测到用户已经越过虚拟边界(例如,用户的手比虚拟边界线更靠近计算系统),则计算系统可以转换为用于接收来自用户的手势输入的状态,其中指示转换的机制可以包括指示虚拟边界改变为第二颜色的光。
在一些实施例中,计算系统然后可以确定是否检测到手势移动。如果检测到手势运动,则计算系统可以继续进行手势识别过程,该过程可以包括使用来自手势数据库的数据,该数据可以驻留在计算设备的存储器中或者可以由计算设备以其他方式访问。
如果识别出用户的手势,则计算系统可以响应于输入执行功能,并且如果用户在虚拟边界内,则返回以接收附加手势。在一些实施例中,如果手势未被识别,则计算系统可以转换为错误状态,其中指示错误状态的机制可以包括指示虚拟边界改变为第三颜色的光,并且如果用户在与计算系统进行交互的虚拟边界内,系统返回以接收其他手势。
如上所述,在其他实施例中,系统可以被配置为可转换的平板电脑系统,其可以以至少两种不同的模式使用,即平板电脑模式和笔记本电脑模式。可转换系统可以具有两个面板,即显示面板和基板,以使得在平板电脑模式下,两个面板彼此叠置设置。在平板电脑模式下,显示面板朝外,可以提供传统平板电脑所具有的触摸屏功能。在笔记本模式下,两个面板可以以打开的翻盖结构布置。
在各种实施例中,加速度计可以是具有至少50Hz的数据速率的3轴加速度计。还可以包括陀螺仪,其可以是三轴陀螺仪。另外,可能存在电子罗盘/磁力计。而且,可以提供一个或多个接近传感器(例如,用于打开盖以感测人何时接近(或不接近)系统并调节功率/性能以延长电池寿命)。对于某些操作系统的传感器融合功能,包括加速度计、陀螺仪和指南针,可能会提供增强的功能。另外,经由具有实时时钟(RTC)的传感器集线器,当系统的其余部分处于低功率状态时,可以实现来自传感器机构的唤醒以接收传感器输入。
在一些实施例中,内部盖子/显示器打开开关或传感器指示盖子何时关闭/打开,并且可以用于将系统置于“连接待机”状态或自动从“连接待机”状态唤醒。其他系统传感器可以包括用于内部处理器、存储器和皮肤温度监控的ACPI传感器,以基于感测到的参数更改处理器和系统操作状态。
在一个实施例中,OS可以是实现连接待机(Connected Standby)(在此也称为Win8CS)的
Figure BDA0002398058590000281
8OS。Windows 8连接待机或具有类似状态的其他OS可以通过此处所述的平台提供非常低的超闲置电源,以使应用能够以非常低的功耗保持连接状态,例如,连接到基于云的位置。该平台可以支持3种电源状态,即屏幕打开(正常);连接待机(默认为“关闭”状态);和关机(功耗为零瓦)。因此,在连接待机状态下,即使屏幕关闭,平台仍在逻辑上处于打开状态(以最低功率水平)。在这样的平台上,可以使电源管理对应用透明并保持恒定的连接性,部分原因是采用卸载技术以使最低功耗的组件能够执行操作。
尽管已经针对有限数量的实施例描述了本公开,但是本领域技术人员将意识到由此做出的许多修改和变化。意图是,所附权利要求覆盖落入本公开的真实精神和范围内的所有这样的修改和变化。
设计可能会经历从创建到仿真再到制造的各个阶段。表示设计的数据可以多种方式表示设计。首先,如在仿真中有用的,可以使用硬件描述语言或另一种功能描述语言来表示硬件。另外,可以在设计过程的某些阶段产生具有逻辑和/或晶体管门的电路级模型。此外,大多数设计在某个阶段都达到了表示硬件模型中各种设备的物理放置的数据级别。在使用传统的半导体制造技术的情况下,表示硬件模型的数据可以是规定用于制造集成电路的掩模的不同掩模层上各种特征的存在或不存在的数据。在设计的任何表示中,数据可以以任何形式的机器可读介质存储。存储器或诸如磁盘的磁或光存储器可以是机器可读介质,用于存储经由光波或电波传输的信息,该光波或电波经调制或以其他方式生成以传输此类信息。当发送指示或携带代码或设计的电载波时,只要执行复制、缓冲或重新传输电信号的程度,就可以进行新的复制。因此,通信提供商或网络提供商可以至少暂时地在有形的、机器可读介质上存储体现本公开的实施例的技术的物品,诸如编码为载波的信息。
如本文所使用的模块是指硬件、软件和/或固件的任何组合。作为示例,模块包括与非暂时性介质相关联的硬件,例如微控制器,以存储适于由微控制器执行的代码。因此,在一个实施例中,对模块的引用指的是专门配置为识别和/或执行要保存在非暂时性介质上的代码的硬件。此外,在另一实施例中,模块的使用是指包括代码的非暂时性介质,该代码特别适于由微控制器执行以执行预定操作。并且可以推断,在又一个实施例中,术语模块(在该示例中)可以指代微控制器和非暂时性介质的组合。通常,被示为单独的模块边界通常会发生变化并可能重叠。例如,第一和第二模块可以共享硬件、软件、固件或其组合,同时潜在地保留一些独立的硬件、软件或固件。在一个实施例中,术语“逻辑”的使用包括诸如晶体管、寄存器的硬件,或诸如可编程逻辑器件的其他硬件。
在一个实施例中,短语“至”或“配置为”的使用是指安排、组合、制造、提供销售、进口和/或设计用于执行指定或确定的任务的装置、硬件、逻辑或元件。在该示例中,如果被设计、耦合和/或互连以执行所述指定任务,则仍在未操作的装置或其元件仍被“配置为”执行指定任务。仅作为说明性示例,逻辑门可以在操作期间提供0或1。但是“向时钟提供使能信号的逻辑门配置为”并不包括可能提供1或0的每个潜在逻辑门。相反,该逻辑门以某种方式耦合,即在操作期间1或0输出为启用时钟。再次注意,术语“配置为”的使用不需要操作,而是专注于装置、硬件和/或元素的潜在状态,其中当装置、硬件和/或元件正在运行时,在潜在状态下,装置、硬件和/或元素被设计为执行特定任务。
此外,在一个实施例中,短语“能够/用于”和/或“可操作”的使用是指某些装置、逻辑、硬件和/或元件,其被设计为能够使用特定方式的装置、逻辑、硬件和/或元件。如上所述,在一个实施例中,“用于”、“能够”或“可操作”是指装置、逻辑、硬件和/或元件的潜在状态,其中该装置、逻辑、硬件和/或元件为不能运行,而是以允许以指定方式使用装置的方式进行设计。
如本文所使用的值包括数字、状态、逻辑状态或二进制逻辑状态的任何已知表示。通常,使用逻辑级别、逻辑值或逻辑的值也称为1和0,它们仅表示二进制逻辑状态。例如,1表示逻辑高电平,而0表示逻辑低电平。在一个实施例中,诸如晶体管或闪存单元之类的存储单元可能能够保存单个逻辑值或多个逻辑值。但是,已经使用了计算机系统中值的其他表示形式。例如,十进制数字十也可以表示为二进制值1010和十六进制字母A。因此,该值包括能够在计算机系统中保存的信息的任何表示表示。
此外,状态可以由值或值的一部分表示。作为示例,第一值,例如逻辑1,可以表示默认或初始状态,而第二值,例如逻辑0,可以表示非默认状态。另外,在一个实施例中,术语“重置”和“设置”分别是指默认值和更新后的值或状态。例如,默认值可能包括高逻辑值,即重置,而更新值可能包括低逻辑值,即置位。注意,值的任何组合可以用于表示任何数量的状态。
上述方法、硬件、软件、固件或代码的实施例可以通过存储在可由处理元件执行的机器可访问、机器可读、计算机可访问或计算机可读介质上的指令或代码来实现。非暂时性机器可访问/可读介质包括以诸如计算机或电子系统之类的机器可读的形式提供(即,存储和/或发送)信息的任何机制。例如,非暂时性机器可访问介质包括随机存取存储器(RAM),例如静态RAM(SRAM)或动态RAM(DRAM);ROM;磁或光存储介质;闪存设备;电存储设备;光学存储设备;声学存储设备;其他形式的存储设备,用于保存从瞬态(传播)信号(例如,载波、红外信号、数字信号)接收的信息;等等,这将与可以从中接收信息的非暂时性介质区分开。
用于对逻辑进行编程以执行本公开的实施例的指令可以存储在系统中的存储器内,例如DRAM、高速缓存、闪存或其他存储器。此外,指令可以经由网络或通过其他计算机可读介质来分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,但不仅限于软盘、光盘、压缩盘、只读存储器(CD-ROM)和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、磁卡或光卡、闪存或有形的机器可读存储,用于通过电、光、声或传播信号的其他形式(例如,载波、红外信号、数字信号等)通过互联网传输信息。因此,计算机可读介质包括适合于以机器(例如,计算机)可读形式存储或传输电子指令或信息的任何类型的有形机器可读介质。
在整个说明书中,对“一个实施例”或“实施例”的引用是指结合该实施例描述的特定特征、结构或特性包括在本公开的至少一个实施例中。因此,在整个说明书中各处出现的短语“在一个实施例中”或“在实施例中”不一定都指的是同一实施例。此外,在一个或多个实施例中,可以以任何合适的方式组合特定的特征、结构或特性。
在前述说明书中,已经参考特定示例性实施例给出了详细描述。然而,将显而易见的是,在不脱离如所附权利要求书中阐述的本公开的更广泛的精神和范围的情况下,可以对其进行各种修改和改变。因此,说明书和附图应被认为是说明性的而不是限制性的。此外,实施例和其他示例性语言的前述使用不一定指相同的实施例或相同的示例,而是可以指不同且有区别的实施例以及潜在地相同的实施例。
以上描述了实施例的各个方面和组合,其中一些由以下示例表示:
示例1是一种装置,其包括端口;以及与所述端口耦合的多通道链路,所述多通道链路以第一链路宽度操作;该端口包括硬件电路,该硬件电路用于确定该端口用于使用第二链路宽度来操作,该第二链路宽度小于该第一链路宽度;在多通道链路的一个或多个通道上发送针对第一链路宽度的最后数据块的指示;使第一组通道进入空闲状态;以及在第二组通道上发送数据,第二组通道限定第二链路宽度。
示例2可以包括示例1的主题,端口用于在发送针对第一链路宽度的最后数据块的指示之前,在第一数量通道中的一个或多个上发送用于转换为第二链路宽度的请求;并在多通道链路的一个或多个通道上从链路伙伴接收用于转换为第二链路宽度的确认。
示例3可以包括示例1-2中任何一个的主题,其中最后数据块的指示是使用第一链路宽度在数据块的最后一个双字中提供的。
示例4可以包括示例3的主题,其中最后一个双字包括第二链路宽度的指示。
示例5可以包括示例1-4中任何一个的主题,该端口用于在第一组通道上发送电空闲指示;并在第二组通道上发送有序集。
示例6可以包括示例1-5中任何一个的主题,其中该端口是下游端口,该端口用于在多通道链路上从上游端口接收用于从第一链路宽度转换为第三链路宽度的请求,第三链路宽度小于第一链路宽度并且不同于第二链路宽度;忽略请求;并且在从上游端口接收到上游端口可以转换为第二链路宽度的确认之后,使链路转换为第二链路宽度。
示例7可以包括示例1-6中任何一个的主题,端口用于将指示发送到链路伙伴以激活第三组通道;在第三组通道上执行链路训练,同时在第二组通道上发送数据;在第二组通道上发送结束数据流;并在第二组和第三组通道上发送数据。
示例8可以包括示例7的主题,该端口用于发送和接收第一训练序列有序集(TS1OS)以链路训练第三组通道;并发送和接收第二训练序列有序集(TS2 OS),所述第二训练序列有序集指示在第三组通道上链路训练已完成。
示例9可以包括示例8的主题,该端口用于在第三组通道上执行通道去偏移;以及在包括来自第二组和第三组通道的通道的传输通道上发送开始数据流。
示例10是一种由耦合至多通道链路的端口执行的方法,该多通道链路包括第一链路宽度,该方法包括确定多通道链路的端口用于使用第二链路宽度来操作,第二链路宽度小于第一链路宽度;在多通道链路的一个或多个通道上发送针对第一链路宽度的最后数据块的指示;使第一组通道进入空闲状态;以及在第二组通道上发送数据,第二组通道限定第二链路宽度。
示例11可以包括示例10的主题,该示例包括:在发送针对第一链路宽度的最后数据块的指示之前,在第一数量通道中的一个或多个上发送用于转换为第二链路宽度的请求;并在多通道链路的一个或多个通道上从链路伙伴接收用于转换为第二链路宽度的确认。
示例12可以包括示例10-11中的任何一个的主题,其中,最后数据块的指示是使用第一链路宽度在数据块的最后一个双字中提供的。
示例13可以包括示例12的主题,其中最后一个双字包括第二链路宽度的指示。
示例14可以包括示例10-13中的任何一个的主题,还包括在第一组通道上发送电空闲指示;并在第二组通道上发送有序集。
示例15可以包括示例10-14中的任何一个的主题,其中端口是下游端口,该方法包括:在多通道链路上从上游端口接收用于从第一链路宽度转换为第三链路宽度的请求,第三链路宽度小于第一链路宽度并且不同于第二链路宽度;忽略请求;并且在从上游端口接收到上游端口可以转换为第二链路宽度的确认后,使链路转换为第二链路宽度。
示例16可以包括示例10-15中的任何一个的主题,还包括将指示发送到链路伙伴以激活第三组通道;在第三组通道上执行链路训练,同时在第二组通道上发送数据;在第二组通道上发送结束数据流;并且在第二组和第三组通道上发送数据。
示例17可以包括示例16的主题,还包括发送和接收第一训练序列有序集(TS1 OS)以链路训练第三组通道;并且发送和接收第二训练序列有序集合(TS2 OS),该第二训练序列有序集合指示在第三组通道上已完成链路训练。
示例18可以包括示例17的主题,还包括在第三组通道上执行通道去偏移;并且在包括来自第二组和第三组通道的通道的传输通道上发送开始数据流。
示例19是一种其中存储有程序指令的非暂时性计算机可读介质,其中程序指令可由计算机系统执行以执行包括以下的操作:确定端口用于使用第二链路宽度进行操作,第二链路宽度小于第一链路宽度;在多通道链路的一个或多个通道上发送针对第一链路宽度的最后数据块的指示;使第一组通道进入空闲状态;并且在第二组通道上发送数据,第二组通道限定第二链路宽度。
示例20可以包括示例19的主题,该操作还包括:在发送针对第一链路宽度的最后数据块的指示之前,在第一数量通道中的一个或多个上发送用于转换为第二链路宽度的请求;并在多通道链路的一个或多个通道上从链路伙伴接收用于转换为第二链路宽度的确认。
示例21可以包括示例19-20中的任何一个的主题,其中,最后数据块的指示是使用第一链路宽度在数据块的最后一个双字中提供的。
示例22可以包括示例21的主题,其中,最后一个双字包括第二链路宽度的指示。
示例23可以包括示例19-22中的任何一个的主题,所述操作还包括在所述第一组通道上发送电空闲指示;并在第二组通道上发送有序集。
示例24可以包括示例19-23中的任何一个的主题,所述操作还包括:将指示发送到链路伙伴以激活第三组通道;在第三组通道上执行链路训练,同时在第二组通道上发送数据;在第二组通道上发送结束数据流;并且在第二组和第三组通道上发送数据。
示例25可以包括示例24的主题,所述操作还包括:发送和接收第一训练序列有序集(TS1 OS)以链路训练第三组通道;并且发送和接收第二训练序列有序集合(TS2 OS),该第二训练序列有序集合指示在第三组通道上已完成链路训练。
示例26是一种系统,其包括上游端口;下游端口;以及将上游端口连接到下游端口的多通道链路,该多通道链路包括第一链路宽度。下游端口用于确定下游端口用于使用第二链路宽度来操作,第二链路宽度小于第一链路宽度;在多通道链路的一个或多个通道上将针对第一链路宽度的最后数据块的指示发送到上游端口;使第一组通道进入空闲状态;并且在第二组通道上发送数据,第二组通道限定第二链路宽度。
示例27可以包括示例26的主题,下游端口用于在发送针对第一链路宽度的最后数据块的指示之前,在第一数量通道中的一个或多个通道上发送用于转换为第二链路宽度的请求;在多通道链路的一个或多个通道上从上游端口接收用于转换为第二链路宽度的确认(ACK)。
示例28可以包括示例26中的任何一个的主题,其中,最后数据块的指示是使用第一链路宽度在数据块的最后一个双字中提供的。
示例29可以包括示例28的主题,其中最后一个双字包括第二链路宽度的指示。
示例30可以包括示例26-29中任何一个的主题,该端口用于在第一组通道上发送电空闲指示;并在第二组通道上发送有序集。
示例31可以包括示例26-30中任何一个的主题,下游端口用于在多通道链路上从上游端口接收用于从第一链路宽度转换为第三链路宽度的请求,第三链路宽度小于第一链路宽度并且不同于第二链路宽度;忽略请求;并且在从上游端口接收到上游端口可以转换为第二链路宽度的确认之后,使链路转换为第二链路宽度。
示例32可以包括示例26-31中任何一个的主题,下游端口用于将指示发送到链路伙伴以激活第三组通道;在第三组通道上执行链路训练,同时在第二组通道上发送数据;在第二组通道上发送结束数据流;并在第二组和第三组通道上发送数据。
示例33可以包括示例32的主题,下游端口用于发送和接收第一训练序列有序集(TS1 OS)以链路训练第三组通道;并发送和接收第二训练序列有序集(TS2 OS),该第二训练序列有序集指示在第三组通道上已完成链路训练。
示例34可以包括示例33的主题,下游端口用于在第三组通道上执行通道去偏移;以及在包括来自第二组和第三组通道的通道的传输通道上发送开始数据流。
示例35是一种装置,其可以包括用于确定多通道链路的端口用于使用第二链路宽度来操作的单元,该第二链路宽度小于第一链路宽度;用于在多通道链路的一个或多个通道上发送针对第一链路宽度的最后数据块的指示的单元;用于使第一组通道进入空闲状态的单元;以及用于在第二组通道组上发送数据的单元,第二组通道组限定第二链路宽度。

Claims (25)

1.一种装置,包括:
端口;以及
耦合到所述端口的多通道链路,所述多通道链路以第一链路宽度操作;
所述端口包括用于以下操作的硬件电路:
确定所述端口用于使用第二链路宽度来操作,所述第二链路宽度小于所述第一链路宽度;
在所述多通道链路的一个或多个通道上发送针对所述第一链路宽度的最后数据块的指示;
使第一组通道进入空闲状态;以及
在第二组通道上发送数据,所述第二组通道限定所述第二链路宽度。
2.根据权利要求1所述的装置,其中,所述端口用于在发送针对第一链路宽度的最后数据块的所述指示之前:
在第一数量通道中的一个或多个上发送用于转换为所述第二链路宽度的请求;
在所述多通道链路的一个或多个通道上从链路伙伴接收到用于转换为所述第二链路宽度的确认。
3.根据权利要求1所述的装置,其中,所述最后数据块的指示是使用所述第一链路宽度在数据块的最后一个双字中提供的。
4.根据权利要求3所述的装置,其中,所述最后一个双字包括所述第二链路宽度的指示。
5.根据权利要求1所述的装置,所述端口用于:
在所述第一组通道上发送电空闲指示;以及
在所述第二组通道上发送有序集。
6.根据权利要求1所述的装置,其中,所述端口是下游端口,所述端口用于:
在所述多通道链路上从上游端口接收用于从所述第一链路宽度转换为第三链路宽度的请求,所述第三链路宽度小于所述第一链路宽度并且不同于所述第二链路宽度;
忽略所述请求;以及
在从所述上游端口接收到所述上游端口能够转换为所述第二链路宽度的确认后,使所述链路转换为所述第二链路宽度。
7.根据权利要求1所述的装置,所述端口用于:
将指示发送到链路伙伴以激活第三组通道;
在所述第三组通道上执行链路训练,同时在所述第二组通道上发送数据;
在所述第二组通道上发送结束数据流;以及
在所述第二组通道和所述第三组通道上发送数据。
8.根据权利要求7所述的装置,所述端口用于:
发送和接收第一训练序列有序集(TS1 OS)以链路训练所述第三组通道;以及
发送和接收第二训练序列有序集(TS2 OS),所述第二训练序列有序集指示在所述第三组通道上已完成链路训练。
9.根据权利要求8所述的装置,所述端口用于:
在所述第三组通道上执行通道去偏移;以及
在包括来自所述第二组通道和所述第三组通道的通道的传输通道上发送开始数据流。
10.一种由耦合到多通道链路的端口执行的方法,所述多通道链路包括第一链路宽度,所述方法包括:
确定多通道链路的端口用于使用第二链路宽度来操作,所述第二链路宽度小于所述第一链路宽度;
在所述多通道链路的一个或多个通道上发送针对所述第一链路宽度的最后数据块的指示;
使第一组通道进入空闲状态;以及
在第二组通道上发送数据,所述第二组通道限定所述第二链路宽度。
11.根据权利要求10所述的方法,包括:在发送针对第一链路宽度的最后数据块的所述指示之前:
在第一数量通道中的一个或多个上发送用于转换为所述第二链路宽度的请求;
在所述多通道链路的一个或多个通道上从链路伙伴接收用于转换为所述第二链路宽度的确认。
12.根据权利要求10所述的方法,其中,所述最后数据块的所述指示是使用所述第一链路宽度在数据块的最后一个双字中提供的。
13.根据权利要求12所述的方法,其中,所述最后一个双字包括所述第二链路宽度的指示。
14.根据权利要求10所述的方法,还包括:
在所述第一组通道上发送电空闲指示;以及
在所述第二组通道上发送有序集。
15.根据权利要求10所述的方法,其中,所述端口是下游端口,所述方法包括:
在所述多通道链路上从上游端口接收用于从所述第一链路宽度转换为第三链路宽度的请求,所述第三链路宽度小于所述第一链路宽度并且不同于所述第二链路宽度;
忽略所述请求;以及
在从所述上游端口接收到所述上游端口能够转换为所述第二链路宽度的确认后,使所述链路转换为所述第二链路宽度。
16.根据权利要求10所述的方法,还包括:
将指示发送到链路伙伴以激活第三组通道;
在所述第三组通道上执行链路训练,同时在所述第二组通道上发送数据;
在所述第二组通道上发送结束数据流;以及
在所述第二组通道和所述第三组通道上发送数据。
17.根据权利要求16所述的方法,还包括:
发送和接收第一训练序列有序集(TS1 OS)以链路训练所述第三组通道;以及
发送和接收第二训练序列有序集(TS2 OS),所述第二训练序列有序集指示在所述第三组通道上已完成链路训练。
18.根据权利要求17所述的方法,还包括:
在所述第三组通道上执行通道去偏移;以及
在包括来自所述第二组通道和所述第三组通道的通道的传输通道上发送开始数据流。
19.一种具有存储在其中的程序指令的非暂时性计算机可读介质,其中,所述程序指令可由计算机系统执行以执行包括以下内容的操作:
确定端口用于使用第二链路宽度来操作,所述第二链路宽度小于所述第一链路宽度;
在多通道链路的一个或多个通道上发送针对所述第一链路宽度的最后数据块的指示;
使第一组通道进入空闲状态;以及
在第二组通道上发送数据,所述第二组通道限定所述第二链路宽度。
20.根据权利要求19所述的非暂时性计算机可读介质,所述操作还包括:
在发送针对第一链路宽度的最后数据块的所述指示之前:
在第一数量通道中的一个或多个上发送用于转换为所述第二链路宽度的请求;
在所述多通道链路的一个或多个通道上从链路伙伴接收用于转换为所述第二链路宽度的确认。
21.根据权利要求19所述的非暂时性计算机可读介质,其中,所述最后数据块的所述指示是使用所述第一链路宽度在数据块的最后一个双字中提供的。
22.根据权利要求21所述的非暂时性计算机可读介质,其中,所述最后一个双字包括所述第二链路宽度的指示。
23.根据权利要求19所述的非暂时性计算机可读介质,所述操作还包括:
在所述第一组通道上发送电空闲指示;以及
在所述第二组通道上发送有序集。
24.根据权利要求19所述的非暂时性计算机可读介质,所述操作还包括:
将指示发送到链路伙伴以激活第三组通道;
在所述第三组通道上执行链路训练,同时在所述第二组通道上发送数据;
在所述第二组通道上发送结束数据流;以及
在所述第二组通道和所述第三组通道上发送数据。
25.根据权利要求24所述的非暂时性计算机可读介质,所述操作还包括:
发送和接收第一训练序列有序集(TS1 OS)以链路训练所述第三组通道;以及
发送和接收第二训练序列有序集(TS2 OS),所述第二训练序列有序集指示在所述第三组通道上已完成链路训练。
CN202010138132.6A 2019-03-05 2020-03-03 用于多通道链路的部分链路宽度状态 Pending CN111666234A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011569938.7A CN112540940A (zh) 2019-03-05 2020-03-03 用于多通道链路的部分链路宽度状态

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/293,269 US10846247B2 (en) 2019-03-05 2019-03-05 Controlling partial link width states for multilane links
US16/293,269 2019-03-05

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202011569938.7A Division CN112540940A (zh) 2019-03-05 2020-03-03 用于多通道链路的部分链路宽度状态

Publications (1)

Publication Number Publication Date
CN111666234A true CN111666234A (zh) 2020-09-15

Family

ID=66949545

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202011569938.7A Pending CN112540940A (zh) 2019-03-05 2020-03-03 用于多通道链路的部分链路宽度状态
CN202010138132.6A Pending CN111666234A (zh) 2019-03-05 2020-03-03 用于多通道链路的部分链路宽度状态

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202011569938.7A Pending CN112540940A (zh) 2019-03-05 2020-03-03 用于多通道链路的部分链路宽度状态

Country Status (3)

Country Link
US (2) US10846247B2 (zh)
EP (2) EP3706008B1 (zh)
CN (2) CN112540940A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114330217A (zh) * 2020-09-29 2022-04-12 美商新思科技有限公司 被测设计引脚位置驱动的同时的信号分组和引脚分配

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10601425B2 (en) 2018-05-30 2020-03-24 Intel Corporation Width and frequency conversion with PHY layer devices in PCI-express
US11467999B2 (en) 2018-06-29 2022-10-11 Intel Corporation Negotiating asymmetric link widths dynamically in a multi-lane link
US10846247B2 (en) 2019-03-05 2020-11-24 Intel Corporation Controlling partial link width states for multilane links
US10936530B2 (en) 2019-07-24 2021-03-02 Ati Technologies Ulc Method and apparatus for determining link bifurcation availability
US11836101B2 (en) * 2019-11-27 2023-12-05 Intel Corporation Partial link width states for bidirectional multilane links
US20230342308A1 (en) * 2022-04-22 2023-10-26 Western Digital Technologies, Inc. Reducing Link Up Time In PCIe Systems

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970013B1 (en) 2002-03-01 2005-11-29 Xilinx, Inc Variable data width converter
US6894726B2 (en) 2002-07-05 2005-05-17 Thomson Licensing S.A. High-definition de-interlacing and frame doubling circuit and method
US7469311B1 (en) 2003-05-07 2008-12-23 Nvidia Corporation Asymmetrical bus
US7136953B1 (en) 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
US7293127B2 (en) 2004-01-15 2007-11-06 Ati Technologies, Inc. Method and device for transmitting data using a PCI express port
US7480808B2 (en) * 2004-07-16 2009-01-20 Ati Technologies Ulc Method and apparatus for managing power consumption relating to a differential serial communication link
US7809969B2 (en) 2005-12-28 2010-10-05 Intel Corporation Using asymmetric lanes dynamically in a multi-lane serial link
US7607031B2 (en) 2006-03-28 2009-10-20 Advanced Micro Devices, Inc. Power management in a communication link
TWI348821B (en) 2007-08-08 2011-09-11 Alpha Networks Inc Interface converting circuit
US7793030B2 (en) 2007-10-22 2010-09-07 International Business Machines Corporation Association of multiple PCI express links with a single PCI express port
US8341303B2 (en) 2008-06-30 2012-12-25 Intel Corporation Asymmetrical universal serial bus communications
EP2513802B1 (en) 2009-12-14 2015-03-18 Rambus Inc. Expandable asymmetric-channel memory system
TWI423007B (zh) 2009-12-31 2014-01-11 Via Tech Inc 串列匯流排裝置以及其時脈差補償方法
JP2011186894A (ja) * 2010-03-10 2011-09-22 Ricoh Co Ltd データ転送装置、画像処理装置、データ転送方法、データ転送プログラム及び記録媒体
US8631255B2 (en) 2010-07-02 2014-01-14 Intel Corporation Method, system and apparatus for dynamic buffer management for power saving
US8751714B2 (en) 2010-09-24 2014-06-10 Intel Corporation Implementing quickpath interconnect protocol over a PCIe interface
US8805196B2 (en) 2010-09-30 2014-08-12 Teradyne, Inc. Electro-optical communications link
US8627156B1 (en) 2010-10-26 2014-01-07 Agilent Technologies, Inc. Method and system of testing bit error rate using signal with mixture of scrambled and unscrambled bits
US9256268B2 (en) 2012-04-24 2016-02-09 Intel Corporation Adaptive low-power link-state entry policy for active interconnect link power management
US8446903B1 (en) * 2012-05-22 2013-05-21 Intel Corporation Providing a load/store communication protocol with a low power physical unit
US8856573B2 (en) * 2012-06-27 2014-10-07 Intel Corporation Setting a number (N) of fast training sequences (FTS) automatically to an optimal value
US9229897B2 (en) 2012-06-29 2016-01-05 Intel Corporation Embedded control channel for high speed serial interconnect
MY169964A (en) * 2012-06-29 2019-06-19 Intel Corp An architected protocol for changing link operating mode
US8982746B2 (en) 2012-06-30 2015-03-17 Intel Corporation Clock-less half-duplex repeater
US9183171B2 (en) * 2012-09-29 2015-11-10 Intel Corporation Fast deskew when exiting low-power partial-width high speed link state
US9355058B2 (en) 2012-10-22 2016-05-31 Intel Corporation High performance interconnect physical layer
US9600431B2 (en) 2012-10-22 2017-03-21 Intel Corporation High performance interconnect physical layer
US9244872B2 (en) 2012-12-21 2016-01-26 Ati Technologies Ulc Configurable communications controller
US9509438B2 (en) 2013-09-30 2016-11-29 Intel Corporation Determining a high data rate for backchannel communications for initialization of high-speed networks
JP6339198B2 (ja) 2013-12-26 2018-06-06 インテル・コーポレーション インターコネクトリタイマのエンハンスメント
CN105793828B (zh) * 2013-12-26 2019-06-21 英特尔公司 具有pci快速增强的系统和方法
KR102253703B1 (ko) * 2014-08-06 2021-05-20 삼성전자주식회사 저전력 모드에서 전력 소모를 줄일 수 있는 반도체 장치와 이를 포함하는 시스템
US9697166B2 (en) 2014-11-21 2017-07-04 International Business Machines Corporation Implementing health check for optical cable attached PCIE enclosure
US9921768B2 (en) * 2014-12-18 2018-03-20 Intel Corporation Low power entry in a shared memory link
US9910809B2 (en) * 2014-12-19 2018-03-06 Intel Corporation High performance interconnect link state transitions
US9444551B2 (en) 2014-12-19 2016-09-13 Intel Corporation High performance optical repeater
US9552269B2 (en) 2014-12-23 2017-01-24 Intel Corporation Test logic for a serial interconnect
US20160216758A1 (en) * 2015-01-27 2016-07-28 Avago Technologies General Ip (Singapore) Pte. Ltd. PCI Express Device With Early Low Power State
US9720838B2 (en) 2015-03-27 2017-08-01 Intel Corporation Shared buffered memory routing
US9639276B2 (en) 2015-03-27 2017-05-02 Intel Corporation Implied directory state updates
CN104915312B (zh) * 2015-04-17 2017-12-29 苏州中晟宏芯信息科技有限公司 一种高速串行链路的通道资源回收拓展方法
US9858161B2 (en) 2015-10-27 2018-01-02 International Business Machines Corporation Implementing cable failover in multiple cable PCI express IO interconnections
US20170351640A1 (en) 2016-06-03 2017-12-07 Intel Corporation Standardized retimer
US9965439B2 (en) * 2016-06-27 2018-05-08 Intel Corporation Low latency multi-protocol retimers
US11630480B2 (en) 2017-10-05 2023-04-18 Intel Corporation System, method, and apparatus for SRIS mode selection for PCIe
US10601425B2 (en) 2018-05-30 2020-03-24 Intel Corporation Width and frequency conversion with PHY layer devices in PCI-express
US11467999B2 (en) * 2018-06-29 2022-10-11 Intel Corporation Negotiating asymmetric link widths dynamically in a multi-lane link
US10846247B2 (en) 2019-03-05 2020-11-24 Intel Corporation Controlling partial link width states for multilane links
US11301411B2 (en) * 2019-06-07 2022-04-12 Intel Corporation Data structures for refined link training
US11836101B2 (en) * 2019-11-27 2023-12-05 Intel Corporation Partial link width states for bidirectional multilane links

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114330217A (zh) * 2020-09-29 2022-04-12 美商新思科技有限公司 被测设计引脚位置驱动的同时的信号分组和引脚分配
CN114330217B (zh) * 2020-09-29 2024-04-30 美商新思科技有限公司 被测设计引脚位置驱动的同时的信号分组和引脚分配

Also Published As

Publication number Publication date
EP3822804A2 (en) 2021-05-19
US20190196991A1 (en) 2019-06-27
EP3706008A1 (en) 2020-09-09
US20210042248A1 (en) 2021-02-11
US11474960B2 (en) 2022-10-18
EP3822804A3 (en) 2021-07-14
US10846247B2 (en) 2020-11-24
CN112540940A (zh) 2021-03-23
EP3706008B1 (en) 2023-12-06

Similar Documents

Publication Publication Date Title
US11836101B2 (en) Partial link width states for bidirectional multilane links
US11397701B2 (en) Retimer mechanisms for in-band link management
US11194751B2 (en) Power management of re-driver devices
CN105793830B (zh) 一种在节点之间共享存储器和i/o服务的装置、方法、系统
US11474960B2 (en) Technologies for partial link width states for multilane links
CN108027785B (zh) 用于对链路拆分进行去偏斜的方法、设备和系统
CN112860610A (zh) 通用物理层上的多协议支持
US10601425B2 (en) Width and frequency conversion with PHY layer devices in PCI-express
US11308018B2 (en) Virtualized link states of multiple protocol layer package interconnects
CN111930664A (zh) 用于高速互连的有序集
US20200310517A1 (en) Adaptive lower power state entry and exit
CN109643299B (zh) 在具有现有tlp定义的pcie上的持久存储器写入语义
CN109074341B (zh) 减少引脚计数接口
US11016549B2 (en) Method, apparatus, and system for power management on a CPU die via clock request messaging protocol
JP2017504095A (ja) PCI Expressの改善
CN110121703B (zh) 用于向量通信的系统和方法
CN110633241A (zh) 用于非对称接口的动态高速通道方向切换的系统、方法和装置
US20190114281A1 (en) Conveying early hint information for physical link state changes
US10977197B2 (en) Providing multiple low power link state wake-up options
US20200327041A1 (en) Closed chassis debugging through tunneling

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination