CN107408032A - 互连中的伪随机比特序列 - Google Patents
互连中的伪随机比特序列 Download PDFInfo
- Publication number
- CN107408032A CN107408032A CN201680012437.4A CN201680012437A CN107408032A CN 107408032 A CN107408032 A CN 107408032A CN 201680012437 A CN201680012437 A CN 201680012437A CN 107408032 A CN107408032 A CN 107408032A
- Authority
- CN
- China
- Prior art keywords
- prbs
- interconnection
- data
- lfsr
- bit
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/02—Details
- H04B3/46—Monitoring; Testing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/02—Details
- H04B3/32—Reducing cross-talk, e.g. by compensating
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/02—Details
- H04B3/46—Monitoring; Testing
- H04B3/487—Testing crosstalk effects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Systems (AREA)
- Nonlinear Science (AREA)
- Computer Security & Cryptography (AREA)
Abstract
在示例中,线性反馈移位寄存器(LFSR)向互连提供伪随机比特序列(PRBS)以用于训练、测试和加扰目的。所述互连可以包括状态机,其具有包括回环(LOOPBACK)、居中(CENTERING)、重新居中(RECENTERING)和活动(ACTIVE)状态等的状态。所述互连被允许经由边带信号从“CENTERING”移动到“LOOPBACK”。在LOOPBACK、CENTERING和RECENTERING中,PRBS用于训练和测试目的以电气地表征和测试所述互连,并且定位参考电压Vref的中点。向每个通道提供唯一的、非相关的PRBS,使用一个公共输出比特来计算该PRBS。还可以在每个时钟周期计算每个通道的多个比特,使得LFSR可以按照比所述互连更慢的时钟速率来运行。还可以提供选择网络,使得根据需要,可以提供“受害方”、“侵害方”和“中立方”通道以用于测试目的。
Description
相关申请的交叉引用
本申请要求享有于2015年3月26日提交的题为“PSEUDORANDOM BIT SEQUENCES INAN INTERCONNECT”的美国非临时专利申请No.14/669,743的优先权和权益,通过引用将该美国非临时专利申请的全部内容并入本文中。
技术领域
本公开涉及计算***,并且更具体地(但不排他地)涉及点到点互连。
背景技术
半导体处理和逻辑设计的进步允许了可能存在于集成电路器件上的逻辑的量的增加。作为推论,计算机***配置已经从***中的单个或多个集成电路演变为个体集成电路上存在的多个核、多个硬件线程以及多个逻辑处理器、以及集成在这种处理器内的其它接口。处理器或集成电路典型地包括单个物理处理器管芯,其中处理器管芯可以包括任何数量的核、硬件线程、逻辑处理器、接口、存储器、控制器集线器等。
由于将更多的处理能力嵌入在较小的封装体中的能力更大,因此较小的计算设备已经越来越流行。智能电话、平板电脑、超薄笔记本计算机以及其它用户设备已呈指数增长。然而,这些较小的设备依赖于既用于数据存储又用于超过形状因子的复杂处理的服务器。结果,高性能计算市场(即,服务器空间)的需求还在增加。例如,在现代服务器中,通常不仅存在具有多个核的单个处理器,还存在用于增大计算能力的多个物理处理器(也称为多个插槽)。但是当处理能力随着计算***中的设备数量的增长而增长时,插槽和其它设备之间的通信变得更加关键。
事实上,互连已经从主要处理电气通信的更传统的多点总线发展到便于快速通信的充分扩展的互连架构。不幸的是,由于对未来处理器以甚至更高速率消耗的需求,对现有互连架构的能力也提出了相应的需求。
附图说明
图1示出了包括互连架构的计算***的实施例。
图2示出了包括分层的栈的互连架构的实施例。
图3示出了在互连架构内要生成的或要接收的请求或数据包的实施例。
图4示出了用于互连架构的发射机和接收机对的实施例。
图5示出了多芯片封装体的实施例。
图6是多芯片封装体链路(MCPL)的简化框图。
图7是示例性MCPL上的示例性信令的表示。
图8是示出示例性MCPL中的数据通道的简化框图。
图9是示出MCPL的实施例中的示例性串扰消除技术的简化框图。
图10是示出MCPL的实施例中的示例性串扰消除部件的简化电路图。
图11是MCPL的简化框图。
图12是使用逻辑PHY接口(LPIF)与多个协议的上层逻辑进行接口的MCPL的简化框图。
图13是与链路的恢复相关的示例性MCPL上的示例性信令的表示。
图14A-14C是示例性MCPL的通道上的数据的示例性比特映射。
图15是示例性链路状态机的一部分的表示。
图16是与链路的示例性居中(centering)相关联的流的表示。
图17是示例性链路状态机的表示。
图18是用于进入低功率状态的信令的表示。
图19示出了包括多核处理器的计算***的框图的实施例。
图20示出了包括多核处理器的计算***的框图的另一个实施例。
图21示出了处理器的框图的实施例。
图22示出了包括处理器的计算***的框图的另一个实施例。
图23示出了包括多个处理器的计算***的块的实施例。
图24示出了实现为片上***(SoC)的示例性***。
图25A和25B是在示例中的受害方通道、侵害方通道和中立方通道的说明。
图26是示出示例性线性反馈移位寄存器(LFSR)的选定的元件的框图。
图27是用于从LFSR提供延迟的伪随机比特序列(PRBS)的示例性电气网络的框图。
图28是用于选择性地提供受害方PRBS、侵害方PRBS和中立方PRBS的示例性电气网络的框图。
各图中类似的参考数字和标号指示类似的元件。
具体实施方式
在下面的描述中,阐述了许多特定细节,例如特定类型的处理器和***配置、特定的硬件结构、特定的架构和微架构细节、特定的寄存器配置、特定的指令类型、特定的***部件、特定的测量/高度、特定的处理器流水线阶段和操作等的示例,以便提供对本发明的透彻理解。然而,对于本领域技术人员显而易见的是,不需要采用这些特定细节来实践本发明。在其它情况下,并未详细地描述公知的部件或方法,例如特定的和替代的处理器架构、用于所描述的算法的特定逻辑电路/代码、特定的固件代码、特定的互连操作、特定的逻辑配置、特定的制造技术和材料、特定的编译器实现、采用代码形式的对算法的特定表达、计算机***的特定的关机和门控技术/逻辑以及其它特定的操作细节,以避免不必要地使本发明难以理解。
尽管可以参考特定集成电路中(例如计算平台或微处理器中)的能量节约和能量效率来描述以下实施例,但是其它实施例可应用于其它类型的集成电路和逻辑设备。本文描述的实施例的类似技术和教导可以应用于其它类型的电路或半导体器件,该电路或半导体器件还可以受益于更好的能量效率和能量节约。例如,所公开的实施例不限于台式计算机***或UltrabooksTM。并且还可以用于其它设备,例如手持设备、平板电脑、其它薄型笔记本电脑、片上***(SOC)设备以及嵌入式应用。手持设备的一些示例包括蜂窝电话、因特网协议设备、数字照相机、个人数字助理(PDA)和手持PC。嵌入式应用典型地包括微控制器、数字信号处理器(DSP)、片上***、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)开关或可以执行下文教导的功能和操作的任何其它***。此外,本文描述的装置、方法和***不限于物理计算设备,而是还可以涉及针对能量节约和能量效率的软件优化。如在下面的描述中将变得显而易见的,本文描述的方法、装置和***的实施例(无论是参考硬件、固件、软件或其组合)对于与性能考虑相平衡的“绿色技术”未来是至关重要的。
随着计算***的进步,其中的部件变得更加复杂。作为结果,在部件之间进行耦合和通信的互连架构在复杂性方面也不断增加,以确保满足最优部件操作的带宽要求。此外,不同的市场领域需要互连架构的不同方面,以适应市场的需求。例如,服务器需要更高的性能,而移动生态***有时能够牺牲整体性能以节省功率。然而,大多数结构的单一的目的是,提供具有最大的节省功率的最高的可能性能。下面讨论了许多互连,其将可能受益于本文描述的本发明的各方面。
一种互连结构架构包括***部件互连(PCI)高速(PCIe)架构。PCIe的主要目标是使来自不同供应商的部件和设备能够在开放式架构中进行互操作,跨越多个细分市场;客户端(台式机和移动机)、服务器(标准的和企业的)、以及嵌入式和通信设备。PCI高速是为各种未来计算和通信平台定义的高性能、通用I/O互连。一些PCI属性(例如,其应用模型、加载-存储架构以及软件接口)已经通过其修正被维持,而先前的并行总线实施方式已经被高度可扩展的完全串行接口所取代。PCI高速的更近的版本利用了点到点互连、基于开关的技术和封包化协议,以输送新级别的性能和特征。电源管理、服务质量(QoS)、热插拔/热交换支持、数据完整性和错误处理是在由PCI高速支持的改进的特征中的一些改进的特征之内。
参考图1,示出了包括将一组部件互连的点到点链路的结构的实施例。***100包括耦合到控制器集线器115的处理器105和***存储器110。处理器105包括诸如微处理器、主机处理器、嵌入式处理器、协处理器或其它处理器的任何处理元件。处理器105通过前端总线(FSB)106耦合到控制器集线器115。在一个实施例中,FSB 106是如下所述的串行点到点互连。在另一个实施例中,链路106包括符合不同互连标准的串行、差分互连架构。
***存储器110包括任何存储器设备,例如随机存取存储器(RAM)、非易失性(NV)存储器或可由***100中的设备访问的其它存储器。***存储器110通过存储器接口116耦合到控制器集线器115。存储器接口的示例包括双数据速率(DDR)存储器接口、双信道DDR存储器接口和动态RAM(DRAM)存储器接口。
在一个实施例中,控制器集线器115是***部件互连高速(PCIe或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/DVD ROM、监测器、打印机、鼠标、键盘、路由器、便携式存储设备、火线设备、通用串行总线(USB)设备、扫描仪和其它输入/输出设备。通常,在PCIe行话中,例如设备被称为端点。虽然没有具体示出,但是设备125可以包括PCIe到PCI/PCI-X桥以支持传统的或其它版本的PCI设备。PCIe中的端点设备通常被分类为传统的、PCIe或根联合体集成的端点。
图形加速器130还通过串行链路132耦合到控制器集线器115。在一个实施例中,图形加速器130耦合到MCH,该MCH耦合到ICH。开关120以及相应的I/O设备125然后被耦合到ICH。I/O模块131和118还用于实现分层协议栈以在图形加速器130和控制器集线器115之间进行通信。与上文的MCH论述类似,图形控制器或图形加速器130本身可以被集成在处理器105中。
转向图2,示出了分层协议栈的实施例。分层协议栈200包括任何形式的分层通信栈,例如快速路径互连(QPI)栈、PCie栈、下一代高性能计算互连栈或其它分层栈。尽管下面参考图1-图4进行的讨论与PCIe栈相关,但是相同的概念可以应用于其它互连栈。在一个实施例中,协议栈200是包括事务层205、链路层210和物理层220的PCIe协议栈。诸如图1中的接口117、118、121、122、126和131的接口可以被表示为通信协议栈200。作为通信协议栈的表示还可以被称为实现/包括协议栈的模块或接口。
PCI高速使用数据包以在部件之间传送信息。数据包形成在事务层205和数据链路层210中,以将信息从发射部件传输到接收部件。当所发射的数据包流过其它层时,它们会利用在那些层处处理数据包所需的附加信息来进行扩展。在接收侧,反转处理发生,并且数据包从其物理层220表示变换到数据链路层210表示,并且最后(用于事务层数据包)变换为可以由接收设备的事务层205处理的形式。
事务层
在一个实施例中,事务层205用于在设备的处理核和互连架构(例如数据链路层210和物理层220)之间提供接口。在这方面,事务层205的主要责任是数据包的组装和拆卸(即,事务层数据包或TLP)。翻译层205典型地管理TLP的信用基础流程控制。PCIe实现拆分事务,即具有由时间分隔的请求和响应的事务,允许链路携带其它流量,同时目标设备收集用于响应的数据。
此外,PCIe利用信用基础流程控制。在该方案中,设备向事务层205中的接收缓冲器中的每个通知初始的信用量。在链路的相对端处的外部设备(例如,图1中的控制器集线器115)计数每个TLP所消耗的信用数量。如果事务不超过信用限制,则该事务可以被发射。当接收到响应时,信用的量会被恢复。信用方案的优点是倘若未遇到信用限制,则信用返回的延迟不影响性能。
在一个实施例中,四个事务地址空间包括配置地址空间、存储器地址空间、输入/输出地址空间、和消息地址空间。存储器空间事务包括用于将数据转移到存储器映射的位置/从存储器映射的位置转移数据的读取请求和写入请求中的一个或多个。在一个实施例中,存储器空间事务能够使用两种不同的地址格式,例如,诸如32位地址的短地址格式、或诸如64位地址的长地址格式。配置空间事务用于访问PCIe设备的配置空间。到配置空间的事务包括读请求和写请求。消息空间事务(或简单的消息)被定义为支持PCIe代理之间的带内通信。
因此,在一个实施例中,事务层205组装数据包报头/负载206。用于当前数据包报头/负载的格式可以在PCIe规范网站处的PCIe规范中找到。
快速参考图3,示出了PCIe事务描述符的实施例。在一个实施例中,事务描述符300是用于携带事务信息的机制。在这方面,事务描述符300支持***中的事务的标识。其它可能用途包括追踪默认事务排序的修改和事务与信道的关联。
事务描述符300包括全局标识符字段302、属性字段304和信道标识符字段306。在所示示例中,全局标识符字段302被描绘为包括局部事务标识符字段308和源标识符字段310。在一个实施例中,全局事务标识符302对于所有未解决请求是唯一的。
根据一个实施方式,局部事务标识符字段308是通过请求代理生成的字段,并且对于需要该请求代理的完成的所有未解决请求而言是唯一的。此外,在该示例中,源标识符310唯一地标识PCIe层级内的请求者代理。因此,与源ID 310一起,局部事务标识符308字段提供层级域内的事务的全局标识。
属性字段304指定事务的特性和关系。在这方面,属性字段304可能用于提供允许对事务的默认处理进行修改的附加信息。在一个实施例中,属性字段304包括优先级字段312、预留字段314、排序字段316和无探听字段318。这里,优先级子字段312可以被发起者修改以将优先级分配给事务。使预留属性字段314被预留以用于将来或供应商定义的使用。使用优先级或安全属性的可能的使用模型可以使用预留属性字段来被实现。
在该示例中,排序属性字段316用于提供传达可以修改默认排序规则的排序类型的可选的信息。根据一个示例实施方式,“0”的排序属性代表要应用默认排序规则,其中,“1”的排序属性代表松散的排序,其中写入可以在同一方向上传递写入,并且读取完成可以在同一方向上传递写入。探听属性字段318用于确定事务是否被探听。如所示,信道ID字段306标识与事务相关联的信道。
链路层
链路层210(还被称为数据链路层210)充当事务层205和物理层220之间的中间阶段。在一个实施例中,数据链路层210的责任是提供用于在链路的两个部件之间交换事务层数据包(TLP)的可靠机制。数据链路层210的一侧接受由事务层205组装的TLP,应用数据包序列标识符211(即,标识号或数据包号),计算并应用错误检测码(即,CRC 212),并且将修改后的TLP提交给物理层220,以便跨物理传输至外部设备。
物理层
在一个实施例中,物理层220包括逻辑子块221和电气子块222,以将数据包物理地发射至外部设备。这里,逻辑子块221负责物理层221的“数字”功能。在这方面,逻辑子块包括准备好发出信息以由物理子块222传输的发射部,以及在将所接收信息传递至链路层210之前标识并准备好所接收信息的接收机部。
物理块222包括发射机和接收机。发射机由具有符号的逻辑子块221提供,发射机使该符号串行化并将其发射至外部设备上。接收机被提供有来自外部设备的串行化符号,并将所接收的信号变换成比特流。比特流被解串行化并提供给逻辑子块221。在一个实施例中,采用8b/10b传输码,其中发射/接收十比特符号。这里,使用特殊符号来用帧223构造数据包。另外,在一个示例中,接收机还提供从传入的串行流恢复的符号时钟。
如上所述,尽管事务层205、链路层210和物理层220是参照PCIe协议栈的特定实施例讨论的,然而分层协议栈不局限于此。实际上,任何分层协议可以被包括/被实现。作为示例,表示为分层协议的端口/接口包括:(1)用于组装数据包的第一层,即,事务层;使数据包序列化的第二层,即,链路层;以及用于发射数据包的第三层,即,物理层。作为特定示例,可以利用公共标准接口(CSI)分层协议。
接下来参考图4,示出了PCIe串行点到点结构的实施例。虽然示出了PCIe串行点到点链路的实施例,但是串行点到点链路并不局限于此,因为它包括用于发射串行数据的任何传输路径。在所示实施例中,基本的PCIe链路包括两个低电压差分驱动信号对:发射对406/411和接收对412/407。因此,设备405包括用于将数据发射到设备410的传输逻辑406和用于从设备410接收数据的接收逻辑407。换句话说,两个发射路径(即,路径416和417)、以及两个接收路径(即,路径418和419)包括在PCIe链路中。
传输路径指代用于发射数据的任何路径,例如传输线路、铜线路、光线路、无线通信信道、红外通信链路或其它通信路径。两个设备(例如,设备405和设备410)之间的连接被称为链路,例如链路415。链路可以支持一个通道——每个通道表示一组差分信号对(一对用于传输,一对用于接收)。为了缩放带宽,链路可以聚集由xN指示的多个通道,其中N是任何支持的链路宽度,例如,1、2、4、8、12、16、32、64、或更宽。
差分对指代用以发射差分信号的两个传输路径,例如线路416和417。作为示例,当线路416从低电压电平切换到高电压电平(即,上升沿),线路417从高逻辑电平驱动到低逻辑电平(即,下降沿)。差分信号可能展示出更好的电气特性,例如,更好的信号完整性,即,交叉耦合、电压过冲/下冲,振铃等。这允许更好的定时窗口,其能够实现更快的传输频率。
图5是示出了示例性多芯片封装体505的简化框图500,多芯片封装体505包括使用示例性多芯片封装体链路(MCPL)520而通信地连接的两个或更多芯片、或管芯(例如,510、515)。尽管图5示出了使用示例性MCPL520进行互连的两个(或更多)管芯的示例,但是应当理解的是,在可能的其它示例中,本文描述的关于MCPL的实施方式的原理和特征可以应用于连接管芯(例如,510)和其它部件的任何互连或链路,包括连接两个或更多管芯(例如,510、515)、将管芯(或芯片)连接到管芯外的另一个部件、将管芯连接到另一个设备或封装体外的管芯(例如,505)、将管芯连接到BGA封装体、在内插器上实现补丁(POINT)的任何互连或链路。
通常,多芯片封装体(例如,505)可以是电子封装体,其中多个集成电路(IC)、半导体管芯或其它分立部件(例如,510、515)被封装到统一的基板(例如,硅或其它半导体基板)上,便于将组合的部件用作单个部件(例如,就像较大的IC)。在一些情况下,较大的部件(例如,管芯510、515)本身可以是IC***,例如在设备上(例如,在单个管芯(例如,510、515)上)包括多个部件(例如,525-530和540-545)的片上***(SoC)、多处理器芯片、或者其它部件。多芯片封装体505可以提供用于从可能的多个分立部件和***构建复杂的和变化的***的灵活性。例如,在许多其它示例中,管芯510、515中的每个可以利用由第三实体提供的封装体505的硅基板而被制造或以其它方式由两个不同的实体提供。此外,多芯片封装体505中的管芯和其它部件本身可以包括为设备(例如,分别为510、515)内的部件(例如,525-530和540-545)之间的通信提供基础架构的互连或其它通信结构(例如,535、550)。各种部件和互连(例如,535、550)可以潜在地支持或使用多个不同的协议。此外,管芯(例如,510、515)之间的通信可以潜在地包括管芯上的各种部件之间的经由多个不同协议的事务。设计机制以在多芯片封装体上的芯片(或管芯)之间提供通信可能是挑战性的,并且传统的解决方案基于寻求互连的部件(和所需的事务)的特定组合而采用高度专业化的、昂贵的、以及特定于封装体的解决方案。
在本说明书内所描述的示例、***、算法、装置、逻辑、和特征可以解决上述标识的问题中的至少一些,可能包括本文中未明确提及的许多其它问题。例如,在一些实施方式中,高带宽、低功率、低延迟接口可以被提供以将主机设备(例如,CPU)或其它设备连接到处于与主机相同的封装体内的伴随芯片。这种多芯片封装体链路(MCPL)可以支持多个封装选项、多个I/O协议、以及可靠性、可用性和可服务性(RAS)特征。此外,物理层(PHY)可以包括电气层和逻辑层,并且可以支持较长的信道长度,包括高达(并且在一些情况下超过)约45毫米的信道长度。在一些实施方式中,示例性MCPL可以以高数据速率(包括超过8-10Gb/s的数据速率)进行操作。
在MCPL的一个示例性实施方式中,例如,通过多个特征,(在可能的其它示例之中,作为示例)包括经调节的中间轨终止、低功率活动串扰消除、电路冗余、每比特占空比校正和倾斜校正、线路编码、和发射机均衡,PHY电气层可以改进传统的多信道互连解决方案(例如,多信道DRAM I/O),扩展数据速率和信道配置。
在MCPL的一个示例性实施方式中,PHY逻辑层可以被实现,其可以进一步帮助(例如,电气层特征)扩展数据速率和信道配置,同时还使互连能够跨电气层路由多个协议。这种实施方式可以提供并且定义模块化公共物理层,该模块化公共物理层是协议不可知的并且被设计用于与可能的任何现有或未来互连协议一起工作。
转向图6,示出了简化框图600,其表示包括多芯片封装体链路(MCPL)的示例性实施方式的***的至少一部分。MCPL可以使用将第一设备605(例如,包括一个或多个子部件的第一管芯)与第二设备610(例如,包括一个或多个其它子部件的第二管芯)连接的物理电气连接来实现(例如,被实现为通道的导线)。在图600的高级表示中所示的特定示例中,(在信道615、620中的)所有信号可以是单向的,并且通道可以被提供用于数据信号,以具有上游数据传输和下游数据传输两者。尽管图6的框图600将第一部件605称为上游部件并将第二部件610称为下游部件,并且将用于发送数据的MCPL的物理通道称为下游信道615并将用于(从部件610)接收数据的通道称为上游信道620,但是应当理解的是,设备605、610之间的MCPL可以由每个设备用于在设备之间发送和接收数据这两者。
在一个示例性实施方式中,MCPL可以提供物理层(PHY),其包括电气MCPL PHY625a、625b(或统称为625)以及实现MCPL逻辑PHY 630a、630b(或统称为630)的可执行逻辑。电气的或物理的PHY 625可以提供物理连接,通过该物理连接在设备605、610传送数据。信号调节部件和逻辑可以结合物理PHY 625来实现,以便确立链路的高数据速率和信道配置能力,这在一些应用中可以涉及以约45毫米或更长的长度紧密地群集的物理连接。逻辑PHY630可以包括用于促进计时、(例如,用于链路层635a、635b的)链路状态管理、以及用于经由MCPL进行通信的可能的多个不同协议之间的协议多路复用的逻辑。
在一个示例性实施方式中,物理PHY 625可以包括用于每个信道(例如,615、620)的一组数据通道,在其上可以发送带内数据。在这个特定的示例中,在上游信道和下游信道615、620的每一个中提供50个数据通道,但是如由布局和功率约束、期望的应用、设备约束等所允许的,可以使用任何其它数量的通道。每个信道还可以包括用于信道的选通或时钟、信号的一个或多个专用通道,用于信道的有效信号的一个或多个专用通道,用于流信号的一个或多个专用通道,以及用于链路状态机管理或边带信号的一个或多个专用通道。物理PHY还可以包括边带链路640,其中,在一些示例中,边带链路640可以是用于协调状态转换和连接设备605、610的MCPL的其它属性(除其它示例之外)的双向较低频率控制信号链路。
如上所述,可以使用MCPL的实施方式支持多个协议。实际上,多个独立事务层650a、650b可以被提供在每个设备605、610处。例如,每个设备605、610可以支持和利用两个或更多协议,例如PCI、PCIe、QPI、英特尔管芯内互连(IDI)等等。IDI是在管芯上用于在核、末级高速缓存(LLC)、存储器、图形、和IO控制器之间进行通信的一致性协议。还可以支持其它协议,包括以太网协议、无限带宽协议、以及基于其它PCIe结构的协议。除其它示例之外,逻辑PHY和物理PHY的组合还可以用作管芯到管芯互连,以将一个管芯上的SerDes PHY(PCIe、以太网、无限带宽或其它高速SerDes)连接到在另一管芯上实现的比其更高的层。
逻辑PHY 630可以支持MCPL上的这些多个协议之间的多路复用。例如,专用流通道可以用来断定编码的流信号,该编码的流信号标识哪个协议要应用于在信道的数据通道上被基本上同时发送的数据。此外,逻辑PHY 630可以用于协商各种协议可以支持或请求的各种类型的链路状态转换。在一些情况下,通过信道的专用LSM_SB通道发送的LSM_SB信号可以与边带链路640一起用于传送和协商在设备605、610之间的链路状态转换。此外,链路训练、错误检测、扭斜检测、去扭斜以及传统互连的其它功能可以部分地使用逻辑PHY 630而被替换或管理。例如,在每个信道中通过一个或多个专用有效信号通道发送的有效信号可以用于信号链路活动、检测扭斜、链路错误以及实现其它特征(除其它示例之外)。在图6的特定示例中,每个信道提供多个有效通道。例如,信道内的数据通道可以(物理地和/或逻辑地)被捆绑或被群集,并且可以为每个群集提供有效通道。此外,在一些情况下,还可以提供多个选通通道以为信道中的多个数据通道群集中的每个群集提供专用选通信号(除其它示例之外)。
如上所述,逻辑PHY 630可以用于协商和管理在由MCPL连接的设备之间所发送的链路控制信号。在一些实施方式中,逻辑PHY 630可以包括可以用于通过MCPL(即,带内)发送链路层控制消息的链路层数据包(LLP)生成逻辑660。除其它示例之外,这种消息可以通过信道的数据通道被发送,并且流通道标识数据是链路层到链路层消息,例如链路控制数据。除了分别在设备605、610的链路层635a、635b之间的链路层特征之外,使用LLP模块660启用的链路层消息可以有助于链路层状态转换的协商和执行、电源管理、回环、禁用、重新居中、加扰。
转向图7,示出了图700,其表示使用示例性MCPL的特定信道中的一组通道(例如,615、620)的示例性信令。在图7的示例中,为信道中的五十(50)个总数据通道提供了二十五(25)个数据通道的两个群集。示出了通道的一部分,而省略了(例如,作为冗余信号的)其它通道(例如,DATA[4-46]和第二选通信号通道(STRB)),以便于说明特定示例。当物理层处于活动状态(例如,没有断电或处于低功率模式(例如,L1状态)),可以为选通通道(STRB)提供同步时钟信号。在一些实施方式中,可以在选通的上升沿和下降沿二者上发送数据。每个沿(或半个时钟周期)可以划分单位间隔(UI)。因此,在该示例中,可以在每个通道上发送一个比特(例如,705),以允许每8UI发送一个字节。字节时间周期710可以被定义为8UI,或被定义为用于在数据通道(例如,DATA[0-49])中的单独一个数据通道上发送一个字节所用的时间。
在一些实施方式中,在一个或多个专用有效信号信道上发送的有效信号(例如,VALID0、VALID1)可以在对于接收设备或接收器被断定(高)时用作为用于接收设备的主导指示符,以标识数据在以下时间周期(例如,字节时间周期710)期间正在在数据通道(例如,DATA[0-49])上从发送设备或源被发送。替代地,当有效信号为低时,源指示接收器不会在接下来的时间周期期间在数据通道上发送数据。因此,当接收器逻辑PHY检测到(例如,通道VALID0和VALID1上的)有效信号未被断定,接收器可以忽略在接下来的时间周期期间在数据通道(例如,DATA[0-49])上检测到的任何数据。例如,事实上,当源不发送任何数据时,串扰噪声或其它比特可以出现在数据通道中的一个或多个数据通道上。由于在先前的时间周期(例如,先前的字节时间周期)期间的低的或非断定的有效信号,接收器可以确定在接下来的时间周期期间数据通道会被忽略。
在MCPL的通道中的每个通道上发送的数据可以被严格对齐到选通信号。可以基于选通来定义时间周期,例如字节时间周期,并且这些周期中的每一个可以对应于所定义的窗口,在该窗口中信号将要在数据通道(例如,DATA[0-49])、有效通道(例如,VALID1、VALID2)、以及流通道(例如,STREAM)上被发送。因此,这些信号的对齐可以实现对将先前时间周期窗口中的有效信号应用到接下来的时间周期窗口中的数据的标识,以及对将流信号应用到同一时间周期窗口中的数据的标识。流信号可以是编码的信号(例如,用于字节时间周期窗口的数据的1个字节),其被编码以标识应用到在同一时间周期窗口期间被发送的数据的协议。
为了说明,在图7的特定示例中,定义了字节时间周期窗口。在任何数据被注入在数据通道DATA[0-49]上之前,在时间周期窗口n(715)断定有效。在接下来的时间周期窗口n+1(720),在数据通道中的至少一些数据通道上发送数据。在这种情况下,在n+1(720)期间在所有五十个数据通道上发送数据。因为在前一时间周期窗口n(715)的持续时间内断定有效,所以接收器设备可以验证在时间周期窗口n+1(720)期间在数据通道DATA[0-49]上接收的数据。另外,在时间周期窗口n(715)期间的有效信号的主导性质允许接收设备准备传入数据。继续图7的示例,在时间周期窗口n+1(720)的持续时间期间(在VALID1和VALID2上)有效信号保持被断定,使得接收器设备期望在时间周期窗口n+2(725)期间通过数据通道DATA[0-49]发送数据。如果有效信号要在时间周期窗口n+2(725)期间保持被断定,则接收器设备还可以期望接收(和处理)在紧接着的时间周期窗口n+3(730)期间发送的附加数据。然而,在图7的示例中,在时间周期窗口n+2(725)的持续的期间,有效信号被解除断定,向接收器设备指示在时间周期窗口n+3(730)期间没有数据会被发送,并且在时间周期窗口n+3(730)期间在数据通道DATA[0-49]上检测到的任何比特应该被忽略。
如上所述,可以在每信道上维持多个有效通道和选通通道。除其它优点之外,这可以帮助维持电路的简单性和在连接两个设备的相对较长的物理通道的群集中的同步。在一些实施方式中,一组数据通道可以被划分成数据通道的群集。例如,在图7的示例中,数据通道DATA[0-49]可以被划分成两个二十五通道的群集并且每个群集可以具有专用的有效通道和选通通道。例如,有效通道VALID1可以与数据通道DATA[0-24]相关联,并且有效通道VALID2可以与数据通道DATA[25-49]相关联。在用于每个群集的有效通道和选通通道的每个“副本”上的信号可以是相同的。
如上所介绍的,流通道STREAM上的数据可以用于向接收逻辑PHY指示哪个协议要应用到在数据通道DATA[0-49]上被发送的对应的数据。在图7的示例中,在与数据通道DATA[0-49]上的数据相同的时间周期窗口期间,在STREAM上发送流信号,以指示在数据通道上的数据的协议。在替代的实施方式中,可以在前一时间周期窗口期间发送流信号,例如与对应的有效信号一起,除其它可能的修改之外。然而,继续图7的示例,在时间周期窗口n+1(720)期间发送流信号735,该流信号735被编码以指示要应用到在时间周期窗口n+1(720)期间通过数据通道DATA[0-49]发送的比特的协议(例如,PCIe、PCI、IDI、QPI等)。类似地,可以在后续时间周期窗口n+2(725)期间发送另一个流信号740,以指示应用到在时间周期窗口n+2(725)期间通过数据通道DATA[0-49]发送的比特的协议,等等。在一些情况下,例如图7的示例(其中流信号735、740都具有相同的编码,二进制FF),在顺序的时间周期窗口(例如,n+1(720)和n+2(725))中的数据可以属于同一协议。然而,在其它情况下,在顺序的时间周期窗口(例如,n+1(720)和n+2(725))中的数据可以来自不同的协议要应用到的不同的事务,并且除其它示例之外,流信号(例如,735、740)可以被相应地编码以标识应用到数据通道(例如,DATA[0-49])上的数据的顺序的比特的不同协议。
在一些实施方式中,低功率状态或空闲状态可以被定义为用于MCPL。例如,当MCPL上没有设备发送数据时,MCPL的物理层(电气和逻辑)可以进入空闲状态或低功率状态。例如,在图7的示例中,在时间周期窗n-2(745),MCPL处于安静或空闲状态并且选通被禁用以节省功率。MCPL可以从低功率模式或空闲模式中转换出来,在时间周期窗口n-1(例如,705)唤醒选通。选通可以完成传输前导码(例如,以帮助唤醒和同步信道的通道中的每个通道以及接收器设备),在其它非选通通道上的任何其它信令之前开始选通信号。在该时间周期窗口n-1(705)之后,有效信号可以在时间周期窗口n(715)被断定,以通知接收器数据在接下来的时间周期窗口n+1(720)中即将到来,如上所讨论的。
MCPL可以根据对有效通道、数据通道、和/或MCPL信道的其它通道的空闲状况的检测而再进入低功率状态或空闲状态(例如,L1状态)。例如,在时间周期窗口n+3(730)处开始以及向前可能未检测到信令。除其它示例和原理(包括本文后面所讨论的那些示例和原理)之外,源或接收器设备上的逻辑可以启动转换回到低功率状态,这再次导致(例如,时间周期窗口n+5(755))选通在功率节省模式下进入空闲。
除其它特征之外,物理PHY的电气特性可以包括以下中的一个或多个:单端信令、半速率转发计时、互连信道以及发射机(源)和接收机(接收器)的片上传输延迟之间的匹配、优化的静电放电(ESD)保护、焊盘电容。此外,可以实现MCPL以达到比传统封装体I/O解决方案更高的数据速率(例如,接近16Gb/s)和能量效率特性。
图8示出了表示示例性MCPL的一部分的简化框图800的一部分。图8的示图800包括示例性通道805(例如,数据通道、有效通道、或流通道)和时钟生成逻辑810的表示。如图8的示例中所示,在一些实施方式中,时钟生成逻辑810可以被实现为时钟树,以将所生成的时钟信号分配给实现示例性MCPL的每个通道(例如,数据通道805)的每个块。此外,可以提供时钟恢复电路815。在一些实施方式中,不是为分配了时钟信号的每个通道提供单独的时钟恢复电路,这在至少一些传统互连I/O架构中是常见的,而是可以为多个通道的群集提供单个时钟恢复电路。实际上,当应用到图6和7中的示例性配置时,单独的选通通道和伴随的时钟恢复电路可以被提供给每个二十五个数据通道的群集。
继续图8的示例,在一些实施方式中,至少数据通道、流通道、以及有效通道可以在中间轨被终止到大于零(地)的经调节的电压。在一些实施方式中,中间轨电压可以被调节到VCC/2。在一些实施方式中,可以为通道的每个群集提供单个电压调节器825。例如,除其它可能的示例之外,当应用到图6和7的示例时,第一电压调节器可以被提供用于二十五个数据通道的第一群集,并且第二电压调节器可以被提供用于二十五个数据通道的剩余群集。在一些情况下,除其它示例之外,示例性电压调节器825可以被实现为线性调节器、开关电容器电路。在一些实施方式中,除其它示例之外,可以为线性调节器提供模拟反馈回路或数字反馈回路。
在一些实施方式中,还可以为示例性MCPL提供串扰消除电路。在一些情况下,长MCPL导线的紧凑性质可以在通道之间引入串扰干扰。可以实现串扰消除逻辑以解决这些和其它问题。例如,在图9-10中示出的一个示例中,可以利用例如在示图900和1000中所示的示例性低功率有源电路来显著降低串扰。例如,在图9的示例中,加权高通滤波的“侵害方”信号可以被添加到“受害方”信号(即,该信号遭受来自侵害方的串扰干扰)。每个信号可以被认为是来自链路中的每个其它信号的串扰的受害方,并且本身可以是另一个信号的侵害方,只要它是串扰干扰的源。由于链路上的串扰的衍生性质,这种信号可以被生成并使受害方通道上的串扰降低50%以上。在图9的示例中,低通滤波的侵害方信号可以通过(例如,通过C和R1实现的)高通RC滤波器而生成,该高通RC滤波器使用求和电路905(例如,RX感测-放大器)产生要被添加的经滤波的信号。
由于电路的实施方式可以以相对低的开销来实现,如例示了在图9的示例中所示出和描述的电路的示例性晶体管级电路图的图10的示图中所例示的,类似于图9的示例中所描述的实施方式对于诸如MCLP应用可以是特别方便的解决方案。应当理解的是,图9和10中的表示是简化表示,并且实际的实施方式将包括在图9和10中示出的电路的多个副本,以适应链路的通道当中及之间的串扰干扰的网络。作为示例,在三通道链路(例如,通道0-2)中,除其它示例之外,类似于图9和10的示例中描述的电路的电路可以基于通道的几何和布局从通道0提供给通道1,从通道0提供给通道2,从通道1提供给通道0,从通道1提供给通道2,从通道2提供给通道0,从通道2提供给通道1等等。
可以在示例性MCPL的物理PHY级实现附加的特征。例如,在一些情况下,接收机偏移可以引入显著的错误,并且限制I/O电压裕量。电路冗余可以用于提高接收机灵敏度。在一些实施方式中,电路冗余可以被优化以解决在MCPL中使用的数据采样器的标准偏差偏移。例如,可以提供示例性数据采样器,其被设计成三(3)标准偏差偏移规范。在图6和7的示例中,例如,两(2)个数据采样器将用于每个接收机(例如,用于每个通道)、一百(100)个采样器将用于五十(50)个通道MCPL。在该示例中,接收机(RX)通道中的一个通道不符合三标准偏差偏移规范的概率是24%。如果其它数据采样器中的另一个数据采样器被发现超过了界限,则可以提供芯片参考电压生成器以设置偏移上界限,并且移动到接收机上的下一个数据采样器。然而,每个接收机使用四(4)个数据采样器(即,代替该示例中的两个),如果四分之三的采样器失败,则接收机才会失败。对于五十通道MCPL,如在图6和7的示例中,添加该附加电路冗余可以将失败率从24%大幅降低到小于0.01%。
在其它示例中,以非常高的数据率,每比特占空比校正(DCC)和倾斜校正可以用于增加每个群集DCC和倾斜校正的基线,以改善链路裕量。代替如在传统的解决方案中针对所有情况的校正,在一些实施方式中,可以利用低功率数字实施方式,其感测并校正I/O通道将失败的异常点。例如,可以执行通道的全局调整以标识群集内的问题通道。然后可以针对这些问题通道进行每通道调整以达到MCPL所支持的高数据速率。
还可以可选地在MCPL的一些示例中实现附加的特征,以提高物理链路的性能特性。例如,可以提供线路编码。尽管如以上描述的中间轨终止可以允许DC数据总线倒置(DBI)被省略,但是AC DBI仍然可以用于降低动态功率。除其它示例性益处之外,更复杂的编码还可以用于消除1和0的最坏情况差异,以降低例如中间轨调节器的驱动要求,以及限制I/O开关噪声。此外,还可以可选地实现发射机均衡。例如,在非常高的数据速率下,***损耗对于封装体内信道可以是显著的。在一些情况下,除其它之外,(例如,在初始上电序列期间执行的)两抽头权重发射机均衡可以足以缓解这些问题中的一些问题。
转到图11,示出了简化框图1100,其例示了示例性MCPL的示例性逻辑PHY。物理PHY1105可以连接到包括逻辑PHY 1110和支持MCPL的链路层的附加逻辑的管芯。在该示例中,管芯还可以包括用于支持MCPL上的多个不同协议的逻辑。例如,在图11的示例中,可以提供PCIe逻辑1115以及IDI逻辑1120,使得管芯可以使用PCIe或IDI通过连接两个管芯的相同MCPL进行通信,除可能的许多其它示例之外,包括其中通过MCPL支持多于两个协议或者支持除PCIe和IDI之外的协议的示例。管芯之间支持的各种协议可以提供不同级别的服务和特征。
逻辑PHY 1110可以包括用于协商(例如,通过PCIe或IDI接收的)与管芯的上层逻辑的请求有关的链路状态转换的链路状态机管理逻辑1125。在一些实施方式中,逻辑PHY1110还可以包括链路测试和调试逻辑(例如,1130)。如上所述,示例性MCPL可以支持控制信号,该控制信号通过MCPL在管芯之间被发送,以促进MCPL的协议不可知、高性能、以及功率效率特征(除其它示例特征之外)。例如,如在上述示例中描述的,逻辑PHY 1110可以支持与通过专用数据通道发送和接收数据有关的对有效信号、流信号和LSM边带信号的生成和发送以及接收和处理。
在一些实施方式中,多路复用逻辑(例如,1135)和解复用逻辑(例如,1140)可以被包括在逻辑PHY 1110中,或在其它情况下可由逻辑PHY 1110访问。例如,多路复用逻辑(例如,1135)可以用于标识要被发送到MCPL上的数据(例如,体现为数据包、消息等)。多路复用逻辑1135可以标识管理数据的协议,并生成被编码以标识协议的流信号。例如,在一个示例性实施方式中,流信号可以被编码为两个十六进制符号的字节(例如,IDI:FFh;PCIe:F0h;LLP:AAh;边带:55h等等),并且可以在由标识的协议管理的数据的同一窗口(例如,字节时间周期窗口)期间被发送。类似地,解复用逻辑1140可以被用来解释传入流信号以解码流信号,并标识要应用于与数据通道上的流信号同时接收的数据的协议。然后解复用逻辑1140可以应用(或确保)协议特定的链路层处理并且使数据由对应的协议逻辑(例如,PCIe逻辑1115或IDI逻辑1120)来被处理。
逻辑PHY 1110还可以包括可以用于处理各种链路控制功能的链路层数据包逻辑1150,各种链路控制功能包括电源管理任务、回环、禁用、重新居中、加扰等。除其它功能之外,LLP逻辑1150可以通过MCLP促进链路层到链路层消息。与LLP信令相对应的数据还可以由专用流信号通道上发送的流信号标识,该流信号被编码以标识数据通道LLP数据。多路复用逻辑和解复用逻辑(例如,1135、1140)还可以用于生成和解释对应于LLP流量的流信号,以及使得这种流量由适合的管芯逻辑(例如,LLP逻辑1150)来处理。同样地,除其它示例之外,MCLP的一些实施方式可以包括专用边带(例如,边带1155和支持逻辑),例如异步和/或较低频率边带信道。
逻辑PHY逻辑1110还可以包括链路状态机管理逻辑,其可以通过专用LSM边带通道而生成并接收(以及使用)链路状态管理消息。例如,除其它可能示例之外,LSM边带通道可以用于执行握手以推进链路训练状态,从电源管理状态(例如,L1状态)退出。除其它示例之外,LSM边带信号可以是异步信号,因为它不与链路的数据信号、有效信号和流信号对齐,而是对应于信令状态转换并且对齐由链路连接的两个管芯或芯片之间的链路状态机。在一些示例中,除其它示例益处之外,提供专用LSM边带通道可以允许模拟前端(AFE)的传统静噪和接收的检测电路被消除。
转到图12,示出了简化框图1200,其例示了用于实现MCPL的逻辑的另一种表示。例如,逻辑PHY 1110被提供有定义的逻辑PHY接口(LPIF)1205,多个不同协议(例如,PCIe、IDI、QPI等)1210、1215、1220、1225中的任一个以及信令模式(例如,边带)可以通过逻辑PHY接口(LPIF)1205与示例性MCPL的物理层进行接口。在一些实施方式中,多路复用和仲裁逻辑1230还可以被提供作为与逻辑PHY 1110分开的层。在一个示例中,可以提供LPIF 1205作为在该MuxArb层1230的任一侧上的接口。逻辑PHY 1110可以通过另一个接口与物理PHY(例如,MCPL PHY的模拟前端(AFE)1105)进行接口。
LPIF可以从上层(例如,1210、1215、1220、1225)提取PHY(逻辑和电气/模拟),使得完全不同的PHY可以在对上层透明的LPIF下被实现。除其它示例之外,这可以帮助提升模块化和在设计中的再利用,因为当下层信令技术PHY被更新时,上层可以保持完整。此外,LPIF可以定义启用多路复用/解复用、LSM管理、错误检测和处理、以及逻辑PHY的其它功能的多个信号。例如,表1总结了可以为示例性LPIF定义的信号的至少一部分:
表1:
表1
如表1所示,在一些实施方式中,可以通过AlignReq/AlignAck握手提供对齐机构。例如,当物理层进入恢复时,一些协议可能丢失数据包成帧(framing)。例如,可以校正数据包的对齐以保证由链路层进行正确的成帧标识。此外,如图13所示,当物理层进入恢复时,物理层可以断定StallReq信号,使得当新的对齐的数据包准备好被传输时,链路层断定Stall信号。物理层逻辑可以采样Stall和Valid两者,以判断该数据包是否被对齐。例如,物理层可以继续驱动trdy排出链路层数据包,直到所采样的Stall和Valid被断定,除其它可能的实施方式之外,包括使用Valid帮助数据包对齐的其它替代实施方式。
可以针对MCPL上的信号定义各种故障容差。例如,可以针对有效、流、LSM边带、低频边带、链路层数据包、以及其它类型的信号定义故障容差。针对通过MCPL的专用数据通道发送的数据包、消息、以及其它数据的故障容差可以基于管理数据的特定协议。在一些实施方式中,除其它可能的示例之外,可以提供错误检测和处理机制,例如循环冗余校验(CRC)、重试缓冲器。作为示例,对于通过MCPL发送的PCIe数据包,32位CRC可以用于PCIe事务层数据包(TLP)(具有受保证的输送(例如,通过重放机制)),并且16位CRC可以用于PCIe链路层数据包(其可以被构建为有损的(例如,其中不应用重播))。此外,除其它示例之外,对于PCIe成帧标记,可以为标记标识符定义特定汉明距离(例如,四(4)的汉明距离);还可以利用奇偶校验和4位CRC。在另一方面,对于IDI数据包,可以利用16位CRC。
在一些实施方式中,可以为链路层数据包(LLP)定义故障容差,其包括要求有效信号从低转换到高(即,0到1)(例如,以帮助确保比特和符号锁定)。此外,在一个示例中,除了可以用作确定MCPL上的LLP数据中的故障的基础的其它所定义的特性之外,可以定义要被发送的特定数量的连续的相同LLP,并且可以预期对每个请求的响应,其中在响应超时之后请求器重试。在其它示例中,可以例如通过在整个时间周期窗口扩展有效信号来为有效信号提供故障容差,或为符号(例如,通过使有效信号在8UI内保持为高)提供故障容差。此外,除其它示例之外,可以通过维持用于流信号的编码值的汉明距离来防止流信号中的错误或故障。
逻辑PHY的实施方式可以包括错误检测、错误报告和错误处理逻辑。在一些实施方式中,除其它示例之外,示例性MCPL的逻辑PHY可以包括用于检测(例如,有效通道和流通道上的)PHY层去成帧错误、(例如,关于LSM状态转换的)边带错误、(例如,对于LSM状态转换至关重要的)LLP中的错误的逻辑。除其它示例之外,一些错误检测/分辨率可以被转移至上层逻辑,例如适于检测PCIe特定错误的PCIe逻辑。
在去成帧错误的情况下,在一些实施方式中,可以通过错误处理逻辑提供一个或多个机制。去成帧错误可以基于所涉及的协议而被处理。例如,在一些实施方式中,可以向链路层通知错误以触发重试。去成帧还可以引起逻辑PHY去成帧的重对齐。此外,除其它技术之外,可以执行逻辑PHY的重新居中,并且可以重新获取符号/窗口锁定。在一些示例中,居中可以包括PHY将接收机时钟相位移动到最优点,以检测传入的数据。在本上下文中,“最优”可以指代对于噪声和时钟抖动具有最大裕量处。除其它示例之外,重新居中可以包括简化的居中功能,例如,其在PHY从低功率状态唤醒时被执行。
其它类型的错误可能涉及其它错误处理技术。例如,在边带中检测到的错误可以通过(例如,LSM的)对应状态的超时机构而被捕捉。错误可以被记录,并且然后链路状态机可以被转换到重置。LSM可以保持重置,直到从软件接收到重启命令。在另一个示例中,可以利用超时机制处理LLP错误(例如,链路控制数据包错误),如果未接收到对LLP序列的确认,则超时机制可以重启LLP序列。
图14A-14C示出了在针对各种类型的数据的示例性MCPL的数据通道上的示例性比特映射的表示。例如,示例性MCPL可以包括五十个数据通道。图14A示出了可以在8UI符号或窗口内通过数据通道被发送的示例性16字节槽的采用第一协议(例如IDI)的第一比特映射。例如,在所定义的8UI窗口内,可以发送三个16字节槽,包括报头槽。在该示例中,数据的两个字节剩余,并且这些剩余的两个字节可以利用CRC位(例如,在通道DATA[48]和DATA[49]中)。
在另一个示例中,图14B示出了用于通过示例性MCPL的五十个数据通道发送的PCIe数据包数据的第二示例性比特映射。在图14B的示例中,可以通过MCPL发送16字节数据包(例如,事务层(TLP)或数据链路层(DLLP)PCIe数据包)。在8UI窗口中,可以利用窗口内尚未使用的带宽的剩余两个字节来发送三个数据包。成帧标记可以包括在这些符号内并且用于定位每个数据包的起始和结束。在PCIe的一个示例中,在图14B的示例中使用的成帧可以与在8GT/s处为PCIe实现的那些标记一样。
在图14C中所示的又一个示例中,示出了通过示例性MCPL发送的链路到链路数据包(例如,LLP数据包)的示例性比特映射。LLP可以均是4个字节,并且每个LLP(例如,LLP0、LLP1、LLP2等)可以根据示例性实施方式内的故障容差和错误检测被连续发送四次。例如,未能接收到四个连续的相同LLP可以指示错误。另外,对于其它数据类型,未能在行进时间窗口或符号接收到VALID也可以指示错误。在一些情况下,LLP可以具有固定槽。此外,在该示例中,在字节时间周期中未使用的、或“备用”的比特可以导致逻辑0通过五十通道中的两个(例如,DATA[48-49])被发射(除其它示例之外)。
转到图15,简化的链路状态机转换图1400与状态转换之间利用的边带握手交换一起被示出。例如,Reset.Idle状态(例如,其中执行锁相环(PLL)锁定校准)可以通过边带握手来转换到Reset.Cal状态(例如,其中链路被进一步校准)。Reset.Cal可以通过边带握手转换到Reset.ClockDCC状态(例如,其中可以执行占空比校正(DCC)和延迟锁定回路(DLL)锁定)。可以执行附加的握手以从Reset.ClockDCC转换到Reset.Quiet状态(例如,以解除断定有效信号)。为了帮助MCPL的通道上的信令的对齐,通道可以通过Center.Pattern状态而被居中。
在一些实施方式中,如在图16的示例中所示,在Center.Pattern状态期间,发射机可以生成训练模式或其它数据。例如,通过设置相位内插器位置和vref位置并且设置比较器,接收机可以调节其接收机电路以接收这种训练模式。接收机可以将接收的模式与预期模式连续地比较,并把结果存储在寄存器中。在一组模式完成之后,接收机可以使相位内插器设置递增,以使vref保持相同。测试模式生成和比较过程可以继续并且新的比较结果可以存储在寄存器,其中程序重复地逐步通过所有相位内插器值并通过vref的所有值。当模式生成和比较过程全部完成时,可以进入Center.Quiet状态。在通过Center.Pattern和Center Quiet链路状态将通道居中之后,可以促进边带握手(例如,使用通过链路的专用LSM边带通道的LSM边带信号)以转换到Link.Init状态,以初始化MCPL并且实现MCPL上的数据发送。
暂时返回到图15的讨论,如上所述,边带握手可以用于促进在多芯片封装体中的管芯或芯片之间的链路状态机转换。例如,MCPL的LSM边带通道上的信号可以用于跨管芯同步状态机转换。例如,当满足退出状态(例如,Reset.Idle)的条件时,满足这些条件的边可以断定其输出的LSM_SB通道上的LSM边带信号,并等待另一远程管芯到达相同的条件,并且断定在其LSM_SB通道上的LSM边带信号。当两个LSM_SB信号均被断定时,每个相应的管芯的链路状态机可以转换到下一个状态(例如,Reset.Cal状态)。可以定义最小重叠时间,在此期间两个LSM_SB信号应该在转换状态之前保持被断定。此外,在LSM_SB被解除断定之后,可以定义最小静默时间以允许准确的回转检测。在一些实施方式中,每个链路状态机转换可以在这种LSM_SB握手上被调节,并由这种LSM_SB握手来促进。
图17是更详细的链路状态机示图1700,例示了可以被包括在示例性MCPL的附加链路状态和链路状态转换中的至少一些。在一些实施方式中,除了图17示出的其它状态和状态转换之外,示例性链路状态机可以包括“定向回环”转换,其可以被提供以将MCPL的通道放置在数字回环中。例如,在时钟恢复电路之后,MCPL的接收机通道可以被回环到发射机通道。还可以在一些情况中提供“LB_重新居中”状态,其可以用于对齐数据符号。此外,如图15所示,除可能其它示例之外,MCPL可以支持多个链路状态,包括活动L0状态和低功率状态,例如L1空闲状态、以及L2睡眠状态。
图18是简化框图1800,其例示了在活动状态(例如,L0)和低功率、或空闲状态(例如,L1)之间转换的示例性流程。在该特定示例中,第一设备1805和第二设备1810使用MCPL而通信地被耦合。当处于活动状态时,数据通过MCPL的通道(例如,DATA、VALID、STREAM等)被发射。可以通过通道(例如,数据通道,其中流信号指示数据是LLP数据)传达链路层数据包(LLP),以帮助促进链路状态转换。例如,LLP可以在第一设备1805和第二设备1810之间被发送以协商从L0进入L1。例如,MCPL支持的上层协议可以传达期望进入L1(或另一个状态)并且上层协议可以使得LLP通过MCPL被发送以促进链路层握手,以使得物理层进入L1。例如,图18示出LLP发送的至少一部分,包括从第二(上游)设备1810发送到第一(下游)设备1805的“进入L1”请求LLP。在一些实施方式以及上层协议中,下游端口不发起进入L1。除其它示例之外,接收第一设备1805可以发送“改变到L1”请求LLP作为响应,其中,第二设备1810可以通过“改变到L1”确认(ACK)LLP来确认。在检测到握手完成时,逻辑PHY可以使得边带信号在专用边带链路上被断定,以确认ACK被接收并且设备(例如,1805)准备好并期望进入L1。例如,第一设备1805可以断定发送至第二设备1810的边带信号1815,以确认在链路层握手中接收到最后的ACK。另外,第二设备1810还可以响应于边带信号1815而断定边带信号,以向第一设备1805通知第一设备的边带ACK 1805。在链路层控制和边带握手完成的情况下,MCPL PHY可以被转换成L1状态,使得MCPL的所有通道被置于空闲功率节省模式,包括设备1805、1810的1820、1825的相应的MCPL选通。在第一设备1805和第二设备1810中的一个的上层逻辑请求重新进入L0时,例如,响应于检测到数据通过MCPL被发送到其它设备,可以退出L1。
如上所述,在一些实施方式中,MCPL可以促进在支持可能的多个不同协议的两个设备之间的通信,并且MCPL可以根据在MCPL的通道上的多个协议中的可能的任何一个而促进通信。然而,促进多个协议可以使进入和重新进入至少一些链路状态变得复杂。例如,尽管一些传统互连具有假定主机在状态转换中的作用的单个上层协议,但是具有多个不同协议的MCPL的实施方式有效地包含多个主机。作为示例,如图18所示,可以在两个设备1805、1810之间通过MCPL的实施方式支持PCIe和IDI中的每一个。例如,可以根据首先从所支持的协议(例如,PCIe和IDI两者)中的每一个获得的许可来调节将物理层置于空闲状态还是低功率状态。
在一些情况下,可以通过MCPL的实施方式支持的多个支持协议中的仅一个而请求进入L1(或另一个状态)。尽管可以有可能性(例如,基于标识MCPL上的类似状况(例如,很少或没有流量))其它协议将同样请求进入相同状态,但是在实际促进状态转换之前,逻辑PHY可以等待直到从每个上层协议接收到许可或指令。逻辑PHY可以追踪哪些上层协议已经请求状态改变(例如,执行对应的握手),并且在标识协议中的每一个已经请求特定状态改变时触发状态转换,例如从L0到L1的转换或者将影响或干扰其它协议的通信的另一个转换。在一些实施方式中,协议对于它们的至少部分依赖于***中的其它协议可能是未察觉的。此外,在一些情况下,协议可以预期(例如,从PHY)对进入特定状态的请求的响应,例如,所请求的状态转换的确认或拒绝。因此,在这种情况下,当等待来自其它支持协议对进入空闲链路状态的许可时,逻辑PHY可以生成对进入空闲状态的请求的合成响应,以“欺骗”请求的上层协议使其相信已经进入特定状态(实际上,当通道仍然活动时,至少直到其它协议也请求进入空闲状态)。除其它可能的优点之外,除其它示例之外,这可以简化在多个协议之间协调进入低功率状态。
注意,上述装置、方法和***可以在前述的任何电子设备或***中被实现。作为具体说明,下面的附图提供了用于利用本文所述的本发明的示例性***。由于下面的***被更详细地描述,上面的讨论公开、描述并重新讨论了许多不同的互连。并且显而易见的是,上述描述的进展可以应用于这些互连、结构或架构中任一个。
参考图19,描绘了用于包括多核处理器的计算***的框图的实施例。处理器1900包括任何处理器或处理设备,例如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持处理器、应用处理器、协处理器、片上***(SOC)或用于执行代码的其它设备。在一个实施例中,处理器1900包括至少两个核——核1901和核1902,其可以包括非对称核或对称核(示出的实施例)。然而,处理器1900可以包括可以是对称或非对称的任何数量的处理元件。
在一个实施例中,处理元件指代用于支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、处理单元、上下文、上下文单元、逻辑处理器、硬件线程、核和/或任何其它元件,其能够保持处理器的状态,例如执行状态或架构状态。换句话说,在一个实施例中,处理元件指代能够独立地与代码(例如软件线程、操作***、应用或其它代码)相关联的任何硬件。物理处理器(或处理器插槽)通常指代集成电路,其可能包括任何数量的其它处理元件,例如核或硬件线程。
核通常指代位于集成电路上的能够维持独立架构状态的逻辑,其中每个独立维持的架构状态与至少一些专用执行资源相关联。与核相比,硬件线程通常指代位于集成电路上的能够维持独立架构状态的任何逻辑,其中独立维持的架构状态共享对执行资源的访问。可以看出,当某些资源被共享并且其它资源被专用于架构状态时,硬件线程的命名和核之间的线路重叠。然而通常,核和硬件线程由操作***视为独立的逻辑处理器,其中操作***能够独立地调度每个逻辑处理器上的操作。
如图19所示,物理处理器1900包括两个核——核1901和核1902。这里,核1901和核1902被认为是对称核,即,具有相同配置、功能单元和/或逻辑的核。在另一个实施例中,核1901包括无序的处理器核,而核1902包括有序的处理器核。然而,可以从任何类型的核中独立地选择核1901和核1902,所述核例如本机核、软件管理的核、适于执行本机指令集架构(ISA)的核、适于执行翻译的指令集架构(ISA)的核、共同设计的核、或其它已知的核。在异构核环境(即,非对称核)中,某种形式的翻译(例如,二进制翻译)可以被用于调度或执行一个或两个核上的代码。为了进一步讨论,在下文中更详细地描述了核1901中所示的功能单元,因为核1902中的单元在所描述的实施例中以类似的方式操作。
如所示,核1901包括两个硬件线程1901a和1901b,其还可以被称为硬件线程槽1901a和1901b。因此,在一个实施例中,诸如操作***的软件实体可能将处理器1900视为四个单独的处理器,即能够同时执行四个软件线程的四个逻辑处理器或处理元件。如上所述,第一线程与架构状态寄存器1901a相关联,第二线程与架构状态寄存器1901b相关联,第三线程可以与架构状态寄存器1902a相关联,并且第四线程可以与架构状态寄存器1902b相关联。这里,如上所述,架构状态寄存器(1901a、1901b、1902a和1902b)中的每个可以被称为处理元件、线程槽或线程单元。如所示,架构状态寄存器1901a被复制在架构状态寄存器1901b中,因此独立的架构状态/上下文能够被存储以用于逻辑处理器1901a和逻辑处理器1901b。在核1901中,其它较小的资源(例如,在分配器和重命名器块1930中的指令指针和重命名逻辑)也可以被复制以用于线程1901a和1901b。一些资源(例如,在重排序/引退(retirement)单元1935中的重排序缓冲器、ILTB 1920、加载/存储缓冲器和队列)可以通过分区被共享。其它资源(例如,通用内部寄存器、(一个或多个)页表基址寄存器、低级数据高速缓存和数据TLB1915、(一个或多个)执行单元1940以及无序单元1935的部分)可能完全被共享。
处理器1900通常包括可以被完全共享、通过分区被共享或由处理元件专用/专用于处理元件的其它资源。在图19中,示出了具有处理器的说明性逻辑单元/资源的纯示例性处理器的实施例。注意,处理器可以包括或省略这些功能单元中的任何单元,并且包括未描绘的任何其它已知的功能单元、逻辑或固件。如所示,核1901包括简化的、代表性的无序(OOO)处理器核。但是,在不同的实施例中可以利用有序处理器。OOO核包括用于预测要被执行/采用的分支的分支目标缓冲器1920,以及用于存储指令的地址翻译条目的指令翻译缓冲器(I-TLB)1920。
核1901还包括耦合到提取单元1920的解码模块1925以对提取的元素进行解码。在一个实施例中,提取逻辑包括分别与线程槽1901a、1901b相关联的个体定序器(sequencer)。通常,核1901与第一ISA相关联,其定义/指定可在处理器1900上执行的指令。通常,作为第一ISA的一部分的机器代码指令包括指令的一部分(称为操作码),其引用/指定要执行的指令或操作。解码逻辑1925包括从指令的操作码识别这些指令并在流水线中传递经解码的指令以进行如第一ISA所定义的处理的电路。例如,如下面更详细地讨论,在一个实施例中,解码器1925包括被设计为或适于识别诸如事务性指令之类的特定指令的逻辑。作为解码器1925识别的结果,架构或核1901采取特定的预定义动作来执行与适当指令相关联的任务。重要的是注意到,本文描述的任务、块、操作和方法中的任一项可以响应于单个或多个指令而被执行;这些指令中的一些可能是新或旧指令。在一个实施例中,注意,解码器1926识别相同的ISA(或其子集)。替代地,在异构核环境中,解码器1926识别第二ISA(第一ISA的子集或不同的ISA)。
在一个示例中,分配器和重命名器块1930包括分配器以用于预留资源,例如用于存储指令处理结果的寄存器文件。然而,线程1901a和1901b可能能够无序执行,其中分配器和重命名器块1930还预留其它资源,例如用于追踪指令结果的重排序缓冲器。单元1930还可以包括寄存器重命名器,以将程序/指令引用寄存器重命名为位于处理器1900内部的其它寄存器。重排序/引退单元1935包括用于支持无序执行以及无序执行的指令的有序引退的部件,例如上文提到的重排序缓冲器、加载缓冲器和存储缓冲器。
在一个实施例中,(一个或多个)调度器和执行单元块1940包括调度器单元以用于调度执行单元上的指令/操作。例如,在具有可用的浮点执行单元的执行单元的端口上调度浮点指令。还包括与执行单元相关联的寄存器文件以用于存储信息指令处理结果。示例性执行单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元以及其它已知执行单元。
较低级的数据高速缓存和数据翻译缓冲器(D-TLB)1950耦合到(一个或多个)执行单元1940。数据高速缓存用于存储最近使用/操作的元素,例如数据操作数,其可能保持在存储器一致性状态。D-TLB用于存储最近的虚拟/线性地址到物理地址的翻译。作为特定示例,处理器可以包括页表结构以用于将物理存储器分解成多个虚拟页。
这里,核1901和1902共享对更高级别或更外面的(further-out)高速缓存的访问,所述高速缓存例如是与片上接口1910相关联的第二级别高速缓存。注意,更高级别或更外面指代高速缓存级别增加或更远离(一个或多个)执行单元。在一个实施例中,更高级别的高速缓存是最后级别数据高速缓存——在处理器1900上的存储器层级中的最后的高速缓存——例如第二或第三级别数据高速缓存。然而,更高级别高速缓存并非限制于此,因为其可以与指令高速缓存相关联或包括指令高速缓存。追踪高速缓存——一种类型的指令高速缓存——反而可以在解码器1925之后被耦合以存储最近解码的踪迹。这里,指令可能指代宏指令(即,由解码器识别的通用指令),其可以解码成多个微指令(微操作)。
在描绘的配置中,处理器1900还包括片上接口模块1910。历史上,下面更详细描述的存储器控制器已被包括在处理器1900外部的计算***中。在该场景中,片上接口1910用于与处理器1900外部的设备进行通信,所述设备例如***存储器1975、芯片组(通常包括用于连接到存储器1975的存储器控制器集线器和用于连接***设备的I/O控制器集线器)、存储器控制器集线器、北桥或其它集成电路。并且在该场景中,总线1905可以包括任何已知的互连,例如多点总线、点到点互连、串行互连、并行总线、一致(例如,高速缓存一致)总线、分层协议架构、差分总线以及GTL总线。
存储器1975可以专用于处理器1900或与***中的其它设备共享。存储器1975的类型的常见示例包括DRAM、SRAM、非易失性存储器(NV存储器)以及其它已知的存储设备。注意,设备1980可以包括耦合到存储器控制器集线器的图形加速器、处理器或卡,耦合到I/O控制器集线器的数据储存器、无线收发器、闪存设备、音频控制器、网络控制器或其它已知的设备。
然而,近来,随着更多的逻辑和设备被集成在诸如SOC的单个管芯上,这些设备中的每个可以被并入处理器1900上。例如,在一个实施例中,存储器控制器集线器在同一封装体上,和/或是具有处理器1900的管芯。这里,核(核上(on-core)部分)1910的一部分包括用于与其它设备(例如,存储器1975或图形设备1980)接口连接的一个或多个控制器。包括互连和用于与这种设备接口连接的控制器的配置通常被称为核上(或非核(un-core)配置)。作为示例,片上接口1910包括用于片上通信的环形互连和用于片外通信的高速串行点到点链路1905。然而,在SOC环境中,诸如网络接口、协处理器、存储器1975、图形处理器1980和任何其它已知的计算机设备/接口的甚至更多设备可以被集成在单个管芯或集成电路上以为小的形式因子提供高功能和低功耗。
在一个实施例中,处理器1900能够执行编译器、优化和/或翻译器代码1977以编译、翻译和/或优化应用代码1976,以支持本文描述的装置和方法或与其接口连接。编译器通常包括将源文本/代码翻译成目标文本/代码的程序或程序集。通常,利用编译器编译程序/应用代码通过多个阶段和多遍来完成,以将高级编程语言代码变换成低级机器或汇编语言代码。然而,单遍编译器仍然可以用于简单编译。编译器可以利用任何已知的编译技术并执行任何已知的编译器操作,例如词法分析、预处理、解析、语义分析、代码生成、代码变换和代码优化。
较大的编译器通常包括多个阶段,但最通常这些阶段被包括在两个通用阶段中:(1)前段,即,通常在其中可能发生句法处理、语义处理和一些变换/优化,以及(2)后段,即,通常在其中发生分析、变换、优化和代码生成。一些编译器指代中段,其说明了编译器的前段和后段之间的划定的模糊。结果,编译器的***、关联、生成或其它操作的引用可以在上述多个阶段或多遍中的任一个、以及编译器的任何其它已知的阶段或多遍中发生。作为说明性示例,编译器可能在编译的一个或多个阶段中***操作、调用、功能等,例如,在编译的前段阶段中***调用/操作,并且然后在变换阶段期间,将调用/操作变换成较低级别代码。注意,在动态编译期间,编译器代码或动态优化代码可以***这种操作/调用,以及在运行时间期间优化用于执行的代码。作为特定说明性示例,二进制代码(已编译代码)可以在运行时间期间被动态优化。这里,程序代码可以包括动态优化代码、二进制代码或其组合。
类似于编译器,诸如二进制翻译器的翻译器静态地或动态地翻译代码以优化和/或翻译代码。因此,对执行代码、应用代码、程序代码或其它软件环境的引用可以参考:(1)动态地或静态地执行(一个或多个)编译器程序、优化代码优化器或者翻译器以编译程序代码、维持软件结构、执行其它操作、优化代码或翻译代码;(2)执行包括操作/调用的主程序代码,例如,已经被优化/编译的应用代码;(3)执行与主程序代码相关联的其它程序代码,例如库,以维持软件结构、执行其它软件相关的操作或优化代码;或(4)上述的组合。
现在参考图20,示出了多核处理器的实施例的框图。如图20的实施例所示,处理器2000包括多个区域。具体地,核区域2030包括多个核2030A—2030N,图形区域2060包括具有媒体引擎2065的一个或多个图形引擎,以及***代理区域2010。
在各种实施例中,***代理区域2010处理功率控制事件和电源管理,使得区域2030和2060的个体单元(例如,核和/或图形引擎)能够被独立控制,以根据发生在给定单元中的活动(或非活动)来在适当的功率模式/级别(例如,活动的、涡轮增压、睡眠、休眠、深度睡眠或其它高级配置电源接口类状态)下进行动态操作。区域2030和2060中的每个可以在不同的电压和/或功率下进行操作,并且此外,区域内的个体单元均可能在独立的频率和电压下进行操作。注意,尽管仅示出三个区域,但是应当理解,本发明的范围并不限于这方面,并且在其它实施例中可能存在附加区域。
如所示,除了各种执行单元和附加处理元件之外,每个核2030还包括低级别高速缓存。这里,各种核彼此耦合并且耦合到由最后级别的高速缓存(LLC)2040A—2040N的多个单元或片段形成的共享高速缓存存储器;这些LLC通常包括存储和高速缓存控制器功能,并且这些LLC在核之间被共享,并且也可能在图形引擎之间被共享。
可以看到,环形互连2050将核耦合在一起,并且经由多个环形停止部2052A—2052N在核区域2030、图形区域2060和***代理电路2010之间提供互连,每个环形停止部处于核和LLC片段之间的耦合。如图20所示,互连2050用于承载各种信息,包括地址信息、数据信息、确认信息和探听/无效信息。尽管示出了环形互连,但是可以利用任何已知的管芯上互连或结构。作为说明性示例,可以以类似的方式利用上面讨论的一些结构(例如,另一个管芯上互连、片上***结构(OSF)、高级微控制器总线架构(AMBA)互连、多维网格结构或其它已知的互连架构)。
如进一步描绘的,***代理区域2010包括显示器引擎2012,其用于提供对相关联的显示器的控制和与之的接口。***代理区域2010可以包括其它单元,例如:集成存储器控制器2020,其提供到***存储器的接口(例如,通过多个DIMM实现的DRAM);用于执行存储器一致性操作的一致性逻辑2022。可以存在多个接口以实现处理器与其它电路之间的互连。例如,在一个实施例中,提供了至少一个直接媒体接口(DMI)2016接口以及一个或多个PCIeTM接口2014。显示器引擎和这些接口典型地经由PCIeTM桥2018耦合到存储器。另外,为了提供其它代理(例如附加处理器或其它电路)之间的通信,可以提供一个或多个其它接口。
现在参考图21,示出了代表性核的框图;具体地,核的后段的逻辑块,例如图20的核2030。通常,图21所示的结构包括无序处理器,其具有前段单元2170,前段单元2170用于提取传入指令,执行各种处理(例如,高速缓存、解码、分支预测等)以及将指令/操作沿着无序(OOO)引擎2180进行传递。OOO引擎2180对经解码的指令执行进一步处理。
具体地,在图21的实施例中,无序引擎2180包括分配单元2182,其用于从前段单元2170接收可以采用一个或多个微指令或者微操作的形式的经解码的指令,并且将它们分配给适当的资源,例如寄存器等。接下来,将指令提供给预留站2184,预留站2184预留资源并调度它们以在多个执行单元2186A—2186N之一上执行。除其它之外,可以存在各种类型的执行单元,包括例如算术逻辑单元(ALU)、加载和存储单元、向量处理单元(VPU)、浮点执行单元。来自这些不同执行单元的结果被提供给重排序缓冲器(ROB)2188,该重排序缓冲器获取未排序的结果并返回它们以校正程序顺序。
仍然参考图21,注意,前段单元2170和无序引擎2180两者耦合到存储器层级的不同级别。具体示出的是指令级别高速缓存2172,其依次耦合到中等级别高速缓存2176,中等级别高速缓存2176又耦合到最后级别高速缓存2195。在一个实施例中,最后级别高速缓存2195实现在片上(有时被称为非核)单元2190中。作为示例,单元2190类似于图20的***代理2010。如上所述,非核2190与***存储器2199进行通信,在示出的实施例中,***存储器2199经由ED RAM被实现。还应当注意,无序引擎2180内的各个执行单元2186与第一级别高速缓存2174通信,该第一级别高速缓存2174还与中等级别高速缓存2176通信。还应当注意,附加核2130N-2—2130N可以耦合到LLC 2195。尽管在图21的实施例中以该高级别示出,应当理解,可能存在各种改变和附加部件。
转到图22,利用包括用于执行指令的执行单元的处理器形成的示例性计算机***的框图,其中例示了根据本发明的一个实施例的实现一个或多个特征的互连中的一个或多个。根据本发明,例如在本描述的实施例中,***2200包括诸如处理器2202的部件,以采用包括用于执行算法的逻辑的执行单元来处理数据。***2200代表了基于PENTIUM IIITM、PENTIUM 4TM、XeonTM、Itanium、XScaleTM和/或StrongARMTM微处理器的处理***,尽管也可以使用其它***(包括具有其它微处理器的PC、工程工作站、机顶盒等)。在一个实施例中,样本***2200执行可从华盛顿州雷德蒙德的微软公司获得的WINDOWSTM操作***的版本,尽管也可以使用其它操作***(例如,UNIX和Linux)、嵌入式软件和/或图形用户界面。因此,本发明的实施例不限于硬件电路和软件的任何特定组合。
实施例不限于计算机***。本发明的替代实施例可以用于诸如手持设备和嵌入式应用的其它设备中。手持设备的一些示例包括蜂窝电话、因特网协议设备、数字照相机、个人数字助理(PDA)和手持PC。嵌入式应用可以包括微控制器、数字信号处理器(DSP)、片上***、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)开关或可以根据至少一个实施例执行一个或多个指令的任何其它***。
在该所示实施例中,处理器2202包括一个或多个执行单元2208以实现用于执行至少一个指令的算法。一个实施例可以在单个处理器台式机或服务器***的上下文中进行描述,但是替代实施例可以被包括在多处理器***中。***2200是‘集线器’***架构的示例。计算机***2200包括用于处理数据信号的处理器2202。作为一个说明性示例,处理器2202包括复杂指令集计算机(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现指令集的组合的处理器、或任何其它处理器设备(例如数字信号处理器)。处理器2202耦合到处理器总线2210,处理器总线2210在处理器2202和***2200中的其它部件之间发射数据信号。***2200的元件(例如,图形加速器2212、存储器控制器集线器2216、存储器2220、I/O控制器集线器2224、无线收发器2226、闪存BIOS 2228、网络控制器2234、音频控制器2236、串行扩展端口2238、I/O控制器2240等)执行熟悉本领域的技术人员所公知的常规功能。
在一个实施例中,处理器2202包括级别1(L1)内部高速缓存存储器2204。取决于架构,处理器2202可以具有单个内部高速缓存或内部高速缓存中的多级。其它实施例取决于特定实施方式和需要而包括内部和外部高速缓存两者的组合。寄存器文件2206用于将不同类型的数据存储在各种寄存器中,所述寄存器包括整数寄存器、浮点寄存器、向量寄存器、分组寄存器、影子寄存器、检查点寄存器、状态寄存器和指令指针寄存器。
包括用于执行整数和浮点运算的逻辑的执行单元2208也驻留在处理器2202中。在一个实施例中,处理器2202包括用于存储微代码的微代码(识别码)ROM,当被执行时,微代码用于执行用于某些宏指令的算法或处理复杂场景。这里,微代码可能是可更新的以处理处理器2202的逻辑漏洞/修复。对于一个实施例,执行单元2208包括用于处理打包的指令集2209的逻辑。通过将打包的指令集2209包括在通用处理器2202的指令集以及用于执行指令的相关联的电路中,可以使用通用处理器2202中的打包的数据来执行许多多媒体应用所使用的操作。因此,通过使用处理器数据总线的全宽度对打包的数据执行操作来更有效地加速和执行许多多媒体应用。这可能消除了对跨处理器的数据总线以一次一个数据元素的方式传输较小的数据单元以执行一个或多个操作的需要。
执行单元2208的替代实施例还可以用于微控制器、嵌入式处理器、图形设备、DSP以及其它类型的逻辑电路。***2200包括存储器2220。存储器2220包括动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪速存储器设备或其它存储器设备。存储器2220存储要由处理器2202执行的数据信号所表示的指令和/或数据。
应当注意,本发明的上述特征或方面中的任一个可以用于图22所示的一个或多个互连上。例如,未示出的用于耦合处理器2202的内部单元的管芯上互连(ODI)实现了本发明上述描述的一个或多个方面。或者,本发明与处理器总线2210(例如,其它已知的高性能计算互连)、到存储器2220的高带宽存储器路径2218、到图形加速器2212的点到点链路(例如,符合***部件互连高速(PCIe)的结构)、控制器集线器互连2222、I/O或用于耦合其它所示部件的其它互连(例如,USB、PCI、PCIe)相关。这种部件的一些示例包括音频控制器2236、固件集线器(闪存BIOS)2228、无线收发器2226、数据储存器2224、包含用户输入和键盘接口2242的传统I/O控制器2210、串行扩展端口2238(例如通用串行总线(USB))以及网络控制器2234。数据存储设备2224可以包括硬盘驱动、软盘驱动、CD-ROM设备、闪存存储器设备或其它大容量存储设备。
现在参考图23,示出了根据本发明的实施例的第二***2300的框图。如图23所示,多处理器***2300是点到点互连***,并且包括经由点到点互连2350耦合的第一处理器2370和第二处理器2380。处理器2370和2380中的每个可以是处理器的某个版本。在一个实施例中,2352和2354是串行、点到点一致性互连结构的一部分,例如,高性能架构。结果,本发明可以在QPI架构内实现。
尽管仅示出了两个处理器2370、2380,但是应当理解的是,本发明的范围并不限于此。在其它实施例中,一个或多个附加的处理器可以存在于给定的处理器中。
处理器2370和2380被示出为分别包括集成存储器控制器单元2372和2382。处理器2370还包括作为其总线控制器单元的一部分的点到点(P-P)接口2376和2378;类似地,第二处理器2380包括P-P接口2386和2388。处理器2370、2380可以经由点到点(P-P)接口2350、使用P-P接口电路2378、2388而交换信息。如图23所示,IMC 2372和2382将处理器耦合到相应的存储器,也即,存储器2332和存储器2334,它们可以是局部附接到相应处理器的主存储器的部分。
处理器2370、2380均使用点到点接口电路2376、2394、2386、2398经由个体P-P接口2352、2354而与芯片组2390交换信息。芯片组2390还经由接口电路2392、沿着高性能图形互连2339与高性能图形电路2338交换信息。
共享高速缓存(未示出)可以被包括在任一处理器中或在两个处理器外部;但仍经由P-P互连与处理器连接,使得在处理器被置于低功率模式的情况下,任一个处理器或这两者的本地高速缓存信息可以被存储在共享高速缓存中。
芯片组2390可以经由接口2396耦合到第一总线2316。在一个实施例中,第一总线2316可以是***部件互连(PCI)总线、或诸如PCI高速总线或另一第三代I/O互连总线的总线,但是本发明的范围不限于此。
如图23所示,各种I/O设备2314被耦合到第一总线2316以及总线桥2318,总线桥2318将第一总线2316耦合到第二总线2320。在一个实施例中,第二总线2320包括低引脚计数(LPC)总线。在一个实施例中,各种设备被耦合到第二总线2320,各种设备包括例如键盘和/或鼠标2322、通信设备2327和存储单元2328,存储单元2328例如磁盘驱动或通常包括指令/代码和数据2330的其它大容量存储设备。此外,音频I/O 2324被示出为耦合到第二总线2320。应当注意的是,其它架构也是可能的,其中包括的部件和互连架构会变化。例如,代替图23的点到点架构,***可以实现多点总线或其它这种架构。
接下来转到图24,描绘了根据本发明的片上***(SOC)设计的实施例。作为特定的说明性示例,SOC 2400被包括在用户设备(UE)中。在一个实施例中,UE指代由最终用户使用以进行通信的任何设备,例如手持式电话、智能电话、平板电脑、超薄笔记本、具有宽带适配器的笔记本、或任何其它类似的通信设备。通常,UE连接到基站或节点,其可能在本质上对应于GSM网络中的移动站(MS)。
在此,SOC 2400包括两个核——2406和2407。与上面的讨论类似,核2406和2407可以符合指令集架构,例如基于 Architecture CoreTM的处理器、先进微器件公司(AMD)处理器、基于MIPS的处理器、基于ARM的处理器设计、或它们的消费者、以及它们的被许可方或采用方。核2406和2407耦合到与总线接口单元2409和用于与***2400的其它部分进行通信的L2高速缓存2411相关联的高速缓存控制2408。互连2410包括片上互连,例如IOSF、AMBA、或上面讨论的其它互连,这可能实现本文描述的一个或多个方面。
接口2410将通信信道提供给其它部件,例如用于与SIM卡接口连接的用户身份识别模块(SIM)2430,用于保持由核2406和2407执行以初始化并引导SOC 2400的引导代码的引导ROM 2435,用于与外部存储器(例如,DRAM 2460)接口连接的SDRAM控制器2440,用于与非易失性存储器(例如,闪存2465)接口连接的闪存控制器2445,用于与***设备接口连接的***控制2450(例如,串行***接口),用于显示和接收输入(例如,触摸启用的输入)的视频编解码器2420和视频接口2425,用于执行图形相关的计算的GPU 2415等。这些接口中的任一个可以结合本文描述的发明的各方面。
此外,该***示出了用于通信的***设备,例如蓝牙模块2470、3G调制解调器2475、GPS 2485、和WiFi 2485。如上面指出的,UE包括用于通信的无线电。作为结果,并不需要所有这些***通信模块。然而,在UE中,用于外部通信的某些形式的无线电将被包括在内。
图25至图28提供与生成伪随机比特序列(PRBS)相关的附加细节。PRBS是例如根据本说明书的测试和操作互连的重要的要素。具体地,如图4所示,存在可以使用PRBS的几个状态。为了测试和表征的目的,回环(LOOPBACK)、居中(CENTERING)和重新居中(RECENTERING)状态可能需要PRBS。对于加扰微片,活动(ACTIVE)状态可能需要PRBS。
例如,LOOPBACK状态可以用于对测试芯片执行电气验证。在指定的测试实验室中,LOOPBACK状态可能仅用于实验室测试目的,并且可能只能经由只能由经授权的测试人员访问的加密接口。这些测试人员可以对选择的测试芯片执行电气表征,其可以是制造的所有芯片的统计学显著样品。电气表征可以允许测试工程师掩盖错误检查并且应用测试模式。然后,测试工程师可以观察错误条件以探测芯片的操作参数的外部界限。
例如,测试工程师可以观察在每个时钟周期的上升沿和下降沿二者的数据,因为接口可以提供双倍数据速率(DDR)操作。错误可以发生在两个边缘处或其中一个边缘处或不发生在这两个边缘处。通过观察某些边沿处的错误的发生和再发生,测试工程师能够为上升沿和下降沿两者确定接口的操作限制。因为两个边沿被单独检查,所以测试工程师可以非常详细地确定有多少裕量可用于电气表征中。
然而,当芯片被运到最终用户以用于正常操作时,LOOPBACK状态可以被完全锁定,使得它不能由用户访问。例如,这确保恶意用户或黑客无法经由LOOPBACK模式而损害其它用户的机器。
在测试中,互连可能需要从LOOPBACK模式转换到另一个模式,如CENTERING。然而,因为LOOPBACK模式的特性是芯片的压力测试,所以接口可能不处于将允许“飞快地”进入CENTERING的平滑转换的已知的良好状态。因此,在实施例中,发射机和接收机经由边带进行通信,发送带外指令以进入CENTERING。这允许发送器和接收机进入CENTERING,其中时钟可以移动到有效的、可操作的状态。
PRBS的另一个重要的应用是在CENTERING和RECENTERING状态。在一个示例中,居中包括三个阶段。
在用硬件执行的第一阶段中,执行相位居中(“水平居中”)以在时钟信号中找到相移φ的极限,该极限提供有效数据。互连可以为时钟信号的相移提供上下限,其中离散数量的离散、量化的相位设置跨该范围规律地分布。在相位居中中,互连通过在每个相位设置处将唯一的、非相关PRBS驱动到每个通道上而执行在每个数据通道上的多个量化的相位设置的扫描,该PRBS在示例中是8兆比特序列。然后,互连记录扫描中的每个相位设置所遇到的合计总错误。在大多数情况下,相移的上限和下限可以通过选择在其中遇到可接受的错误率(例如零错误)的边界值来确定。在这些边界之间的值还应该具有可接受的错误率。然后可以在具有可接受的错误率的最高相位设置和最低相位设置之间的中点处选择值,并且该相位值可以被选择为中心或“标称”相位设置。
在可以用硬件和/或软件来执行的第二阶段中,执行电压居中。这是选择适当的参考电压Vref用于时钟信号。类似于相位扫描,扫描多个量化的电压设置,其中唯一的、非相关的PRBS被驱动到每个通道上,并且每次扫描的错误的总数量被累计。然后根据产生可接受的错误率(例如零错误)的最高和最低电压值来选择电压边界。中心电压被选择在两者之间的中点,并且可以被用作Vref的标称值。该方法可以被称为“1.5-D”扫描,因为Vref仅在优选的φ值处被扫描。在其它情况下,可以执行真正的2D扫描,其中Vref在整个φ范围内被扫描。
在第三阶段中,一旦水平相位居中和垂直电压居中均被执行,则可以通过将上面计算的四个端点连接成菱形形状而构建二维“眼睛”。也可以选择沿菱形的边沿的四个拐点。四个端点和四个拐点均通过驱动PRBS到每个通道上而被测试。在这种情况下,为了执行更严格的压力测试,正在测试的通道被设置为“受害方”通道。如图25A和25B所示,受害方通道的相邻的和邻近的通道被用作侵害方通道。每个侵害方通道接收被驱动到受害方通道上的PRBS的二进制倒数。这确保了串扰的最大化,使得通道可以在最坏的情况下被适当地检查。
如果8个点中的任一点未通过压力测试,则该点可以朝“眼睛”的中心向内调节。这确保了眼睛内的每个点表示具有可接受错误率(例如零误差)的可使用值。在8个可使用点被找到后,计算中心,并且在正常操作期间可以将该中心用作标称操作值。
无论是在操作中,还是在由测试工程师进行测试时,在CENTERING之后,互连准备好进入ACTIVE状态。
在一些示例中,还期望在ACTIVE状态期间执行“加扰”以保护互连免受不必要的共振。例如,在一些情况下,代理可能需要反复地写入单个存储器位置或从单个存储器位置读取。不断地驱动该单个比特模式到总线上能够引起共振,这可能会导致电气不平衡,这在一些情况下甚至能够损坏总线或电源。因此,期望对传入的微片进行加扰,以确保没有单个值被重复地写入到同一数据线。在加扰的示例中,链路层从发送器发送微片到接收机。在PHY层上,使微片与PRBS进行XOR,以确保总线本身上的适合的随机性。地址然后可以与相同的值进行XOR以重构原始微片。
如果在ACTIVE状态期间,遇到不可接受的错误率,例如在1012数据比特中多于一个错误,则该互连可以进入仅硬件RECENTERING状态。该状态是仅因为硬件处于ACTIVE状态,所以互连处于计算机内的操作状态,这意味着BIOS不再可用于向互连提供软件。在RECENTERING中,互连执行仅硬件相位扫描以再次选择最佳的标称相位值。这可能是必要的,因为诸如压力和温度的操作参数可能引起电气“漂移”,使得最初选择的相位值不再有效。在提供了足够的硬件指令的情况下,还可以在RECENTERING中执行Vref居中和/或眼睛居中。
由于PRBS在执行这些关键功能时的重要性,期望构建具有足够大小和伪随机性的鲁棒的PRBS,以满足测试条件。
在示例中,由线性反馈移位寄存器(LFSR)提供PRBS,如图26中公开的LFSR。LFSR是其输出为其前一状态的线性函数的寄存器。LFSR以确定的、伪随机模式循环通过所有可用值。因此,n-比特LFSR提供2n-1个总伪随机值,覆盖除了二进制0的每个可能值。可以提供初始“种子”值以确保LFSR不会总是以相同的值开始,而总是以相同的值开始将提供过于可预测的模式。在示例中,具体提供斐波那契LFSR。如果PRBS是时间移位的,则它变为与原始PRBS不相关。利用LFSR,可以通过使用来自LFSR的两个比特的XOR的值(如在图26中的XOR的第一列所示)来完成时间移位。
LFSR提供如本文所公开的优点,但应注意,本说明书的教导不限于斐波那契LFSR,并且应当理解,与本说明书的教导可兼容且可操作的任何适合的移位寄存器或其它伪随机比特生成器可以在适当情况下被替代。
图26公开了具体示例,其中LFSR是斐波那契LFSR。斐波那契LFSR的有用特征是,LFSR的每次顺序读取产生的PRBS是前一PRBS的时间延迟版本。例如,在回环到0101之前,四比特LFSR可以提供值0101、1010、1101、1110、1111、0111、0011、0001、1000、0100、0010、1001、1100、0110和1011。在每个阶段,至少两个有效比特彼此进行XOR并且被提供作为最新的有效比特,而其它三个比特向右移位。
图26的LFSR是23比特LFSR。尽管数字大得多,但是其根据与上面关于四比特LFSR所讨论的相同的原理和理论进行操作。
在示例中,互连的操作速度是8GHz。然而,LFSR时钟仅能够以低得多的速度(例如1GHz)驱动触发器。因此,在LFSR的每个时钟,已经在互连上经过了8UI。因此,可能需要LFSR在每个时钟周期提供PRBS的8个单位间隔(UI)。因为图26的LFSR的输出是确定的,所以可以根据下表来确定性地计算出接下来的8个状态。
表2
因此,在每个时钟,可以由LFSR 2600输出PRBS数据的8UI。该预先计算是可能的,具体是因为LFSR是线性寄存器。
在某些现有的实施方式中,当在本文讨论的状态中的任一状态中需要PRBS时,若干PRBS可以被选择,并且可以跨多个通道被重复。例如,利用20个数据通道,可以提供5个PRBS,其中每个在总线上重复四次。然而,本说明书的申请人已经认识到,有利的是反而提供20个唯一的、非相关PRBS,使得每个通道具有它自己唯一的PRBS。
例如,这可以由图26的电路完成。在图26中,仅通过说明,示出了用于提供五个非相关PRBS的设计。为了简化示图,这仅通过示例的方式被公开。图26的配置可以扩展到任何数量的必要的通道,如下表3所示。在该示例中,挑选单个比特作为公共(或固定)比特,具体地,比特23。通过非限制性示例,挑选比特23,并且在理论上可以挑选任何比特用于公共比特。然而,挑选比特23实现了优点,特别是因为必要的XOR树对于固定比特右边的任何“活动”比特是更复杂的。通过挑选比特23作为固定比特,没有任何“活动”比特需要在XOR树中增加复杂性。
表3
如图27和28所示,利用一些附加的配置,单个LFSR可以被配置以服务于需要PRBS的任何状态。这些图标识XOR树,其可以参考上面的表3来理解。每行对应于UI并且每列对应于指定通道上使用的PRBS。例如,在UI 7中,通道1PRBS是比特13和比特12的XOR。将这推广到LFSR中的任何比特,比特13将由XOR树来代替,并且比特12由不同的XOR树来替代。对于表3中定义的22个PRBS,在下表4中示出XOR树。对于UI 0值,使用上面的表3;对UI 1值,将D1表用于表3的fib输入(例如,fib输入1是行1,其是LFSR的比特23和5的XOR树,fib输入2是LFSR的比特1,比特23是LFSR的比特22,依此类推)。以类似的方式,可以从表D2至D7分别推导出UI 2到7。D8表示出了针对下一个8UI循环的需要被时钟控制的LFSR的各比特的输入,例如比特3和6和21的XOR被时钟控制到比特1,等等。
表4
在图27中,LFSR 2710提供了PRBS。附加电路可操作用于提供PRBS的延迟版本。具体地,LFSR 2710提供活动通道PRBS和固定PRBS(表2中的前一示例中的比特23)。这些PRBS从适当大小的XOR树2720、2730中获得。XOR树具有针对比特数量的适当大小和配置,例如在每时钟周期提供输出的8个比特以考虑LFSR和互连之间的时钟速率的差异的示例中的8比特。然后,每个XOR树2720、2730的8个输出被提供给执行针对8比特的8个XOR运算的8个XOR块。最后,在块2750中,提供了用于该活动通道的8UI的8个输出比特。
转到图28,提供附加的灵活性,使得不仅可以提供PRBS,还可以提供侵害方和中立方PRBS。
在图28中,块2710、2720、2730、2470和2750在功能上等同于图27中的对应块。如所示,XOR树2720的输出为0或1。还提供三路多路复用器2810,并且选择2820可以是“通过”、0、或1中的一个。
当MUX 2810被设置为0时,XOR树2730的PRBS被提供为框2740的输出,使得固定PRBS用于受害方通道。当MUX 2810被设置为1时,固定PRBS被二进制反转,使得它可以用于侵害方通道。在“通过”模式中,XOR树2720的输出简单地通过以与XOR树2730的输出进行XOR,其简单地提供了如图27所示的时间移位的PRBS,因此提供了中立的或非相关的PRBS。
在操作中,MUX 2810的通过模式可以用于居中的阶段1和2的通道中的每个通道,以用于重新居中,以及用于在ACTIVE状态中的普通加扰,以及用于在LOOPBACK状态中的测试。
针对居中或测试的阶段3,其中需要受害方、侵害方和中立方通道,针对受害方通道,块2820被设置为0。这提供了受害方PRBS。针对侵害方通道,块2020被设置为1。这提供了侵害方PRBS。针对中立方通道,使用“通过”模式,使得与受害方或侵害方不相关的某些其它模式被提供。
如表1所示,用于每个通道的唯一的非相关PRBS可以由LFSR的两个比特的XOR或更一般地由时间移位的PRBS的XOR推导出。表3中的固定PRBS概念允许容易地创建受害方、侵害方和中立方PRBS,但是将这种PRBS的数量限制到22。如果需要更多的这种PRBS,则可以从该LFSR或从副本斐波那契LFSR中使用不同的种子来挑选附加固定比特。
尽管已经参考有限数量的实施例描述了本发明,本领域技术人员将从中理解许多修改和变化。旨在使所附权利要求覆盖落入本发明的真实精神和范围内的所有这种修改和变化。
设计可以经历各种阶段,从创建到模拟到制造。表示设计的数据可以用多种方式来表示设计。首先,正如在模拟中所使用的,可以使用硬件描述语言或另一功能描述语言来表示硬件。此外,在设计过程的一些阶段,可以产生具有逻辑和/或晶体管门的电路级模型。此外,在某个阶段,大多数设计达到在硬件模型中表示各种设备的物理布局的数据级别。在使用了常规半导体制造技术的情况下,表示硬件模型的数据可以是指定在用于产生集成电路的掩模的不同掩模层上存在还是缺少各种特征的数据。在设计的任何表示中,数据可以被存储在任何形式的机器可读介质中。存储器或者磁或光存储(例如光盘)可以是用于存储经由光波或电波发射的信息的机器可读介质,光波或电波被调制或以其它方式被生成以发射这种信息。当指示或携带代码或设计的电载波被发射时,就执行电信号的复制、缓冲或重传来说,产生新的副本。因此,通信提供商或网络提供商可以将诸如被编码成载波的信息的项目至少暂时地存储在有形的机器可读介质上,体现了本发明的实施例的技术。
如本文中所使用的模块是指任硬件、软件和/或固件的任何组合。作为示例,模块包括诸如微控制器的与非暂时性介质相关联的硬件,以存储适于由微控制器执行的代码。因此,在一个实施例中,对模块的引用指代硬件,其具体被配置为识别和/或执行保持在非暂时性介质上的代码。此外,在另一个实施例中,模块的使用指代包括代码的非暂时性介质,这特别适合于由微控制器执行以执行预定操作。并且如可以推断的,在又一个实施例中,术语模块(在该示例中)可以指代微控制器和非暂时性介质的组合。通常,被示为分开的模块边界通常会发生变化并且可能重叠。例如,第一模块和第二模块可以共享硬件、软件、固件、或其组合,同时可能保留某些独立的硬件、软件、或固件。在一个实施例中,术语逻辑的使用包括硬件,例如晶体管、寄存器、或其它硬件,例如可编程逻辑器件。
在一个实施例中,短语“被配置为”的使用指代布置、放置在一起、制造、提供销售、进口和/或设计装置、硬件、逻辑或元件以执行指定或确定的任务。在该示例中,装置或其元件不工作时仍“被配置为”执行指定的任务,如果它被设计、耦合、和/或互连以执行所述指定的任务。作为纯粹说明性示例中,逻辑门可以在操作期间提供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)、磁卡或光卡、闪存、或在经由电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)通过因特网传输信息时所使用的有形机器可读储存器。因此,计算机可读介质包括适合于以由机器(例如,计算机)可读的形式存储或发射电子指令或信息的任何类型的有形机器可读介质。
下面的示例涉及根据本说明书的实施例。一个或多个实施例可以提供一种装置、一种***、一种机器可读储存器、一种机器可读介质、基于硬件和/或软件的逻辑、以及一种方法,其用于接收物理链路的一个或多个数据通道上的数据、接收物理链路的通道中的另一个通道上的有效信号、以及接收物理链路的通道中的另一个通道上的标识一个或多个数据通道上的数据的类型的流信号,其中所述有效信号标识有效数据跟随所述一个或多个数据通道上的所述有效信号的断定。
在示例中,一种互连装置包括:n个数据通道;以及伪随机比特序列(PRBS)生成器,所述PRBS生成器用于向所述n个数据通道中的每个数据通道提供单独的并且非相关的PRBS。
在至少一个示例中,所述PRBS生成器还包括固定比特,并且其中,所述PRBS生成器用于通过在固定比特和至少一个其它比特之间执行逻辑运算,来向所述n个数据通道中的每个数据通道提供单独的非相关的PRBS。
在至少一个示例中,逻辑运算是异或。
在至少一个示例中,所述PRBS生成器是线性反馈移位寄存器(LFSR)。
在至少一个示例中,所述LFSR是斐波那契LFSR。
在至少一个示例中,所述互连装置还包括互连时钟,并且其中,所述PRBS生成器还包括PRBS时钟,其中,所述PRBS时钟用于以所述互连时钟的周期的1/t的周期进行操作,并且其中,所述PRBS生成器用于在每个PRBS时钟上提供PRBS数据的t个比特。
在至少一个示例中,所述互连装置还包括选择电路,所述选择电路用于提供至少三个模式,其包括:第一模式,其中在没有变化的情况下提供比特序列;第二模式,其中所述比特序列被按位反转;以及第三模式,其用于提供非相关的PRBS。
在至少一个示例中,所述第一模式是受害方通道模式,所述第二模式是侵害方通道模式,并且所述第三模式是中立方模式。
在至少一个示例中,所述PRBS生成器包括用于提供PRBS的线性反馈移位寄存器(LFSR)以及用于提供所述PRBS的时间移位版本的延迟电路。
在至少一个示例中,所述PRBS生成器包括:用于根据第一种子提供PRBS的第一线性反馈移位寄存器(LFSR),以及用于根据第二种子提供所述PRBS的时间移位版本的第二LFSR。
在至少一个示例中,所述互连装置还包括边带,并且其中,所述互连装置用于提供状态机,所述状态机至少包括回环状态和居中状态,其中,用于从居中状态前进到回环状态的条件包括接收到所述边带上的消息。
还通过示例的方式提供了一种***,其包括:第一代理;第二代理;以及用于将所述第一代理通信地耦合到所述第二代理的互连,所述互连包括:n个数据通道;以及伪随机比特序列(PRBS)生成器,所述PRBS生成器用于向所述n个数据通道中的每个数据通道提供单独的并且非相关的PRBS。
在至少一个示例中,PRBS生成器还包括固定比特,并且其中,所述PRBS生成器用于通过在固定比特和至少一个其它比特之间执行逻辑运算,来向所述n个数据通道中的每个数据通道提供单独的非相关的PRBS。
在至少一个示例中,所述逻辑运算是异或。
在至少一个示例中,所述PRBS生成器是线性反馈移位寄存器(LFSR)。
在至少一个示例中,所述LFSR是斐波那契LFSR。
在至少一个示例中,所述***还包括互连时钟,并且其中,所述PRBS生成器还包括PRBS时钟,其中,所述PRBS时钟用于以所述互连时钟的周期的1/t的周期进行操作,并且其中,所述PRBS生成器用于在每个PRBS时钟上提供PRBS数据的t个比特。
在至少一个示例中,所述***还包括选择电路,所述选择电路用于提供至少三个模式,其包括:第一模式,其中在没有变化的情况下提供比特序列;第二模式,其中所述比特序列被按位反转;以及第三模式,其用于提供非相关的PRBS。
在至少一个示例中,所述第一模式是受害方通道模式,所述第二模式是侵害方通道模式,并且所述第三模式是中立方模式。
在至少一个示例中,所述PRBS生成器包括用于提供PRBS的线性反馈移位寄存器(LFSR)以及用于提供所述PRBS的时间移位版本的延迟电路。
在至少一个示例中,所述PRBS生成器包括用于根据第一种子提供PRBS的第一线性反馈移位寄存器(LFSR)、以及用于根据第二种子提供所述PRBS的时间移位版本的第二LFSR。
在至少一个示例中,所述***还包括边带,并且其中,所述互连装置用于提供状态机,所述状态机至少包括回环状态和居中状态,其中,用于从所述居中状态前进到回环状态的条件包括接收到所述边带上的消息。
还通过示例的方式提供了一种向互连的n个数据通道中的每个数据通道提供唯一的、非相关的伪随机比特序列(PRBS)的方法,所述方法包括:生成用于每个数据通道的唯一的、非相关的PRBS,其包括在固定比特与至少一个其它比特之间执行按位逻辑运算。
在至少一个示例中,所述逻辑运算是异或。
在至少一个示例中,所述方法还包括在每个PRBS时钟上计算并提供PRBS数据的t个比特,其中,t>1。
在至少一个示例中,所述方法还包括在至少三个模式之间进行选择,所述至少三个模式包括:第一模式,其中在没有变化的情况下提供比特序列;第二模式,其中所述比特序列被按位反转;以及第三模式,其用于提供非相关的PRBS。
在至少一个示例中,所述第一模式是受害方通道模式,所述第二模式是侵害方通道模式,并且所述第三模式是中立方模式。
在至少一个示例中,生成所述唯一的、非相关的PRBS包括操作线性反馈移位寄存器(LFSR)以提供PRBS,以及操作延迟电路以提供所述PRBS的时间移位版本。
在至少一个示例中,生成所述唯一的、非相关的PRBS包括利用第一种子使第一线性反馈移位寄存器(LFSR)产生结果以提供PRBS,以及利用第二种子使第二LFSR产生结果以提供所述PRBS的时间移位版本。
在至少一个示例中,所述方法还包括操作状态机,所述状态机至少包括回环状态和居中状态,并且从所述居中状态前进到回环状态包括接收到边带上的消息。
贯穿本说明书对“一个实施例”或“实施例”的引用意味着结合实施例所描述的特定特征、结构、或特性被包括在本发明的至少一个实施例中。因此,贯穿本说明书各处出现的短语“在一个实施例中”或“在实施例中”并不一定全部指代同一个实施例。另外,特定特征、结构、或特性可以以任何适合的方式被组合在一个或多个实施例中。
在上述说明书中,已经参考特定的示例性实施例给出了具体实施方式。然而,显然可以对其作出各种修改和变化而不脱离在所附权利要求中阐述的本发明的更宽的精神和范围。因此,应以说明性意义而非限制性意义考虑说明书和附图。此外,实施例和其它示例性语言的前述使用不一定指代同一个实施例或同一个示例,而是可以指代不同的和有区别的实施例,并且可能是相同的实施例。
Claims (30)
1.一种互连装置,包括:
n个数据通道;以及
伪随机比特序列(PRBS)生成器,所述PRBS生成器用于向所述n个数据通道中的每个数据通道提供单独的并且非相关的PRBS。
2.根据权利要求1所述的装置,其中,所述PRBS生成器还包括固定比特,并且其中,所述PRBS生成器用于通过在所述固定比特与至少一个其它比特之间执行逻辑运算,来向所述n个数据通道中的每个数据通道提供单独的非相关的PRBS。
3.根据权利要求2所述的装置,其中,所述逻辑运算是异或。
4.根据权利要求1所述的互连装置,其中,所述PRBS生成器是线性反馈移位寄存器(LFSR)。
5.根据权利要求4所述的互连装置,其中,所述LFSR是斐波那契LFSR。
6.根据权利要求1所述的互连装置,还包括互连时钟,并且其中,所述PRBS生成器还包括PRBS时钟,其中,所述PRBS时钟用于以所述互连时钟的周期的1/t的周期进行操作,并且其中,所述PRBS生成器用于在每个PRBS时钟上提供PRBS数据的t个比特。
7.根据权利要求1所述的互连装置,还包括选择电路,所述选择电路用于提供至少三个模式,所述至少三个模式包括:第一模式,其中在没有变化的情况下提供比特序列;第二模式,其中所述比特序列被按位反转;以及第三模式,其用于提供非相关的PRBS。
8.根据权利要求7所述的互连装置,其中,所述第一模式是受害方通道模式,所述第二模式是侵害方通道模式,并且所述第三模式是中立方模式。
9.根据权利要求1-8中任一项所述的互连装置,其中,所述PRBS生成器包括用于提供PRBS的线性反馈移位寄存器(LFSR)、以及用于提供所述PRBS的时间移位版本的延迟电路。
10.根据权利要求1-8中任一项所述的互连装置,其中,所述PRBS生成器包括用于根据第一种子提供PRBS的第一线性反馈移位寄存器(LFSR)、以及用于根据第二种子提供所述PRBS的时间移位版本的第二LFSR。
11.根据权利要求1-8中任一项所述的互连装置,还包括边带,并且其中,所述互连装置用于提供状态机,所述状态机至少包括回环状态和居中状态,其中,用于从所述居中状态前进到回环状态的条件包括接收到所述边带上的消息。
12.一种***,包括:
第一代理;
第二代理;以及
互连,其用于将所述第一代理通信地耦合到所述第二代理,所述互连包括:
n个数据通道;以及
伪随机比特序列(PRBS)生成器,所述PRBS生成器用于向所述n个数据通道中的每个数据通道提供单独的并且非相关的PRBS。
13.根据权利要求12所述的***,其中,所述PRBS生成器还包括固定比特,并且其中,所述PRBS生成器用于通过在所述固定比特与至少一个其它比特之间执行逻辑运算,来向所述n个数据通道中的每个数据通道提供单独的非相关的PRBS。
14.根据权利要求13所述的***,其中,所述逻辑运算是异或。
15.根据权利要求12所述的***,其中,所述PRBS生成器是线性反馈移位寄存器(LFSR)。
16.根据权利要求15所述的***,其中,所述LFSR是斐波那契LFSR。
17.根据权利要求12-15中任一项所述的***,还包括互连时钟,并且其中,所述PRBS生成器还包括PRBS时钟,其中,所述PRBS时钟用于以所述互连时钟的周期的1/t的周期进行操作,并且其中,所述PRBS生成器用于在每个PRBS时钟上提供PRBS数据的t个比特。
18.根据权利要求12-15中任一项所述的***,还包括选择电路,所述选择电路用于提供至少三个模式,所述至少三个模式包括:第一模式,其中在没有变化的情况下提供比特序列;第二模式,其中所述比特序列被按位反转;以及第三模式,其用于提供非相关的PRBS。
19.根据权利要求18所述的***,其中,所述第一模式是受害方通道模式,所述第二模式是侵害方通道模式,并且所述第三模式是中立方模式。
20.根据权利要求12-15中任一项所述的***,其中,所述PRBS生成器包括用于提供PRBS的线性反馈移位寄存器(LFSR)、以及用于提供所述PRBS的时间移位版本的延迟电路。
21.根据权利要求12-15中任一项所述的***,其中,所述PRBS生成器包括用于根据第一种子提供PRBS的第一线性反馈移位寄存器(LFSR)、以及用于根据第二种子提供所述PRBS的时间移位版本的第二LFSR。
22.根据权利要求12-15中任一项所述的***,还包括边带,并且其中,所述互连装置用于提供状态机,所述状态机至少包括回环状态和居中状态,其中,用于从所述居中状态前进到回环状态的条件包括接收到所述边带上的消息。
23.一种向互连的n个数据通道中的每个数据通道提供唯一的、非相关的伪随机比特序列(PRBS)的方法,所述方法包括:
针对每个数据通道生成唯一的、非相关的PRBS,其包括在固定比特与至少一个其它比特之间执行按位逻辑运算。
24.根据权利要求23所述的方法,其中,所述逻辑运算是异或。
25.根据权利要求23所述的方法,还包括在每个PRBS时钟上计算并提供PRBS数据的t个比特,其中,t>1。
26.根据权利要求23所述的方法,还包括在至少三个模式之间进行选择,所述至少三个模式包括:第一模式,其中在没有变化的情况下提供比特序列;第二模式,其中所述比特序列被按位反转;以及第三模式,其用于提供非相关的PRBS。
27.根据权利要求26所述的方法,其中,所述第一模式是受害方通道模式,所述第二模式是侵害方通道模式,并且所述第三模式是中立方模式。
28.根据权利要求23所述的方法,其中,生成所述唯一的、非相关的PRBS包括操作线性反馈移位寄存器(LFSR)以提供PRBS,以及操作延迟电路以提供所述PRBS的时间移位版本。
29.根据权利要求23所述的方法,其中,生成所述唯一的、非相关的PRBS包括利用第一种子使第一线性反馈移位寄存器(LFSR)产生结果以提供PRBS,以及利用第二种子使第二LFSR产生结果以提供所述PRBS的时间移位版本。
30.根据权利要求23所述的方法,还包括操作状态机,所述状态机至少包括回环状态和居中状态,并且从所述居中状态前进到回环状态包括接收到边带上的消息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/669,743 US20160285624A1 (en) | 2015-03-26 | 2015-03-26 | Pseudorandom bit sequences in an interconnect |
US14/669,743 | 2015-03-26 | ||
PCT/US2016/018842 WO2016153662A1 (en) | 2015-03-26 | 2016-02-22 | Pseudorandom bit sequences in an interconnect |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107408032A true CN107408032A (zh) | 2017-11-28 |
CN107408032B CN107408032B (zh) | 2022-05-24 |
Family
ID=56975817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680012437.4A Active CN107408032B (zh) | 2015-03-26 | 2016-02-22 | 互连中的伪随机比特序列 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20160285624A1 (zh) |
CN (1) | CN107408032B (zh) |
WO (1) | WO2016153662A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109765482A (zh) * | 2019-03-11 | 2019-05-17 | 世芯电子科技(无锡)有限公司 | 一种多芯片间高速互连测试方法 |
CN110059041A (zh) * | 2019-03-22 | 2019-07-26 | 上海交通大学 | 传输*** |
CN111338602A (zh) * | 2020-04-02 | 2020-06-26 | 北京大学 | 一种用于随机计算的比特流生成器及生成方法 |
CN112363826A (zh) * | 2020-10-23 | 2021-02-12 | 国网山东省电力公司日照供电公司 | 一种项目资源综合管理***、方法、终端及存储介质 |
CN112953556A (zh) * | 2021-02-05 | 2021-06-11 | 南京大学 | 基于斐波那契数列的抗串扰互联的编解码器及编码方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102266733B1 (ko) * | 2015-06-05 | 2021-06-22 | 삼성전자주식회사 | 데이터 스토리지 및 그것의 동작 방법 |
US10003362B2 (en) * | 2015-11-05 | 2018-06-19 | Nvidia Corporation | Safe communication mode for a high speed link |
US10846258B2 (en) * | 2016-09-30 | 2020-11-24 | Intel Corporation | Voltage modulated control lane |
US10680810B2 (en) * | 2016-10-26 | 2020-06-09 | Nxp B.V. | Method of generating an elliptic curve cryptographic key pair |
US11016920B2 (en) * | 2016-12-30 | 2021-05-25 | Intel Corporation | Adaptive calibration technique for cross talk cancellation |
US11116072B2 (en) * | 2017-07-05 | 2021-09-07 | Intel Corporation | Discrete circuit having cross-talk noise cancellation circuitry and method thereof |
US10484714B2 (en) * | 2017-09-27 | 2019-11-19 | Intel Corporation | Codec for multi-camera compression |
US10735826B2 (en) * | 2017-12-20 | 2020-08-04 | Intel Corporation | Free dimension format and codec |
KR102685395B1 (ko) | 2019-06-05 | 2024-07-15 | 삼성전자주식회사 | 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법 |
US11487683B2 (en) | 2020-04-15 | 2022-11-01 | AyDeeKay LLC | Seamlessly integrated microcontroller chip |
US11720516B2 (en) | 2021-08-15 | 2023-08-08 | Apple Inc. | Methods for data bus inversion |
US11836107B2 (en) | 2022-03-01 | 2023-12-05 | Apple Inc. | Power consumption control based on random bus inversion |
US11803437B1 (en) * | 2022-06-30 | 2023-10-31 | Advanced Micro Devices, Inc. | Write hardware training acceleration |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04192830A (ja) * | 1990-11-27 | 1992-07-13 | Anritsu Corp | 試験装置 |
US20020114307A1 (en) * | 1999-07-20 | 2002-08-22 | Christoffer Apneseth | Method and configuration for wireless information transmission and information system for a machine exhibiting a multiplicity of sensors and/or actuators |
US20030126168A1 (en) * | 2001-12-27 | 2003-07-03 | Lightscape Networks Ltd. | Technique for high speed PRBS generation |
CN102314332A (zh) * | 2011-07-27 | 2012-01-11 | 中国科学院计算机网络信息中心 | 伪随机数生成装置和方法 |
US20130055039A1 (en) * | 2011-08-30 | 2013-02-28 | Glenn A. Dearth | Fully Programmable Parallel PRBS Generator |
US20140112339A1 (en) * | 2012-10-22 | 2014-04-24 | Robert J. Safranek | High performance interconnect |
US20140254640A1 (en) * | 2013-03-11 | 2014-09-11 | Kent C. Lusted | De-correlating training pattern sequences between lanes in high-speed multi-lane links and interconnects |
CN104380639A (zh) * | 2013-04-27 | 2015-02-25 | 华为技术有限公司 | 一种信号发送和检测方法及收发器、控制实体 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0013355D0 (en) * | 2000-06-01 | 2000-07-26 | Tao Group Ltd | Parallel modulo arithmetic using bitwise logical operations |
US7694202B2 (en) * | 2004-01-28 | 2010-04-06 | Micron Technology, Inc. | Providing memory test patterns for DLL calibration |
US7492807B1 (en) * | 2008-04-07 | 2009-02-17 | International Business Machines Corporation | Pseudo-random bit sequence (PRBS) synchronization for interconnects with dual-tap scrambling devices and methods |
US8565271B2 (en) * | 2011-04-01 | 2013-10-22 | Opnext Subsystems, Inc. | Multiplexer lane alignment for high-speed data systems |
-
2015
- 2015-03-26 US US14/669,743 patent/US20160285624A1/en not_active Abandoned
-
2016
- 2016-02-22 CN CN201680012437.4A patent/CN107408032B/zh active Active
- 2016-02-22 WO PCT/US2016/018842 patent/WO2016153662A1/en active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04192830A (ja) * | 1990-11-27 | 1992-07-13 | Anritsu Corp | 試験装置 |
US20020114307A1 (en) * | 1999-07-20 | 2002-08-22 | Christoffer Apneseth | Method and configuration for wireless information transmission and information system for a machine exhibiting a multiplicity of sensors and/or actuators |
US20030126168A1 (en) * | 2001-12-27 | 2003-07-03 | Lightscape Networks Ltd. | Technique for high speed PRBS generation |
CN102314332A (zh) * | 2011-07-27 | 2012-01-11 | 中国科学院计算机网络信息中心 | 伪随机数生成装置和方法 |
US20130055039A1 (en) * | 2011-08-30 | 2013-02-28 | Glenn A. Dearth | Fully Programmable Parallel PRBS Generator |
US20140112339A1 (en) * | 2012-10-22 | 2014-04-24 | Robert J. Safranek | High performance interconnect |
US20150067207A1 (en) * | 2012-10-22 | 2015-03-05 | Intel Corporation | High performance interconnect physical layer |
US20140254640A1 (en) * | 2013-03-11 | 2014-09-11 | Kent C. Lusted | De-correlating training pattern sequences between lanes in high-speed multi-lane links and interconnects |
CN104380639A (zh) * | 2013-04-27 | 2015-02-25 | 华为技术有限公司 | 一种信号发送和检测方法及收发器、控制实体 |
Non-Patent Citations (2)
Title |
---|
JIAN-HAO LU 等: "A Merged CMOS Digital Near-End Crosstalk Canceller and Analog Equalizer for Multi-Lane Serial-Link Receivers", 《 IEEE JOURNAL OF SOLID-STATE CIRCUITS》 * |
刘序宗等: "基于LVDS技术的高密度信号同步传输在BESⅢ TOF触发子***中的实现", 《核电子学与探测技术》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109765482A (zh) * | 2019-03-11 | 2019-05-17 | 世芯电子科技(无锡)有限公司 | 一种多芯片间高速互连测试方法 |
CN110059041A (zh) * | 2019-03-22 | 2019-07-26 | 上海交通大学 | 传输*** |
CN111338602A (zh) * | 2020-04-02 | 2020-06-26 | 北京大学 | 一种用于随机计算的比特流生成器及生成方法 |
CN112363826A (zh) * | 2020-10-23 | 2021-02-12 | 国网山东省电力公司日照供电公司 | 一种项目资源综合管理***、方法、终端及存储介质 |
CN112363826B (zh) * | 2020-10-23 | 2023-03-14 | 国网山东省电力公司日照供电公司 | 一种项目资源综合管理***、方法、终端及存储介质 |
CN112953556A (zh) * | 2021-02-05 | 2021-06-11 | 南京大学 | 基于斐波那契数列的抗串扰互联的编解码器及编码方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2016153662A1 (en) | 2016-09-29 |
US20160285624A1 (en) | 2016-09-29 |
CN107408032B (zh) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107408032A (zh) | 互连中的伪随机比特序列 | |
CN107430569A (zh) | 多芯片封装链路 | |
CN104737147B (zh) | 高性能互连物理层 | |
CN105765544B (zh) | 多芯片封装链路 | |
CN107077521B (zh) | 片上***配置元数据 | |
CN105793829B (zh) | 用于集成组件互连的装置、方法和*** | |
CN105793830B (zh) | 一种在节点之间共享存储器和i/o服务的装置、方法、*** | |
CN105793828B (zh) | 具有pci快速增强的***和方法 | |
CN110036380A (zh) | 用于高速互连中低延迟的双模phy | |
CN110262923A (zh) | 带内重定时器寄存器访问 | |
CN109844725A (zh) | 点对点互连中的非对称通道 | |
CN107003838B (zh) | 解码信息库 | |
JP6745289B2 (ja) | マルチチップパッケージリンク |
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 |