高性能互连物理层的制作方法

文档序号:11620504阅读:115来源:国知局
高性能互连物理层的制造方法与工艺

本申请是申请日为2013年3月15日并且申请号为201380049066.3的中国专利申请的分案申请。

本公开通常涉及计算机开发的领域,且更具体地涉及牵涉相互依赖的约束系统的协调的软件开发。



背景技术:

在半导体处理和逻辑设计中的进步允许可存在于集成电路设备上的逻辑的数量的增加。作为必然结果,计算机系统配置从系统中的单个或多个集成电路发展到存在于单独集成电路上的多个核心、多个硬件线程、以及多个逻辑处理器,以及集成在这样的处理器中的其它接口。处理器或集成电路一般包括单个物理处理器管芯,其中处理器管芯可包括任何数量的核心、硬件线程、逻辑处理器、接口、存储器、控制器中心等。

作为具有更大的能力来在较小封装中安置较大处理能力的结果,较小的计算设备在普及性上提高了。智能电话、平板计算机、超薄笔记本计算机、以及其它用户设备指数地增长。然而,这些较小的设备依赖于数据存储和超过形状因子的复杂处理的服务器。因此,在高性能计算市场(即,服务器空间)中的需求也增加了。例如,在现代服务器中,一般不仅有具有多个核心的单个处理器,而且有多个物理处理器(也被称为多个插槽)以增加计算能力。但当处理能力连同计算系统中的设备的数量一起增长时,在插槽和其它设备之间的通信变得更关键。

事实上,互连从主要处理电通信的多个传统多点分支总线增长到便于快速通信的充分发展的互连架构。不幸的是,随着对未来的处理器以甚至更高的速率消耗的要求,产生对现有的互连架构的能力的对应的要求。

附图说明

图1示出根据一个实施例的包括串联点对点互连以连接在计算机系统中的i/o设备的系统的简化方框图。

图2示出根据一个实施例的分层协议栈的简化方框图。

图3示出事务描述符的实施例。

图4示出串联点对点链接的实施例。

图5示出潜在的高性能互连(hpi)系统配置的实施例。

图6示出与hpi相关联的分层协议栈的实施例。

图7示出示例状态机的表示。

图8示出示例控制超序列。

图9示出表示示例性进入部分宽度传输状态的流程图。

图10示出示例训练序列。

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

图12示出包括多核处理器的计算系统的方框图的另一实施例。

图13示出处理器的方框图的实施例。

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

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

图16示出计算系统的方框图的另一实施例。

在各种附图中的相似的参考数字和标记指示相似的元件。

具体实施方式

在下面的描述中,阐述了很多特定的细节,例如特定类型的处理器和系统配置、特定的硬件结构、特定的架构和微架构细节、特定的寄存器配置、特定的指令类型、特定的系统部件、特定的处理器管线阶段、特定的互连层、特定的分组/事务配置、特定的事务名称、特定的协议交换、特定的链路宽度、特定的实现、以及操作等的示例,以提供对本发明的彻底理解。然而对本领域中的技术人员可能明显,不需要一定采用这些特定的细节来实施本公开的主题。在其它实例中,避免了已知部件或方法的非常详细的描述,例如特定和可选的处理器架构、所述算法的特定的逻辑电路/代码、特定的固件代码、低级互连操作、特定的逻辑配置、特定的制造技术和材料、特定的编译器实现、以代码形式的算法的特定表达式、特定的断电和选通技术/逻辑和计算机系统的其它特定的操作细节,以便避免不必要地使本公开难理解。

虽然可关于能量节约、能量效率、处理效率等在特定的集成电路中(例如在计算平台或微处理器中)描述下面的实施例,其它实施例可应用于其它类型的集成电路和逻辑设备。本文描述的实施例的类似的技术和教导可应用于(也可受益于这样的特征的)其它类型的电路或半导体设备。例如,所公开的实施例不限于服务器计算机系统、桌上型计算机系统、膝上型计算机、ultrabookstm,而且也可用在其它设备(例如手持设备、智能电话、平板计算机、其它薄笔记本计算机、片上系统(soc)设备和嵌入式应用)中。手持设备的一些示例包括蜂窝电话、互联网协议设备、数字照相机、个人数字助理(pda)、以及手持pc。在这里,用于高性能互连的类似技术可应用于增加在低功率互连中的性能(或甚至节省功率)。嵌入式应用一般包括微控制器、数字信号处理器(dsp)、片上系统、网络计算机(netpc)、机顶盒、网络集线器、广域网(wan)交换机、或可执行下面教导的功能和操作的任何其它系统。而且,本文描述的装置、方法、以及系统不限于物理计算设备,而且也可涉及对能量节约和效率的软件优化。如可在下面的描述中变得容易地明显的,本文描述的方法、装置、以及系统的实施例(不管是关于硬件、固件、软件、或其组合)可被认为是对与性能考虑因素平衡的“绿色技术”未来是极其重要的。

当计算系统进步时,其中的部件变得更复杂。在部件之间耦合和通信的互连架构也在复杂性上增加以确保对于最佳部件操作满足带宽要求。此外,不同的市场区块要求互连架构的不同方面来适合相应的市场。例如,服务器需要较高的性能,而移动生态系统有时能够为了功率节省而牺牲总性能。然而,大部分结构的单一目的是以最大的功率节省提供最高可能的性能。此外,各种不同的互连可潜在地受益于本文描述的主题。

外围部件互连(pci)express(pcie)互连结构架构和快速通道互连(qpi)结构架构连同其它示例,可潜在地根据本文描述的一个或多个原理连同其它示例而被改进。例如,pcie的主要目标是使来自不同供应商的部件和设备能够跨越多个市场区块、客户端(桌上型计算机和移动设备)、服务器(标准和企业)、以及嵌入式和通信设备,在开放式架构中交互操作。pciexpress是为各种各样的未来计算和通信平台定义的高性能通用i/o互连。一些pci属性(例如其使用模型、装入-存储架构、以及软件接口)通过其修订版被维持,而以前的并行总线实现被高度可扩展的完全串行接口代替。pciexpress的最近版本利用在点对点互连、基于交换机的技术、以及分组化协议中的进步,来给予新水平的性能和特征。功率管理、服务质量(qos)、热插拔/热抽换支持、数据完整性、以及错误处理是在pciexpress所支持的一些先进特征当中的。虽然在本文中的主要讨论是关于新的高性能互连(hpi)架构,本文描述的本发明的方面可应用于其它互连架构,例如符合pcie的架构、符合qpi的架构、符合mipi的架构、高性能架构、或其它已知的互连架构。

参考图1,示出了由使一组部件互连的点对点链路组成的结构的实施例。系统100包括耦合到控制器中心115的处理器105和系统存储器110。处理器105可包括任何处理元件,例如微处理器、主机处理器、嵌入式处理器、协处理器、或其它处理器。处理器105通过前侧总线(fsb)106耦合到控制器中心115。在一个实施例中,fsb106是如下所述的串行点对点互连。在另一实施例中,链路106包括符合不同的互连标准的串行差分互连架构。

系统存储器110包括任何存储器设备,例如随机存取存储器(ram)、非易失性(nv)存储器、或由系统100中的设备可访问的其它存储器。系统存储器110通过存储器接口116耦合到控制器中心115。存储器接口的示例包括双数据率(ddr)存储器接口、双通道ddr存储器接口、以及动态ram(dram)存储器接口。

在一个实施例中,控制器中心115可包括例如在pcie互连分级结构中的根中心、根复合体、或根控制器。控制器中心115的示例包括芯片组、存储器控制器中心(mch)、北桥、互连控制器中心(ich)、南桥、以及根控制器/中心。术语“芯片组”常常指两个物理地分离的控制器中心,例如耦合到互连控制器中心(ich)的存储器控制器中心(mch)。注意,当前系统常常包括与处理器105集成的mch,而控制器115以与下面描述的类似的方式与i/o设备通信。在一些实施例中,可选地通过根复合体115来支持对等路由。

在这里,控制器中心115通过串行链路119耦合到交换机/桥120。也可被称为接口/端口117和121的输入/输出模块117和121可包括/实现分层协议栈以提供在控制器中心115和交换机120之间的通信。在一个实施例中,多个设备能够耦合到交换机120。

交换机/桥120将分组/消息从设备125向上游进行路由,即,沿着分级结构向上朝着根复合体,到控制器中心115,并向下游进行路由,即,沿着分级结构向下远离根控制器、远离处理器105或系统存储器110,到设备125。交换机120在一个实施例中被称为多个虚拟pci到pci桥设备的逻辑组件。设备125包括耦合到电子系统的任何内部或外部设备或部件,例如i/o设备、网络接口控制器(nic)、插入卡、音频处理器、网络处理器、硬盘驱动器、存储设备、cd/dvdrom、监视器、打印机、鼠标、键盘、路由器、便携式存储设备、firewire设备、通用串行总线(usb)设备、扫描仪、以及其它输入/输出设备。在pcie术语中,例如设备常常被称为端点。虽然没有特别示出,设备125可包括桥(例如pcie到pci/pci-x桥)以支持设备或由这样的设备支持的互连结构的旧有或其它版本。

图形加速器130也可通过串行链路132耦合到控制器中心115。在一个实施例中,图形加速器130耦合到mch,其耦合到ich。交换机120以及相应地i/o设备125然后耦合到ich。i/o模块131和118也实现分层协议栈以在图形加速器130和控制器中心115之间通信。类似于上面讨论的mch,图形控制器或图形加速器130本身可集成在处理器105中。

转到图2,示出了分层协议栈的实施例。分层协议栈200可包括任何形式的分层通信栈,例如qpi堆栈、pcie堆栈、下一代高性能计算互连(hpi)堆栈、或其它分层堆栈。在一个实施例中,协议栈200可包括事务层205、链路层210、以及物理层220。接口例如图1中的接口117、118、121、122、126、以及131可被表示为通信协议栈200。作为通信协议栈的表示也可被称为实现/包括协议栈的模块或接口。

分组可用于在部件之间传递信息。分组可在事务层205和数据链路层210中形成以将信息从传输部件传送到接收部件。当所传输的分组通过其它层流动时,使用用于在那些层处理分组的额外信息来扩展它们。在接收侧处,反转过程出现且分组从其物理层220表示转换成数据链路层210表示,且最后(对于事务层分组)转换成可由接收设备的事务层205处理的形式。

在一个实施例中,事务层205可提供在设备的处理核心和互连架构(例如数据链路层210和物理层220)之间的接口。在这个方面中,事务层205的主要职责可包括分组的组装和拆卸(即,事务层分组,或tlp)。事务层205也可管理对tlp的基于信用的流控制。在一些实现中,可利用分开的事务,即,具有被时间分离的请求和响应的事务,允许链路携带其它业务,同时目标设备收集用于响应的数据,连同其它示例。

基于信用的流控制可用于利用互连结构来实现虚拟通道和网络。在一个示例中,设备可通告在事务层205中的每一个接收缓冲器的信用的初始数量。在链路的相对端处的外部设备(例如图1中的控制器中心115)可对每一个tlp所消耗的信用的数量计数。事务可被传输,如果事务不超过信用限制。当接收到响应时,信用的数量被恢复。这样的信用方案的优点的一个示例是信用返回的时延不影响性能(假定信用限制未被遇到),连同其它潜在的优点。

在一个实施例中,四个事务地址空间可包括配置地址空间、存储器地址空间、输入/输出地址空间、以及消息地址空间。存储器地址事务包括一个或多个读请求和写请求以将数据传送到/自存储器映射的位置。在一个实施例中,存储器空间事务能够使用两个不同的地址格式,例如短地址格式,例如32位地址,或长地址格式,例如64位地址。配置空间事务可用于访问连接到互连的各种设备的配置空间。针对配置空间的事务可包括读请求和写请求。消息空间事务(或仅仅消息)也可被定义以支持在互连代理之间的带内通信。因此,在一个示例实施例中,事务层205可组装分组头部/有效载荷206。

快速参考图3,示出事务层分组描述符的示例实施例。在一个实施例中,事务描述符300可以是用于承载事务信息的机制。在这个方面中,事务描述符300支持系统中的事务的识别。其它可能的使用包括默认事务排序的跟踪修改和事务与通道的关联。例如,事务描述符300可包括全局标识符字段302、属性字段304和通道标识符字段306。在所示示例中,描绘了包括局部事务标识符字段308和源标识符字段310的全局标识符字段302。在一个实施例中,全局事务标识符302对所有未完成的(outstanding)请求是唯一的。

根据一个实现,局部事务标识符字段308是由请求代理产生的字段,且可能对需要对该请求代理的完成的所有未完成的请求是唯一的。此外,在本例中,源标识符310唯一地识别在互连分级结构内的请求者代理。因此,连同源id310一起,局部事务标识符308字段提供在分级结构域内的事务的全局标识。

属性字段304规定事务的特性和关系。在这个方面中,属性字段304潜在地用于提供允许事务的默认处理的修改的额外信息。在一个实施例中,属性字段304包括优先级字段312、预留字段314、排序字段316、以及非窥探字段318。在这里,优先级子字段312可由启动器修改以将优先级分配给事务。预留属性字段314保持被预留用于未来、或供应商定义的用途。可使用预留属性字段来实现使用优先级或安全属性的可能的用途模型。

在本例中,排序属性字段316用于提供可选信息,传达可修改默认排序规则的排序的类型。根据一个示例实现,“0”的排序属性表示要应用的默认排序规则,其中“1”的排序属性表示放宽的排序,其中写可通过在同一方向上的写,且读完成可通过在同一方向上的写。窥探属性字段318用来确定事务是否被窥探。如所示,通道id字段306识别事务所关联的通道。

返回到图2的讨论,也被称为数据链路层210的链路层210可充当在事务层205和物理层220之间的中间级。在一个实施例中,数据链路层210的职责是提供用于在链路上的两个部件之间交换事务层分组(tlp)的可靠机制。数据链路层210的一侧接受由事务层205组装的tlp,应用分组序列标识符211(即,标识号或分组号),计算并应用错误检测码(即,crc212),并将所修改的tlp提交到物理层220用于跨物理设备传输到外部设备。

在一个示例中,物理层220包括逻辑子块221和电气子块222以将分组物理地传输到外部设备。在这里,逻辑子块221负责物理层221的“数字”功能。在这个方面中,逻辑子块可包括传输部分,用来准备外发信息以由物理子块222传输,以及接收器部分,用来在将接收的信息传递到链路层210之前识别并准备接收的信息。

物理块222包括发射器和接收器。发射器由具有符号的逻辑子块221提供,发射器将符号串行化并传输到外部设备上。给接收器提供来自外部设备的串行化符号并将接收的信号转换成位流。位流被解串行化并提供到逻辑子块221。在一个示例实施例中,使用8b/10b传输代码,其中十位符号被传输/接收。在这里,特殊符号用于使用帧223构造分组。此外,在一个示例中,接收器还提供从进入的串行流恢复的符号时钟。

如上面陈述的,虽然关于协议栈(例如pcie协议栈)的特定实施例讨论了事务层205、链路层210、以及物理层220,分层协议栈并不被这样限制。事实上,任何分层协议可被包括/实现并采纳本文讨论的特征。作为示例,被表示为分层协议的端口/接口可包括:(1)组装分组的第一层,即,事务层;按顺序排列分组的第二层,即,链路层;以及传输分组的第三层,即,物理层。作为特定的示例,利用如在本文描述的高性能互连分层协议。

接着参考图4,示出串行点对点结构的示例实施例。串行点对点链路可包括用于传输串行数据的任何传输路径。在所示实施例中,链路可包括两个低电压差分驱动信号对:传输对406/411和接收对412/407。因此,设备405包括将数据传输到设备410的传输逻辑406和从设备410接收数据的接收逻辑407。换句话说,两个传输路径,即,路径416和417,以及两个接收路径,即,路径418和419,被包括在链路的一些实现中。

传输路径指用于传输数据的任何路径,例如传输线、铜线、光学线、无线通信信道、红外通信链路、或其它通信路径。在两个设备例如设备405和设备410之间的连接被称为链路,例如链路415。链路可支持一个通路(lane),每一个通路代表一组差分信号对(一对用于传输,一对用于接收)。为了按比例调整带宽,链路可聚合由xn表示的多个通路,其中n是任何支持的链路宽度,例如1、2、4、8、12、16、32、64、或更宽。

差分对可以指两个传输路径,例如线416和417,以传输差分信号。作为示例,当线416从低电压电平切换到高电压电平时,即,上升沿,线417从高逻辑电平驱动到低逻辑电平,即,下降沿。差分信号可能展示更好的电特性,例如更好的信号完整性,即,交叉耦合、电压过冲/欠冲、振荡(ringing),连同其它示例优点。这允许更好的定时窗口,其实现更快的传输频率。

在一个实施例中,提供了新的高性能互连(hpi)。hpi可包括下一代缓存相干的、基于链路的互连。作为一个示例,可在高性能计算平台(例如工作站或服务器(包括在pcie或另一互连协议一般用于连接处理器、加速器、i/o设备等的系统中))中利用hpi。然而,hpi并不被这样限制。替代地,可在本文描述的任一系统或平台中利用hpi。此外,开发的单独想法可应用于其它互连和平台,例如pcie、mipi、qpi等。

为了支持多个设备,在一个示例实现中,hpi可包括指令集架构(isa)不可知(即,hpi能够在多个不同的设备中实现)。在另一情形中,hpi也可用来连接高性能i/o设备,不仅仅是处理器或加速器。例如,高性能pcie设备可通过适当的转换桥(即,hpi到pcie)耦合到hpi。而且,很多基于hpi的设备(例如处理器)可以用各种方式(例如星形、环形、网等)利用hpi链路。图5示出多个可能的多插槽配置的示例实现。如所描绘的,两插槽配置505可包括两个hpi链路;然而在其它实现中,可利用一个hpi链路。对于较大的拓扑,可利用任何配置,只要标识符(id)是可指定的,且存在某种形式的虚拟路径,连同其它额外或替代的特征。如所示,在一个示例中,四插槽配置510具有从每一个处理器到另一处理器的hpi链路。但在配置515中所示的八插槽实现中,不是每一个插槽都通过hpi链路直接连接到彼此。然而,如果虚拟路径或通道存在于处理器之间,则配置被支持。支持的处理器的范围包括在本地域中的2-32。可通过多个域的使用或在节点控制器之间的其他互连,连同其它示例,来达到较高数量的处理器。

hpi架构包括分层协议架构的定义,在一些示例中包括协议层(相干性、非相干性、以及可选地其它基于存储器的协议)、路由层、链路层、以及物理层。此外,hpi还可包括与功率管理器(例如功率控制单元(pcu))、测试和调试设计(dft)、故障处理、寄存器、安全性、连同其它示例有关的增强。图5示出示例hpi分层协议栈的实施例。在一些实现中,图5所示的至少一些层可以是可选的。每层处理其自己级别的粒度或信息总量(具有分组630的协议层605a、b,具有微片(flit)635的链路层610a、b,以及具有phit640的物理层605a、b)。注意,分组在一些实施例中基于实现可包括部分微片、单个微片、或多个微片。

作为第一示例,phit640的宽度包括链路宽度到位的1对1映射(例如20位链路宽度包括20位的phit等)。微片可具有较大的尺寸,例如184、192、或200位。注意,如果phit640是20位宽且微片635的尺寸是184位,则它占据分数的phit640以传输一个微片635(例如以9.2个20位的phit传输184位微片635或以9.6个20位的传输192位微片,连同其它示例)。注意,在物理层处的基本链路的宽度可改变。例如,每方向通路的数量可包括2、4、6、8、10、12、14、16、18、20、22、24等。在一个实施例中,链路层610a、b能够将多条不同事务嵌入在单个微片中,一个多个头部(例如1、2、3、4)可嵌入微片内。在一个示例中,hpi将头部分成对应的槽以实现目的地为不同的节点的在微片中的多个消息。

物理层605a、b在一个实施例中可负责在物理介质(电或光等)上的信息的快速传送。物理链路可以是在两个链路层实体(例如层605a和605b)之间的点对点。链路层610a、b可从上层提取物理层605a、b,并提供可靠地传送数据(以及请求)并管理在两个直接连接的实体之间的流控制的能力。链路层也可负责将物理通道虚拟化成多个虚拟通道和消息类。协议层620a、b依赖于链路层610a、b,以在将协议消息递交到物理层605a、b用于跨物理链路传送之前,将协议消息映射到适当的消息类和虚拟通道中。链路层610a、b可支持多个消息,例如请求、窥探、响应、写回、非相干性数据,连同其它示例。

hpi的物理层605a、b(或phy)可在电气层(即,连接两个部件的电导体)之上和链路层610a、b之下实现,如图6所示。物理层和对应的逻辑可存在于每一个代理上,并连接彼此分离的两个代理(a和b)上(例如在链路的任一侧上的设备上)的链路层。本地和远程电气层由物理介质(例如电线、导体、光学的等)连接。物理层605a、b在一个实施例中具有两个主要阶段:初始化和操作。在初始化期间,连接对链路层是不透明的,并且发信号(signaling)可涉及计时状态和握手事件的组合。在操作期间,连接对链路层是透明的,且发信号具有某个速度,所有通路一起作为单个链路来操作。在操作阶段期间,物理层将微片从代理a运送到代理b并从代理b运送到代理a。连接也被称为链路并从链路层提取包括媒体、宽度和速度的一些物理方面,同时与链路层交换微片和当前配置(例如宽度)的控制/状态。初始化阶段包括次要阶段,例如轮询、配置。操作阶段也包括次要阶段(例如链路功率管理状态)。

在一个实施例中,链路层610a、b可被实现,以便提供在两个协议或路由实体之间的可靠数据传送。链路层可从协议层620a、b提取物理层605a、b,并可负责在两个协议代理(a、b)之间的流控制,且向协议层(消息类)和路由层(虚拟网络)提供虚拟通道服务。在协议层620a、b和链路层610a、b之间的接口一般可以是分组级别的。在一个实施例中,在链路层处的最小传送单元被称为微片,其为规定数量的位,例如192位或某个其它额度。链路层610a、b依赖于物理层605a、b来将物理层605a、b的传送单元(phit)构造成链路层610a、b的传输单元(微片)。此外,链路层610a、b可在逻辑上分成两个部分:发送器和接收器。在一个实体上的发送器/接收器对可连接到在另一实体上的接收器/发送器对。常常在微片和分组基础上执行流控制。也可能在微片级基础上执行错误检测和校正。

在一个实施例中,路由层615a、b可提供灵活和分布式方法来将hpi事务从源路由到目的地。方案是灵活的,因为可以通过可编程路由表在每一个路由器处规定多个拓扑的路由算法(编程在一个实施例中由固件、软件、或其组合执行)。可分布路由功能;可通过一系列路由步骤来完成路由,每一个路由步骤通过表的查找在源、中间、或目的地路由器处被定义。在源处的查找可用于将hpi分组引入到hpi结构中。在中间路由器处的查找可用于将hpi分组从输入端口路由到输出端口。在目的地端口处的查找可用于将目的地hpi协议代理作为目标。注意,路由层在一些实现中可以是薄的,因为路由表以及因而的路由算法没有由说明书特别定义。这允许了灵活性和各种用途模型,包括由系统实现定义的灵活平台架构拓扑。路由层615a、b依赖于链路层610a、b用于提供多达三个(或更多)虚拟网络(vn)的使用——在一个示例中,具有在每一个虚拟网络中定义的几个消息类的两个无死锁vn:vn0和vn1。可在链路层中定义共享适应虚拟网络(vna),但这个适应网络可以不直接暴露在路由概念中,因为每一个消息类和虚拟网络可具有专用资源和保证的转发进展,连同其它特征和示例。

在一些实现中,hpi可利用嵌入式时钟。时钟信号可嵌入使用互连而传输的数据中。使用嵌入数据中的时钟信号,可省略不同的和专用时钟通路。这可能是有用的,例如因为它可允许设备的更多管脚专用于数据传送,特别是在管脚的空间奇缺的系统中。

可在互连的任一侧上的两个代理之间建立链路。发送数据的代理可以是本地代理,且接收数据的代理可以是远程代理。状态机可由这两个代理使用以管理链路的各个方面。在一个实施例中,物理层数据路径可将微片从链路层传输到电气前端。控制路径在一个实现中包括状态机(也被称为链路训练状态机或类似物)。状态机的行动和从状态的退出可取决于内部信号、定时器、外部信号或其它信息。事实上,一些状态例如几个初始化状态可具有定时器以提供超时值来退出状态。注意,检测在一些实施例中指检测在通路的两个腿上的事件;但不一定同时。然而在其它实施例中,检测指由所提及的代理进行事件的检测。作为一个示例,防反跳是指信号的持续断定。在一个实施例中,hpi在非功能通路的情况下支持操作。在这里,通路可在特定的状态处终止。

在状态机中定义的状态可包括复位状态、初始化状态、以及操作状态,连同其它类别和子类别。在一个示例中,一些初始化状态可具有次级定时器,其用于在超时时退出状态(本质上,由于在状态中取得进展失败而引起的中止)。中止可包括寄存器(例如状态寄存器)的更新。一些状态也可具有用于对状态中的主要功能进行定时的主定时器。可定义其它状态,使得内部或外部信号(例如握手协议)驱动从一种状态到另一状态的转变,连同其它示例。

状态机也可通过单个步骤支持调试,冻结初始化中止和测试器的使用。在这里,可推迟/保持状态退出,直到调试软件准备好为止。在一些实例中,可推迟/保持退出,直到次级超时为止。行动和退出在一个实施例中可基于训练序列的交换。在一个实施例中,链路状态机在本地代理时钟域中运行,且从一个状态到下一状态的转变与发射器训练序列边界重合。状态寄存器可用来反映当前状态。

图7示出在hpi的一个示例实现中由代理使用的状态机的至少一部分的表示。应认识到,被包括在图7的状态表中的状态包括可能状态的非详尽列表。例如,一些转变被省略以简化图。此外,一些状态可组合、分开、或省略,而其它状态可被添加。这样的状态可包括:

事件复位状态:在热或冷复位事件时进入。恢复默认值。初始化计数器(例如同步计数器)。可退出到另一状态,例如另一复位状态。

定时复位状态:针对带内复位的定时状态。可以驱动预定的电气有序集(eos),所以远程接收器能够检测eos并且也进入定时复位。接收器具有保持电气设置的通路。可退出到代理以校准复位状态。

校准复位状态:校准而没有在通路上发信号(例如接收器校准状态)或关闭驱动器。可以是在基于定时器的状态中的预定数量的时间。可设置操作速度。当端口未被启用时可充当等待状态。可包括最小驻留时间。接收器调节或交错(staggeringoff)可基于设计来出现。可在超时之后和/或校准完成之后退出到接收器检测状态。

接收器检测状态:检测在通路上的接收器的存在。可寻找接收器终止(例如接收器下拉插入)。当规定值被设置时或当另一规定值未被设置时,可退出到校准复位状态。如果接收器被检测到或达到超时,则可退出到发射器校准状态。

发射器校准状态:用于发射器校准。可以是为发射器校准分配的定时状态。可包括在通路上发信号。可连续驱动eos,例如电空闲退出有序集(eieos)。在完成校准时或在定时器终止时可退出到顺应性状态。如果计数器终止或次级超时出现,则可退出到发射器检测状态。

发射器检测状态:证明有效的发信号合格。可以是握手状态,其中代理完成行动并基于远程代理发信号退出到下一状态。接收器可证明来自发射器的有效的发信号合格。接收器在一个实施例中寻找唤醒检测,且如果在一个或多个通路上被防反跳,则在其它通路上寻找它。发射器驱动检测信号。响应于对所有通路完成防反跳和/或超时或如果在所有通路上的防反跳未完成且存在超时,可退出到轮询状态。在这里,一个或多个监控器通路可保持醒着以使唤醒信号防反跳。以及如果被防反跳则其它通路可能被防反跳。这可在低功率状态中实现功率节省。

轮询状态:接收器适应、初始化漂移缓冲器并锁住位/字节(例如识别符号边界)。通路可被抗扭斜(deskew)。远程代理可响应于确认消息而引起到下一状态(例如链路宽度状态)的退出。轮询可此外包括通过锁定到eos的训练序列锁定和训练序列头部。在远程发射器处的通路间扭斜(skew)可针对最高速度被定界(cap)在第一长度处而对慢速度被定界在第二长度处。可在慢模式以及操作模式中执行抗扭斜。接收器可具有特定的最大值以对通路间扭斜(例如8、16、或32个扭斜间隔)进行抗扭斜。接收器行动可包括时延修复。接收器行动在一个实施例中可在有效通路图的成功抗扭斜时完成。在一个示例中,当若干连续训练序列头部被接收到(具有确认)且具有确认的若干训练序列在接收器完成其行动之后被传输时,可实现成功的握手。

链路宽度状态:代理与针对远程发射器的最终通路图进行通信。接收器接收信息并解码。接收器可在第二结构中的前面的通路图值的检查点之后的结构中记录所配置的通路图。接收器也可使用确认(“ack”)做出响应。可发起带内复位。作为一个示例,第一状态发起带内复位。在一个实施例中,响应于ack而执行到下一状态(例如微片配置状态)的退出。此外,在进入低功率状态之前,如果唤醒检测信号出现的频率下降到规定值之下(例如每单位间隔(ui)数为1,例如4kui),则复位信号也可产生。接收器可保持当前和以前的通路图。发射器可基于具有不同值的训练序列使用不同组的通路。在一些实施例中,通路图可以不修改一些状态寄存器。

微片锁定配置状态:由发射器进入,但当发射器和接收器都退出到阻断链路状态或其它链路状态时,状态被考虑为退出(即,次级超时案例)。发射器退出到链路状态,在一个实施例中包括在接收到行星对齐信号之后的数据序列的开始(sds)和和训练序列(ts)边界。在这里,接收器退出可基于从远程发射器接收到sds。这个状态可以是从代理到链路状态的桥。接收器识别sds。如果在解扰器初始化之后接收到sds,则接收器可退出到阻断链路状态(bls)(或控制窗口)。如果超时出现,则退出可以到复位状态。发射器使用配置信号驱动通路。发射器退出可以到复位、bls、或基于条件或超时的其它状态。

传输链路状态:链路状态。微片被发送到远程代理。可从阻断链路状态进入并在事件(例如超时)时返回到阻断链路状态。发射器传输微片。接收器接收微片。也可退出到低功率链路状态。在一些实现中,传输链路状态(tls)可被称为l0状态。

阻断链路状态:链路状态。发射器和接收器以统一的方式操作。可以是定时状态,在其期间,链路层微片被隔开,而物理层信息被传递到远程代理。可退出到低功率链路状态(或基于设计的其它链路状态)。阻断链路状态(bls)在一个实施例中周期性地出现。周期被称为bls间隔并可被定时,以及可在低速和操作速度之间不同。注意,链路层可被周期性地阻止发送微片,使得一定长度的物理层控制序列可例如在传输链路状态或部分宽度传输链路状态期间被发送。在一些实现中,阻断链路状态(bls)可被称为l0控制或l0c状态。

部分宽度传输链路状态:链路状态。可通过进入部分宽度状态来节省功率。在一个实施例中,非对称部分宽度指具有不同宽度的双向链路的每一个方向,其可在一些设计中被支持。在图9的示例中示出发送部分宽度指示以进入部分宽度传输链路状态的启动器(例如发射器)的示例。在这里,部分宽度指示被发送,同时在具有第一宽度的链路上传输以将链路转变到以第二、新宽度传输。失配可导致复位。注意,速度可以不改变,但宽度可改变。因此,微片可能以不同的宽度发送。可以在逻辑上类似于传输链路状态;然而因为有较小的宽度,传输微片可能花费更长时间。可退出到其它链路状态,例如基于某些接收和发送的消息的低功率链路状态或基于其它事件的部分宽度传输链路状态或链路阻断状态的退出。在一个实施例中,发射器端口可以用交错的方式关闭空闲通路以提供更好的信号完整性(即,噪声迁移)。在这里,可在链路宽度改变的周期期间利用没有重试能力的微片,例如空(null)微片。对应的接收器可丢弃这些空微片,并以交错的方式关闭空闲通路,以及在一个或多个结构中记录当前和以前的通路图。注意,状态和相关的状态寄存器可保持不变。在一些实现中,部分宽度传输链路状态可被称为部分l0或l0p状态。

退出部分宽度传输链路状态:退出部分宽度状态。在一些实现中可以或可以不使用阻断链路状态。在一个实施例中,发射器通过在空闲通路上发送部分宽度退出模式以训练它们和使它们抗扭斜,来发起退出。作为一个示例,退出模式以eieos(其被检测并防反跳以发信号:通路准备开始进入到全传输链路状态的信号)开始,并可以以sds或在空闲通路上的快速训练序列(fts)结束。在退出序列(接收器行动,例如抗扭斜,不在超时之前完成)期间的任何故障停止到链路层的微片传送并断定复位,这通过在下一阻断链路状态出现时使链路复位来被处理。sds也可将在通路上的加扰器/解扰器初始化到适当的值。

低功率链路状态:是较低功率状态。在一个实施例中,它是比部分宽度链路状态低的功率,因为在这个实施例中在所有通路上和在两个方向上停止发信号。发射器可使用用于请求低功率链路状态的阻断链路状态。在这里,接收器可对请求解码并使用ack或nak做出响应;否则复位可被触发。在一些实现中,低功率链路状态可被称为l1状态。

在一些实现中,例如当已经完成状态的状态行动(例如某些校准和配置)时,可促进状态转变以允许状态被绕过。链路的以前的状态结果和配置可被存储并在链路的随后的初始化和配置中被重新使用。不是重复这样的配置和状态行动,而是对应的状态可被绕过。然而实现状态绕过的传统系统常常实现复杂的设计和昂贵的验证换码。不是使用传统绕过,在一个示例中,而是hpi可在例如状态行动不需要被重复的某些状态中利用短定时器。这可潜在地允许更均匀和同步的状态机转变,连同其它潜在的优点。

在一个示例中,基于软件的控制器(例如通过物理层的外部控制点)可为一个或多个特定的状态实现短定时器。例如,对于一种状态(对其的行动已经被执行并存储),该状态可以是短定时的,以便于从该状态快速退出到下一状态。然而如果以前的状态行动失败或不能在短定时器持续时间内应用,则状态退出可被执行。此外,控制器可禁用短定时器,例如当状态行动应被重新执行时。可为每一个相应的状态设置长或默认定时器。如果在该状态下的配置行动不能在长定时器内完成,则状态退出可出现。长定时器可被设置到合理的持续时间以便允许状态行动的完成。短定时器相反可能明显更短,使在一些情况下执行状态行动而不回来参考以前执行的状态行动变得不可能,连同其它示例。

在hpi的一些实现中,可定义超序列,每一个超序列对应于相应的状态或进入相应的状态/从相应的状态退出。超序列可包括数据集和符号的重复序列。在一些实例中,序列可重复,直到状态或状态转变的完成或对应事件的传递为止,连同其它示例。在一些实例中,可根据定义的频率(例如定义的数量的单位间隔(ui))来重复超序列的重复序列。单位间隔(ui)可对应于用于在链路或系统的通路上传输单个位的时间间隔。在一些实现中,重复序列可以以电气有序集(eos)开始。因此,eos的实例可被预期根据预定的频率重复。这样的有序集可被实现为以十六进制格式表示的定义的16字节代码,连同其它示例。在一个示例中,超序列的eos可以是电空闲有序集(或eieos)。在一个示例中,eieos可类似于低频时钟信号(例如预定数量的重复ff00或fff000十六进制符号等)。数据的预定集合可遵循eos,例如预定的数量的训练序列或其它数据。可在包括链路状态转变以及初始化的状态转变连同其它示例中利用这样的超序列。

如上面介绍的,在一个实施例中,初始化可最初以慢速度进行,后面是以快速度的初始化。以慢速度的初始化使用寄存器和定时器的默认值。软件然后使用慢速链路来建立寄存器、定时器和电气参数,并清除校准信号量(semaphores)来为快速初始化铺路。作为示例,初始化可由如下的状态或任务组成:例如复位、检测、轮询、以及配置,连同可能的其它示例。

在一个示例中,链路层阻断控制序列(即,阻断链路状态(bls)或l0c状态)可包括定时状态,在其期间,链路层微片被隔开,而phy信息被传递到远程代理。在这里,发射器和接收器可开始时钟控制序列定时器。而且当定时器终止时,发射器和接收器可退出阻断状态并可采取其它行动,例如退出到复位、退出到不同的链路状态(或其它状态),包括允许跨链路发送微片的状态。

在一个实施例中,链路训练可被提供并包括加扰训练序列、有序集、以及例如结合定义的超序列的控制序列中的一个或多个的发送。训练序列符号可包括头部、预留部分、目标时延、对号码、物理通路图代码参考通路或一组通路、以及初始化状态中的一个或多个。在一个实施例中,头部可以带有ack或nak连同其它示例被发送。作为示例,训练序列可作为超序列的部分被发送并可被加扰。

在一个实施例中,有序集和控制序列不是加扰或交错的,且在所有通路上同样地、同时和完全被传输。有序集的有效接收可包括有序集(或部分有序集的整个有序集)的至少一部分的检查。有序集可包括电气有序集(eos),例如电空闲有序集(eios)或eieos。超序列可包括数据序列的开始(sds)或快速训练序列(fts)。这样的集合和控制超序列可被预先定义并可具有任何模式或十六进制表示以及任何长度。例如,有序集和超序列可以是8字节、16字节或32字节等的长度。作为示例,fts可此外在部分宽度传输链路状态的退出期间用于快速位锁定。注意,fts定义可以按照通路并可利用fts的旋转版本。

在一个实施例中,超序列可包括在训练序列流中的eos(例如eieos)的插入。当发信号开始时,在一个实现中,通路以交错的方式通电。然而,这可导致初始超序列在一些通路上在接收器处被截短。然而,超序列可在短间隔(例如大约一千单位间隔(或~1kui))上重复。训练超序列可此外用于抗扭斜、配置和传递初始化目标、通路图等中的一个或多个。eieos可用于下列操作中的一个或多个:将通路从不活动转变到活动状态、筛选良好通路、识别符号和ts边界,连同其它示例。

转到图8,示出了示例超序列的表示。例如,可定义示例性检测超序列805。检测超序列805可包括单个eieos(或其它eos)的重复序列,后面是特定训练序列(ts)的预定数量的实例。在一个示例中,eieos可被传输,紧接着后面是ts的七个重复实例。当七个ts的最后一个被发送时,eieos可被再次发送,后面是ts的七个额外的实例,依此类推。这个序列可根据特定的预定频率重复。在图8的示例中,eieos可重新出现在通路上大约每一千ui一次(~1kui),后面是检测超序列805的剩余部分。接收器可针对重复检测超序列805的存在而监控通路,且当使得超序列705有效时可得出远程代理存在、在通路上被添加(例如热插拨)、唤醒、或重新初始化等的结论。

在另一个示例中,另一超序列810可被定义为指示轮询、配置、或环回(loopback)条件或状态。如同示例检测超序列805一样,链路的通路可针对这样的poll/config/loop超序列810由接收器监控以识别轮询状态、配置状态、或环回状态或条件。在一个示例中,poll/config/loop超序列810可以以eieos开始,后面是ts的预定数量的重复实例。例如,在一个示例中,eieos可以后面有ts的三十一(31)个实例,eieos大约每四千ui(例如~4kui)重复一次。

此外,在另一示例中,可定义部分宽度传输状态(pwts)退出超序列815。在一个示例中,pwts退出超序列可包括初始eieos以在超序列中的第一完全序列的发送之前重复到先决条件通路。例如,在超序列815中重复的序列可以以eieos开始(以每1kui重复大约一次)。此外,可利用快速训练序列(fts)来代替其它训练序列(ts),fts配置成帮助更快的位锁定、字节锁定、以及抗扭斜。在一些实现中,fts可被解扰以进一步帮助尽可能快地和非破坏性地将空闲通路带回成活动的。如同在进入链路传输状态之前的其它超序列一样,超序列815可被中断并通过数据序列的开始(sds)的发送而结束。此外,部分fts(ftsp)可被发送以例如通过允许位被减(或加)至ftsp连同其它示例,来帮助使新通路同步到活动通路。

超序列(例如检测超序列705和poll/config/loop超序列710等)可在链路的实质上整个初始化或重新初始化中潜在地被发送。接收器在接收并检测到特定的超序列时可在一些实例中通过在通路上将相同的超序列回送(echo)到发射器来做出响应。通过发射器和接收器对特定超序列的接收和验证可用作握手,以确认通过超序列传递的状态或条件。例如,这样的握手(例如利用检测超序列705)可用于识别链路的重新初始化。在另一示例中,这样的握手可用来指示电气复位或低功率状态的结束,导致对应的通路被带回,连同其它示例。可例如从在发射器和接收器(每一个传输检测超序列705)之间的握手识别电气复位的结束。

在另一示例中,通路可针对超序列被监控并结合通路的筛选来使用超序列用于检测、唤醒、状态退出和进入,连同其它示例。超序列的预定的和可预测的性质和形式可进一步用于执行这样的初始化任务作为位锁定、字节锁定、防反跳、解扰、抗扭斜、适应、时延修复、协商的延迟、以及其它可能的使用。实际上,可针对这样的事件实质上连续地监控通路以加快系统对这样的条件做出反应和进行处理的能力。

图10表示根据一个示例的示例训练序列(ts)。在图10中,训练序列1005可包括头部1010和可用于传递关于链路的初始化的信息的各种字段。例如,在一个示例中,可包括目标时延1015、状态1020、通路对号码1025、通路映射1028的字段连同其它字段。例如,可额外提供加扰同步字段1030来帮助同步在设备处的线性反馈移位寄存器(lfsr)以允许ts字段的解扰连同其它功能。其它预留字段(例如1055、1060)也可被包括在训练序列(例如1005)中。

ts头部1010可包括可用于传递训练序列类型(例如从其可确定或推断初始化状态)1035的额外字段、ack/nak字段1040(例如在握手中使用)、通路标识符字段(例如通过其最低有效位、通过通路反转等识别通路)1045、以及其它字段,包括预留字段。在一些实现中,ts的部分可例如通过随机或伪随机二进制序列(prbs)被加扰。在一个示例中,ts头部1010可被保持清楚,而ts的剩余部分(或主体(例如1050))例如通过使用prbs连同其它示例对ts的那些部分进行异或运算而被加扰。

在一个实现中,ts可以在长度上是十六(16)字节,且ts头部可占据ts的第一字节(即,字节0)。ts有效载荷可被加扰并占据剩余十五个字节。在一个示例实现中,ts尾部或后缀可包括ts的最后几个字节。例如,在一个示例中,加扰同步字段1030可占据ts的至少三个字节,例如ts的字节6-8。在这个特定的实现中,ts的尾部字节(例如字节9-15)可被维持为预留位(例如1055)。在字节6-15中的位可都被设置到0。

在一些实现中,hpi可支持ts头部(例如1010)的使用,可代替或除了关键初始化参数的ts有效载荷以外而被利用。在一些实现中,ts有效载荷可用于交换初始化参数,像ack和通路数。用于传递通路极性的dc水平也可被使用。然而在一些实现中,hpi可为关键参数实现在ts头部(例如1010)中的dc平衡的代码。例如,在ts头部被解扰的实例中,可定义可用ts头部代码,使得“1”的数量实质上等于出现在ts头部字段(例如1035、1040、1045)中的“0”的数量。可通过借助于对照随机或伪随机二进制序列对位进行异或运算而对ts有效载荷的位进行加扰,在ts(例如ts有效载荷)的全部剩余部分中实现dc平衡。

在一个示例实现中,可利用具有至少23位的prbs序列(prbs23)。可根据特定的选择的多项式产生prbs。在一个示例中,可通过类似的位尺寸、自播种的(self-seeded)存储元件(例如线性反馈移位寄存器(lfsr))来产生prbs。lfsr可以是能够产生在长度上高达8mb的prbs序列的23位fibonaccilfsr。prbs可在序列结束之后重复。在一些实现中,可在被包括在例如在hpi中的链路的初始化中使用的超序列中的训练序列的加扰中使用prbs23序列的全部。

虽然可使用prbs序列的全长度,在一些实现中,hpi可支持允许可用prbs序列的变化的长度的使用(例如prbs23序列的仅仅一部分的使用)。在一些示例中,设备的控制器可规定prbs序列的全长度的仅仅一部分被利用。这可能例如在测试应用中是满足需要的,其中位序列的重复性是被需要的,可能连同其它应用。基于软件的控制器可规定待应用的prbs的变化的长度。例如,设备的bios可规定在链路上被应用的prbs长度。在一些实现中,prbs序列的全长度的使用可以是默认设置,例如以便最大化很长的prbs序列的益处。

可使用特定的最小长度(例如23位)的prbs加扰传输链路状态(tls)的通路业务和训练序列。应用于流的开始种子可在通路之间变化以增强在链路上的prbs的电气益处。在一个示例实现中,prbs可由实现6分支生成多项式(例如(x23+x21+x16+x8+x5+x2+1))的23位fibonaccilfsr产生。

通路号模数8的开始(在加扰器/解扰器初始化时)种子值可以是任何值,例如8个十六进制值,其中每一个十六进制值与链路中的通路的2或3个相关联。这样的种子的使用可导致在通路之间的prbs的旋转(或交错)。可通过使用如下的特性来减小lfsr的数量:偶数通路prbs可从奇数通路的prbs的异或得到。训练序列的eieos和头部未被加扰。可在每一个通路上的不同点处发起在每一个通路上的超序列的进入点(例如其中发射器开始驱动)。这可使通路能够以交错的方式打开,以便减小功率输送系统中的噪声。实际上,每一个通路可具有lfsr的其自己的实例。交错的时间可通过被打开的通路的数量而改变,并可在初始化期间是实现相关的。这些可在时序图和部分传输宽度状态退出的定时器配置文件中被规定。此外,快速训练序列(fts)(也在下面被讨论)也可由通路旋转。

在一些实例中,加扰可减小在发射器处的电源噪声并提供在接收器处的较丰富的频谱。加扰器可由所传输的第一eieos初始化。解扰器可例如通过自播种被同步到加扰器。例如,所接收的23位模式可嵌入ts的字段中作为种子。在一个示例中,可从加扰同步字段(例如1050)的位的加扰中识别出23位种子。接收器可利用种子值来识别用于加扰所接收的ts的prbs的特定位置。例如,接收器可识别种子并将种子装入它自己的lfsr中以同步到由发射器使用的prbs。在一些实例中,接收器可读取在超序列中的多个加扰同步字段或多个tse,以便播种其自己的lfsr。然而当检测和同步到发射器的prbs时,接收器可在链路的初始化期间连同其它示例对tse的剩余部分以及在超序列中发送的所有随后的ts进行解扰。

超序列可用于便于在通路上的位锁定和同步。如上面讨论的,超序列的至少一部分可被加扰。返回到图8的讨论,检测超序列可由接收器使用来检测或锁定所接收的位流的位和字节边缘,并识别哪些字节在超序列中被发送。例如,eieos和ts头部可保持解扰以帮助接收器更快速地锁定到超序列。此外,超序列可被定义为允许eieos(以及超序列的起始部分)以相对短的频率重复(例如更快速地允许给接收器在第一eieos未被准确地检测到的情况下检测eieos的另一机会)。例如,在一个示例中,超序列可被定义为每1kui或更短时间重复。这样的超序列可进一步允许在初始化期间更随机化的转变以及简化ts锁定、时延修复、以及其它行动。

此外,保持eieos和ts头部被解扰可允许字节锁定出现并允许接收器能够识别随后的字节和符号(包括加扰的ts符号)的位置。例如,解扰的ts头部的边缘可被识别且从而加扰同步字段(例如1050)的开始(例如通过简单地对从ts头部的边缘到符号的字节的数量进行计数)也被识别。当检测到在加扰同步字段中的prbs种子时,接收器将知道后面的prbs模式值并且也将能够预测随后的加扰同步字段(例如1050)值的值。因此,接收器在锁定到prbs时可进一步利用加扰同步字段(例如1050)值来便于其它配置任务,例如适应、抗扭斜、以及其它任务。

在多通路链路上,符号可在所有通路上由发射器同时发送,然而链路间扭斜可表现为未同时到达接收器的一些符号。扭斜的源可包括例如芯片差分驱动器和接收器、印刷线路板阻抗变化、通路电线长度失配,连同其它示例。在一个实施例中,hpi提供高级逻辑以使通路抗扭斜。作为示例,在ts锁定之后的ts边界可用于使通路抗扭斜。例如,ts锁定可用于检测扭斜(例如,ts到达一个通路,比在链路的通路中的另一个上的另一ts更晚)。eieos也可用于检测扭斜。此外,使用同步prbs模式的可预测性,hpi的一些实现可通过在有效载荷中的特定点期间比较在lfsr中的通路prbs模式来抗扭斜。此外,在一些实例中,可重新初始化训练序列的加扰,且可通过在训练序列的重播种期间进行prbs值的表查找来执行抗扭斜,连同其它示例。这样的抗扭斜可能在测试芯片中是有用的,例如测试芯片可能缺乏检测ts的能力或缺乏状态机以管理抗扭斜,连同其它示例。

当检测到扭斜时,hpi逻辑(例如通过软件支持的控制器提供)可识别在每一个通路上相对于在链路中的其它通路的扭斜,并调节通路以试图消除扭斜。例如,“较快的”通路可基于在通路间扭斜中检测的延迟,被人为地减慢(或可选地,较慢的通路可被加速(例如通过减小在数据路径中的时延))以适应与延迟器“较快的”通路实质上同时到达的“较慢的”通路的符号,连同其它示例。

在适应的情况中,可基于例如在发射器和接收器之间传输的采样数据来在发射器和接收器之间调节通路的电特性。例如,接收器适应可包括发射器将数据模式发送到接收器,在接收器处的逻辑调节在接收器处的电气特性以使通路适应链路。发射器适应可涉及发射器将采样数据发送到接收器以及接收器将可由发射器使用的反馈发送到发射器以在发射器处进行调节以适应通路。接收器可继续基于在发射器处进行的调节来将反馈发送到发射器。

在一个示例中,可通过加扰的ts数据来体现适应采样数据。作为一个示例,固定ui模式可用于借助到适应状态的旁路进行加扰。但是通过用prbs23加扰ts,接收器适应可被执行而没有旁路。此外,可在时钟恢复和采样期间减小偏移和其它误差。通过长prbs序列(例如prbs23)提供的随机性可证明用于适应的有效采样流。此外在一些实现中,通路可被设置为在慢模式中操作以帮助逻辑分析并适应于在通路上接收的采样数据。当通过适应证实通路的特性时,所适应的特性可被设置并应用于链路的初始化。

一旦链路被成功地校准并配置,初始化可结束并转变到传输链路状态(tls),其中微片开始被传输。在hpi的一些实现中,到tls的转变可基于在系统上的行星对齐。例如,行星对齐信号可指示转变到tls的机会。不是在超序列、eieos、或tls的边缘处转变,hpi的一些实现可利用根据行星对齐发送的数据序列的开始(sds)符号以结束初始化和到tls的转变。在一个示例中,sds可在初始化位流中的任何地方被发送。因此,接收器可持续扫描接收的位来寻找sds,以根据行星对齐来加速初始化的结束。

在一个示例中,示例eieos可仿真低频时钟信号,例如重复的ff00信号。在一些实现中,示例sds可包括重复的f0信号。因此,在这样的实例中,检测在eieos的中间发送的sds可能识别起来相对简单,因为在eieos内混叠(aliasing)的风险可以是最小的。然而ts有效载荷的加扰和ts数据的因而产生的随机性可引入sds的一些形式的混叠的风险。在一些实现中,可产生prbs,其在若干位的任何特定跨度上永不混叠sds。此外,可例如使用ts的最后的字节在ts上提供尾部或后缀,以使prbs与在后缀中的0值进行异或运算并有效地呈现ts末尾处解扰的prbs。如果后缀足够长,则在加扰的后缀中反映的prbs值可使sds在ts的加扰的有效载荷中混叠变得不可能。例如在一个示例中,sds可被定义为值f0的十个连续字节(即,1111000011110000…)。此外,可在紧接着在加扰同步字段(例如1050)的三个字节后面的ts中提供七个预留字节的后缀,如例如在图10的示例中所示的。作为结果,归零ts后缀的长度(例如总共10个字节)可对应于被选择为不出现在选择的加扰prbs(例如prbs23)中的选择的sds值(例如f0的十个字节),连同其它示例。例如,基于在prbs23(或另一prbs)的实现中利用的多项式,不会在prbs23中有十字节序列等于选择的sds值,连同其它示例。

在一些实现中,当从配置状态退出到tls时,传输和接收lfsr可由在发射器和接收器之间交换的sds重新初始化。例如,在八个开始prbs中,种子可分别应用于通路0…7、12…19、以及8…11(例如只有前四个)。此外,也可例如通过将eieos之后的ts(例如ts头部)的解扰的第一字节与一组可能的值进行比较,连同其它示例,来确定链路的通路反转和通路的极性倒置。

在一个实施例中,时钟可嵌入数据中,所以没有单独的时钟通路。可根据嵌入的时钟来发送微片。此外,在通路上发送的微片可被加扰以便于时钟恢复。作为一个示例,接收器时钟恢复单元可将采样时钟传送到接收器(即,接收器从数据恢复时钟并使用它来对进入的数据进行采样)。在一些实现中,接收器持续地适应于进入的位流。通过嵌入时钟,管脚引出线可潜在地减少。然而,将时钟嵌入带内数据中可改变带内复位被接近的方式。在一个实施例中,可在初始化之后利用阻断链路状态(bls)。此外,可在初始化期间利用电气有序集超序列以便于复位,连同其它考虑因素。嵌入式时钟在链路上的设备之间可以是公共的,且公共操作时钟可在链路的校准和配置期间被设置。例如,hpi链路可参考具有漂移缓冲器的公共时钟。这样的实现可实现比在非公共参考时钟中使用的弹性缓冲器更低的时延,连同其它可能的优点。此外,参考时钟分布段可被匹配到规定限制内。

如上面提到的,hpi链路可能能够在多个速度下操作,包括默认通电的“慢模式”、初始化等。每一个设备的操作(或“快速”)速度或模式可由bios静态地设置。可基于在链路的任一侧上的每一个设备的相应操作速度来配置在链路上的公共时钟。例如,链路速度可基于这两个设备操作速度中的较慢者,连同其它示例。任何操作速度变化可伴随有热或冷复位。

在一些示例中,在通电时,链路初始化到具有例如100mt/s的传送速率的慢模式。软件接着建立链路的操作速度的两侧并开始初始化。在其它实例中,边带机制可用于例如在慢模式缺乏或不可用时建立链路,其包括在链路上的公共时钟。

慢模式初始化阶段在一个实施例中可使用相同的编码、加扰、训练序列(ts)、状态等作为操作速度,但具有可能更少的特征(例如没有电气参数建立、没有适应等)。慢模式操作阶段也可潜在地使用相同的编码、加扰等(虽然其它实现可以不),但与操作速度相比可具有更少的状态和特征(例如没有低功率状态)。

此外,可使用设备的本地锁相环(pll)时钟频率来实现慢模式。例如,hpi可支持仿真慢模式而不改变pll时钟频率。虽然一些设计对于慢和快速度可使用单独的pll,在仿真的hpi的一些实现中,可通过允许pll时钟在慢模式期间以相同的快操作速度运行来实现慢模式。例如,发射器可通过多次重复位来仿真较慢的时钟信号,以便仿真慢高时钟信号和然后慢低时钟信号。接收器可接着对所接收的信号过采样,以定位由重复的位仿真的边缘,并识别位。在这样的实现中,共享pll的端口可以在慢和快速度下共存。

在hpi的一些实现中,可支持在链路上的通路的适应。物理层可支持接收器适应和发射器(或发送器)适应。使用接收器适应,在通路上的发射器可将采样数据发送到接收器,接收器逻辑可处理该采样数据以识别在通路的电气特性和信号的质量中的缺点。接收器可接着基于所接收的采样数据的分析对通路的校准进行调节以优化通路。在发射器适应的情况下,接收器可再次接收采样数据并开发描述通路的质量的度量,但在这种情况下,将度量传递到发射器(例如使用后向通道,例如软件、硬件、嵌入式、边带或其它通道)以允许发射器基于反馈对通路进行调节。

由于在链路上的这两个设备都可完成相同的参考时钟(例如refclk),弹性缓冲器可被省略(任何弹性缓冲器可被绕过或用作具有最低可能时延的漂移缓冲器)。然而,相位调节或漂移缓冲器可在每一个通路上被利用以将相应的接收器位流从远程时钟域传送到本地时钟域。漂移缓冲器的时延可足以处理来自电气规范中的所有源(例如电压、温度、由参考时钟路由失配引入的残余ssc等)的漂移的和,但尽可能小以减小传送延迟。如果漂移缓冲器太浅,则漂移误差可产生并表现为crc误差的系列。因此在一些实现中,可提供漂移警告,其可在实际漂移误差出现之前发起物理层复位,连同其它示例。

hpi的一些实现可支持以相同的标称参考时钟频率运行但具有ppm差异的两侧。在这种情况下,频率调节(或弹性)缓冲器可能是需要的,并可在延长的bls窗口期间或在周期性出现的特殊序列期间被重新调节,连同其它示例。

hpiphy逻辑层的操作可独立于下层传输介质,假定时延不导致在链路层处的时延修复错误或超时,连同其它考虑因素。

外部接口可设置在hpi中以帮助物理层的管理。例如,可提供外部信号(来自管脚、熔丝、其它层)、定时器、控制和状态寄存器。输入信号可相对于phy状态在任何时间改变,但在相应的状态中在特定的点处由物理层观察。例如,正改变的对齐信号(如下面介绍的)可被接收但在链路进入传输链路状态之后没有影响,连同其它示例。类似地,命令寄存器值可只在特定的时间点由物理层实体观察到。例如,物理层逻辑可获取值的快照并且在随后的操作中使用它。因此,在一些实现中,对命令寄存器的更新可与特定时期(例如在传输链路状态中或当保持在复位校准中时在慢模式传输链路状态中)的有限子集相关联以避免反常行为。

因为状态值跟踪硬件变化,所读取的值可取决于它们何时被读取。然而,一些状态值例如链路图、时延、速度等在初始化之后可以不改变。例如,重新初始化(或低功率链路状态(lpls),或l1状态,退出)是可使这些改变的唯一事情(例如,在tls中的硬通路故障可以不导致链路的重新配置,直到重新初始化被触发为止,连同其它示例)。

接口信号可包括在物理层行为外部但影响物理层行为的信号。作为示例,这样的接口信号可包括编码和定时信号。接口信号可以是设计特定的。这些信号可以是输入或输出。一些接口信号例如所谓的信号量和带前缀的eo连同其它示例,可以每断定边缘活动一次,即,它们可被解除断定并接着重新断定以再次生效,连同其它示例。例如,表1包括示例功能的示例列表:

表1

功能

输入管脚复位(也叫热复位)

输入管脚复位(也叫冷复位)

输入带内复位脉冲;使信号量被设置;当带内复位出现时信号量被清除

输入启用低功率状态

输入环回参数;应用于环回模式

输入以进入pwlts

输入以退出pwlts

输入以进入lpls

输入以退出lpls

输入自空闲退出检测(也叫噪声控制中断)

输入实现cphyinitbegin的使用

输入自针对发射器的本地或行星对齐以退出初始化

当远程代理naklpls请求时输出

当代理进入lpls时输出

输出到链路层以迫使(force)不可重试的微片

输出到链路层以迫使空微片

当发射器在部分宽度链路传输状态(pwlts)时输出

当接收器在pwlts时输出

可成对地提供csr定时器默认值——一个用于慢模式,而一个用于操作速度。在一些实例中,值0禁用定时器(即,超时从不出现)。定时器可包括下面在表2中示出的定时器。主定时器可用于对一状态中的预期行动进行定时。次级定时器用于中止不是正在进展的初始化,或用于在自动测试设备(或ate)模式中在精确的时间进行正向状态转变。在一些情况下,在一种状态中次级定时器可以比主定时器大得多。指数定时器集合可附加有后缀exp,且定时器值对字段值是升高2的。对于线性定时器,定时器值是字段值。任一定时器可使用不同的粒度。此外,在功率管理部分中的一些定时器可以在被称为定时配置文件的集合中。这些可与相同名称的时序图相关联。

表2

定时器

表tpriexp集合

用于驱动eieos的复位住区(residency)

接收器校准最小时间;用于使发射器交错地断开

发射器校准最小时间;用于交错地接通

tsecexp集合

定时的接收器校准

定时的发射器校准

噪声控制退出检测/防反跳

用于握手的detectatrx突出量(overhang)

适应+位锁定/字节锁定/抗扭斜

配置链路宽度

等待行星对齐的干净微片边界

重新字节锁定/抗扭斜

tdebugexp集合

对于热插拨;针对调试悬挂的非0值

tblsentry集合

bls进入延迟-精细

bls进入延迟-粗略

tbls集合

发射器的bls持续时间

接收器的bls持续时间

发射器的bls干净微片间隔

接收器的tbls干净微片间隔

可提供命令和控制寄存器。控制寄存器可以是后行动并在一些实例中可由软件读取或写入。后行动值可在复位中连续地生效(例如通过从面向软件阶段到面向硬件阶段)。控制信号量(带前缀的cp)是rw1s并可由硬件清除。控制寄存器可用来执行本文描述的任何项目。它们可以是可修改的并可由硬件、软件、固件、或其组合访问。

状态寄存器可被提供以跟踪硬件变化(由硬件写入和使用)且可以是只读的(但调试软件也可能能够写到它们)。这样的寄存器可能不影响互操作性,并可一般用很多专用状态寄存器补充。状态信号量(带前缀的sp)可被托管(mandate),因为它们可由软件清除以重做设置状态的行动。默认意味着初始(在复位时)值可被提供为与初始化有关的这些状态位的子集。在初始化中止时,这个寄存器可被拷贝到存储结构中。

可提供工具箱寄存器。例如,在物理层中的可测试性工具箱寄存器可提供模式产生、模式检查和环回控制机制。较高级应用可利用这些寄存器连同电气参数来确定余量。例如,内置在测试中的互连可利用这个工具箱来确定余量。对于发射器适应,可结合在前面的章节中描述的特定寄存器连同其它示例来使用这些寄存器。

在一些实现中,hpi支持利用物理层的可靠性、可用性、以及可服务性(ras)能力。在一个实施例中,hpi以可包括软件的一层或多层来支持热插拨和移除。热移除可包括使链路静默,且可对待移除的代理清除初始化开始状态/信号。远程代理(即,未被移除的代理(例如主机代理))可被设置到慢速度,且它的初始化信号也可被清除。带内复位(例如通过bls)可使这两个代理在复位状态例如校准复位状态(crs)中等待;以及待移除的代理可被移除(或可保持在目标的管脚复位中,断电),连同其它示例和特征。实际上,可省略上述事件中的一些,且可添加额外的事件。

热添加可包括可默认为慢的初始化速度,且初始化信号可设置在待添加的代理上。软件可将速度设置到慢,并可清除在远程代理上的初始化信号。链路可在慢模式中出现,且软件可确定操作速度。在一些情况下,此时没有远程的pll重新锁定被执行。可在这两个代理上设置操作速度,且可为适应设置启用(如果以前没有做)。初始化开始指示器可在这两个代理上被清除,且带内bls复位可使这两个代理在crs中等待。软件可断定(待添加的)代理的热复位(例如目标的或自复位),该代理可使pll重新锁定。软件也可通过任何已知的逻辑设置初始化开始信号,并进一步在远程上设置(因而使它前进到接收器检测状态(rds))。软件可使添加代理的热复位解除断定(因而使它前进到rds)。链路可接着以操作速度初始化至传输链路状态(tls)(或至环回,如果适应信号被设置),连同其它示例。实际上,可省略上述事件中的一些并可添加额外的事件。

可支持数据通路故障恢复。在hpi中的链路在一个实施例中可通过将本身配置到小于全宽度(例如小于全宽度的一半)对单个通路上的硬错误有弹性,其因而可排除有错误的通路。作为示例,配置可通过链路状态机来完成,且未使用的通路可在配置状态中关闭。作为结果,微片可以以较窄的宽度被发送通过,连同其它示例。

在hpi的一些实现中,可在一些链路上支持通路反转。通路反转可以例如指连接到接收器的通路n/n-1/n-2…(例如n可等于19或7等)的发射器的通路0/1/2。通路反转可在接收器处被检测到,如在ts头部的字段中识别的。接收器可通过在轮询状态中开始(通过对于逻辑通路0…n使用物理通路n…0),来处理通路反转。因此,对通路的提及可以指逻辑通路号。因此,电路板设计者可更有效地制定物理或电气设计,且hpi可与虚拟通路分配一起工作,如本文描述的。而且在一个实施例中,极性可倒置(即,当微分发射器+/-连接到接收器-/+时)。极性也可在接收器处从一个或多个ts头部字段被检测到,且在一个实施例中在轮询状态中被处理。

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

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

核心常常指位于能够维持独立架构状态的集成电路上的逻辑,其中每一个独立维持的架构状态与至少一些专用执行资源相关联。与核心相反,硬件线程一般指位于能够维持独立架构状态的集成电路上的任何逻辑,其中独立维持的架构状态共享对执行资源的访问。如可看到的,当某些资源被共享且其它资源专用于架构状态时,在硬件线程和核心的术语之间的线重叠。核心和硬件线程然而常常由操作系统视为单独的逻辑处理器,其中操作系统能够在每一个逻辑处理器上单独地调度操作。

如图11所示的物理处理器1100包括两个核心——核心1101和1102。在这里,核心1101和1102被认为是对称核心,即,具有相同的配置、功能单元、和/或逻辑的核心。在另一实施例中,核心1101包括乱序处理器核心,而核心1102包括有序处理器核心。然而,核心1101和1102可独立地选自任何类型的核心,例如本地核心、软件管理的核心、适合于执行本地指令集架构(isa)的核心、适合于执行已转换指令集架构(isa)的核心、共同设计的核心、或其它已知的核心。在异构核心环境(即,不对称核心)中,某种形式的转换例如二进制转换可用来调度或执行在一个或两个核心上的代码。然而为了促进讨论,在下面更详细描述在核心1101中所示的功能单元,因为在核心1102中的单元在所绘实施例中以类似的方式操作。

如所描绘的,核心1101包括两个硬件线程1101a和1101b,其也可被称为硬件线程槽1101a和1101b。因此,软件实体例如操作系统在一个实施例中可能将处理器1100视为四个单独的处理器,即,四个逻辑处理器或能够同时执行四个软件线程的处理元件。如上面暗指的,第一线程与架构状态寄存器1101a相关联,第二线程与架构状态寄存器1101b相关联,第三线程可与架构状态寄存器1102a相关联,以及第四线程可与架构状态寄存器1102b相关联。在这里,每一个架构状态寄存器(1101a、1101b、1102a、以及1102b)可被称为处理元件、线程槽、或线程单元,如上所述。如所示,架构状态寄存器1101a在架构状态寄存器1101b中被复制,所以单独的架构状态/上下文能够针对逻辑处理器1101a和逻辑处理器1101b被存储。在核心1101中,也可针对线程1101a和1101b复制其它较小的资源,例如在分配器(allocator)和重命名器块1130中的指令指针和重命名逻辑。可通过分区来共享一些资源,例如在重排序/退出单元1135中的重排序缓冲器、iltb1120、装载/存储缓冲器、以及队列。可能完全共享其它资源,例如通用内部寄存器、页表基址寄存器、低级数据缓存和数据tlb1115、执行单元1140、以及乱序单元1135的部分。

处理器1100常常包括可被完全共享、通过分区来共享、或由处理元件专用/专用于处理元件的其它资源。在图11中,示出具有处理器的说明性逻辑单元/资源的纯粹示例性的处理器的实施例。注意,处理器可包括或省略这些功能单元中的任一个,以及包括未描绘的任何其它已知的功能单元、逻辑或固件。如所示,核心1101包括简化的代表性乱序(ooo)处理器核心。但在不同的实施例中可利用有序处理器。ooo核心包括预测待执行/采用的分支的分支目标缓冲器1120和存储指令的地址转换条目的指令转换缓冲器(i-tlb)1120。

核心1101还包括耦合到取出单元1120的解码模块1125以将取出的元件解码。取出逻辑在一个实施例中包括分别与线程槽1101a、1101b相关联的单独序列。通常核心1101与第一isa相关联,第一isa定义/规定在处理器1100上可执行的指令。作为第一isa的部分的机器代码指令常常包括指令的一部分(被称为操作码),其参考/规定待执行的指令或操作。解码逻辑1125包括电路,其识别来自其操作码的这些指令并在管线中继续传递解码的指令用于如在第一isa中定义的处理。例如,如在下面更详细讨论的,解码器1125在一个实施例中包括设计成或适合于识别特定的指令(例如事务指令)的逻辑。作为通过解码器1125的识别的结果,架构或核心1101采取特定的预定行动来执行与适当的指令相关联的任务。重要地注意到,可响应于单个或多个指令来执行本文描述的任何任务、块、操作、以及方法;其中一些指令可以是新或旧的指令。注意,解码器1126在一个实施例中识别相同的isa(或其子集)。可选地,在异构核心环境中,解码器1126识别第二isa(第一isa或不同的isa的子集)。

在一个示例中,分配器和重命名器块1130包括分配器以预留资源,例如存储指令处理结果的寄存器文件。然而,线程1101a和1101b可能能够乱序执行,其中分配器和重命名器块1130也预留其它资源,例如重排序缓冲器以跟踪指令结果。单元1130也可包括寄存器重命名器以将程序/指令参考寄存器重命名到在处理器1100内部的其它寄存器。重排序/退出单元1135包括部件,例如上面提到的重排序缓冲器、装载缓冲器、以及存储缓冲器,以支持乱序执行和乱序执行的指令的稍后有序退出。

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

较低级数据缓存和数据转换缓冲器(d-tlb)1150耦合到执行单元1140。数据缓存存储可能保持在存储器相干性状态中的最近使用/操作的元件,例如数据操作数。d-tlb存储最近的虚拟/线性到物理地址转换。作为特定的示例,处理器可包括页表结构以将物理存储器分成多个虚拟页。

在这里,核心1101和1102共享对较高级或进一步开发的缓存(例如与片上接口1110相关联的第二级缓存)的访问。注意,较高级或进一步开发指从执行单元增加或变得更进一步的缓存级别。在一个实施例中,较高级缓存是最后一级数据缓存(在处理器1100上的存储器分级结构中的最后一级缓存),例如第二或第三级数据缓存。然而,较高级缓存并不被如此限制,因为它可与指令缓存相关联或包括指令缓存。追踪缓存(一种类型的指令缓存)替代地可耦合在解码器1125之后以存储最近解码的轨迹。在这里,指令可能指宏指令(即,由解码器识别的一般指令),其可解码成若干微指令(微操作)。

在所描绘的配置中,处理器1100还包括片上接口模块1110。从历史角度看,在下面更详细描述的存储器控制器被包括在处理器1100外部的计算系统中。在这个情形中,片上接口1110与在处理器1100外部的设备(例如系统存储器1175、芯片组(常常包括连接到存储器1175的存储器控制器中心和连接外围设备的i/o控制器中心)、存储器控制器中心、北桥、或其它集成电路)进行通信。而且在这个情形中,总线1105可包括任何已知的互连,例如多点分支总线、点对点互连、串行互连、并行总线、相干(例如缓存相干)总线、分层协议架构、差分总线、以及gtl总线。

存储器1175可专用于处理器1100或与系统中的其它设备共享。存储器1175的类型的一般示例包括dram、sram、非易失性存储器(nv存储器)、以及其它已知的存储设备。注意,设备1180可包括图形加速器、耦合到存储器控制器中心的处理器或卡、耦合到i/o控制器中心的数据存储设备、无线收发机、闪存设备、音频控制器、网络控制器、或其它已知设备。

然而最近,因为更多的逻辑和设备集成在单个管芯上,例如soc,这些设备中的每一个可合并在处理器1100上。例如在一个实施例中,存储器控制器中心与处理器1100在相同的封装和/或管芯上。在这里,核心(核心上部分)1110的一部分包括用于与其它设备(例如存储器1175或图形设备1180)通过接口连接的一个或多个控制器。包括互连和用于与这样的设备通过接口连接的控制器的配置常常被称为核心上(或非核心配置)。作为示例,片上接口1110包括用于芯片上通信的环形互连和用于芯片外通信的高速串行点对点链路1105。然而在soc环境中,更多的设备例如网络接口、协处理器、存储器1175、图形处理器1180、以及任何其它已知的计算机设备/接口可集成在单个管芯或集成电路上以提供具有高功能和低功率消耗的小性状因子。

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

较大的编译器常常包括多个阶段,但最经常地这些阶段被包括在两个一般阶段内:(1)前端,即,通常其中可发生语法处理、语义处理、以及一些转换/优化,以及(2)后端,即,通常其中发生分析、转换、优化、以及代码产生。一些编译器指中间,其示出在编译器的前端和后端之间的描述的模糊。作为结果,对插入、关联、产生、或编译器的其它操作的提及可发生在任何前述阶段或过程,以及编译器的任何其它已知的阶段或过程中。作为说明性示例,编译器可能将操作、调用、功能等插入编译的一个或多个阶段中,例如插入在编译的前端阶段中的调用/操作,以及然后在转换阶段期间转换调用/操作至低级代码。注意,在动态编译期间,编译器代码或动态优化代码可插入这样的操作/调用,以及优化代码用于在运行时期间执行。作为特定的说明性示例,二进制代码(已经编译的代码)可在运行时期间动态地被优化。在这里,程序代码可包括动态优化代码、二进制代码、或其组合。

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

现在参考图12,示出了多核处理器的实施例的方框图。如在图12的实施例中所示的,处理器1200包括多个域。具体地,核心域1230包括多个核心1230a-1230n,图形域1260包括具有媒体引擎1265的一个或多个图形引擎,以及系统代理域1210。

在各种实施例中,系统代理域1210处理功率控制事件和功率管理,使得域1230和1260的单独单元(例如核心和/或图形引擎)独立地可控制来根据在给定单元中出现的活动(或不活动)在适当的功率模式/级别(例如活动、涡轮、睡眠、休眠、深睡眠、或其它高级配置功率接口般状态)下动态地操作。每一个域1230和1260可在不同的电压和/或功率下操作,且此外在域内的单独单元每一个可能在独立的频率和电压下操作。注意,虽然只示出三个域,应理解本发明的范围并不被限制在这个方面,且在其它实施例中额外的域可存在。

如所示,除了各种执行单元和额外的处理元件以外,每一个核心1230还包括低级缓存。在这里,各种核心耦合到彼此和由最后一级缓存(llc)1240a-1240n的多个单元或切片形成的共享缓存存储器;这些llc常常包括存储器和缓存控制器功能并在核心当中以及可能也在图形引擎当中被共享。

如看到的,环形互连1250将核心耦合在一起,并经由多个环形中止(ringstop)1252a-1252n提供在核心域1230、图形域1260和系统代理电路1210之间的互连,每一个环形中止在核心和llc切片之间的耦合处。如在图12中看到的,互连1250用于传送各种信息,包括地址信息、数据信息、确认信息、以及窥探/无效信息。虽然示出环互连,可利用任何已知的管芯上互连或结构。作为说明性示例,可以用类似的方式利用上面讨论的一些结构(例如另一管芯上互连、片上系统结构(osf)、高级微控制器总线架构(amba)互连、多维网状结构、或其它已知的互连架构)。

如进一步描绘的,系统代理域1210包括显示引擎1212,其提供到相关联的显示器的控制和接口。系统代理域1210可包括其它单元,例如:提供到系统存储器(例如使用多个dimm实现的dram)的接口的集成存储器控制器1220;执行存储器相干操作的相干逻辑1222。多个接口可存在以实现在处理器和其它电路之间的互连。例如在一个实施例中,提供至少一个直接媒体接口(dmi)1216接口以及一个或多个pcietm接口1214。显示引擎和这些接口一般经由pcietm桥1218耦合到存储器。仍然进一步地,为了提供在其它代理(例如额外的处理器或其它电路)之间的通信,可提供一个或多个其它接口。

现在参考图13,示出了代表性核心的方框图;具体地,核心(例如来自图12的核心1230)的后端的逻辑块。通常,图13所示的结构包括具有用于取出进入的指令、执行各种处理(例如缓存、解码、分支预测等)并将指令/操作传递到乱序(ooo)引擎1380的前端单元1370的乱序处理器。ooo引擎1380对解码的指令执行进一步的处理。

具体地在图13的实施例中,乱序引擎1380包括分配单元1382以从前端单元1370接收解码的指令(指令可以以一个或多个微指令或uop的形式),并将它们分配到适当的资源例如寄存器等。接着,指令被提供到预留站1384,其预留资源并调度它们,用于在多个执行单元1386a-1386n之一上执行。各种类型的执行单元可存在,包括例如算术逻辑单元(alu)、装载和存储单元、矢量处理单元(vpu)、浮点执行单元等。来自这些不同的执行单元的结果被提供到重排序缓冲器(rob)1388,其获取未排序的结果并将它们返回到正确的程序顺序。

仍然参考图13,注意,前端单元1370和乱序引擎1380都耦合到存储器分级结构的不同级别。具体地示出指令级缓存1372,其又耦合到中级缓存1376,其又耦合到最后一级缓存1395。在一个实施例中,最后一级缓存1395在片上(有时被称为非核心)单元1390中实现。作为示例,单元1390类似于图12的系统代理1210。如上面讨论的,非核心1390与系统存储器1399通信,系统存储器1399在所示实施例中经由edram实现。也注意,在乱序引擎1380内的各种执行单元1386与第一级缓存1374通信,第一缓存1374也与中级缓存1376通信。也注意,额外的核心1330n-2—1330n可耦合到llc1395。虽然在图13的实施例中示出在这个高级别处,应理解,可存在各种变化和额外的部件。

转到图14,示出形成有处理器的示例计算机系统的方框图,处理器包括执行指令的执行单元,其中一个或多个互连根据本发明的一个实施例实现一个或多个特征。系统1400包括根据本发明例如在本文描述的实施例中的部件,例如使用包括执行过程数据的算法的逻辑的执行单元的处理器1402。系统1400代表基于pentiumiiitm、pentium4tm、xeontm、itanium、xscaletm和/或strongarmtm微处理器的处理系统,虽然也可使用其它系统(包括具有其它微处理器的pc、工程设计工作站、机顶盒等)。在一个实施例中,样本系统1400执行从华盛顿州雷蒙德的微软公司可得到的windowstm操作系统的一个版本,虽然也可使用其它操作系统(例如unix和linux)、嵌入式软件、和/或图形用户界面。因此,本发明的实施例并不限于硬件电路和软件的任何特定的组合。

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

在这个所示实施例中,处理器1402包括一个或多个执行单元1408以实现执行至少一个指令的算法。可在单个处理器桌面或服务器系统的上下文中描述一个实施例,但在多处理器系统中可包括可选的实施例。系统1400是“中心”系统架构的示例。计算机系统1400包括处理器1402以处理数据信号。作为一个说明性示例,处理器1402例如包括复杂指令集计算机(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器、实现指令集的组合的处理器、或任何其它处理器设备,例如数字信号处理器。处理器1402耦合到在处理器1402和系统1400中的其它部件之间传输数据信号的处理器总线1410。系统1400的元件(例如图形加速器1412、存储器控制器中心1416、存储器1420、i/o控制器中心1424、无线收发机1426、闪存bios1428、网络控制器1434、音频控制器1436、串行扩展端口1438、i/o控制器1440等)执行熟悉本领域的人员公知的常规功能。

在一个实施例中,处理器1402包括第1级(l1)内部缓存存储器1404。根据架构,处理器1402可具有单个内部缓存或内部缓存的多个级别。根据特定的实现和需要,其它实施例包括内部和外部缓存的组合。寄存器文件1406将不同类型的数据存储在各种寄存器(包括整数寄存器、浮点寄存器、矢量寄存器、分组寄存器、影子寄存器、检查点寄存器、状态寄存器、以及指令指针寄存器)中。

执行单元1408(包括执行整数和浮点操作的逻辑)也存在于处理器1402中。处理器1402在一个实施例中包括微代码(ucode)rom以存储微代码,微代码在被执行时执行某些宏指令的算法或处理复杂的场景。在这里,微代码可能是可更新的,以处理处理器1402的逻辑故障/修复。对于一个实施例,执行单元1408包括处理打包的指令集1409的逻辑。通过将打包的指令集1409包括在通用处理器1402的指令集(连同执行指令的相关联的电路)中,可使用在通用处理器1402中打包的数据执行由很多多媒体应用使用的操作。因此,通过使用用于对打包的数据执行操作的处理器的数据总线的全宽度,来加速并更有效地执行很多多媒体应用。这可能消除了跨处理器的数据总线传输数据的较小单位以执行一个或多个操作的需要(一次一个数据元素)。

也可在微控制器、嵌入式处理器、图形设备、dsp、以及其它类型的逻辑电路中使用执行单元1408的可选实施例。系统1400包括存储器1420。存储器1420包括动态随机存取存储器(dram)设备、静态随机存取存储器(sram)设备、闪存设备、或其它存储器设备。存储器1420存储由数据信号表示的指令和/或数据,数据信号由处理器1402执行。

注意,在图14中示出的一个或多个互连上可利用本发明的任何前述特征或方面。例如,用于耦合处理器1402的内部单元的管芯上互连(odi)(未示出)实现上面描述的本发明的一个或多个方面。或者本发明关联于:处理器总线1410(例如其它已知的高性能计算互连)、到存储器1420的高带宽存储器路径1418、到图形加速器1412的点对点链路(例如符合外围部件快速互连(pcie)的结构)、控制器中心互连1422、i/o或用于耦合其它所示部件的其它互连(例如usb、pci、pcie)。这样的部件的一些示例包括音频控制器1436、固件中心(闪存bios)1428、无线收发机1426、数据存储设备1424、包含用户输入和键盘接口1442的旧有i/o控制器1410、串行扩展端口1438(例如通用串行总线(usb))、以及网络控制器1434。数据存储设备1424可包括硬盘驱动器、软盘驱动器、cd-rom设备、闪存设备、或其它大容量存储设备。

现在参考图15,示出了根据本发明的实施例的第二系统1500的方框图。如图15所示,微处理器系统1500是点对点互连系统,并包括经由点对点互连1550耦合的第一处理器1570和第二处理器1580。每一个处理器1570和1580可以是处理器的某个版本。在一个实施例中,1552和1554是串行、点对点相干互连结构(例如高性能架构)的部分。作为结果,本发明可在qpi架构内实现。

虽然只示出两个处理器1570、1580,应理解,本发明的范围并不被如此限制。在其它实施例中,一个或多个额外的处理器可存在于给定处理器中。

处理器1570和1580被示为分别包括集成的存储器控制器单元1572和1582。处理器1570还包括点对点(p-p)接口1576和1578作为其总线控制器单元的部分;类似地,第二处理器1580包括p-p接口1586和1588。处理器1570、1580可使用p-p接口电路1578、1588经由点对点(p-p)接口1550交换信息。如图15所示,imc1572和1582将处理器耦合到可以是在本地连接到相应的处理器的主存储器的部分的相应的存储器,即,存储器1532和存储器1534。

处理器1570、1580每一个经由单独的p-p接口1552、1554使用点对点接口电路1576、1594、1586、1598与芯片组1590交换信息。芯片组1590还经由接口电路1592沿着高性能图形互连1539与高性能图形电路1538交换信息。

共享缓存(未示出)可被包括在任一处理器中或在两个处理器的外部;然而经由p-p互连与处理器连接,使得任一或两个处理器的本地缓存信息可存储在共享缓存中(如果处理器被置于低功率模式中)。

芯片组1590可经由接口1596耦合到第一总线1516。在一个实施例中,第一总线1516可以是外围部件互连(pci)总线,或诸如pciexpress总线的总线或另一第三代i/o互连总线,虽然本发明的范围并不被如此限制。

如图15所示,各种i/o设备1514耦合到第一总线1516,连同将第一总线1516耦合到第二总线1520的总线桥1518。在一个实施例中,第二总线1520包括低管脚数(lpc)总线。在一个实施例中,各种设备(包括例如键盘和/或鼠标1522、通信设备1527和存储单元1528例如磁盘驱动器或常常包括指令/代码和数据1530的其它大容量存储设备)耦合到第二总线1520。此外,音频i/o1524被示为耦合到第二总线1520。注意,其它架构是可能的,其中所包括的部件和互连架构变化。例如,不是图15的点对点架构,系统可实现多点分支总线或其它这样的架构。

接着转到图16,描绘了根据本发明的片上系统(soc)设计的实施例。作为特定的说明性示例,soc1600被包括在用户设备(ue)中。在一个实施例中,ue指由终端用户使用来通信的任何设备,例如手持电话、智能电话、平板计算机、超薄笔记本计算机、有宽带适配器的笔记本计算机、或任何其它类似的通信设备。ue常常连接到基站或节点,其可能在性质上对应于在gsm网络中的移动站(ms)。

在这里,soc1600包括2个核心——1606和1607。类似于上面的讨论,核心1606和1607可符合指令集架构,例如基于architecturecoretm的处理器、advancedmicrodevices公司(amd)处理器、基于mips的处理器、基于arm的处理器设计、或其客户,以及其被许可方或采纳者。核心1606和1607耦合到与总线接口单元1609和l2缓存1611相关联的缓存控制器1608,以与系统1600的其它部分通信。互连1610包括可能实现本文描述的一个或多个方面的片上互连,例如iosf、amba、或上面讨论的其它互连。

互连1610将通信通道提供到其它部件,例如:到用户识别模块(sim)1630,以与sim卡通过接口连接;到引导只读存储器1635,以保存引导代码用于由核心1606和1607执行以初始化并引导soc1600;到sdram控制器1640,以与外部存储器(例如dram1660)通过接口连接;到闪存控制器1645,以与非易失性存储器(例如闪存1665)通过接口连接;到外围控制器1650(例如串行外围接口),以与外围设备通过接口连接;到视频编码译码器1620和视频接口1625,以显示并接收输入(例如启用触摸的输入);到gpu1615,以执行图形相关的计算等。这些接口中的任一个可合并本文描述的发明的方面。

此外,系统示出用于通信的外围设备,例如蓝牙模块1670、3g调制解调器1675、gps1685、以及wifi1685。注意,如上面提到的,ue包括用于通信的无线电装置。作为结果,这些外围通信模块并不都是需要的。然而在ue中包括用于外部通信的某个形式的无线电装置。

虽然关于有限数量的实施例描述了本发明,本领域中的技术人员将从其认识到很多修改和变化。意图是所附权利要求覆盖如落在本发明的真实精神和范围内的所有这样的修改和变化。

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

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

短语“配置成”的使用在一个实施例中指布置、放置在一起、制造、提供以销售、引入和/或设计装置、硬件、逻辑、或元件以执行指定或确定的任务。在本例中,其中未操作的装置或元件仍然“配置成”执行指定任务(如果它被设计、耦合、和/或互连以执行所述指定任务)。作为纯粹说明性的示例,逻辑门可在操作期间提供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)、磁卡或光卡、闪存、或在经由电、光、声或其它形式的传播信号(例如载波、红外信号、数字信号等)通过互连网的信息传输中使用的有形机器可读存储设备。因此,计算机可读介质包括适合于存储或传输以机器(例如计算机)可读的形式的电子指令或信息的任何类型的有形机器可读介质。

下面的示例属于根据本说明书的实施例。一个或多个实施例可提供产生一组训练序列的装置、系统、机器可读存储设备、机器可读介质、以及方法,每一个训练序列包括相应的训练序列头部,且训练序列头部在该组训练序列上是dc平衡的。

在至少一个示例中,该组训练序列被包括在超序列中。

在至少一个示例中,超序列包括重复序列,重复序列包括后面是多个训练序列的电气有序集(eos)。

在至少一个示例中,超序列是多个超序列类型中的特定一种,每一个超序列类型对应于串行数据链路的一个或多个相应的状态。

在至少一个示例中,多个超序列类型包括:对应于检测状态的检测超序列;对应于包括环回状态、配置状态、以及轮询状态的一组状态中的一个的第二超序列;以及对应于从部分宽度传输状态退出的部分宽度退出超序列。

在至少一个示例中,检测超序列的重复序列包括eos,eos包括后面是训练序列的七个连续实例的电空闲退出有序集(eieos),其中序列大约每一千单位间隔重复一次。

在至少一个示例中,第二超序列的重复序列包括eos,eos包括后面是训练序列的31个连续实例的电空闲退出有序集(eieos),其中序列大约每四千单位间隔重复一次。

在至少一个示例中,部分宽度退出超序列的重复序列包括eos,eos包括后面是快速训练序列的七个连续实例的电空闲退出有序集(eieos),其中序列大约每一千单位间隔重复一次。

在至少一个示例中,其中每一个训练序列包括训练序列有效载荷,训练序列有效载荷被加扰,且训练序列头部被解扰。

在至少一个示例中,eos被解扰。

在至少一个示例中,训练序列有效载荷使用伪随机二进制序列(prbs)被加扰。

在至少一个示例中,头部包括ack/nak字段和训练序列类型字段。

在至少一个示例中,训练序列类型字段被编码以识别对应于串行数据链路的相应状态的训练序列类型。

一个或多个实施例可提供接收一组训练序列的装置、系统、机器可读存储设备、机器可读介质、以及方法,每一个训练序列包括相应的训练序列头部,训练序列头部在该组训练序列上是dc平衡的,且物理层逻辑进一步检测该组训练序列头部的一个或多个训练序列头部的边界。

在至少一个示例中,该组训练序列作为超序列的一部分被接收,且超序列包括重复序列,重复序列包括后面是多个训练序列的电空闲退出有序集(eieos),训练序列用于基于超序列来确定数据链路的状态。

在至少一个示例中,至少部分地根据序列在超序列中重复的频率来确定状态。

在至少一个示例中,至少部分地根据所述多个训练序列中的若干训练序列来确定状态。

在至少一个示例中,至少部分地根据训练序列头部字段信息来确定状态。

一个或多个实施例可提供如下的装置、系统、机器可读存储设备、机器可读介质、以及方法:接收在多个通路中的每一个上的相应超序列,超序列包括后面是多个训练序列的电气有序集;以及基于超序列,检测在至少多个通路中的第一通路和多个通路中的第二通路之间的通路间扭斜。

在至少一个示例中,每一个训练序列包括训练序列头部。

在至少一个示例中,至少部分地基于训练序列头部的边缘来检测扭斜。

在至少一个示例中,基于边缘在第二通路上比在第一通路上到达更晚的识别,来检测扭斜。

在至少一个示例中,训练序列头部被解扰地发送,而训练序列的剩余部分被加扰。

在至少一个示例中,至少训练序列的有效载荷被加扰。

在至少一个示例中,有效载荷使用具有23位种子的23位伪随机二进制序列(prbs)被加扰。

在至少一个示例中,可根据超序列检测prbs的种子。

在至少一个示例中,通路间扭斜可被补救。

一个或多个实施例可提供产生包括序列的两个或更多个连续实例的超序列的装置、系统、机器可读存储设备、机器可读介质、以及方法,该序列包括后面是一组训练序列的电气有序集(eos),其中每一个训练序列的至少一部分通过相应的加扰值被加扰。

在至少一个示例中,根据加扰同步字段能够识别prbs的种子。

在至少一个示例中,种子指示在加扰中利用的prbs的特定部分。

在至少一个示例中,加扰同步字段包括三个字节的有效载荷。

在至少一个示例中,在加扰中使用全部prbs。

在至少一个示例中,在加扰中使用少于全部的prbs。

一个或多个实施例可提供如下的装置、系统、机器可读存储设备、机器可读介质、以及方法:接收采样信号用于适应连接第一设备和第二设备的链路的通路,其中信号包括超序列,且超序列的至少一部分通过伪随机序列被加扰;基于采样信号执行至少一个适应任务。

权利要求68的装置,其中超序列包括后面是多个连续训练序列的电气有序集(eos)。

在至少一个示例中,至少一个适应任务包括根据采样信号确定通路的质量。

在至少一个示例中,至少一个适应任务还包括在确定通路的质量的基础上向采样信号的发射器提供反馈。

在至少一个示例中,至少一个适应任务还包括在确定通路的质量的基础上修改通路的特性。

一个或多个实施例可提供如下的装置、系统、机器可读存储设备、机器可读介质、以及方法:产生在初始化状态中的超序列,每一个超序列包括序列,该序列包括后面是一组训练序列的电气有序集(eos),其中每一个训练序列包括后缀;以及发送数据序列的开始(sds)以指示从初始化状态到传输链路状态的转变。

在至少一个示例中,后缀通过伪随机值防止sds的混叠。

在至少一个示例中,sds的值不被包括在伪随机值中。

在至少一个示例中,伪随机值包括由线性反馈移位寄存器(lfsr)产生的伪随机二进制序列(prbs)。

在至少一个示例中,eieos对低频时钟信号进行仿真,且sds对比低频时钟信号高的频率的时钟信号进行仿真。

在至少一个示例中,sds被发送以中断超序列。

在至少一个示例中,sds在特定的一个训练序列内被发送。

在至少一个示例中,sds在eos的特定实例内被发送。

在至少一个示例中,sds基于确定性的对齐控制信号而被发送。

一个或多个实施例可提供如下的装置、系统、机器可读存储设备、机器可读介质、以及方法:接收在初始化状态中的超序列,每一个超序列包括序列,该序列包括后面是一组训练序列的电气有序集(eos),其中每一个训练序列包括后缀;以及接收数据序列的开始(sds)以指示从初始化状态到传输链路状态的转变。

在至少一个示例中,sds基于确定性的对齐控制信号而被发送。

一个或多个示例还可提供配置成耦合到链路的物理层(phy),链路包括第一数量的通路,其中phy包括自播种的存储元件以产生23位伪随机位序列(prbs),其中phy传输基于23位prbs而加扰的训练序列

在整个这个说明书中对“一个实施例”或“实施例”的提及意味着关于该实施例描述的特定特征、结构、或特性被包括在本发明的至少一个实施例中。因此,短语“在一个实施例中”或“在实施例中”在整个这个说明书中不同地方的出现并不一定都指同一实施例。此外,特定特征、结构、或特性在一个或多个实施例中可以用任何适当的方式组合。

在前述说明书中,参考特定的示例性实施例给出了详细描述。然而明显的是,可对其做出各种修改和改变,而不偏离如在所附权利要求中阐述的本发明的更宽的精神和范围。说明书和附图因此在说明性意义而不是限制性意义上被考虑。此外,实施例的前述使用和其它示例性语言并不一定指同一实施例或同一示例,但可以指不同的和独特的实施例,以及可能同一实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1