CN107003971B - 用于高性能互连中的嵌入式流通道的方法、装置、系统 - Google Patents
用于高性能互连中的嵌入式流通道的方法、装置、系统 Download PDFInfo
- Publication number
- CN107003971B CN107003971B CN201580064585.6A CN201580064585A CN107003971B CN 107003971 B CN107003971 B CN 107003971B CN 201580064585 A CN201580064585 A CN 201580064585A CN 107003971 B CN107003971 B CN 107003971B
- Authority
- CN
- China
- Prior art keywords
- data
- species
- interconnect
- identifier
- lanes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4265—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
Abstract
在示例中,预备高性能互连(HPI)而没有单独流通道。为了提供同等功能性,在闲置期期间在数据线路内提供流通道数据。因为每20个数据通道可以提供一个流通道,流通道的消除节省近似5%的面积。在前数据时间,可以将20个数据通道从中间轨带高来表示一个种类的数据(例如,Intel®晶片中互连(IDI)),并且带低来表示第二种类的数据(例如,Intel®芯片上系统构造(IOSF))。为了表示额外种类的数据(例如链路控制分组(LCP)),通道可以分成两个或以上组,并且单个位可以编码为每个组。LCP还可以编码为后数据时间,例如通过停止微片业务并且操纵“VALID”通道从中间轨到0或1。
Description
相关申请的交叉引用
该申请要求2014年12月27日提交、题为“METHOD,
APPARATUS, SYSTEM FOR EMBEDDED STREAM LANES IN A HIGH-PERFORMANCEINTERCONNECT(对于高性能互连中的嵌入式流通道的方法、装置、系统)”的美国非临时专利申请号14/583,607的权益和优先权,其通过引用全部合并于此。
技术领域
本公开关于计算系统,并且特别(但并不完全)关于高性能互连。
背景技术
在示例芯片上系统(SoC)中,高性能互连(HPI)必须区分某些种类的数据或信号,例如链路层上将Intel®晶片内(intra-die)互连(IDI)业务与Intel®芯片上系统构造(IOSF)业务区分开。在PHY层上,还必须正确处理链路控制分组(LCP)。某些实施例提供专用“STREAM”通道来将这些信号彼此区分开。可每近似20个数据通道提供一个流通道。
附图说明
图1图示对于计算系统(其包括多核处理器)的框图的实施例。
图2图示对于高性能互连架构的分层堆叠的实施例。
图3图示使用高性能互连架构的多处理器配置的实施例。
图4图示对于高性能互连的时序(timing)图。
图5是图示该规范的方法的流程图。
图6是图示该规范的方法的流程图。
图7图示多核处理器的框图的实施例。
图8图示处理器的框图的实施例。
图9图示对于计算系统(其包括处理器)的框图的另一个实施例。
图10图示对于计算系统(其包括多个处理器插槽)的框图的实施例。
图11图示对于计算系统的框图的另一个实施例。
图12图示对于计算系统的框图的另一个实施例。
具体实施方式
在下列描述中,阐述许多特定细节,例如特定类型的处理器和系统配置、特定硬件结构、特定架构和微架构细节、特定寄存器配置、特定指令类型、特定系统部件、特定测量/高度、特定处理器流水线阶段和操作等的示例,以便提供对本发明的全面理解。然而,不必采用这些特定细节来实践本发明,这对于本领域内技术人员将是明显的。在其他实例中,未详细描述众所周知的部件或方法,例如特定和备选处理器架构、对于描述的算法的特定逻辑电路/代码、特定固件代码、特定互连操作、特定逻辑配置、特定制造技术和材料、特定编译器实现、采用代码的算法的特定表达、特定掉电和选通技术/逻辑和计算机系统的其他特定操作细节,以避免不必要使本发明难以理解。
尽管下列实施例可以参考特定集成电路中(例如计算平台或微处理器中)的能量节约和能量效率描述,其他实施例能适用于其他类型的集成电路和逻辑设备。本文描述的实施例的相似技术和教导可以适用于其他类型的电路或半导体器件,其也可从较好能量效率和能量节约方面获益。例如,公开的实施例不限于台式计算机系统或Ultrabooks™,并且还可以在例如手持设备、平板电脑、其他薄笔记本、芯片上系统(SOC)设备和嵌入式应用等其他设备中使用。手持设备的一些示例包括蜂窝电话、互联网协议设备、数字拍摄装置、个人数字助理(PDA)和手持PC。嵌入式应用典型地包括微控制器、数字信号处理器(DSP)、芯片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机或可以执行下文教导的功能和操作的任何其他系统。此外,本文描述的装置、方法和系统不限于物理计算设备,而还可以涉及对于能量节约和效率的软件优化。如将在下文的描述中变得很明显的,本文描述的方法、装置和系统的实施例(无论是关于硬件、固件、软件还是其组合)对于未来与性能考虑相平衡的 ‘绿色技术’是必不可少的。
随着计算系统在发展,其中的部件变得更复杂。因此,用于部件之间耦合和通信的互连架构在复杂性方面也在增加来确保满足最佳部件操作的带宽要求。此外,不同细分市场需要互连架构的不同方面来满足市场需要。例如,服务器需要较高性能,而移动生态系统有时能够为了功率节省而牺牲整体性能。然而,大部分构造的突出目的还是以最大功率节省提供最高可能性能。在下文论述许多互连,其将潜在地从本文描述的本发明的方面获益。
图1
参考图1,描绘对于计算系统(其包括多核处理器)的框图的实施例。处理器100包括任何处理器或处理设备,例如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持处理器、应用处理器、协处理器、芯片上系统(SOC)或执行代码的其他设备。在一个实施例中,处理器100包括至少两个核-核101和102,其可以包括不对称核或对称核(图示的实施例)。然而,处理器100可以包括任意数量的处理元件,其可以是对称或不对称的。
在一个实施例中,处理元件指支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽位(thread slot)、线程、进程单元、上下文(context)、上下文单元(context unit)、逻辑处理器、硬件线程、核和/或任何其他元件,其能够保持处理器的状态,例如执行状态或架构状态。也就是说,在一个实施例中,处理元件指能够独立与代码(例如软件线程、操作系统、应用或其他代码)关联的任何硬件。物理处理器(或处理器插槽)典型地指集成电路,其潜在地包括任意数量的其他处理元件,例如核或硬件线程。
核通常指位于集成电路上、能够维持独立架构状态的逻辑,其中每个独立维持的架构状态与至少一些专用执行资源关联。与核相比之下,硬件线程典型地指位于集成电路上、能够维持独立架构状态的任何逻辑,其中独立维持的架构状态共享对执行资源的访问。如可以看到的,在共享某些资源并且其他专用于架构状态,硬件线程和核的命名之间的线路重叠。但是,核和硬件线程通常被操作系统视为独立逻辑处理器,其中操作系统能够在每个逻辑处理器上独立调度操作。
如在图1中图示的,物理处理器100包括两个核-核101和102。在这里,核101和102被视为对称核,即具有相同配置、功能单元和/或逻辑的核。在另一个实施例中,核101包括无序处理器核,而核101包括有序处理器核。然而,核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中,其他较小资源(例如指令指针以及分配器和重命名块130中的重命名逻辑)也可以对线程101a和101b复制。一些资源(例如重排序/引退单元135中的重排序缓冲器、ILTB 120、加载/存储缓冲器和队列)可以通过分区而共享。其他资源(例如通用内部寄存器、页表基址寄存器、低级数据高速缓存和数据TLB 115、执行单元140和无序单元135的部分)潜在地被充分共享。
处理器100通常包括其他资源,其可以被充分共享、通过分区而共享或被处理器元件专用/专用于处理元件。在图1中,图示具有处理器的说明性逻辑单元/资源的纯示范性处理器的实施例。注意处理器可以包括或省略这些功能单元中的任一个,以及包括未描绘的任何其他已知功能单元、逻辑或固件。如图示的,核101包括简化的代表性无序(OOO)处理器核。但在不同实施例中可以使用有序处理器。OOO核包括用于预测要执行/采取的分支的分支目标缓冲器120,和用于对指令存储地址翻译条目的指令翻译缓冲器(I-TLB)120。
核101进一步包括解码模块125,其耦合于提取单元120来对提取的要素解码。在一个实施例中,提取逻辑包括分别与线程槽位101a、101b关联的个体定序器。通常核101与第一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。数据高速缓存存储近期使用/操作的要素,例如数据操作数,其潜在地保持为存储器一致性(memory coherency)状态。D-TLB存储对于物理地址翻译的近期的虚拟/线性。作为特定示例,处理器可以包括页表结构,用于将物理存储器分解成多个虚拟页面。
在这里,核101和102共享对较高级或更进一步的高速缓存、例如与芯片上接口110关联的第二级高速缓存的访问。注意较高级或更进一步是指从执行单元进一步远离或者增加的高速缓存级别。在一个实施例中,较高级高速缓存是最后的级别的数据高速缓存-处理器100上的存储器层级中最后的高速缓存-例如第二或第三级数据高速缓存。然而,较高级高速缓存因为它可以与指令高速缓存关联或包括指令高速缓存而不这样受限。追踪高速缓存-一类指令高速缓存-相反可以在解码器125后耦合来存储近期解码的踪迹。在这里,指令潜在地指宏指令(即由解码器识别的通用指令),其可以解码成许多微指令(微操作)。
在描绘的配置中,处理器100还包括芯片上接口模块110。历史上,存储器控制器(在下文更详细描述)已包括在处理器100外部的计算系统中。在该情景中,芯片上接口11与处理器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)后端,即大体上发生分析、变换、优化和代码生成的地方。一些编译器指中间,其例示编译器的前端与后端之间的模糊分界。因此,对编译器的插入、关联、生成或其他操作的引用可以在前面提到的阶段或遍次中的任一个以及编译器的任何其他已知阶段或遍次中发生。作为说明性示例,编译器潜在地在编译的一个或多个阶段中插入操作、调用、函数(function)等,例如在编译的前端阶段中调用/操作的插入,以及然后在变换阶段期间调用/操作到低级代码的变换。注意在动态编译期间,编译器代码或动态优化代码可以插入这样的操作/调用,以及优化代码以供运行时间期间执行。作为特定说明性示例,二进制代码(已经编译的代码)可以在运行时间期间动态优化。在这里,程序代码可以包括动态优化代码、二进制代码或其组合。
与编译器相似,翻译器(例如二进制翻译器)静态或动态翻译代码来优化和/或翻译代码。因此,对代码、应用代码、程序代码或其他软件环境的执行的引用可以指:(1)静态或动态执行编译器程序、优化代码优化器或翻译器来编译程序代码、维持软件结构、执行其他操作、优化代码或翻译代码;(2)主程序代码的执行,其包括操作/调用,例如已经优化/编译的应用代码;(3)与主程序代码关联的其他程序代码(例如库)的执行,来维持软件结构、执行其他软件相关操作或优化代码;或(4)其组合。
在一个实施例中,提供新的高性能互连(HPI)。HPI是下一代高速缓存一致性、基于链路的互连。作为一个示例,HPI可以在高性能计算平台中使用,例如工作站或服务器,其中PCIe典型地用于连接加速器或I/O设备。然而,HPI不这样受限制。相反,HPI可以在本文描述的系统或平台中的任一个中使用。此外,发展的个体构思可以适用于其他互连,例如PCIe。此外,HPI可以扩展到在与其他互连(例如PCIe)同一个市场相竞争。为了支持多个设备,在一个实现中,HPI包括指令集架构(ISA)无关性(即,HPI能够在多个不同设备中实现)。在另一个情景中,HPI还可以用于连接高性能I/O设备,而不只是处理器或加速器。例如,高性能PCIe设备可以通过合适的转换桥(即,HPI到PCIe)耦合于HPI。此外,HPI链路可以采用各种方式(例如,星形、环形、网格等)用于许多基于HPI的设备,例如处理器。图2图示多个潜在多插槽配置的实施例。如描述的,两插槽配置205包括两个HPI链路;然而,在其他实现中,可以使用一个HPI链路。对于较大拓扑,可以使用任何配置,只要ID可分配并且存在某一形式的虚拟路径即可。如示出的4插槽配置210具有从每个处理器到另一个的HPI链路。但在配置215中示出的8插槽实现中,不是每个插槽都通过HPI链路直接连接到彼此。然而,如果在处理器之间存在虚拟路径,支持配置。受支持的处理器的范围在本地域中包括2-32个。通过使用多个域或节点控制器之间的其他互连而可以达到更高数量的处理器。
HPI架构包括分层协议架构的定义,其与PCIe的相似之处在于它也包括分层协议架构。在一个实施例中,HPI定义协议层(一致性、不一致性以及可选地基于其他处理器的协议)、路由层、链路层和物理层。此外,许多其他互连架构的HPI包括与功率管理器、测试和调试设计(DFT)、故障处理、寄存器、安全等有关的增强。
图2图示HPI分层协议栈中的潜在层的实施例;然而,不需要这些层并且它们在一些实现中可以是可选的。每个层对它自身级别的粒度或量子信息(具有分组230的协议层205a、b,具有微片 (flit)235的链路层210a、b,具有物理层微片(phit)240的物理层205a、b)。注意,分组在一些实施例中基于实现可以包括部分微片、单个微片或多个微片。
作为第一示例,物理层微片 240的宽度包括链路宽度到位的1对1映射(例如,20位链路宽度包括20个位的物理层微片,等)。微片可以具有更大的大小,例如184、192或200个位。注意如果物理层微片 240是20个位宽并且微片 235的大小是184个位,则它取物理层微片 240的分数来传送一个微片 235(例如, 9.2个物理层微片(以20个位)传送184位微片235或9.6个物理层微片(以20个位)传送192位微片)。注意物理层处的基础链路的宽度可以变化。例如,每方向的通道数量可以包括2、4、6、8、10、12、14、16、18、20、22、24个等。在一个实施例中,链路层210a、b能够将不同事务的多个片段嵌入单个微片,并且在微片内,多个首标(例如、1、2、3、4个)可以嵌入微片内。在这里,HPI将首标分成对应的槽位(slot)以使微片中的多个消息能够去往不同节点。
物理层205a、b在一个实施例中负责信息在物理介质(电或光等)上的快速传输。物理链路是两个链路层实体(例如层205a和205b)之间的点到点。链路层210a、b从上层抽象化物理层205a、b并且提供在两个直接连接的实体之间可靠地传输数据(以及请求)和管理流控制的能力。它还负责将物理信道虚拟化为多个虚拟信道和消息类。协议层220a、b依靠链路层210a、b在将协议消息递交给物理层205a、b用于跨物理链路传输之前将它们映射到合适的消息类和虚拟信道。链路层210a、b可以支持多个消息,例如请求、窥探、响应、写回、不一致性数据等。
在一个实施例中,为了提供可靠的传送循环冗余校验(CRC),由链路层210a、b提供错误校验和恢复过程以便使在物理互连上出现的常规位错误的影响隔离。链路层210a在传送器处生成CRC并且在接收器链路层210b处校验。
在一个实现中,链路层210a、b使用信用方案用于流动控制(flow control)。在初始化期间,给予发送方设置数量的信用来向接收方发送分组或微片。每当向接收方发送分组或微片时,发送方使它的信用计数减小一个信用(其表示分组或微片),这取决于使用的虚拟网络的类型。每当在接收方处释放缓冲器时,信用返回对于该缓冲器类型的发送方。在发送方对于指定信道的信用被耗尽时,在一个实施例中,它停止在该信道中发送任何微片。基本上,信用在接收方消耗信息并且释放合适的缓冲器后被返回。
在一个实施例中,路由层215a、b提供灵活且分布式方式来将分组从源路由到目的地。在一些平台类型(例如,单处理器和双处理器系统)中,该层可不是显式的,但可以是链路层210a、b的部分;在这样的情况下,该层是可选的。它依靠由链路层210a、b提供的作为确定如何路由分组的函数(function)的部分的虚拟网络和的消息类抽象。路由函数(routingfunction)在一个实现中通过实现特定路由表来定义。这样的定义允许有多种使用模型。
在一个实施例中,协议层220a、b实现通信协议、排序规则和一致性维护、I/O、中断和其他较高级通信。注意协议层220a、b在一个实现中提供消息来协商部件和系统的功率状态。作为潜在添加,物理层205a、b还可以独立或结合来设置个体链路的功率状态。
多个代理可以连接到HPI架构,例如归属代理(home agent)(命令(order)对存储器的请求)、高速缓存(向一致性存储器发出请求并且对窥探作出响应)、配置(应对配置事务)、中断(处理中断)、遗留(应对遗留事务)、不一致性(应对不一致性事务)及其他。在下文论述对于HPI的层的更特定论述。
HPI的一些潜在特征的综览包括:在归属节点(home node)处未使用预分配;对于许多消息类没有排序要求;将多个消息封装在单个微片(协议首标)(即,可以使多个消息保持在所定义的槽位中的封装微片)中;规模可以是4、8、16、20个或更多通道的宽链路;大的错误校验方案,其可以使用8、16、32或多至64个位用于错误保护;以及使用嵌入式时钟方案。
HPI物理层
HPI的物理层205a、b(或PHY)搁置在电气层(即,连接两个部件的电导体)上方和链路层210a、b下方,如在图2中图示的。物理层驻存在每个代理上并且连接彼此分开的两个代理(A和B)上的链路层。本地和远程电气层通过物理介质(例如,线、导体、光等)连接。物理层205a、b在一个实施例中具有两个主要阶段:初始化和操作。在初始化期间,连接对于链路层是不透明的并且信令可以牵涉计时状态和握手事件的组合。在操作期间,连接对于链路层是透明的并且信令处于一定速度,其中所有通道作为单个链路一起操作。在操作阶段期间,物理层将微片从代理A运送到代理B以及从代理B运送到代理A。连接也称为链路并且从链路层抽象化一些物理方面(其包括介质、宽度和速度)同时与链路层交换微片和当前配置的控制/状态(例如,宽度)。初始化阶段包括较小阶段,例如轮询、配置。操作阶段也包括较小阶段(例如,链路功率管理状态)。
在一个实施例中,物理层205a、b还:满足可靠性/误差标准、容忍链路上的通道的故障并且转到标称宽度的分数、容忍在链路的相对方向上的单个故障、支持热添加/移除、启用/停用PHY端口、在尝试数量超出规定阈值时的超时初始化尝试等。
在一个实施例中,HPI使用旋转位模式。例如在微片大小未与HPI链路中的多个通道对准时,微片可能不能在通道上在整数倍的传送中发送(例如,192位微片不是示范性20通道链路的纯倍数)。因此在x20,微片可以交错以避免浪费带宽(即在某一点发送部分微片而没有使用余下的通道)。交错在一个实施例中确定为优化关键字段以及传送器(Tx)和接收器(Rx)中的复用器的延迟。确定的模式化还潜在地提供到/从较小宽度(例如x8)的顺畅快速转变以及在新宽度的无缝操作。
在一个实施例中,HPI使用嵌入式时钟,例如20位嵌入式时钟或其他数量位的嵌入式时钟。其他高性能接口可以使用转发时钟或其他时钟用于带内重设。通过使时钟嵌入HPI,它潜在地减少引出线(pinout)。然而,在一些实现中,使用嵌入式时钟可以导致不同装置和方法处理带内重设。作为第一示例,截止链路微片传送并且允许PHY使用(在附录A中更详细描述)的阻塞链路状态在初始化后使用。作为第二示例,在初始化期间可以使用电气有序集,例如电气闲置有序集(EIOS)。
在一个实施例中,HPI能够使用没有转发时钟的第一位宽度方向和第二较小位宽度链路用于功率管理。作为示例,HPI包括部分链路宽度传送状态,其中使用部分宽度(例如,x20全宽度和x8部分宽度);然而,宽度纯粹是说明性的并且可以不同。在这里,PHY可以在没有链路层辅助或干预的情况下处理部分宽度功率管理。在一个实施例中,阻塞链路状态(BLS)协议用于进入部分宽度传送状态(PWIS)。在一个或多个实现中,PWTS退出可以使用BLS协议或静噪打断检测。由于缺乏转发时钟,PWTLS退出可以包括重新去斜,其维持链路的确定性。
在一个实施例中,HPI使用Tx自适应。作为示例,回环状态和硬件用于Tx自适应。作为一个示例,HPI能够对实际位错误计数;这可能够通过注入专门模式来执行。因此,HPI应能够以较低功率获得更好电气裕度。在使用回环状态时,一个方向可以用作硬件反向信道,其中度量作为训练序列(TS)有效载荷的部分而发送。
在一个实施例中,HPI能够提供延迟修复而没有在TS中交换同步计数器值。其他互连可以基于在每个TS中同步计数器值这样的交换来执行延迟修复。在这里,HPI可以通过使电气闲置退出有序集(EIEOS)与同步计数器对准而定期使用重现EIEOS作为同步计数器值的代理。这潜在地节省TS有效载荷空间、去除混叠和DC平衡问题,以及简化待添加的延迟的计算。
在一个实施例中,HPI提供链路状态机转变的软件和计时器控制。其他互连可以支持在进入初始化状态时由硬件设置的信号标志(保持位)。在保持位被软件清除时进行从状态退出。HPI在一个实现中允许软件控制该类型的机制用于进入传送链路状态或回环模式状态。在一个实施例中,HPI允许从握手状态的退出基于软件可编程的握手后超时,其潜在地使测试软件更容易。
在一个实施例中,HPI使用TS的伪随机位序列(PRBS)置乱。作为示例,使用23位PRBS(PRBS23)。在一个实施例中,PRBS由相似位大小的自播种存储元件(例如线性反馈移位寄存器)生成。作为一个示例,固定UI模式可以用于采用绕到自适应状态而置乱。通过采用PRBS23使TS置乱,可以在没有绕过的情况下执行Rx自适应。另外,在时钟恢复和采样期间偏移和其他错误可以减少。HPI方法依靠使用斐波那契(Fibonacci)LFSR,其可以在TS的特定部分期间自播种。
在一个实施例中,HPI支持仿真慢模式而不改变PLL时钟频率。一些设计可以使用慢和快速的单独PLL。但是,在一个实现中,HPI使用仿真慢模式(即,PLL时钟以快的速度运行;TX多次重复位;RX过采样来定位边缘并且识别位)。这意指共享PLL的端口可以以慢和快速度共存。在其中倍数是快速度与慢速度的整数比的一个示例中,不同的快速度可以与相同慢速度一起运作,这可以在热插(hot-attach)的发现阶段期间使用。
在一个实施例中,HPI对于热插支持共同慢模式频率。如上文描述的,仿真慢模式允许共享PLL的HPI端口以慢和快速度共存。在设计者将仿真倍数设置为快速度与慢速度的整数比时,则不同快速度可以与相同慢速度一起运作。因此,支持至少一个共同频率的两个代理可以被热插,而不管主机端口运行的速度如何。软件发现则可以使用慢模式链路来识别和设置最佳链路速度。
在一个实施例中,HPI支持链路的重新初始化而没有终止改变。可以在带内重设时提供重新初始化,该带内重设使时钟通道终止由于在可靠性、可用性和可服务性(RAS)中使用的发现过程而改变。在一个实施例中,在HPI包括入局信令的RX筛选来识别良好通道时,可以进行对于HPI的重新初始化而不改变终止值。
在一个实施例中,HPI支持鲁棒的低功率链路状态(LPLS)进入。作为示例,HPI可以包括LPLS中的最小停留(即,链路在退出之前停留在LPLS的最小时间量、UI、计数器值等)。备选地,LPLS进入可以协商并且然后使用带内重设来进入LPLS。但这在一些情况下可以掩蔽源于第二代理的实际带内重设。HPI在一些实现中允许第一代理进入LPLS并且第二代理进入重设。第一代理在一段时间段(即,最小停留)期间无响应,这允许第二代理完成重设并且然后唤醒第一代理,从而实现到LPLS的更加高效、鲁棒进入。
在一个实施例中,HPI支持例如消除抖动检测、唤醒和对于通道故障的持续筛选等特征。HPI可以在延长时段期间寻找规定的信令模式来检测从LPLS的有效唤醒,从而使虚假唤醒的机会减少。在有助于更鲁棒的RAS特征的初始化过程期间持续筛选坏通道的背景中还可以使用相同硬件。
在一个实施例中,HPI支持对锁定步骤的确定性退出和重新开始回放。在HPI中,当以全带宽操作时,一些TS边界可以与微片边界一致。因此HPI可以识别和规定退出边界使得锁定步骤行为可以用另一个链路维持。另外,HPI可以规定计时器,其可以用于用链路对来维持锁定步骤。在初始化后,HPI还可以支持具有带内重设的操作,带内重设被停用以支持锁定步骤操作的一些类型。
在一个实施例中,HPI支持使用TS首标而不是有效载荷用于关键初始化参数。备选地,TS有效载荷可以用于交换初始参数,像ACK和通道数字。并且还可以使用用于传达通道极性的DC级。但是,HPI对于关键参数可以使用TS首标中的DC平衡码。这潜在地使有效载荷需要的字节数量减少并且潜在地允许整个PRBS23模式用于使TS置乱,这使DC平衡TS的需要减少。
在一个实施例中,HPI支持在闲置通道的部分宽度传送链路状态(PWTLS)进入/退出期间提高活动通道的抗扰度的措施。在一个实施例中,空(或其他不可重试微片)微片可以在宽度改变点周围使用来提高活动通道的抗扰度。另外,HPI可以大概PWTLS退出开始时周围使用空微片(即,空微片可以用数据微片分割)。HPI还可以使用专门信令,其格式可以变化来使假唤醒检测的机会减少。
在一个实施例中,HPI支持在PWTLS退出期间使用专门模式以允许有非阻塞去斜。备选地,在PWTLS退出时,闲置通道因为它们可以借助于转发时钟来维持偏斜而未被去斜。但是,随着使用嵌入式时钟,HPI可以使用专门信令,其格式可以变化来使假唤醒检测的机会减少并且还允许去斜而不阻塞微片流动。这通过使出故障通道无缝掉电、重新更改它们并且在不阻塞微片流动的情况下将它们带回在线而允许有更鲁棒的RAS。
在一个实施例中,HPI支持在没有链路层支持情况下的低功率链路状态(LPLS)进入和更鲁棒的LPLS退出。备选地,可依赖在预先指定的主方(master)和从方(slave)之间的链路层协商而从传送链路状态(TLS)进入LPLS。在HPI中,PHY可以使用阻塞链路状态(BLS)码来处理协商并且可以支持两个代理是主方或发起者,以及直接从PWTLS进入LPLS。从LPLS退出可以基于使用特定模式使静噪打断去抖动、后跟双方之间的握手以及如果其出故障的话的超时引发的带内重设。
在一个实施例中,HPI支持在初始化期间控制非生产性循环。备选地,未能初始化(init)(例如缺乏良好通道)可以导致太多次地重试初始化,这潜在地浪费功率并且难以调试。在HPI中,链路对可以尝试在重设状态叫停并且掉电之前初始化设置的次数,其中软件可以在重试初始化之前进行调整。这潜在地提高系统的RAS。
在一个实施例中,HPI支持高级IBIST(内置在自测试中的互连)选项。在一个实施例中,可以使用模式发生器,其对于任何引脚允许有最大长度的两个不相关PRBS23模式。在一个实施例中,HPI可能够支持四个这样的模式,以及提供控制这些模式的长度的能力(即动态改变测试模式、PRBS23长度)。
在一个实施例中,HPI提供高级逻辑来使通道去斜。作为示例,TS锁定后的TS边界可以用于使通道去斜。另外,HPI可以通过比较在有效载荷的特定点期间LFSR中的通道PRBS模式来去斜。这样的去斜在可缺乏检测TS或状态机来管理去斜的能力的测试芯片中可能是有用的。
在一个实施例中,在TS边界上进行具有行星对准的从初始化退出到链路传送。另外,HPI可以支持从该点的协商推迟。另外,两个方向之间的退出顺序可以通过使用主从确定来控制,从而对于链路对允许有一个而不是两个行星对准控制。
一些实现使用固定128UI模式来使TS置乱。其他使用固定4k PRBS23来使TS置乱。HPI在一个实施例中允许使用任何长度的PRBS,其包括整个(8M-1)PRBS23序列。
在一些架构中,自适应具有固定持续时间。在一个实施例中,从Adapt退出被握手而不是计时。这意指Adapt时间在两个方向可以是不对称的并且与任一方所需要的一样长。
在一个实施例中,如果那些状态动作不需要重新进行,状态机可以绕过状态。然而,这可以导致更复杂的设计和验证逃脱。HPI未使用绕过-相反,它分配动作使得每个状态中的短计时器可以用于执行动作和避免绕过。这潜在地有助于更均一和同步的状态机转变。
在一些架构中,转发时钟用于带中重设并且链路层用于分阶段部分宽度传送和低功率链路进入。HPI使用类似阻塞链接状态码的功能。这些代码潜在地可以具有位错误,从而在Rx导致‘错配’。HPI包括用于应对错配的协议以及用于处理异步重设、低功率链路状态和部分宽度链路状态请求的部件。
在一个实施例中,128 UI置乱器用于使TS回环。然而,这在回环开始时可以对TS锁定导致混叠;因此一些架构在此期间使有效载荷变成全0。在另一个实施例中,HPI使用均一有效载荷并且对TS锁定使用定期出现的未置乱EIEOS。
一些架构在初始化期间使用置乱TS。在一个实施例中,HPI定义超序列,其是具有各种长度的置乱TS和未置乱EIEOS的组合。这在初始化期间允许有更加随机化的转变并且还简化TS锁定、延迟修复和其他动作。
HPI链路层
返回图2,图示对于链路层210a、b的逻辑块的实施例。在一个实施例中,链路层210a、b保证两个协议或路由实体之间的可靠数据传输。它从协议层220a、b抽象化物理层205a、b、负责两个协议代理(A、B)之间的流动控制并且向协议层(消息类)和路由层(虚拟网络)提供虚拟信道服务。协议层220a、b与链路层210a、b之间的接口典型地在分组级别。在一个实施例中,链路层处的最小传输单位称为微片,其是规定数量的位,例如192个。链路层210a、b依靠物理层205a、b来将物理层205a、b的传输单位(物理层微片)装入链路层210a、b的传输单位(微片)。另外,链路层210a、b可以在逻辑上分成两个部分:发送方和接收方。一个实体上的发送方/接收方可以连接到另一个实体上的接收方/发送方对。流动控制通常在微片和分组基础上执行。错误检测和校正也潜在地在微片级基础上执行。
在一个实施例中,微片是扩展的192个位。然而,在不同变型中可以使用任何范围的位,例如81-256(或更多)。在这里,CRC字段也增加(例如,16个位)来处理较大有效载荷。
在一个实施例中,TID(事务ID)在长度上是11个位。因此,分布的归属代理的预先分配和启用可以被移除。此外,在一些实现中,11个位的使用允许使用TID而不使用扩展TID模式。
在一个实施例中,首标微片分成3个槽位,2个具有相等大小(槽位0和1)并且另一个是较小槽位(槽位2)。浮动字段对使用的槽位0或1中的一个可用。可以使用槽位1和2的消息被优化,从而使对这些槽位的操作码编码所需要的位的数量减少。在需要更多位(槽位0提供)的首标进入链路层时,插槽算法(slotting algorithm)就位以允许它接管槽位1有效载荷位以用于额外空间。特殊控制(例如,LLCTRL)微片由于它们的需要而可以消耗全部3个槽位价值的位。对于链路部分繁忙的情况,还可以存在插槽算法以允许使用个体槽位,而其他槽位未携带信息。其他互连可以允许每微片单个消息,而不是多个。微片内槽位的定大小以及可以放置在每个槽位中的消息的类型潜在地提供增加的HPI带宽,甚至微片率减小也如此。微片和多槽位首标的更详细描述指附录B的微片定义部分。
在HPI中,大的CRC基线可以提高错误检测。例如,使用16位CRC。由于较大CRC,也可以使用较大有效载荷。CRC的16位结合与那些位一起使用的多项式提高错误检测。作为示例,存在最小数量的门来提供1)检测的1-4位错误2)检测突发长度为16或更少的错误。
在一个实施例中,使用基于两个CRC-16等式的滚动CRC。可以使用两个16位多项式,来自HPI CRC-16的多项式和第二多项式。该第二多项式具有最小数量的门来实现,同时保留以下性质:1)检测全部1-7位错误2)x8链路宽度中的每通道突发保护3)检测突发长度为16或更少的全部错误。
在一个实施例中,使用减少的最大微片率(9.6 vs. 4 UI),但获得链路的增加吞吐量。由于微片大小增加,实现每微片引入多个槽位、有效载荷位的优化使用(移除或重定位不频繁使用的字段的改变算法)、更多的互连效率。
在一个实施例中,对于3个槽位的支持的部分包括192位微片。浮动字段对槽位0或槽位1实现11个附加位的有效载荷。注意,如果使用较大微片,则可以使用更多浮动位。并且按照推理,如果使用较小微片,则提供较少浮动位。通过允许字段在两个槽位之间浮动,我们可以提供某些消息所需要的附加位,同时仍保持在192个位内并且使带宽使用最大化。备选地,对每个槽位提供11位HTID字段可以在微片中使用附加11个位,这将不会被高效使用。
一些互连可以在协议级消息中传送病毒(Viral)状态以及在数据微片中传送有毒(Poison)状态。在一个实施例中,HPI协议级消息和有毒状态移动到控制微片。因为未频繁使用这些位(仅在错误情况下),使它们从协议级消息移除潜在地增加微片使用。使用控制微片来注入它们仍允许抑制错误。
在一个实施例中,微片中的CRD和ACK位允许返回信用的数量,例如八个,或确认的数量,例如8个。作为完全编码信用字段的部分,在槽位2编码为LLCRD时这些位用作Credit[n]和Acknowledge[n]。这潜在地通过允许任何微片使用总共仅2个位返回VNA信用的数量和确认的数量但在使用完全编码LLCRD返回时还允许它们的定义保持一致而提高效率。
在一个实施例中,VNA vs. VN0/1编码(通过使槽位与相同编码对准来节省位)。多槽位首标微片中的槽位可以与仅仅VNA、仅仅VN0或仅仅VN1对准。通过实施此,指示VN的每槽位的位被移除。这提高微片位使用效率并且潜在地实现从10位TID扩展到11位TID。
一些字段仅允许采用1(对于VN0/1)、2/8/16(对于VNA)和8(对于确认)增量的返回。这意指返回大量未决信用或确认可以使用多个返回消息。它还意指对于VNA和确认的奇数编号的返回值可以保留为可整除值(evenly divisible value)的未决累积。HPI可以具有完全编码信用和Ack返回字段,从而允许代理以单个消息返回池的所有累积信用或Ack。这潜在地提高链路效率并且还潜在地简化逻辑实现(返回逻辑可以实现“清除”信号而不是完全减量)。
路由层
在一个实施例中,路由层215a、b提供灵活且分布式方法来将HPI事务从源路由到目的地。方案是灵活的,因为对于多个拓扑的路由算法可以通过每个路由器处的可编程路由表(编程在一个实施例中由固件、软件或其组合实现)来规定。路由功能性可以分布;路由可以通过一系列路由步骤来进行,其中每个路由步骤通过源、中间或目的地路由器处的查找表来定义。源处的查找可以用于将HPI分组注入HPI构造。中间路由器处的查找可以用于将HPI分组从输入端口路由到输出端口。目的地端口处的查找可以用于以目的地HPI协议代理为目标。注意在一些实现上,路由层是薄弱的,因为路由表并且因此路由算法未专门由规范所定义。这允许有多种使用模型,其包括由系统实现待定义的灵活平台架构拓扑。路由层215a、b依靠链路层210a、b用于提供使用多至三个(或以上)虚拟网络(VN)-在一个示例中,两个无死锁VN(VN0和VN1),具有在每个虚拟网络中定义的若干消息类。共享自适应虚拟网络(VNA)可以在链路层中定义,但因为每个消息类和VN可以具有专用资源和保证的转发进程,该自适应网络可未直接经受路由概念。
路由规则的非详尽的示范性列表包括:(1)(消息类不变性):属于特定消息类的入局分组可以在相同消息类的外出HPI端口/虚拟网络上路由;(2)(交换)HPI平台可以支持“存储和转发”和“虚拟切入”类型的交换。在另一个实施例中,HPI可不支持“虫孔”或“电路”交换。(3)(互连无死锁)HPI平台对于无死锁路由可不依靠自适应流动。利用平台(其使用VN0和VN1两者),2个VN可以一起用于无死锁路由;以及(4)(对于“叶”路由器的VN0)。在可以使用VN0和VN1两者的HPI平台中,准许对那些部件使用VN0,这些部件的路由器未用于路由直通;即,入局端口具有在该部件处终止的HPI目的地。在这样的情况下,来自不同VN的分组可以路由到VN0。其他规则(例如,分组在VN0与VN1之间的移动)可以由平台依赖型路由算法支配。
路由步骤:路由步骤在一个实施例中被路由函数(RF)和选择函数(SF)引用。路由函数可以采取分组到达的HPI端口和目的地NodeID作为输入;它然后产生2元组(tuple)作为输出-HPI端口号和虚拟网络-分组在其到目的地的路径上应遵循它们。准许路由函数另外依赖入局虚拟网络。此外,准许路由步骤产生多个的<端口#、虚拟网络>对。所得的路由算法叫作自适应。在这样的情况下,选择函数SF可以基于路由器具有的额外状态信息来选择单个2元组(例如,利用自适应路由算法,虚拟网络的特定端口的选择可以取决于本地拥挤状况)。路由步骤在一个实施例中包括应用路由函数以及然后应用选择函数来产生2元组。
路由器表简化:HPI平台可以实现虚拟网络的合法子集。这样的子集简化与路由器交换机处的虚拟信道缓冲和仲裁关联的路由表的大小(使列的数量减少)。这些简化可以以平台灵活性和特征为代价。VN0和VN1可以是无死锁网络,其一起或单独提供无死锁,这取决于使用模型,其中通常对它们指派最小虚拟信道资源。路由表的扁平组织可以包括对应于最大数量的NodeID的大小。利用这样的组织,路由表可以通过目的地NodeID字段并且可能通过虚拟网络id字段编索引。表组织还可以变成分层级的,其中目的地NodeID字段细分成多个子字段,其是实现依赖的。例如,随着分成“本地”和“非本地”部分,路由的“非本地”部分在“本地”部分的路由之前完成。减少每个输入端口处的表大小的潜在优势以被迫以分层级方式向HPI部件指派NodeID为潜在代价。
路由算法:路由算法在一个实施例中定义从源模块到目的地模块的准许路径集。从源到目的地的特定路径是准许路径的子集并且作为在上文定义的以源处的路由器开始、经过零或多个中间路由器并且以目的地处的路由器结束的一系列路由步骤而获得。注意即使HPI构造可以具有从源到目的地的多个物理路径,准许的路径是通过路由算法定义的那些路径。
HPI一致性协议
在一个实施例中,层220a、b中包括的HPI一致性协议支持来自存储器的数据的代理高速缓存行。希望对存储器数据高速缓存的代理可以使用一致性协议来读取数据行以加载到它的高速缓存内。希望在它的高速缓存中修改数据行的代理可以使用一致性协议以在修改数据之前获取行的所有权。在修改行后,代理可以遵循协议要求,该协议要求是使它保持在它的高速缓存中直到它将行写回存储器或包括该行(响应于外部请求)。最后,代理可以满足外部请求来使它的高速缓存中的行无效。协议通过指定所有高速缓存代理可遵循的规则来确保数据的一致性。它还对代理提供在没有高速缓存的情况下一致性地读和写存储器数据的手段(means)。
可以实行两个条件来支持使用HPI一致性协议的事务。首先,协议维持数据连贯性(data consistency),作为示例在每地址基础上、在代理的高速缓存中的数据之间以及在那些数据与存储器中的数据之间。非正式地,数据连贯性可以指代理的高速缓存中的数据的每个有效行(其表示数据的最新值)并且一致性协议分组中传送的数据表示在发送它的时候数据的最新值。当在高速缓存中或传送中没有数据的有效副本存在时,协议可以确保数据的最新数据值驻存在存储器中。其次,协议对请求提供定义明确的承诺点。对于读的承诺点可以指示数据何时可用;并且对于写,它们可以指示写入的数据何时全局可观察并且将被后续读所加载。协议可以在一致性存储器空间中对可高速缓存和不可高速缓存(UC)请求都可以支持这些承诺点。
HPI一致性协议还可以确保由代理做出的一致性请求的正向进程到一致性存储器空间中的地址。当然,为正确系统操作可以最终满足事务最终并且将其引退。HPI一致性协议在一些实施例中可没有重试来解决资源分配冲突的概念。从而,协议本身可以定义成不包含循环资源依赖,并且实现可以关注它们的设计以不引入可以导致死锁的依赖。另外,协议可以指示在何种情况下设计能够对协议资源提供平顺(fair)访问。
在逻辑上,HPI一致性协议在一个实施例中由三个项组成:一致性(或高速缓存)代理、归属代理和连接代理的HPI互连构造。一致性代理和归属代理一起运作以通过互连交换消息来实现数据连贯性。链路层210a、b和它的相关描述提供互连构造的细节,其包括它如何遵守本文论述的一致性协议的要求。(可以注意分成一致性代理和归属代理是为了清楚起见。设计在插槽内可以包含两个类型的多个代理并且使代理行为组合成单个设计单元。)。
在一个实施例中,HPI未预先分配归属代理的资源。在这里,接收请求的接收代理分配资源来处理它。发送请求的代理对响应分配资源。在该情景中,HPI可以遵循关于资源分配的两个通用规则。首先,接收请求的代理可以负责分配资源来处理它。其次,生成请求的代理可以负责分配资源来处理对请求的响应。
资源分配还可以扩展到窥探请求中的HTID(连同RNID/RTID)。潜在减少使用归属代理和转发响应来支持对归属代理的响应(以及到请求代理的数据转发)。
在一个实施例中,归属代理资源也未在窥探请求和转发响应中预先分配来支持对归属代理的响应(和到请求代理的数据转发)。
在一个实施例中,在归属代理完成处理请求之前(这时请求代理重用它的RTID资源是安全的)没有归属资源预先分配的能力来“早”发送CmpO。系统中具有类似RNID/RTID的窥探的一般处理也是协议的部分。
在一个实施例中,使用有序响应信道执行冲突解决。一致性代理使用RspCnflt作为对归属代理发送FwdCnflto的请求,其将与对于一致性代理的冲突请求的CmpO(如已经调度的话)排序。
在一个实施例中,HPI支持经由有序响应信道的冲突解决。一致性代理使用来自窥探的信息来帮助处理FwdCnflto,其没有“类型”信息并且没有RTID来将数据转发到请求代理。
在一个实施例中,一致性代理阻塞对写回请求的转发来维持数据连贯性。但它也允许一致性代理使用写回请求以在处理转发之前提交不可高速缓冲(UC)数据并且允许一致性代理写回部分高速缓存行而不是支持部分隐式写回用于转发的协议。
在一个实施例中,支持接受专属状态数据的读无效(RdInv)请求。不可高速缓存(UC)读的语义包括使修改的数据刷新到存储器。然而,一些架构允许将M数据转发到无效读,如果它接收M数据的话,这迫使请求代理清除行。RdInv简化流动但它不允许转发E数据。
在一个实施例中,HPI支持InvItoM到IODC功能性。InvItoM请求高速缓存行的专属所有权而不接收数据并且其意图是不久之后执行写回。需要的高速缓存状态可以是M状态和E状态或任一个。
在一个实施例中,HPI支持对于持久存储器刷新的WbFlush。WbFlush的实施例在下文图示。它可以由于持久提交而发送。可将写刷新到持久存储器。
在一个实施例中,HPI支持额外操作,例如对于由路由层生成的“展开”窥探的SnpF。一些架构对于展开窥探没有显式支持。在这里,HPI归属代理生成单个“展开”窥探请求,并且作为响应,路由层对“展开圆锥”中的所有对等代理生成窥探。归属代理可以预期来自代理段中的每个的响应。
在一个实施例中,HPI支持额外操作,例如对于由路由层生成的“展开”窥探的SnpF。一些架构对于展开窥探没有显式支持。在这里,HPI归属代理生成单个“展开”窥探请求,并且作为响应,路由层对“展开圆锥”中的所有对等代理生成窥探。归属代理可以预期来自代理段中的每个的响应。
在一个实施例中,HPI支持具有高速缓存推送提示的显式写回(WbPushMtoI)。在一个实施例中,一致性代理将具有提示的修改数据写回归属代理,归属代理可以将修改数据推送到“本地”高速缓存,从而以M状态存储而没有将数据写入存储器。
在一个实施例中,在转发共享数据时,一致性代理可以保持F状态。在一个示例中,具有F状态的接收“共享”窥探并且在这样的窥探后的转发的一致性代理可以保持F状态同时向请求代理发送S状态。
在一个实施例中,协议表可以通过使一个表引用“下一状态”列中的另一个子表而嵌套,并且嵌套表可以具有额外或较细粒度防护来规定许可哪些行(行为)。
在一个实施例中,协议表使用行列跨越(row spanning)来指示同样许可的行为(行列)而不是添加“偏置”位以在行为之间选择。
在一个实施例中,组织动作表以用作BFM的功能性引擎(验证环境工具)而不是使BFM团队基于它们的解释来创建它们自己的BFM引擎。
HPI不一致性协议
在一个实施例中,HPI支持不一致性事务。作为示例,不一致性事务称为不参与HPI一致性协议的事务。不一致性事务包括请求和它们对应的完成。对于一些特殊事务,广播机制。
没有专用流通道的HPI
在HPI的实施例中,提供“STREAM”通道来将Intel®晶片内互连(IDI)业务与Intel®芯片上系统构造(IOSF)业务区分开,两者都在链路层中提供。PHY层上的链路控制分组(LCP)也可以需要被标记。在一个实施例中,每20个数据通道的集群提供一个流通道。
然而,在某些实施例中,可以在没有专用流通道的情况下提供HPI。例如,为了提供等同功能性,在闲置期期间在数据通道内提供流通道数据。因为每20个数据通道可以提供一个流通道,流通道的消除节省近似5%的面积。在前数据时间,20个数据通道可以从中间轨升高来表示一个种类的数据,并且下降来表示第二种类的数据(例如,Intel®芯片上系统构造(IOSF))。为了表示额外种类的数据,例如链路控制分组(LCP),通道可以分成两个或以上的组,并且单个位可以编码到每个组。LCP还可以编码到后数据时间,例如通过停止微片业务并且操纵“VALID”通道从中间轨到0或1。
存在多个方式可以进行这一点。在图4中,箭头410标记示例前数据符号时间,而箭头420标记示例后数据符号时间。在图4的示例中,除数据通道(其每个可以在n个通道的组中提供(其中在一个示例中n=20))外,可以提供“STROBE”通道,并且每个组可以包括“VALID”通道。“STREAM”通道也通过示例的方式公开来图示在缺乏该说明书的教导的情况下必需的信令。利用图5和6的方法,可以消除STREAM通道,从而在一个实施例中提供近似5%的空间节省。
在前数据期期间,数据通道保持闲置,例如在三重数据方案中位于中间轨。然而,可以驱动它们到0或1而不失电气完整性。从而,闲置数据通道对于在没有单独流通道情况下对流数据编码是有用的。
在一个实施例中,在前数据期仅需区分IOSF和IDI。从而,可以驱动所有通道变高或低,来表示两个可能性中的一个。然而,该说明书不这样受限制。通过将该数据流分成k个组并且驱动值到每个组上来提供k位流数据以表示2k个种类的分组,这也是可能的。组的大小可是均一的,但这不是必需的。如果不需要任何通道,它们可以在中间轨状态保持闲置。
仅使用k个通道而不是分成组,这也是可能的。然而,分组的使用提供冗余,其在可靠性比多样性更重要的实施例中可以是有益的。
还可以提供后数据,用于对LCP分组编码。这因为在链路层仅提供两个种类的分组(例如IOSF和IDI)的情况下是有用的,数据通道可以在对LCP单独编码时接收均一值。因为在某些实施例中LCP总是获得高于微片的优先级,对LCP后数据编码是可能的。当一个代理需要在PHY上发送LCP时,它可以通过对链路层提供回压来结束微片业务。
与可以如上文描述的那样提供多个链路层种类所采用的方式相似,在后数据期的符号时间期间,不同类型的LCP可以编码到通道上。例如,通道0和1上的“00”可以是进入硬件重定中心的请求。这可以在以比预期更高比率遇到循环冗余校验(CRC)错误时进行,使得代理中的一个确定链路需要再训练使得时钟可以正确地“被定中心”。在示例中,“01”可以是该请求的ACK。这些仅通过非限制性示例的方式提供,并且应注意许多不同的LCP请求和响应可以在该方案中被有用地编码。同样同上,对多个通道上的相同值编码可以有助于减少错误。在实施例中,使通道保持在中间轨指示没有LCP正在被发送。
同样在某些实施例中,在后数据期期间在安静时间发送LCP可以是必要的。为了这样做,VALID通道可以被拉到0,例如正好在发送LCP之前。VALID通道可以在安静期期间在其他任何地方保持在中间轨。
在某些实施例中,所有集群的STROBE、VALID和STREAMID可以同样驱动到彼此。在其他实施例中,它们可以被单独驱动来提供增强能力,例如仅对单个集群重定中心,而其他集群继续接收正常业务。
图5是图示提供嵌入式流通道数据的方法500的流程图。在图5的示例中,使用前数据编码。
在框510中,流通道编码器对流通道标识符或种类标识符编码来识别接着的数据的种类。
在框520,仍然在图4中图示的前数据时间期间,通道驱动器驱动编码种类标识符到数据通道上。在需要多个位的流通道标识符的某些实施例中,这可以包括将数据通道分成合适数量的组。例如,如果存在20个通道,并且需要四个位来表示多至16个种类的数据,则数据通道可以分成四组,每组五个通道。在每个组中,全部五个通道将被驱动到相同状态。在存在未接收值的附加通道的情况下,它们可以保持在中间轨。
在框530,前数据期到期。数据通道现在必须被释放以供大量数据使用。
在框540,通道驱动器驱动大量数据到数据通道上。
在框590,完成方法。
图6是提供额外后数据流信息(例如LCP信号)的方法600的流程图。
在框610,流通道编码器对流通道标识符或种类标识符编码来识别接着的数据的种类。
在框620,仍然在图4中图示的前数据时间期间,通道驱动器驱动编码种类标识符到数据通道上。在需要多个位的流通道标识符的某些实施例中,这可以包括将数据通道分成合适数量的组。例如,如果存在20个通道,并且需要四个位来表示多至16个种类的数据,则数据通道可以分成四组,每组五个通道。在每个组中,全部五个通道将被驱动到相同状态。在存在未接收值的附加通道的情况下,它们可以保持在中间轨。
在框630,前数据期到期。数据通道现在必须被释放以供大量数据使用。
在框640,通道驱动器驱动大量数据到数据通道上。
在框650,数据期结束。数据通道现在可用于再次用作流标识符。
在框660,例如代理A(图3)确定它需要提供LCP。从而,代理A停止发送微片。
在框670,流编码器对LCP编码。例如,可以对“RECENTER”提供代码,并且可以对代理B(图3)提供另一个代码来提供该请求的“ACK”。额外LCP码也是可用的。
在框680,通道驱动器驱动LCP码到数据通道上。两个代理然后执行所请求的动作。
在框690,完成方法。
注意上文描述的装置、方法和系统可以在如前面提到的任何电子设备或系统中实现。作为特定说明,下文的图提供示范性系统用于使用本本文描述的本发明。由于更详细描述下文的系统,从上文的论述公开、描述和重新访问许多不同互连。并且如显而易见的,上文描述的进展可以适用于那些互连、构造或架构中的任一个。
现在参考图7,示出多核处理器的实施例的框图。如在图7的实施例中示出的,处理器700包括多个域。具体地,核域730包括多个核730A-730N,图形域760包括一个或多个图形引擎(其具有媒体引擎765)和系统代理域710。
在各种实施例中,系统代理域710处理功率控制事件和功率管理,使得域730和760的个体单元(例如,核和/或图形引擎)独立可控以根据在指定单元中出现的活动(或不活动)以合适的功率模式/级(例如,活动、涡轮(turbo)、睡眠、休眠、深度睡眠或像其他高级配置功率接口的状态)操作。域730和760中的每个可以以不同电压和/或功率操作,并且此外,域内的个体单元每个潜在地以独立频率和电压操作。注意尽管仅示出有三个域,理解本发明的范围在该方面不受限制并且在其他实施例中可以存在额外域。
如示出的,除各种执行单元和额外处理元件外,每个核730进一步包括低级高速缓存。在这里,各种核耦合于彼此以及耦合于共享高速缓存存储器,由最后的级别的高速缓存(LLC)740A-740N的多个单元或切片形成;这些LLC通常包括存储和高速缓存控制器功能性并且在核之中以及潜在地也在图形引擎之间共享。
如看到的,环形互连750使核耦合在一起,并且经由多个环形止动装置752A-752N(每个在核与LLC切片之间的耦合处)在核域730、图形域760与系统代理电路710之间的互连。如在图7中看到的,互连750用于承载各种信息,其包括地址信息、数据信息、确认信息和窥探/无效信息。尽管图示环形互连,可以使用任何已知晶片上互连或构造。作为说明性示例,上文论述的构造中的一些(例如,另一个晶片上互连、Intel芯片上系统构造(IOSF)、高级微控制器总线架构(AMBA)互连、多维网格构造或其他已知互连架构)可以采用相似方式使用。
如进一步描绘的,系统代理域710包括显示引擎712,其对关联的显示器提供控制和接口。系统代理域710可以包括其他单元,例如:集成存储器控制器720,其提供到系统存储器(例如,用多个DIMM实现的DRAM;执行存储器一致性操作的一致性逻辑722)的接口。可以存在多个接口以实现处理器与其他电路之间的互连。例如,在一个实施例中,提供至少一个直接媒体接口(DMI)716接口以及一个或多个PCIe™接口714。显示引擎和这些接口典型地经由PCIe™桥718耦合于存储器。再进一步,为了在其他代理(例如额外处理器或其他电路)之间提供通信,可以提供一个或多个其他接口(例如,Intel®快速路径互连(QPI)构造)。
现在参考图8,示出代表性核的框图;具体地,核(例如来自图7的核730)的后端的逻辑块。一般,图8中示出的结构包括无序处理器,其具有用于提取入局指令、执行各种处理(例如,高速缓存、解码、分支预测,等)并且将指令/操作一直传递到无序(OOO)引擎880的前端单元870。
具体地,在图8的实施例中,无序引擎880包括用于从前端单元870接收解码指令(可以采用一个或多个微指令或uop的形式)并且将它们分配给合适的资源(例如寄存器等)的分配单元882。接着,指令提供给预留站884,其预留资源并且调度它们以供在多个执行单元886A-886N中的一个上执行。可以存在各种类型的执行单元,其除其他外还包括例如算术逻辑单元(ALU)、加载和存储单元、向量处理单元(VPU)、浮点执行单元。来自这些不同执行单元的结果提供给重排序缓冲器(ROB)888,其获得未排序结果并且使它们返回正确程序顺序。
仍然参考图8,注意前端单元870和无序引擎880耦合于不同级别的存储器层级。具体示出指令级高速缓存872,其进而耦合于中级高速缓存876,该中级高速缓存876进而耦合于最后的级别的高速缓存895。在一个实施例中,最后的级别的高速缓存895在芯片上(有时称为非核)单元890中实现。作为示例,单元890与图7的系统代理710相似。如上文论述的,非核890与系统存储器899通信,该系统存储器899在图示的实施例中经由ED RAM实现。还注意无序引擎880内的各种执行单元886与第一级高速缓存874通信,该第一级高速缓存874还与中级高速缓存876通信。还注意额外的核830N-2-830N可以耦合于LLC 895。尽管在图8的实施例中在该高级别示出,理解可以存在各种更改和额外部件。
转向图9,图示用处理器形成的示范性计算机系统的框图,该处理器包括执行单元用于执行指令,其中互连中的一个或多个实现根据本发明的一个实施例的一个或多个特征。根据本发明,例如在本文描述的实施例中,系统900包括部件(例如处理器902),用于采用执行单元,其包括用于执行进程数据的算法的逻辑。系统900表示基于PENTIUMIII™、PENTIUM4™、Xeon™、Itanium、XScale™和/或StrongARM™微处理器(从加利福尼亚州Santa Clara 的Intel Corporation可获得)的处理系统,但还可以使用其他系统(其包括具有其他微处理器、工程化工作站、机顶盒及类似物的PC)。在一个实施例中,样本系统900执行从华盛顿州Redmond的Microsoft Corporation可获得的WINDOWS™操作系统的版本,但还可以使用其他操作系统(例如UNIX和Linux)、嵌入式软件和/或图形用户界面。从而,本发明的实施例不限于硬件电路和软件的任何特定组合。
实施例不限于计算机系统。本发明的备选备选实施例可以在例如手持设备和嵌入式应用等其他设备中使用。手持设备的一些示例包括蜂窝电话、互联网协议设备、数字拍摄装置、个人数字助理(PDA)和手持PC。嵌入式应用可以包括微控制器、数字信号处理器(DSP)、芯片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机或可以执行根据至少一个实施例的一个或多个指令的任何其他系统。
在该图示实施例中,处理器902包括一个或多个执行单元908,用于实现执行至少一个指令的算法。一个实施例可以在单个处理器桌面或服务器系统的上下文中使用,但在多处理器系统中可以包括备选实施例。系统900是‘集线器’系统架构的示例。计算机系统900包括处理器902,用于处理数据信号。作为一个说明性示例,处理器902包括复杂指令集计算机(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现指令集组合的处理器,或任何其他处理器设备,例如数字信号处理器。处理器902耦合于处理器总线910,其在处理器902与系统900中的其他部件之间传送数据信号。系统900的元件(例如图形加速器912、存储器控制器集线器916、存储器920、I/O控制器集线器924、无线收发器926、闪速BIOS 928、网络控制器934、音频控制器936、串行扩展端口938、I/O控制器940等)可以执行熟悉本领域的人员众所周知的常规功能。
在一个实施例中,处理器902包括1级(L1)内部高速缓存存储器904。根据架构,处理器902可以具有单个内部高速缓存或多级内部高速缓存。其他实施例包括内部和外部高速缓存的组合,这取决于特定实现和需要。寄存器堆906将不同类型的数据存储在各种寄存器中,其包括整数寄存器、浮点寄存器、向量寄存器、分组寄存器、影子寄存器(shadowregister)、检查点寄存器、状态寄存器和指令指针寄存器。
执行单元908(其包括用于执行整数和浮点操作的逻辑)也驻存在处理器902中。处理器902在一个实施例中包括存储微代码的微代码(u码)ROM,该微代码在执行时执行对于某些宏指令的算法或处理复杂情景。在这里,微代码潜在地可更新,来处理处理器902的逻辑缺陷/修复。对于一个实施例,执行单元908包括用于处理封装指令集909的逻辑。通过在通用处理器902的指令集中包括封装指令集909,连同关联电路来执行指令,由许多多媒体应用使用的操作可以使用通用处理器902中的封装数据执行。从而,许多多媒体应用可以通过使用全宽处理器数据总线而被加速并且更高效执行以用于对封装数据执行操作。这潜在地消除跨处理器数据总线来传输较小数据单位以每次对一个数据元素执行一个或多个操作的需要。
执行单元908的备选实施例也可以在微控制器、嵌入式处理器、图形设备、DSP和其他类型的逻辑电路中使用。系统900包括存储器920。存储器920包括动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪速存储器设备或其他存储器设备。存储器920存储由处理器902待执行的数据信号所表示的指令和/或数据。
注意前面提到的本发明的特征或方面中的任一个可以在图9中图示的一个或多个互连上使用。例如,未示出的用于使处理器902的内部单元耦合的晶片上互连(ODI)实现上文描述的本发明的一个或多个方面。或本发明与处理器总线910(例如,Intel快速路径互连(QPI)或其他已知高性能计算互连)、到存储器920的高带宽存储器路径918、到图形加速器912的点到点链路(例如,外围部件互连高速(PCIe)兼容构造)、控制器集线器互连922、用于耦合其他图示的部件的I/O或其他互连(例如,USB、PCI、PCIe)关联。这样的部件的一些示例包括音频控制器936、固件集线器(闪速BIOS)928、无线收发器926、数据存储924、遗留I/O控制器910(其包含用户输入和键盘接口942)、串行扩展端口938(例如通用串行总线(USB))和网络控制器934。数据存储设备924可以包括硬盘驱动器、软盘驱动器、CD-ROM设备、闪速存储器设备或其他大容量存储设备。
现在参考图10,示出根据本发明的实施例的第二系统1000的框图。如在图10中示出的,多处理器系统1000是点到点互连系统,并且包括经由点到点互连1050而耦合的第一处理器1070和第二处理器1080。处理器1070和1080中的每个可以是某一版本的处理器。在一个实施例中,1052和1054是串行点到点一致性互连构造(例如Intel的快速路径互连(QPI)架构)的部分。因此,本发明可以在QPI架构内实现。
尽管仅示出有两个处理器1070、1080,要理解本发明的范围不这样受限制。在其他实施例中,在指定处理器中可以存在一个或多个额外处理器。
示出处理器1070和1080,其分别包括集成存储器控制器单元1072和1082。处理器1070还包括点到点(P-P)接口1076和1078作为它的总线控制器单元的部分;相似地,第二处理器1080包括P-P接口1086和1088。处理器1070、1080可以使用P-P接口电路1078、1088经由点到点(P-P)接口1050来交换信息。如在图10中示出的,IMC 1072和1082使处理器耦合于相应存储器,即存储器1032和存储器1034,其在一个实施例中可以是本地附连到相应处理器的主存储器的部分。
处理器1070、1080每个使用点到点接口电路1076、1094、1086、1098经由个体P-P接口1052、1054而与芯片集1090交换信息。芯片集1090还经由接口电路1092沿高性能图形互连1039而与高性能图形电路1038交换信息。
共享高速缓存(未示出)可以包括在任一处理器中或在两个处理器外部;然而经由P-P互连与处理器连接,使得如果处理器被放置到低功率模式则任一或两个处理器的本地高速缓存信息可以存储在共享高速缓存中。
芯片集1090可以经由接口1096耦合于第一总线1016。在一个实施例中,第一总线1016可以是外围部件互连(PCI)总线,或例如PCI Express总线或另一个第三代I/O互连总线等总线,但本公开的范围不这样受限制。
如在图10中示出的,各种I/O设备1014连同总线桥1018耦合于第一总线1016,该总线桥1018使第一总线1016耦合于第二总线1020。在一个实施例中,第二总线1020包括低引脚计数(LPC)总线。各种设备耦合于第二总线1020,其包括例如键盘和/或鼠标1022、通信设备1027和存储单元1028,例如盘驱动器或其他大容量存储设备,其在一个实施例中通常包括指令/代码和数据1030。此外,音频I/O 1024示出为耦合于第二总线1020。注意其他架构可以是可能的,其中所包括的部件和互连架构在变化。例如,代替图10的点到点架构,系统可以实现多点总线或其他这样的架构。
现在参考图11,图示根据本发明的实施例的计算机系统中存在的部件的框图。如在图11中示出的,系统1100包括部件的任何组合。这些部件可以实现为IC、其部分、分立电子设备或适配于计算机系统的其他模块、逻辑、硬件、软件、固件或其组合,或实现为另外包含在计算机系统机箱内的部件。还注意图11的框图意在示出计算机系统的许多部件的高级视图。然而,要理解示出的部件中的一些可以省略、可以存在额外部件并且在其他实现中可以出现部件的不同设置。因此,上文描述的本发明可以在下文图示或描述的互连中的一个或多个的任何部分中实现。
如在图11中看到的,处理器110在一个实施例中包括微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器或其他已知处理元件。在图示的实现中,处理器1110充当主处理单元和中心集线器用于与系统1100的各种部件中的许多通信。作为一个示例,处理器1100实现为芯片上系统(SoC)。作为特定说明性示例,处理器1110包括基于Intel® Architecture Core™的处理器,例如i3、i5、i7或从加利福尼亚州Santa Clara的IntelCorporation可获得的另一个这样的处理器。然而,理解在其他实施例中相反可以存在例如从加利福尼亚州Sunnyvale的Advanced Micro Devices, Inc.(AMD)可获得的其他低功率处理器、来自加利福尼亚州Sunnyvale的MIPS Technologies, Inc.的基于MIPS的设计、由ARM Holdings, Ltd.授权的基于ARM的设计,或其客户方或它们的被许可方或采用方,例如Apple A5/A6处理器、Qualcomm Snapdragon处理器或TI OMAP处理器。注意这样的处理器的客户版本中的许多被修改以及变化;然而,它们可以支持或识别执行如由处理器许可方阐述的定义算法的特定指令集。在这里,微架构实现可以变化,但处理器的架构功能通常一致。在一个实现中关于处理器1110的架构和操作的某些细节将在下文进一步论述来提供说明性示例。
处理器1110在一个实施例中与系统存储器1115通信。作为说明性示例,其在实施例中可以经由多个存储器设备实现来提供指定数量的系统存储器。作为示例,存储器可以根据联合电子设备工程委员会(JEDEC)的基于低功率双数据速率(LPDDR)的设计,例如根据JEDEC JESD 209-2E的当前LPDDR2标准(2009年4月发布)或称为LPDDR3或LPDDR4的下一代LPDDR标准,其将对LPDDR2提供扩展来增加带宽。在各种实现中,个体存储器设备可以具有不同封装类型,例如单晶片封装(SDP)、双晶片封装(DDP)或四晶片封装(9P)。这些设备在一些实施例中直接焊接到主板来提供更薄型技术方案,而在其他实施例中设备配置为一个或多个存储器模块,其进而通过指定连接器耦合于主板。并且当然,其他存储器实现是可能的,例如其他类型的存储器模块,例如不同类别的双列直插存储器模块(DIMM),其包括但不限于microDIMM、MiniDIMM。在特定说明性实施例中,存储器的大小在2GB与16GB之间,并且可以配置为DDR3LM封装或经由球栅阵列(BGA)焊接到主板上的LPDDR2或LPDDR3存储器。
为了提供例如数据、应用、一个或多个操作系统等信息的持久存储,大容量存储1120也可以耦合于处理器1110。在各种实施例中,为了实现更薄且更轻系统设计以及为了提高系统响应性,该大容量存储可以经由SSD实现。然而在其他实施例中,大容量存储可以主要使用具有较少量SSD存储来充当SSD高速缓存的硬盘驱动器实现以实现在掉电事件期间上下文状态和其他这样的信息的非易失性存储使得在重新发起系统活动时可以进行快速上电。在图11中还示出,闪存设备1122可以耦合于处理器1110,例如经由串行外围接口(SPI)。该闪存设备可以提供系统软件的非易失性存储,其包括基本输入/输出软件(BIOS)以及系统的其他固件。
在各种实施例中,系统的大容量存储由SSD独自实现或实现为盘(光或具有SSD高速缓存的其他驱动器)。在一些实施例中,大容量存储实现为SSD或实现为HDD连同恢复(RST)高速缓存模块。在各种实现中,HDD提供在320GB-4兆兆字节(TB)及以上的存储,而RST高速缓存用具有24GB-256GB容量的SSD实现。注意这样的SSD高速缓存可以配置为单级高速缓存(SLC)或多级高速缓存(MLC)选项来提供合适级别的响应性。在仅SSD选项中,模块可以容纳在各种位点,例如在mSATA或NGFF槽位中。作为示例,SSD具有从120GB到1TB范围的容量。
在系统1100内可以存在各种输入/输出(IO)设备。具体在图11的实施例中示出显示器1124,其可以是在机箱的盖部分内配置的高清晰度LCD或LED面板。该显示面板还可以提供触屏1125,例如在外部在显示面板上适配使得用户输入可以经由用户与触屏的交互而提供给系统来实现期望操作,例如关于信息显示、信息的访问等。在一个实施例中,显示器1124可以经由可以实现为高性能图形互连的显示互连而耦合于处理器1110。触屏1125可以经由另一个互连耦合于处理器1110,该另一个互连在实施例中可以是I2C互连。如在图11中进一步示出的,除触屏1125外,经由触控板1130还可以进行通过触摸方式的用户输入,该触控板1130可以在机箱内配置并且还可以耦合于与触屏1125相同的I2C互连。
显示面板可以采用多个模式操作。在第一模式,显示面板可以设置在透明状态,其中显示面板对于可见光是透明的。在各种实施例中,显示面板的大部分可以是显示器,但周围的边框除外。当系统采用笔记本模式操作并且显示面板采用透明状态操作时,用户可以查看在显示面板上呈现的信息同时也能够观看显示器后面的物体。另外,在显示面板上显示的信息可以由定位在显示器后面的用户观看。或者显示面板的操作状态可以是不透明状态,其中可见光未透过显示面板。
在平板模式,系统被折叠关闭使得显示面板的背显示表面搁置在一定位置使得它在基板的底表面靠在表面或被用户持有时向外面朝用户。在平板操作模式,背显示表面履行显示器和用户界面的作用,因为该表面可以具有触屏功能性并且可以执行常规触屏设备(例如平板设备)的其他已知功能。为此,显示面板可以包括透明度调整层,其设置在触屏层与前显示表面之间。在一些实施例中,透明度调整层可以是电致变色层(EC)、LCD层或EC和LCD层的组合。
在各种实施例中,显示器可以具有不同大小,例如11.6’’或13.3’’屏幕,并且可以具有16:9纵横比,以及至少300尼特(nit)的亮度。显示器还可以具有全高清(HD)分辨率(至少1920 x 1080p)、与嵌入式显示端口(eDP)兼容并且使具有面板自刷新的低功率面板。
关于触屏能力,系统可以提供显示多触控面板,其是电容式多触控并且可容纳至少5个手指。并且在一些实施例中,显示器可以容纳10个手指。在一个实施例中,触屏为了低摩擦而容纳在防损坏和防刮玻璃和涂层(例如,Gorilla Glass™或Gorilla Glass 2™)内来减少“手指烧伤”并且避免“手指跳跃”。为了提供增强触摸体验和响应性,触控面板在一些实现中具有多触控功能性,例如在捏拉缩放期间每静态视图小于2个帧(30Hz)以及每200ms的帧(30Hz)小于1cm(手指到指针的滞后)的单触控功能性。显示器在一些实现中支持具有还与面板表面齐平的最小屏幕边框的无边框玻璃(edge-to-edge glass),以及在使用多触控时的有限IO干扰。
为了感知计算和其他目的,在系统内可以存在各种传感器并且它们可以采用不同方式耦合于处理器1110。某些惯性和环境传感器可以通过传感器集线器1140耦合于处理器1110,例如经由I2C互连。在图11中示出的实施例中,这些传感器可以包括加速计1141、环境光传感器(ALS)1142、罗盘1143和陀螺仪1144。其他环境传感器可以包括一个或多个热传感器1146,其在一些实施例中经由系统管理总线(SMBus)总线耦合于处理器1110。
使用在平台中存在的各种惯性和环境传感器,可以实现许多不同用例。这些用例实现高级计算操作(其包括感知计算)并且还允许关于功率管理/电池寿命、安全和系统响应性的增强。
例如关于功率管理/电池寿命问题,至少部分基于来自环境光传感器的信息,确定平台位点的环境光条件并且相应地控制显示器的强度。从而,在操作显示器中消耗的功率在某些光条件下减少。
关于安全操作,基于从传感器获得的上下文信息(context information)(例如位点信息),可以确定是否允许用户访问某些安全文档。例如,可以准许用户在工作场所或家里访问这样的文档。然而,当平台在公共位点则防止用户访问这样的文档。该确定在一个实施例中基于位点信息,例如经由界标的GPS传感器或拍摄装置识别而确定。其他安全操作可以包括在彼此近距离内提供成对设备,例如如本文描述的便携式平台以及用户的台式计算机、移动电话或等等。在一些实现中,在这些设备这样成对时经由近场通信实现某些共享。然而,当设备超出某一范围,这样的共享可被停用。此外,在使本文描述的平台以及智能电话成对时,警报可以配置成当在公共位点在设备移离彼此超过预定距离时被触发。相比之下,当这些成对设备处于安全位点(例如工作场所或家里)时,设备可以超出该预定极限而不触发这样的警报。
响应性也可以使用传感器信息来增强。例如,即使当平台处于低功率状态,传感器仍可以被启用来以相对低的频率运行。因此,确定平台位点中的任何改变,例如如由惯性传感器、GPS传感器或等确定的。如果未记录这样的改变进行到之前的无线集线器例如Wi-Fi™接入点或相似的无线使能器的更快连接,因为在该情况下不需要扫描可用无线网络资源。在从低功率状态游走时实现更高级响应性。
要注意许多其他用例可以使用经由如本文描述的平台内的集成传感器所获得的传感器信息而实现,并且上文的示例仅仅是为了说明目的。使用如本文描述的系统,感知计算系统可以允许添加备选输入模态(其包括手势识别),并且使系统能够感测用户操作和意图。
在一些实施例中,可以存在一个或多个红外或其他热感测元件或用于感测用户的存在或移动的任何其他元件。这样的感测元件可以包括一起工作、依次工作或两者兼而有之的多个不同元件。例如,感测元件包括提供初始感测(例如光或声发射)、后跟通过例如超声飞行时间拍摄装置或图案化光拍摄装置来感测以供手势检测的元件。
在一些实施例中系统还包括光发生器来产生照亮线条(illuminated line)。在一些实施例中,该线条提供关于虚拟边界的可视化提示,即空间中的想象或虚拟位点,其中用户经过或突破虚拟边界或平面的动作解释为参与到计算系统的意图。在一些实施例中,在计算系统转变到关于用户的不同状态时,照亮线条可以改变颜色。照亮线条可以用于对用户提供空间中的虚拟边界的可视化提示,并且可以被系统用于确定关于用户的计算机状态的转变,其包括确定用户何时希望参与到计算机。
在一些实施例中,计算机感测用户位置并且操作成将用户的手移动通过虚拟边界解释为指示用户参与到计算机的意图的手势。在一些实施例中,在用户经过虚拟线条或面板,由光发生器生成的光可改变,由此向用户提供用户进入区域用于提供手势来向计算机提供输入这一可视化反馈。
显示屏可以提供关于用户的计算系统状态转变的可视化指示。在一些实施例中,在第一状态提供第一频率,其中用户的存在被系统感测,例如通过使用感测元件中的一个或多个。
在一些实现中,系统起到感测用户身份的作用,例如通过面部识别。在这里,到第二屏幕的转变可以在第二状态提供,其中计算系统识别用户身份,其中该第二屏幕向用户提供用户已转变到新状态的可视化反馈。到第三屏幕的转变可以在第三状态进行,其中用户确认用户的识别。
在一些实施例中,计算系统可以使用转变机制来确定用户的虚拟边界的位点,其中虚拟边界的位点可以随用户和上下文而变化。计算系统可以生成光,例如照亮线条,来指示对于参与到系统的虚拟边界。在一些实施例中,计算系统可以处于等待状态,并且光可以以第一颜色产生。计算系统可以检测用户是否到达过去的虚拟边界,例如通过使用感测元件感测用户的存在和移动。
在一些实施例中,如果用户检测为穿过虚拟边界(例如用户的手比虚拟边界线更接近计算系统),计算系统可以转变到用于从用户接收手势输入的状态,其中指示转变的机制可以包括指示虚拟边界的光变到第二颜色。
在一些实施例中,计算系统然后可以确定是否检测到手势移动。如果检测到手势移动,计算系统可以继续手势识别过程,其可以包括使用来自手势数据库的数据,该手势数据库可以驻存在计算设备中的存储器中或可以另外被计算设备访问。
如果识别用户的手势,计算系统可以响应于输入来执行功能,并且如果用户在虚拟边界内则返回来接收额外手势。在一些实施例中,如果未识别手势,计算系统可以转变到错误状态,其中指示错误状态的机制可以包括指示虚拟边界的光变到第三颜色,其中如果用户在对于参与到计算系统的虚拟边界内则系统返回来接收额外手势。
如上文提到的,在其他实施例中,系统可以配置为可转换平板系统,其可以在至少两个不同模式(平板模式和笔记本模式)使用。可转换系统可以具有两个面板(即显示面板和基板)使得在平板模式两个面板设置在彼此顶部的堆叠中。在平板模式,显示面板面朝外并且可以提供如在常规平板中发现的触屏功能性。在笔记本模式,两个面板可以采用打开翻盖配置来设置。
在各种实施例中,加速计可以是3轴加速计,其具有至少50Hz的数据速率。还可以包括陀螺仪,其可以是3轴陀螺仪。另外,可以存在电子罗盘/磁力计。还可以提供一个或多个接近传感器(例如,盖打开来感测人何时接近系统(或不接近系统)并且调整功率/性能来延长电池寿命)。包括加速计、陀螺仪和罗盘的一些OS的传感器融合能力可以提供增强特征。另外,经由具有实时时钟(RTC)的传感器集线器,可以实现从传感器唤醒机制以在系统的余下部分处于低功率状态时接收传感器输入。
在一些实施例中,内部盖/显示器打开开关或传感器指示盖何时关闭/打开,并且可以用于将系统放置到连接待命或自动从连接待命状态唤醒。其他系统传感器可以包括ACPI传感器,用于内部处理器、存储器和外壳温度监测,用于基于感测的参数实现对处理器和系统操作状态的改变。
在实施例中,OS可以是Microsoft® Windows® 8 OS,其实现连接待命(在本文也称为Win8 CS)。Windows 8 连接待命或具有相似状态的另一个OS可以经由如本文描述的平台提供非常低超级闲置功率以使应用以非常低的功耗保持连接,例如到基于云的位点。平台可以支持3个功率状态,即屏幕开启;连接待命(作为默认“关闭”状态);以及关闭(零瓦功耗)。从而在连接待命状态,平台逻辑上开启(在极小功率级别),即使屏幕关闭也如此。在这样的平台中,功率管理可以对应用变得透明并且维持恒定连接性,这部分是由于使最低被供电部件执行操作的卸载技术。
同样在图11中看到的,各种外围设备可以经由低引脚技术(LPC)互连耦合于处理器1110。在示出的实施例中,各种部件可以通过嵌入式控制器1135耦合。这样的部件可以包括键盘1136(例如,经由PS2接口耦合)、风扇1137和热传感器1139。在一些实施例中,触控板1130还可以经由PS2接口耦合于EC 1135。另外,安全处理器(例如根据日期在2003年10月2日的可信计算组(TCG)TPM规范版本1.2的可信平台模块(TPM)1138)也可以经由该LCP互连耦合于处理器1110。然而,理解本发明的范围在该方面不受限制并且安全信息的安全处理和存储可以在另一个受保护位点,例如安全协处理器中的静态随机存取存储器(SRAM),或作为仅在受安全飞地(SE)处理器模式保护时解密的加密数据团。
在特定实现中,外围端口可以包括高清晰度媒体接口(HDMI)连接器(其可以具有不同形状因子,例如全尺寸、袖珍型或微型);一个或多个USB端口,例如根据通用串行总线修订3.0规范(2008年11月)的全尺寸外部端口,其中至少一个在系统处于连接待命状态并且插入AC壁式电力时被供电以用于对USB设备(例如智能电话)充电。另外,可以提供一个或多个Thunderbolt™端口。其他端口可以包括外部可访问读卡器,例如全尺寸SD-XC读卡器和/或WWAN的SIM读卡器(例如,8引脚读卡器)。对于音频,可以存在具有立体声和麦克风能力(例如,组合功能性)的3.5mm插孔,以支持插口检测(例如,耳机仅支持使用盖中麦克风或具有有线麦克风的耳机)。在一些实施例中,该插孔可以在立体声耳机与立体声麦克风输入之间可重新分派任务。还可以提供电力插孔用于耦合于AC块。
系统1100可以采用多种方式(其包括无线)与外部设备通信。在图11中示出的实施例中,存在各种无线模块,其中的每个可以对应于为特定无线通信协议所配置的无线电。短程(例如近场)无线通信的一个方式可以经由近场通信(NFC)单元1145,其在一个实施例中可以经由SMBus与处理器1110通信。注意经由该NFC单元1145,彼此很靠近的设备可以通信。例如,用户可以使系统1100能够经由使两个设备紧密适配在一起并且实现信息传输(例如识别信息、支付信息、数据(例如图像数据)或等)而与另一个(例如)便携式设备(例如用户的智能电话)通信。无线电力传输也可以使用NFC系统来执行。
使用本文描述的NFC单元,用户可以通过利用这样的设备中的一个或多个的线圈之间的耦合而侧对侧地碰撞设备并且侧对侧地放置设备以用于近场耦合功能(例如近场通信和无线电力传输(WPT))。更具体地,实施例提供具有策略性地形状化且放置的铁氧体材料的设备,来提供线圈的更好耦合。每个线圈具有与之关联的电感,其可以结合系统的电阻、电容和其他特征来选择以对系统实现共同谐振频率。
如在图11中进一步看到的,额外无线单元可以包括其他短程无线引擎,其包括WLAN单元1150和Bluetooth单元1152。使用WLAN单元1150,可以实现根据指定电气和电子工程师协会(IEEE)802.11标准的Wi-Fi™通信,而经由Bluetooth单元1152,可以进行经由Bluetooth协议的短程通信。这些单元可以经由例如USB链路或通用异步接收器传送器(UART)链路来与处理器1110通信。或这些单元可以经由根据外围部件互连Express™(PCIe™)协议(例如根据PCI Express™规范基本规范版本3.0(2007年1月17日发布))或另一个这样的协议(例如串行数据输入/输出(SDIO)标准)的互连而耦合于处理器1110。当然,这些外围设备之间的实际物理连接(其可以在一个或多个插入卡上配置)可以通过适配于主板的NGFF连接器的方式。
另外,无线广域通信(例如根据蜂窝或其他无线广域协议)可以经由WWAN单元1156进行,该WWAN单元1156进而可以耦合于订户身份卡(SIM)1157。另外,为了能够接收和使用位点信息,还可以存在GPS模块1155。注意在图11中示出的实施例中,WWAN单元1156和集成捕捉设备(例如拍摄装置模块1154)可以经由指定USB协议(例如USB 2.0或3.0链路)或UART或I2C协议通信。这些单元的实际物理连接可以再次经由NGFF插入卡对主板上配置的NGFF连接器的适配。
在特定实施例中,可以模块化地提供无线功能性,例如利用支持Windows 8 CS的WiFi™ 802.11ac技术方案(与IEEE 802.11abgn反向兼容的插入卡)。该卡可以在内部槽位(例如,经由NGFF适配器)中配置。额外模块可以提供Bluetooth能力(例如,具有反向兼容性的Bluetooth4.0)以及Intel™无线显示功能性。例外,可以经由单独设备或多功能设备提供NFC支持,并且其可以作为示例定位在机箱的右前部分以便于访问。再额外模块可以是WWAN设备,其可以对3G/4G/LTE和GPS提供支持。该模块可以在内部(例如,NGFF)槽位中实现。可以对WiFi™、Bluetooth、WWAN、NFC和GPS提供集成天线支持,从而实现从WiFi到WWAN无线电、根据无线千兆位规范(2010年7月)的无线千兆位(WiGig)的无缝转变,并且反之亦然。
如上文描述的,盖中可以包含集成拍摄装置。作为一个示例,该拍摄装置可以是高分辨率拍摄装置,例如具有至少2.0兆像素(MP)并且扩展到6.0MP及以上的分辨率。
为了提供音频输入和输出,音频处理器可以经由数字信号处理器(DSP)1160实现,该数字信号处理器1160可以经由高清晰度视频(HDA)链路耦合于处理器1110。相似地,DSP1160可以与集成编码器/解码器(CODEC)和放大器1162通信,该集成编码器/解码器(CODEC)和放大器1162进而可以耦合于输出扬声器1163,其可以在机箱内实现。相似地,放大器和CODEC 1162可以耦合以从麦克风1165接收音频输入,该麦克风1165在实施例中可以经由双阵列麦克风(例如数字麦克风阵列)实现来提供高质量音频输入以在系统内实现各种操作的语音激活控制。还注意可以从放大器/CODEC 1162向耳机插孔1164提供音频输出。尽管在图11的实施例中示出有这些特定部件,理解本发明的方法在该方面不受限制。
在特定实施例中,数字音频编解码器和放大器能够驱动立体声耳机插孔、立体声麦克风插孔、内部麦克风阵列和立体声扬声器。在不同实现中,编解码器可以集成到音频DSP内或经由HD音频路径耦合于外围控制器集线器(PCH)。在一些实现中,除集成立体声扬声器外,可以提供一个或多个低音扬声器,并且扬声器技术方案可以支持DTS音频。
在一些实施例中,处理器1110可以由外部电压调节器(VR)和在处理器晶片内集成的多个内部电压调节器(称为全集成电压调节器(FIVR))供电。在处理器中多个FIVR的使用使部件能够分组为单独电力平面,使得仅对该组中的那些部件由FIVR调节并且供应电力。在功率管理期间,在处理器被放置到某一低功率状态而另一个FIVR的另一个电力平面保持活动或充分供电时,一个FIVR的指定电力平面可以掉电或断电。
在一个实施例中,在一些深度睡眠状态期间可以使用持续电力平面来对于若干I/O信号使I/O引脚通电,例如处理器与PCH之间的接口、与外部VR的接口和与EC 1135的接口。该持续电力平面还对支持板上SRAM或其他高速缓存存储器(其中在睡眠状态期间存储处理器上下文)晶片上电压调节器供电。持续电力平面还用于使监测和处理各种唤醒源信号的处理器的唤醒逻辑通电。
在功率管理期间,尽管在处理器进入某些深度睡眠状态时其他电力平面掉电或断电,持续电力平面保持通电来支持上文引用的部件。然而,这在不需要那些部件时可以导致不必要的功耗或功率耗散。为此,实施例可以提供连接待命睡眠状态以使用专用电力平面维持处理器上下文。在一个实施例中,连接待命睡眠状态使用PCH的资源来促进处理器唤醒,PCH本身可以在与处理器的封装中存在。在一个实施例中,连接待命睡眠状态促进PCH中的持续处理器架构功能直到处理器唤醒,这能够在深度睡眠状态期间关闭之前通电的所有不必要的处理器部件,其包括关闭所有时钟。在一个实施例中,PCH包含时戳计数器(TSC)和用于在连接待命状态期间控制系统的连接待命逻辑。对于持续电力平面的集成电压调节器也可以驻存在PCH上。
在实施例中,在连接待命状态期间,集成电压调节器可以起到专用电力平面的作用,该专用电力平面保持通电来支持专用高速缓存存储器,其中存储处理器上下文,例如在处理器进入深度睡眠状态和连接待命状态时的关键状态变量。该关键状态可以包括与架构、微架构、调试状态关联的状态变量,和/或与处理器关联的相似状态变量。
在连接待命状态期间来自EC 1135的唤醒源信号可以发送到PCH而不是处理器使得PCH可以管理唤醒处理而不是处理器。另外,TSC在PCH中维持来促进持续处理器架构功能。尽管在图11的实施例中示出有这些特定部件,理解本发明的范围在该方面不受限制。
处理器中的功率控制可以促成增强的功率节省。例如,电力可以在核之间动态分配,个体核可以改变频率/电压,并且可以提供多个深度低功率状态来实现非常低功耗。另外,核或独立核部分的动态控制可以在不使用部件时通过对它们断电来提供减少的功耗。
一些实现可以提供特定功率管理IC(PMIC)来控制平台功率。使用该技术方案,系统可以发现在处于指定待命状态时(例如在Win 8连接待命状态时)在延长持续时间(例如,16小时)非常低(例如,小于5%)的电池下降。在Win 8闲置状态中,可以实现超出例如9小时的电池寿命(例如,在150尼特)。关于视频重放,可以实现长电池寿命,例如全HD视频重放可以持续最小6小时进行。平台在一个实现中对于使用SSD的Win 8 CS可以具有例如35瓦小时(Whr)的能量容量,并且对于使用具有RST高速缓存配置的HDD的Win 8 CS是(例如)40-44Whr的能量容量。
特定实现可以对15W标称CPU热设计功能(TDP)提供支持,其具有多至近似25W TDP设计点的可配置CPU TDP。平台由于上文描述的热特征而可以包括最少出口。另外,平台是靠垫友好的(因为没有热空气吹向用户)。根据机箱材料可以实现不同的最大温度点。在塑料机箱(至少具有盖或塑料的底座部分)的一个实现中,最大操作温度可以是52摄氏度(C)。并且对于金属机箱的实现,最大操作温度可以是46℃。
在不同实现中,安全模块(例如TPM)可以集成到处理器内或可以是分立设备,例如TPM 2.0设备。利用集成安全模块(也称为平台可信技术(PTT)),可以启用BIOS/固件以使某些硬件特征经历某些安全特征,这些安全特征包括安全指令、安全启动、Intel™防盗技术、Intel™身份保护技术、Intel™可信执行技术(TXT)和Intel®可管理性引擎技术连同安全用户接口(例如安全键盘和显示器)。
接着转向图12,描绘根据本发明的芯片上系统(SOC)设计的实施例。作为特定说明性示例,在用户设备(UE)中包括SOC 1200。在一个实施例中,UE指待由最终用户使用来通信的任何设备,例如手持电话、智能电话、平板、超薄笔记本、具有宽带适配器的笔记本或任何其他相似通信设备。UE通常连接到基站或节点,其在本质上潜在地对应于GSM网络中的移动台(MS)。
在这里,SOC 1200包括2个核-1206和1207。与上文的论述相似,核1206和1207可以遵循指令集架构,例如基于Intel® Architecture Core™的处理器、Advanced MicroDevices, Inc.(AMD)处理器、基于MIPS的处理器、基于ARM的处理器设计或其客户方,以及它们的被许可方或采用方。核1206和1207耦合于高速缓存控制1208,其与总线接口单元1209和L2高速缓存1210关联来与系统1200的其他部分通信。互连1210包括芯片上互连,例如IOSF、AMBA或上文论述的其他互连,其潜在地实现描述的本发明的一个或多个方面。
接口1210向其他部件提供通信信道,这些部件例如与订户身份模块(SIM)卡接口的SIM 1230、持有启动代码以供核1206和1207执行来使SOC 1200初始化并且启动它的启动rom 935、与外部存储器(例如DRAM 1260)接口的SDRAM控制器1240、与非易失性存储器(例如闪存1265)接口的闪存控制器1245、与外设接口的外设控制850(例如,串行外围接口)、的视频编解码器1220和视频接口1225用于显示和接收输入(例如支持触摸的输入)、执行图形相关计算的GPU 1215等。这些接口中的任一个可以包含本文描述的本发明的方面。
另外,系统图示用于通信的外设,例如Bluetooth模块1270、3G调制解调器1275、GPS 1285和WiFi 1285。注意如上文规定的,UE包括用于通信的无线电设备。因此,这些外设通信模块不是所有都需要。然而,在UE中,要包括某一形式的无线电设备用于外部通信。
通过示例的方式公开有互连装置,其包括:流通道编码器,用于对数据分组的种类标识符编码;以及通道驱动器,用于在数据分组的非数据时间期间驱动该种类标识符到n个数据通道中的至少一个上。
进一步公开有示例,其中n=20。
进一步公开有示例,其中非数据时间是前数据时间。
进一步公开有示例,其中流通道编码器对k位种类标识符编码,并且其中通道驱动器通过将数据通道分成k个组并且驱动一个值到每个组上来驱动种类标识符到数据通道上。
进一步公开有示例,其中数据通道包括三态逻辑。
进一步公开有示例,其中通道驱动器通过将所有线路拉高来表示第一种类并且将所有线路拉低来表示第二种类而驱动流标识符到数据通道上。
进一步公开有示例,其中非数据时间是后数据时间。
进一步公开有示例,其中种类标识符识别链路控制分组(LCP)动作。
进一步公开有示例,其进一步包括三态有效通道,其中通道驱动器进一步在驱动种类标识符之前驱动有效通道远离中间轨。
通过示例的方式进一步公开有互连系统,其包括:第一代理;第二代理;和互连,用于使第一代理通信耦合于第二代理,该互连包括:流通道编码器,用于对数据分组的种类标识符编码;和通道驱动器,用于在数据分组的非数据时间期间将种类标识符驱动到n个数据通道中的至少一个上。
进一步公开有示例,其中n=20。
进一步公开有示例,其中非数据时间是前数据时间。
进一步公开有示例,其中流通道编码器对k位种类标识符编码,并且其中通道驱动器通过将数据通道分成k个组并且驱动一个值到每个组上来驱动种类标识符到数据通道上。
进一步公开有示例,其中数据通道包括三态逻辑。
进一步公开有示例,其中通道驱动器通过将所有线路拉高来表示第一种类并且将所有线路拉低来表示第二种类而驱动流标识符到数据通道上。
进一步公开有示例,其中非数据时间是后数据时间。
进一步公开有示例,其中种类标识符识别从第一代理到第二代理的链路控制分组(LCP)的LCP动作。
进一步公开有示例,其进一步包括三态有效通道,并且其中通道驱动器进一步在驱动种类标识符之前驱动有效通道远离中间轨。
通过示例的方式进一步公开有一个或多个计算机可读介质,其具有存储在其上的可执行指令,这些指令:对互连的数据分组的种类标识符编码;以及在数据分组的非数据时间期间驱动种类标识符到n个数据通道中的至少一个上。
进一步公开有示例,其中非数据时间是前数据时间。
进一步公开有示例,其中对种类标识符编码包括对k位种类标识符编码,并且驱动种类标识符到数据通道上包括将数据通道分成k个组并且驱动一个值到每个组上。
进一步公开有示例,其中数据通道包括三态逻辑。
进一步公开有示例,驱动流标识符到数据通道上包括驱动表示第一种类的逻辑0和驱动表示第二种类的逻辑1。
进一步公开有示例,其中非数据时间是后数据时间。
进一步公开有示例,其中种类标识符识别链路控制分组(LCP)动作。
通过示例的方式进一步公开有对互连提供流数据的方法,其包括:对互连的数据分组的种类标识符编码;以及在数据分组的非数据时间期间驱动种类标识符到n个数据通道中的至少一个上。
进一步公开有示例,其中非数据时间是前数据时间。
进一步公开有示例,其中对种类标识符编码包括对k位种类标识符编码,并且驱动种类标识符到数据通道上包括将数据通道分成k个组并且驱动一个值到每个组上。
进一步公开有示例,其中数据通道包括三态逻辑。
进一步公开有示例,其中非数据时间是后数据时间,并且其中种类标识符识别链路控制分组(LCP)动作。
尽管已经关于有限数量的实施例描述本发明,本领域内技术人员将意识到从其处的许多修改和变化。规定附上的权利要求涵盖所有这样的修改和变化,它们落入本发明的真正精神和范围内。
设计可以经历各种阶段,从创建到模拟到制造。表示设计的数据可以采用许多方式来表示该设计。首先,如在模拟中有用的,硬件可以使用硬件描述语言(HDL)或另一个功能描述语言来表示。另外,具有逻辑和/或晶体管门的电路级模型可在设计过程的某些阶段产生。此外,大部分设计在某个阶段达到表示硬件模型中各种设备的物理布局的数据水平。在使用常规半导体制造技术的情况下,表示硬件模型的数据可以是规定对用于生产集成电路的掩模的不同掩模层上各种特征存在或不存在的数据。在设计的任何实现中,数据可以采用机器可读介质的任何形式存储。存储器或磁或光存储(例如盘)可以是存储经由光或电波传送的信息的机器可读介质,该光或者电波被调制或用别的方式产生来传送这样的信息。当传送指示或携带代码或设计的电载波时,就执行电信号的复制、缓冲或重传来说,做出新的副本。从而,通信提供商或网络提供商可以将例如编码到载波内的信息等物品存储在有形、机器可读介质上(至少暂时地),其体现本发明的实施例的技术。
如本文使用的模块指硬件、软件和/或固件的任何组合。作为示例,模块包括硬件,例如微控制器,其与非暂时性介质关联来存储适于由该微控制器执行的代码。因此,在一个实施例中对模块的引用指硬件,其具体配置成识别和/或执行在非暂时性介质上保持的代码。此外,在另一个实施例中,模块的使用指包括代码的非暂时性介质,该代码具体适于由微控制器执行来执行预定的操作。并且如可以推断的,在再另一个实施例中,术语模块(在该示例中)可以指微控制器和非暂时性介质的组合。通常,图示为单独的模块边界通常变化并且潜在地重叠。例如,第一和第二模块可以共享硬件、软件、固件,或其组合,同时潜在地保留一些独立硬件、软件或固件。在一个实施例中,术语逻辑的使用包括例如晶体管、寄存器等硬件或例如可编程逻辑设备等其他硬件。
在一个实施例中,短语‘以’或‘配置成’的使用指设置、装配、制造、推销、进口和/或设计装置、硬件、逻辑或元件来执行指定或确定的任务。在该示例中,不在操作中的装置或其元件如果它被设计、耦合和/或互连来执行所述指定任务则仍然‘配置成’执行指定任务。作为纯粹说明性的示例,逻辑门在操作期间可以提供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)、磁或光卡、闪速存储器或有形的机器可读存储,其在经由电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)通过互联网传送信息中使用。因此,计算机可读介质包括任何类型的有形机器可读介质,其适合于采用由机器(例如,计算机)可读的形式存储或传送电子指令或信息。
在该整个说明书中对“一个实施例”或“实施例”的引用意指连同实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。从而,短语“在一个实施例中”或“在实施例中”在该整个说明书中各种地方的出现不一定都指相同的实施例。此外,特定特征、结构或特性可以采用任何适合的方式在一个或多个实施例中组合。
在前面的说明书中,参考特定示范性实施例给出详细描述。然而,可对其做出各种修改和改变而不偏离如附上的权利要求中阐述的本公开更广泛的精神和范围,这将是明显的。说明书和图因此要在说明性意义而非限制性意义上考虑。此外,实施例和其他示范性语言在前面的使用不一定都指相同的实施例或相同的示例,而可指不同且截然不同的实施例,以及潜在地相同的实施例。
Claims (31)
1.一种互连装置,其包括:
n个数据通道,配置为在数据分组的数据时间期间传递所述n个数据通道上的除种类标识符以外的数据;
流通道编码器,用于对所述数据分组的种类标识符编码;以及
通道驱动器,用于在所述数据分组的非数据时间期间驱动所述种类标识符到所述n个数据通道中的至少一个上,
其中,所述种类标识符识别接着所述种类标识符的数据的种类,数据的所述种类包括晶片内互连(IDI)数据或芯片上系统构造(IOSF)数据中的至少一个。
2.如权利要求1所述的互连装置,其中所述n=20。
3.如权利要求1所述的互连装置,其中所述非数据时间是前数据时间。
4.如权利要求3所述的互连装置,其中所述流通道编码器对k位种类标识符编码,并且其中所述通道驱动器通过将所述数据通道分成k个组并且驱动一个值到每个组上来驱动所述种类标识符到所述数据通道上。
5.如权利要求3所述的互连装置,其中所述数据通道包括三态逻辑。
6.如权利要求5所述的互连装置,其中所述通道驱动器通过将所有线路拉高来表示第一种类以及将所有线路拉低来表示第二种类而驱动所述种类标识符到所述数据通道上。
7.如权利要求1-2中任一项所述的互连装置,其中所述非数据时间是后数据时间。
8.如权利要求7所述的互连装置,其中所述种类标识符识别链路控制分组(LCP)动作。
9.如权利要求8所述的互连装置,其进一步包括三态有效通道,并且其中所述通道驱动器进一步用于在驱动所述种类标识符之前驱动所述有效通道远离中间轨。
10.一种互连系统,其包括:
第一代理;
第二代理;
n个数据通道,配置为在数据分组的数据时间期间传递所述n个数据通道上的除种类标识符以外的数据;以及
互连,用于使所述第一代理通信耦合于所述第二代理,所述互连包括:
流通道编码器,用于对所述数据分组的种类标识符编码;以及
通道驱动器,用于在所述数据分组的非数据时间期间将所述种类标识符驱动到所述n个数据通道中的至少一个上,
其中,所述种类标识符识别接着所述种类标识符的数据的种类,数据的所述种类包括晶片内互连(IDI)数据或芯片上系统构造(IOSF)数据中的至少一个。
11.如权利要求10所述的互连系统,其中所述n=20。
12.如权利要求10所述的互连系统,其中所述非数据时间是前数据时间。
13.如权利要求12所述的互连系统,其中所述流通道编码器对k位种类标识符编码,并且其中所述通道驱动器通过将所述数据通道分成k个组并且驱动一个值到每个组上来驱动所述种类标识符到所述数据通道上。
14.如权利要求12所述的互连系统,其中所述数据通道包括三态逻辑。
15.如权利要求14所述的互连系统,其中所述通道驱动器通过将所有线路拉高来表示第一种类以及将所有线路拉低来表示第二种类而驱动所述种类标识符到所述数据通道上。
16.如权利要求10-11中任一项所述的互连系统,其中所述非数据时间是后数据时间。
17.如权利要求16所述的互连系统,其中所述种类标识符识别从所述第一代理到所述第二代理的链路控制分组(LCP)的LCP动作。
18.如权利要求17所述的互连系统,其进一步包括三态有效通道,并且其中所述通道驱动器进一步用于在驱动所述种类标识符之前驱动所述有效通道远离中间轨。
19.一种对互连提供流数据的方法,其包括:
在数据分组的数据时间期间传递n个数据通道上的除种类标识符以外的数据;
对互连的所述数据分组的种类标识符编码;以及
在所述数据分组的非数据时间期间驱动所述种类标识符到所述n个数据通道中的至少一个上,
其中,所述种类标识符识别接着所述种类标识符的数据的种类,数据的所述种类包括晶片内互连(IDI)数据或芯片上系统构造(IOSF)数据中的至少一个。
20.如权利要求19所述的方法,其中所述非数据时间是前数据时间。
21.如权利要求20所述的方法,其中对所述种类标识符编码包括对k位种类标识符编码,并且驱动所述种类标识符到所述数据通道上包括将所述数据通道分成k个组并且驱动一个值到每个组上。
22.如权利要求21所述的方法,其中所述数据通道包括三态逻辑。
23.如权利要求19所述的方法,其中所述非数据时间是后数据时间,并且其中所述种类标识符识别链路控制分组(LCP)动作。
24.一种互连装置,其包括用于执行如权利要求19-23中任一项所述的方法的部件。
25.如权利要求24所述的装置,其中所述部件包括处理器和存储器。
26.一种对互连提供流数据的装置,其包括:
用于在数据分组的数据时间期间传递n个数据通道上的除种类标识符以外的数据的部件;
用于对互连的所述数据分组的种类标识符编码的部件;以及
用于在所述数据分组的非数据时间期间驱动所述种类标识符到所述n个数据通道中的至少一个上的部件,
其中,所述种类标识符识别接着所述种类标识符的数据的种类,数据的所述种类包括晶片内互连(IDI)数据或芯片上系统构造(IOSF)数据中的至少一个。
27.如权利要求26所述的装置,其中所述非数据时间是前数据时间。
28.如权利要求27所述的装置,其中对所述种类标识符编码包括对k位种类标识符编码,并且驱动所述种类标识符到所述数据通道上包括将所述数据通道分成k个组并且驱动一个值到每个组上。
29.如权利要求28所述的装置,其中所述数据通道包括三态逻辑。
30.如权利要求26所述的装置,其中所述非数据时间是后数据时间,并且其中所述种类标识符识别链路控制分组(LCP)动作。
31.一种计算机可读介质,其上存储有指令,所述指令在执行时促使计算机执行如权利要求19-23中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/583,607 US20160188519A1 (en) | 2014-12-27 | 2014-12-27 | Method, apparatus, system for embedded stream lanes in a high-performance interconnect |
US14/583607 | 2014-12-27 | ||
PCT/US2015/064862 WO2016105953A1 (en) | 2014-12-27 | 2015-12-10 | A method, apparatus, system for embedded stream lanes in a high-performance interconnect |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107003971A CN107003971A (zh) | 2017-08-01 |
CN107003971B true CN107003971B (zh) | 2021-10-29 |
Family
ID=56151408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580064585.6A Active CN107003971B (zh) | 2014-12-27 | 2015-12-10 | 用于高性能互连中的嵌入式流通道的方法、装置、系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20160188519A1 (zh) |
EP (1) | EP3238385A4 (zh) |
CN (1) | CN107003971B (zh) |
TW (1) | TWI569146B (zh) |
WO (1) | WO2016105953A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101985157B1 (ko) * | 2013-12-26 | 2019-05-31 | 인텔 코포레이션 | 멀티칩 패키지 링크 |
US10002056B2 (en) | 2015-09-15 | 2018-06-19 | Texas Instruments Incorporated | Integrated circuit chip with cores asymmetrically oriented with respect to each other |
US10025741B2 (en) * | 2016-01-13 | 2018-07-17 | Samsung Electronics Co., Ltd. | System-on-chip, mobile terminal, and method for operating the system-on-chip |
US10175903B2 (en) | 2016-03-31 | 2019-01-08 | Intel Corporation | N plane to 2N plane interface in a solid state drive (SSD) architecture |
US10372642B2 (en) * | 2016-09-29 | 2019-08-06 | Intel Corporation | System, apparatus and method for performing distributed arbitration |
US10872393B2 (en) * | 2017-05-15 | 2020-12-22 | Google Llc | Image processor with high throughput internal communication protocol |
WO2019029793A1 (en) * | 2017-08-08 | 2019-02-14 | Continental Automotive Gmbh | METHOD FOR OPERATING A CACHE MEMORY |
US10545860B2 (en) * | 2017-08-10 | 2020-01-28 | Samsung Electronics Co., Ltd. | Intelligent high bandwidth memory appliance |
CN109344295B (zh) * | 2018-08-24 | 2020-05-05 | 阿里巴巴集团控股有限公司 | 分布式图嵌入方法、装置、设备及系统 |
US10727833B1 (en) * | 2019-01-18 | 2020-07-28 | Qualcomm Incorporated | High-voltage and low-voltage data paths of a hybrid output driver |
TWI764139B (zh) * | 2020-04-27 | 2022-05-11 | 鴻海精密工業股份有限公司 | 訪問資料匯流排的裝置、方法及系統 |
CN112035168B (zh) * | 2020-08-19 | 2021-03-30 | 深圳市声天下科技有限公司 | 具有移位寄存器的hda控制器控制hda codec芯片的方法、系统及存储介质 |
US11671282B2 (en) * | 2021-05-24 | 2023-06-06 | Hewlett Packard Enterprise Development Lp | Method and system for dynamically activating virtual networks in a distributed tunnel fabric |
TWI813062B (zh) * | 2021-11-12 | 2023-08-21 | 群聯電子股份有限公司 | 時脈重整電路模組、訊號傳輸系統及訊號傳輸方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1127389A (zh) * | 1995-01-19 | 1996-07-24 | 三星电子株式会社 | 装有总线控制模块的多处理器系统 |
US6028809A (en) * | 1997-06-20 | 2000-02-22 | Altera Corporation | Programmable logic device incorporating a tristateable logic array block |
US6938094B1 (en) * | 1999-09-17 | 2005-08-30 | Advanced Micro Devices, Inc. | Virtual channels and corresponding buffer allocations for deadlock-free computer system operation |
WO2006128810A2 (de) * | 2005-06-01 | 2006-12-07 | Robert Bosch Gmbh | Verfahren zur kommunikation redundanter daten während der adressübertragung auf einem gemultiplexten adress/datenbus |
CN202535384U (zh) * | 2012-03-12 | 2012-11-14 | 杭州海莱电子科技有限公司 | 基于PCIe总线的网络设备扩展连接和虚拟机互连优化系统 |
CN103946822A (zh) * | 2011-09-30 | 2014-07-23 | 英特尔公司 | 用于促进定制在计算设备处的多用途互连代理的机制 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5951186B2 (ja) * | 1979-10-19 | 1984-12-12 | 日本電信電話株式会社 | 制御装置 |
KR100316650B1 (ko) * | 1998-08-29 | 2002-01-12 | 윤종용 | 상위 계층 데이터 전송을 위한 상위 프로토콜과 ieee 1394버스 정합 방법 |
US7010607B1 (en) * | 1999-09-15 | 2006-03-07 | Hewlett-Packard Development Company, L.P. | Method for training a communication link between ports to correct for errors |
GB2370362B (en) * | 2000-08-04 | 2004-07-07 | Sgs Thomson Microelectronics | Method and apparatus for testing circuitry |
US6630926B2 (en) * | 2000-12-07 | 2003-10-07 | International Business Machines Corporation | Apparatus and method for verifying keystrokes within a computing system |
US8762581B2 (en) * | 2000-12-22 | 2014-06-24 | Avaya Inc. | Multi-thread packet processor |
US6842816B1 (en) * | 2001-07-31 | 2005-01-11 | Network Elements, Inc. | Configurable glueless microprocessor interface |
US6961269B2 (en) * | 2003-06-24 | 2005-11-01 | Micron Technology, Inc. | Memory device having data paths with multiple speeds |
TWI252409B (en) * | 2004-04-26 | 2006-04-01 | Sunplus Technology Co Ltd | Enhanced expandable time-sharing bus device |
US8046488B2 (en) * | 2004-05-21 | 2011-10-25 | Intel Corporation | Dynamically modulating link width |
US7957428B2 (en) * | 2004-05-21 | 2011-06-07 | Intel Corporation | Methods and apparatuses to effect a variable-width link |
US20070291768A1 (en) * | 2006-06-16 | 2007-12-20 | Harris Corporation | Method and system for content-based differentiation and sequencing as a mechanism of prioritization for QOS |
US8594966B2 (en) * | 2009-02-19 | 2013-11-26 | Advanced Micro Devices, Inc. | Data processing interface device |
US8170062B2 (en) * | 2009-04-29 | 2012-05-01 | Intel Corporation | Packetized interface for coupling agents |
US10152329B2 (en) * | 2012-02-09 | 2018-12-11 | Nvidia Corporation | Pre-scheduled replays of divergent operations |
US9355058B2 (en) * | 2012-10-22 | 2016-05-31 | Intel Corporation | High performance interconnect physical layer |
KR101815180B1 (ko) * | 2012-10-22 | 2018-01-04 | 인텔 코포레이션 | 고성능 인터커넥트 코히어런스 프로토콜 |
-
2014
- 2014-12-27 US US14/583,607 patent/US20160188519A1/en not_active Abandoned
-
2015
- 2015-11-26 TW TW104139415A patent/TWI569146B/zh active
- 2015-12-10 CN CN201580064585.6A patent/CN107003971B/zh active Active
- 2015-12-10 WO PCT/US2015/064862 patent/WO2016105953A1/en active Application Filing
- 2015-12-10 EP EP15874111.6A patent/EP3238385A4/en not_active Ceased
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1127389A (zh) * | 1995-01-19 | 1996-07-24 | 三星电子株式会社 | 装有总线控制模块的多处理器系统 |
US6028809A (en) * | 1997-06-20 | 2000-02-22 | Altera Corporation | Programmable logic device incorporating a tristateable logic array block |
US6938094B1 (en) * | 1999-09-17 | 2005-08-30 | Advanced Micro Devices, Inc. | Virtual channels and corresponding buffer allocations for deadlock-free computer system operation |
WO2006128810A2 (de) * | 2005-06-01 | 2006-12-07 | Robert Bosch Gmbh | Verfahren zur kommunikation redundanter daten während der adressübertragung auf einem gemultiplexten adress/datenbus |
CN103946822A (zh) * | 2011-09-30 | 2014-07-23 | 英特尔公司 | 用于促进定制在计算设备处的多用途互连代理的机制 |
CN202535384U (zh) * | 2012-03-12 | 2012-11-14 | 杭州海莱电子科技有限公司 | 基于PCIe总线的网络设备扩展连接和虚拟机互连优化系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3238385A1 (en) | 2017-11-01 |
TW201633161A (zh) | 2016-09-16 |
CN107003971A (zh) | 2017-08-01 |
TWI569146B (zh) | 2017-02-01 |
US20160188519A1 (en) | 2016-06-30 |
WO2016105953A1 (en) | 2016-06-30 |
EP3238385A4 (en) | 2018-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107003971B (zh) | 用于高性能互连中的嵌入式流通道的方法、装置、系统 | |
CN107924380B (zh) | 使用业务类别分配高速缓存的方法、装置和系统 | |
CN107005231B (zh) | 用于在高性能互连中定中心的方法、设备、系统 | |
TWI524184B (zh) | 用於在分散式記憶體組織架構中處理位址衝突之方法、設備及系統 | |
CN108027785B (zh) | 用于对链路拆分进行去偏斜的方法、设备和系统 | |
US11239843B2 (en) | Width and frequency conversion with PHY layer devices in PCI-express | |
US20230022948A1 (en) | System, method, and apparatus for sris mode selection for pcie | |
US10545773B2 (en) | System, method, and apparatus for DVSEC for efficient peripheral management | |
US11163717B2 (en) | Reduced pin count interface | |
CN110121703B (zh) | 用于向量通信的系统和方法 | |
US20140141654A1 (en) | Card edge connector ground return | |
TWI736559B (zh) | 用以針對實體層裝置的組件傳輸資料之控制器 | |
JP6745289B2 (ja) | マルチチップパッケージリンク | |
CN113704153A (zh) | 链路层-phy接口适配器 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |