CN105765544B - 多芯片封装链路 - Google Patents

多芯片封装链路 Download PDF

Info

Publication number
CN105765544B
CN105765544B CN201380081203.1A CN201380081203A CN105765544B CN 105765544 B CN105765544 B CN 105765544B CN 201380081203 A CN201380081203 A CN 201380081203A CN 105765544 B CN105765544 B CN 105765544B
Authority
CN
China
Prior art keywords
data
link
signal
access
logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380081203.1A
Other languages
English (en)
Other versions
CN105765544A (zh
Inventor
Z·J·吴
M·韦格
D·达斯夏尔马
G·S·帕斯达斯特
A·伊亚萨米
李小贝
R·G·布兰肯希普
R·J·沙弗拉内克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to CN201810011786.5A priority Critical patent/CN108052463B/zh
Publication of CN105765544A publication Critical patent/CN105765544A/zh
Application granted granted Critical
Publication of CN105765544B publication Critical patent/CN105765544B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4273Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

提供了物理层逻辑,用于在物理链路的一个或多个数据通路上接收数据,在物理链路的另一通路上接收有效信号,标识有效信号跟随在一个或多个数据通路上的有效信号的断定之后,以及在物理链路的另一通路上接收流信号,标识一个或多个数据通路上的数据的类型。

Description

多芯片封装链路
技术领域
本公开涉及计算系统,并且更特别地(但非排他地)涉及点对点互连。
背景技术
半导体加工和逻辑设计的进步已经允许增加可存在于集成电路器件上的逻辑量。必然地,计算机系统配置已经从系统中的单个或多个集成电路演进到多核,多个硬件线程,以及存在于单个集成电路上的多个逻辑处理器,以及其它集成在此类处理器内的接口。处理器或集成电路典型地包括单个物理处理器管芯,其中处理器管芯可包括任意数量的核、硬件线程、逻辑处理器、接口、存储器、控制器中心等。
作为在较小的封装中配备更多处理能力的更大能力的结果,较小的计算设备的普及度增加。智能手机、平板设备、超薄笔记本以及其它用户装备已经成指数增长。然而,这些较小的设备依赖于既用于数据存储又用于超过形状因子的复杂处理的服务器。结果,高性能计算市场(即,服务器空间)的需求也已增加。例如,在现代服务器中,典型地不仅存在具有多核的单个处理器,而且存在多个物理处理器(也称为多个插槽)来提高计算能力。但是,随着处理能力连同计算系统中的设备数量增长,插槽与其它设备之间的通信变得更加重要。
事实上,互连已经从主要处置电通信的更加传统的多分支总线增长到利于快速通信的成熟的互连架构。不幸的是,由于对未来处理器的需求以甚至更高的速率消耗,对应的需求放在现有互连架构的能力上。
附图说明
图1示出了包括互连架构的计算系统的实施例。
图2示出了包括分层栈的互连架构的实施例。
图3示出了在互连架构内生成或接收到的请求或分组的实施例。
图4示出了用于互连架构的发送器和接收器对的实施例。
图5示出了多芯片封装的实施例。
图6是多芯片封装链路(MCPL)的简化框图。
图7是示例的MCPL上的示例的信号传递(signaling)的表示。
图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)的示例系统。
在各图中相似的附图标记和指代物指示相似的元件。
具体实施方式
在下面的说明中,为了提供对本发明的全面理解,阐述了若干具体的细节,诸如处理器和系统配置的具体类型的示例、具体硬件结构的示例、具体架构和微架构的细节的示例、具体寄存器配置的示例、具体指令类型的示例、具体系统组件的示例、具体测量/高度的示例、具体处理器流水线阶段和操作的示例,等等。然而,本领域技术人员显而易见的是,无需采用这些具体细节来实现本发明。在其它实例中,公知的组件或方法,诸如具体的和可选的处理器架构、用于所描述算法的具体的逻辑电路/代码、具体的固件代码、具体的互连操作、具体的逻辑配置、具体的制造技术和材料、具体的编译器实现、算法的具体代码表达、具体的掉电和选通技术/逻辑以及计算机系统的其它具体操作细节,没有详细描述,以免不必要地模糊本发明。
虽然下面的实施例可以参考诸如计算平台或微处理器中的具体的集成电路中的能量节约和能量效率来描述,但是其它实施例能够应用于其它类型的集成电路和逻辑器件。本文所描述的实施例的类似的技术和教导可应用于也会受益于更佳的能量效率和能量节约的其它类型的电路或半导体器件。例如,公开的实施例不限于台式计算机系统或UltrabooksTM。并且,还可用于其它设备,诸如手持式设备、平板设备、其它薄的笔记本、片上系统(SOC)设备以及嵌入式应用。手持式设备的一些示例包括蜂窝电话、因特网协议设备、数字照相机、个人数字助理(PDA)以及手持式PC。嵌入式应用典型地包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机、或者能够执行下面教导的功能和操作的任何其它系统。而且,本文所描述的装置、方法和系统不限于物理计算设备,而且可能涉及到用于能量节约和能效的软件优化。如果在下面的说明中变得易于明白的是,本文所描述的方法、装置和系统的实施例(无论是提到硬件、固件、软件还是它们的组合)对于与性能考量平衡的‘绿色技术’未来来说至关重要。
随着计算系统进步,其中的组件变得越来越复杂。结果,在组件之间进行耦合和通信的互连架构复杂度也渐增以确保对于最优组件操作满足带宽要求。此外,不同的市场部门需要互连架构的不同方面来适应市场需要。例如,服务器要求较高的性能,而移动生态系统有时能够为功率节约而牺牲总体性能。然而,更多结构的单一目的是提供具有最大功率节约的最高可能的性能。下面,论述了多种互连,它们将可能受益于本文所描述的发明的各方面。
一个互连结构架构包括外围组件互连(PCI)Express(PCIe)架构。PCIe的主要目标是使得来自不同销售商的组件和设备能够在开放的架构中相互协作,跨越多个市场部门;客户端(桌面和移动),服务器(标准和企业)以及嵌入式和通信设备。PCI Express是一种为各种未来计算和通信平台定义的高性能、通用I/O互连。一些PCI属性,诸如其使用模型,负荷库架构和软件接口,已经通过其修正而维持,而先前的并行总线实现已经被高度可扩展的、全串行接口替代。PCI Express的更近期的版本利用了点对点互连、基于交换机的技术以及分组协议的进步以输送新级别的性能和特征。功率管理、服务品质(QoS)、热插/热交换支持、数据完整性以及错误处置是PCI Express所支持的先进特征中的一些。
参考图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是外围组件互连Express(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/DVDROM、监控器、打印机、鼠标、键盘、路由器、便携式存储设备、火线设备、通用串行总线(USB)设备、扫描仪以及其它输入/输出设备。经常,在PCIe专用语中,诸如设备,称为端点。虽然没有具体示出,但是设备125可以包括支持旧有设备或其它版本的PCI设备的PCIe到PCI/PCI-X桥。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 Express使用分组以在组件之间传送信息。分组形成在事务层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,其包括两个以上的芯片或管芯(例如,510,515),芯片或管芯利用示例的多芯片封装链路(MCPL)520通信连接。虽然图5示出了利用示例的MCPL 520互连的两个(或以上)管芯的示例,应当理解,本文关于MCPL实现方式所描述的原理和特征能够应用于连接管芯(例如,510)和其它组件的任何互连或链路,包括连接两个以上管芯(例如,510,515),连接管芯(或芯片)到另一管芯外组件,连接管芯到另一设备或管芯外封装(例如,505),连接管芯到BGA封装,插入机构上补丁(POINT)的实现以及其它可能的示例。
一般地,多芯片封装(例如505)可以是这样的电子封装:其中多个集成电路(IC)、半导体管芯或其它分立组件(例如,510,515)封装到联合衬底(例如,硅或其它半导体衬底)上,利于组合的组件用作单一组件(例如,好像是较大的IC一样)。在一些实例中,较大的组件(例如,管芯510,515)本身可以是IC系统,诸如片上系统(SoC)、多处理器芯片或者包括设备上,例如单个管芯(例如,510,515)上的多个组件(例如,525-530和540-545)的组件。多芯片封装505能够提供用于由可能多个分立组件和系统构建复杂且多变的系统的灵活性。例如,管芯510,515中的每个可由两个不同的实体来制造或以其它方式提供,封装505的硅衬底由又一第三实体来提供,以及许多其它的例子。此外,多芯片封装505内的管芯和其它组件本身可以包括提供设备(例如,分别是510,515)内的组件(例如,525-530和540-545)之间的通信的基础设施的互连或其它通信结构(例如,535,550)。各种组件和互连(例如,535,550)可能支持或使用多个不同的协议。此外,管芯(例如,510,515)之间的通信可能包括管芯上各组件之间通过多种不同协议的事务。提供多芯片封装上的芯片(或管芯)之间的通信的设计机制可能存在挑战,传统的解决方案采用了基于寻求互连的组件(以及期望的事务)的特定组合的高度专门化的、昂贵的以及封装特定的解决方案。
在该说明书中描述的示例、系统、算法、装置、逻辑和特征能够解决上文所标识的至少一些问题,包括可能许多其它未在本文中明确提到的问题。例如,在一些实现方式中,高带宽、低功率、低延迟接口能够被提供以将主机设备(例如,CPU)或其它设备连接到辅助芯片(companion chip),辅助芯片位于与主机相同的封装中。该多芯片封装链路(MCPL)能够支持多种封装选项,多个I/O协议,以及可靠性、可用性和可服务性(RAS)特征。此外,物理层(PHY)可以包括电层和逻辑层并且能够支持较长的通道长度,包括多达近似45mm并且在一些情况下超过近似45mm的通道长度。在一些实现中,示例的MCPL能够以高数据率操作,包括超过8-10Gb/s的数据率。
在MCPL的一个示例的实现方式中,PHY电层能够改善传统的多通道互连解决方案(例如,多通道DRAM I/O),扩展数据率和通道配置,例如通过多种特征,包括作为示例的调整后中间轨终接(mid-rail termination)、低功率活跃串扰抵消、电路冗余、每位占空比校正和去扭斜、线路编码以及发送器均衡,以及其它可能的示例。
在MCPL的一个示例的实现方式中,PHY逻辑层能够被实现,其能够进一步辅助(例如,电层特征)扩展数据率和通道配置,同时还使得互连能够跨电层路由多个协议。这些实现方式能够提供并限定模块化共用物理层,其是协议不可知的并且被架构设计为与可能任何现有的或未来的互连协议协作。
转到图6,显示出简化框图600,其表示包括多芯片封装链路(MCPL)的示例的实现方式的系统的至少一部分。MCPL能够利用将第一设备605(例如,包括一个或多个子组件的第一管芯)与第二设备610(例如,包括一个或多个其它子组件的第二管芯)连接的物理电连接(例如,实现为通路的电线)来实现。在示意图600的高级表征中所示的特定示例中,全部信号(信道615,620中的)能够是单向的,并且能够为数据信号提供通路以便具有上游和下游数据传输。虽然图6的框图600将第一组件605称为上游组件且将第二组件610称为下游组件,并且用于发送数据的MCPL的物理通路称为下游通道615以及用于接收数据(从组件610)的通路称为上游通道620,应当理解,设备605,610之间的MCPL能够由每个设备来使用以便在设备间发送和接收数据。
在一个示例的实现方式中,MCPL能够提供包括电MCPL PHY 625a,b(或者统称为625)以及实现MCPL逻辑PHY 630a,b(或者统称为630)的可执行逻辑的物理层(PHY)。电的、或者物理的PHY 625能够提供物理连接,通过该物理连接在设备605,610之间传送数据。信号调节组件和逻辑能够与物理PHY 625相结合来实现,从而建立链路的高数据率和通道配置能力,在一些应用中,这会涉及到在近似45mm或以上的长度下紧密群集的物理连接。逻辑PHY 630可以包括用于促进时钟定时、链路状态管理(例如,用于链路层635a,635b)以及在可能用于通过MCPL的通信的多种不同的协议之间的协议多路复用的逻辑。
在一个示例的实现方式中,物理PHY 625可以包括,用于每个通道(例如,615,620)的一组数据通路,带内数据能够在该组数据通路上送出。在该特定示例中,在上游和下游通道615,620中各设置50个数据通路,尽管在布局和功率约束,期望应用、设备约束等所允许的情况下,可以使用任何其他数量的通路。每个通道可进一步包括一个或多个用于选通脉冲、或时钟信号的专用通路,通道的信号,用于通道的有效信号的一个或多个专用通路,用于流信号的一个或多个专用通路以及用于链路状态机管理或边带信号的一个或多个专用通路。物理PHY可进一步包括边带链路640,在一些示例中,边带链路可以是用于协调连接设备605,610的MCPL的状态转换和其他属性的双向低频控制信号链路,以及其他示例。
如上所述,能够利用MCPL的实现方式来支持多个协议。事实上,可以在每个设备605,610处提供多个独立的事务层650a,650b。例如,每个设备605,610可以支持并使用两个以上的协议,诸如PCI、PCIe、QPI、英特尔管芯内互连(IDI)以及其他。IDI是在片上用于核、最后一级高速缓存(LLC)、存储器、图形和IO控制器之间通信的相干协议。还能够支持其他协议,包括以太网协议、Infiniband协议以及其他基于PCIe结构的协议。逻辑PHY和物理PHY的组合还能够用作将一个管芯上的SerDes PHY(PCIe、以太网、Infiniband或其他高速SerDes)与实现在另一管芯上的它的上层进行连接的管芯到管芯互连,以及其他示例。
逻辑PHY 630能够支持MCPL上的这些多种协议之间的多路复用。例如,专用流通路能够用于断定(assert)标识哪个协议要应用于在通道的数据通路上基本同时送出的数据的编码流信号。此外,逻辑PHY 630能够用于协商各种协议可支持或请求的各种类型的链路状态转换。在一些实例中,能够使用通过通道的专用LSM_SB通路送出的LSM_SB信号连同边带链路640一起在设备605,610之间传送和协商链路状态转换。进一步,链路训练、错误检测、扭斜检测、去扭斜以及传统互连的其他功能能够部分地利用逻辑PHY 630而被替代或掌控。例如,在每个通道中的一个或多个专用有效信号通路上送出的有效信号能够用于以信号发送链路活动,检测扭斜,链接错误,以及实现其他特征,以及其他示例。在图6的特定示例中,每个通道提供多个有效通路。例如,通道内的数据通路可以成束或集群(物理地和/或逻辑地),并且为每个集群提供有效通路。此外,在一些情况下,多个选通脉冲通路还能够被提供以提供用于通道中的多个数据通路集群中的每个集群的专用选通脉冲信号,以及其他示例。
如上所述,逻辑PHY 630能够用于协商和管理MCPL所连接的设备之间送出的链路控制信号。在一些实现方式中,逻辑PHY 630可以包括能够用于通过MCPL(即,带内)发送链路层控制消息的链路层分组(LLP)生成逻辑660。这些消息能够通过通道的数据通路发送,流通路标识数据是链路层到链路层的消息传递,诸如链路层控制数据,以及其他示例。利用LLP模块660使能的链路层消息能够有助于链路层状态转换、功率管理、回送、禁用、再定中心、加扰以及设备605,610的各自的链路层635a,635b之间的其他链路层特征的协商和执行。
转到图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,其被编码以指示适用在时间段窗n+1(720)内在数据通路DATA[0-49]上发送的位的协议(例如,PCIe,PCI,IDI,QPI等)。类似地,另一流信号740可以在后续时间段n+2(725)内被发送以指示应用于在时间段窗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的示例中,低通滤波攻击者信号能够通过高通RC滤波器(例如,通过C和R1实现)来生成,高通RC滤波器产生滤波信号以便利用求和电路905(例如,RX感应-放大)来添加。
类似于图9的示例中所描述的实现方式可以是对于诸如MCPL的应用而言尤其方便的解决方案,因为电路的实现能够以相对低的开销来实现,如图10中的示意图所说明的,图10示出了图9的示例中所显示和描述的电路的示例的晶体管级示意图。应当理解的是,图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,使得管芯能够在连接两个管芯的同一MCPL上利用PCIe或IDI来通信,以及可能许多其他的例子,包括在MCPL上支持多于两个协议或者除了PCIe和IDI之外的协议的示例。在管芯之间支持的各种协议能够提供各种级别的服务和特征。
逻辑PHY 1110可包括用于与管芯的上层逻辑的请求(例如,通过PCIe或IDI接收)相结合来协商链路状态转换的链路状态机管理逻辑1125。在一些实现方式中,逻辑PHY1110可进一步包括链路测试和调试逻辑(例如,1130)。如上所述的,示例的MCPL可以支持通过MCPL在管芯之间发送的控制信号以实现MCPL的协议可不知、高性能以及功率效率特征(以及其他示例特征)。例如,逻辑PHY 1110能够与在专用数据通路上发送和接收数据相结合而支持有效信号、流信号和LSM边带信号的生成和发送以及接收和处理,如上文的示例中所描述的。
在一些实现方式中,多路复用(例如,1135)和解多路复用(例如,1140)逻辑能够被包含在逻辑PHY 1110中或者以其他方式可访问逻辑PHY1110。例如,多路复用逻辑(例如,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,通过该定义的逻辑PHY接口,多个不同的协议(例如,PCIe,IDI,QPI,等等)1210,1215,1220,1225和信号发送模式(例如,边带)中的任一个能够与示例的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中所提到的,在一些实现方式中,能够通过AlignReq/AlignAck握手来提供对准机制。例如,当物理层进入恢复时,一些协议会丢失分组成帧。分组的对准可以被校正,例如,以确保链路层进行正确的成帧标识。另外,如图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)(例如,有助于确保位和符号锁定)。此外,在一个示例中,特定数量的连续的、相同LLP能够被定义以便发送并且对于每个请求可期望响应,请求者在响应超时后重试,以及能够用作确定MCPL上的LLP数据中的出错的基础的其他定义的特性。在进一步的示例中,能够为有效信号提供容错,例如,通过在整个时间段窗上扩展有效信号,或者符号(例如,通过保持有效信号对于八个UI为高)。另外地,通过维持流信号的编码值的汉明距离,能够防止流信号中的错误或出错,以及其他示例。
逻辑PHY的实现可以包括错误检测、错误报告以及错误处理逻辑。在一些实现中,示例的MCPL的逻辑PHY可包括检测PHY层解成帧错误(例如,在有效和流通路上)、边带错误(例如,与LSM状态转换有关)、LLP中的错误(例如,对于LSM状态转换重要的)的逻辑,以及其他示例。一些错误检测/解决可委托给上层逻辑代表,诸如适于检测PCIe特定错误的PCIe逻辑,以及其他示例。
在解成帧错误的情况下,在一些实现中,能够通过错误处理逻辑来提供一种或多种机制。解成帧错误可以基于所涉及到的协议来处置。例如,在一些实现中,链路层可被通知错误以触发重试。解成帧还能够引起逻辑PHY解成帧的重新对准。此外,逻辑PHY的再定中心能够被执行,并且能够再次获取符号/窗锁定,以及其他技术。在一些示例中,定中心可包括PHY将接收器时钟相位移到最优点以检测向内的数据。在该上下文中,“最优”可以是指其对于噪声和时钟抖动具有最大裕度处。再定中心可包括简化的定中心函数,例如,当PHY从低功率状态唤醒时所执行的,以及其他示例。
其他类型的错误可涉及到其他错误处理技术。例如,在边带中检测到的错误可以通过(例如,LSM的)对应状态的超时机制被捕获。错误可被记录,并且链路状态机随后可转换到复位。LSM能够保持在复位,直到从软件接收到的重启命令。在另一示例中,LLP错误,诸如链路控制分组错误,能够通过超时机制来处理,如果对LLP序列的应答未接收到,则该超时机制能够重启LLP序列。
图14A-14C示出了用于各种类型的数据的示例的MCPL的数据通路上的示例的位映射的表示。例如,示例的MCPL可包括五十个数据通路。图14A示出了如IDI的第一协议中的示例的16字节槽的第一位映射,其能够在8UI符号或窗内通过数据通路来发送。例如,在定义的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和CenterQuiet链路状态对通路定中心后,边带握手(例如,在链路的专用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_Recenter”状态,其能够用于对准数据符号。另外,如图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示出了包括从第二(上游)器件1810发送到第一(下游)器件1805的“进入L1(EnterL1)”请求LLP的所发送的LLP的至少一部分。在一些实现中,以及上层协议,下游端口不开始进入L1。接收的第一设备1805能够作为响应发送“变成L1”请求LLP,第二设备1810能够对此通过“变成L1”应答(ACK)LLP进行应答,以及其它示例。在检测到握手完成时,逻辑PHY能够使得边带信号在专用边带链路上被断定以便应答,ACK被接收且器件(例如,1805)准备好且期望进入L1。例如,第一设备1805能够断定发送到第二设备1810的边带信号1815以确认在链路层握手中接收最后的ACK。另外,第二设备1810还能够响应边带信号1815而断定边带信号以将第一设备的边带ACK 1805通知给第一设备1805。借助链路层控制和边带握手完成,MCPL PHY能够转换成L1状态,使得MCPL的全部通路被置于空闲功率节约模式,包括设备1805,1810的1820,1825的相应的MCPL的选通脉冲。在第一设备和第二设备1805,1810中的一个的上级层逻辑请求再次进入L0时,L1可退出,例如,响应于检测到在MCPL上发送到另一设备的数据。
如上所述,在一些实现中,MCPL可以促进两个设备之间的通信,支持可能的多个不同的协议,并且MCPL能够通过MCPL的通路根据多个协议中的可能的任一个而促进通信。然而,促进多个协议会使得进入以及再进入至少一些链路状态复杂化。例如,虽然一些传统互连具有承担状态转换中的主设备作用的单一上层协议,具有多个不同协议的MCPL的实现有效地涉及到多个主设备。作为示例,如图18所示,PCIe和IDI中的每一个能够通过MCPL的实现在两个设备1805,1810之间得到支持。例如,将物理层置于空闲或低功率状态可以以从支持的协议(例如,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被复制。一些资源,诸如重排序器/引退单元1935、ILTB 1920、装载/存储缓冲器以及队列中的重排序缓冲器,可以通过分区来共享。其他资源,诸如通用内部寄存器、页表库寄存器、低级数据高速缓存以及数据TLB 1915、执行单元1940和无序单元1935的部分可能完全共享。
处理器1900通常包括其他资源,其可以完全共享,通过分区共享,或者被处理元件专用/专用于处理元件。在图19中,示出了具有处理器的示例的逻辑单元/资源的纯示范性的处理器的实施例。注意,处理器可以包括或者省去这些功能单元中的任一个,以及包括未示出的任何其他已知的功能单元、逻辑或固件。如图所示,核1901包括简化的、代表性的无序(OOO)处理器核。但是,在不同实施例中可以使用有序处理器。OOO核包括预测待执行/采取的分支的分支目标缓冲器1920以及存储用于指令的地址变换入口的指令变换缓冲器(I-TLB)1920。
核1901还包括与取单元1920耦合以对取得的元件进行译码的译码模块1925。在一个实施例中,取逻辑包括分别与线程槽1901a,1901b相关联的单独的定序器。通常,核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共享对较高级或较远离高速缓存的访问,诸如与片上接口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相同的封装和/或管芯上。此处,核的部分(核上部分)1910包括用于与诸如存储器1975或图形设备1980的其他设备接合的一个或多个控制器。包括用于与这些设备接合的互连和控制器的配置经常称为核上(或非核配置)。作为示例,片上接口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的单独单元(例如,核和/或图形引擎)是独立可控的,以鉴于在给定单元中发生的活动(或者不活动)而以适合的功率模式/等级(例如,活跃、Turbo、睡眠、休眠、深度睡眠或其他先进配置功率接口类状态)来动态地操作。域2030和2060中的每一个可以在不同的电压和/或功率下操作,并且进而域内的单独单元均可能在独立的频率和电压下操作。注意,虽然仅示出了三个域,应当理解本发明的范围在这方面不受限制,并且在其他实施例中可存在附加的域。
如图所示,每个核2030进一步包括除了各种执行单元和附加的处理元件之外的低级高速缓存。此处,各个核彼此耦合且与由最后一级高速缓存(LLC)2040A-2040N的多个单元或片形成的共享高速缓存式存储器耦合;这些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所示的结构包括无序处理器,其具有用于取得输入的指令、执行各种处理(例如,高速缓存,译码,分支预测等)以及传递指令/操作到无序(OOO)引擎2180的前端单元2170。OOO引擎2180对译码后指令执行进一步的处理。
具体地,在图21的实施例中,无序引擎2180包括从前端单元2170接收译码后指令的分配单元2182,译码后指令可以为一个或多个微指令或微代码的形式,并且将它们分配给诸如寄存器等的适当的资源。接着,指令被提供给预留站2184,其预留资源且调度资源以在多个执行单元2186A-2186N中的一个上执行。各种类型的执行单元可以存在,包括例如,算术逻辑单元(ALU)、装载与存储单元、向量处理单元(VPU)、浮点执行单元,以及其他单元。来自这些不同的执行单元的结果被提供给重排序缓冲器(ROB)2188,其取得非定序结果且将它们返回正确的程序次序。
仍参考图21,注意,前端单元2170和无序引擎2180均与不同级别的存储器层级耦合。具体示出了指令级高速缓存2172,指令级高速缓存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、XScale TM和/或StrongARMTM微处理器的处理系统,但是还可以使用其他系统(包括具有其他微处理器、工程工作站、机顶盒等的PC)。在一个实施例中,样本系统2200执行可从华盛顿的雷德蒙德(Redmond)的微软公司获得的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将不同类型的数据存储在包括整数寄存器、浮点寄存器、向量寄存器、库存(banked)寄存器、阴影寄存器、校验点寄存器、状态寄存器和指令指针寄存器的各寄存器中。
执行单元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、诸如通用串行总线(USB)的串行扩展端口2238,以及网络控制器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接口电路2378,2388经由点对点(P-P)接口2350交换信息。如图23所示,IMC 2372和2382将处理器与相应的存储器耦合,即存储器2332和存储器2334,其可以是本地附连到相应处理器的主存储器的部分。
处理器2370,2380各自利用点对点接口电路2376,2394,2386,2398经由单独的P-P接口2352,2354与芯片组2390交换信息。芯片组2390还沿着高性能图形互连2339经由接口电路2392与高性能图形电路2338交换信息。
共享高速缓存(未示出)可包含在两个处理器中的任一处理器中或者两个处理器之外;而经由P-P互连与处理器连接,使得在处理器被置于低功率模式的情况下任一个或两个处理器的本地高速缓存信息可存储在共享高速缓存中。
芯片组2390可以经由接口2396与第一总线2316耦合。在一个实施例中,第一总线2316可以是外围组件互连(PCI)总线,或者诸如PCI Express总线或者另一第三代I/O互连总线的总线,但是本发明的范围不限于这些。
如图23所示,各种I/O设备2314与第一总线2316耦合,以及与将第一总线2316与第二总线2320耦合的总线桥2318耦合。在一个实施例中,第二总线2320包括低引脚计数(LPC)总线。在一个实施例中,各种设备与第二总线2320耦合,包括例如键盘和/或鼠标2322、通信设备2327以及诸如磁盘驱动器或其他通常包含有指令/代码和数据2330的大容量存储设备的存储单元2328。此外,显示音频I/O 2324与第二总线2320耦合。注意,其他架构是可能的,其中所包含的组件和互连架构是变化的。例如,不是图23的点对点架构,系统可以实现多点分支总线或其他这样的架构。
接着转到图24,描绘了根据本发明的片上系统(SOC)设计的实施例。作为具体的说明性的示例,SOC 2400包含在用户装备(UE)中。在一个实施例中,UE是指任何由终端用户用来通信的设备,诸如手持式手机、智能手机、平板设备、超薄笔记本、带宽带适配器的笔记本、或者任何其他类似的通信设备。通常,UE连接到基站或节点,基站或节点潜在地本质上对应于GSM网络中的移动站(MS)。
此处,SOC 2400包括2个核—2406和2407。类似上面的论述,核2406和2407可以符合指令集架构,诸如基于 Architecture CoreTM的处理器、Advanced MicroDevices、Inc.(AMD)处理器、基于MIPS的处理器、基于ARM的处理器设计、或者其客户,以及它们的许可证接受方或采纳方。核2406和2407与高速缓存控件2408相耦合,高速缓存控件2408与总线接口单元2409和L2高速缓存2411相关联以与系统2400的其他部件通信。互连2410包括片上互连,诸如IOSF、AMBA或者上述的其他互连,这可能实现本文所述的一个或多个方面。
接口2410提供了到其他组件的通信通道,诸如与SIM卡接合的SubscriberIdentity Module(SIM)2430,保存引导代码以由核2406和2407执行从而初始化并引导SOC2400的引导rom 2435、与外部存储器(例如,DRAM 2460)接合的SDRAM控制器2440、与非易失性存储器(例如,闪存2465)接合的闪速控制器2445、与外围设备接合的外围设备控件2450(例如,串行外围设备接口)、显示并接收输入(例如,触摸使能输入)的视频编码译码器2420和视频接口2425、执行图形相关计算的GPU 2415等。这些接口中的任一接口可以包含本文所描述的本发明的各方面。
另外,系统示出了用于通信的外围设备,诸如蓝牙模块2470、3G调制解调器2475、GPS 2485、和WiFi 2485。如上文提到的,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)、磁卡或光卡、闪速存储器、或用于经由电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)在因特网上发送信息的有形的、机器可读存储设备。因此,计算机可读介质包括适合存储或发送能够由机器(例如,计算机)读取的形式的电子指令或信息的任何类型的有形机器可读介质。
下面的示例涉及到根据该说明书的实施例。一个或多个实施例可提供用于以下操作的装置、系统、机器可读存储设备、机器可读介质、基于硬件和/或基于软件的逻辑、以及方法:在物理链路的一个或多个数据通路上接收数据,在物理链路的另一通路上接收有效信号,该有效信号标识有效数据跟随在一个或多个数据通路上的有效信号的断定之后,以及在物理链路的另一通路上接收流信号,所述流信号标识一个或多个数据通路上的数据的类型。
在至少一个示例中,物理层逻辑进一步通过物理链路的另一通路发送链路状态机管理信号。
在至少一个示例中,物理层逻辑进一步通过边带链路发送边带信号。
在至少一个示例中,类型包括与数据相关联的协议,其中协议是使用物理链路的多种协议中的一种。
在至少一个示例中,类型包括链路层分组数据。
在至少一个示例中,数据促进物理链路的链路状态转换。
在至少一个示例中,物理层逻辑进一步对流信号译码以标识多个不同协议中的哪一个应用于数据。
在至少一个示例中,物理层逻辑进一步将数据传送到对应于在流信号中标识的多个协议中的特定一个协议的上层协议逻辑。
在至少一个示例中,除了物理层逻辑之外,装置还包括链路层逻辑和多种协议中的每一个的其它上层逻辑。
在至少一个示例中,多种协议包括外围组件互连(PCI)、PCI Express(PCIe)、英特尔管芯内互连(IDI)以及快速路径互连(QPI)中的至少两种。
在至少一个示例中,物理层逻辑进一步确定多种协议中的每一种中的错误。
在至少一个示例中,物理层逻辑进一步确定有效信号和流信号中的一个或多个中的错误。
在至少一个示例中,物理层逻辑进一步定义将在数据通路上发送的数据的数据窗,并且数据窗对应于有效信号。
在至少一个示例中,数据窗对应于数据符号,并且所述有效信号在紧靠将发送所述数据的窗之前的窗中被断定。
在至少一个示例中,在紧靠所述有效信号未被断定的先前窗之后的窗中在数据通路上的数据将被忽略。
在至少一个示例中,窗对应于字节时间段。
在至少一个示例中,有效信号、数据和流信号中的每一个是根据为物理链路定义的数据窗来对准的。
在至少一个示例中,流信号将在与数据相同的窗期间内被发送。
在至少一个示例中,物理链路连接多芯片封装中的两个设备。
在至少一个示例中,物理层逻辑进一步对物理链路的通路上的信号再定中心。
在至少一个示例中,基于有效信号对通路再定中心。
在至少一个示例中,在第二窗期间内在数据链路的专用流信号通路上接收流信号,流信号被译码,并且与数据关联的协议根据流信号的译码而被确定。
在至少一个示例中,数据链路适于发送多种不同协议的数据。
在至少一个示例中,标识在数据链路上将发送的数据,在对应于将发送的数据的特定窗期间内在数据链路的向外的有效信号通路上发送有效信号,并且在紧靠特定窗之后的另一窗期间内在专用向外的数据通路上发送数据。
在至少一个示例中,多个数据通路进一步包括专用链路状态机边带通路。
在至少一个示例中,第一设备包括封装中的第一管芯,并且第二设备包括封装中的第二管芯。
在至少一个示例中,第一设备包括封装上设备,并且第二设备包括封装外设备。
一个或多个实施例可提供执行以下操作的装置、系统、机器可读存储设备、机器可读介质、基于硬件和/或基于软件的逻辑、以及方法:标识在数据链路的专用数据通路上将发送的数据,在对应于在数据链路上将发送的数据的特定窗期间内在数据链路的专用有效信号通路上发送有效信号,在紧靠特定窗之后的另一窗期间内在数据链路的专用数据通路上发送数据,以及在流信号链路上发送被编码以标识数据类型的流信号。
在至少一个示例中,有效信号指示在另一窗期间内在数据通路上的数据是有效数据。
在至少一个示例中,流信号链路包括专用流信号链路。
在至少一个示例中,流信号适于标识特定协议是否与数据相关联。
在至少一个示例中,物理层逻辑包含在共用物理层中,并且多个协议使用共用物理层,以及特定协议包含在多个协议中。
在至少一个示例中,多个协议包括PCI、PCIe、IDI和QPI中的两个以上。
在至少一个示例中,流信号进一步适于标识数据是否包括链路层分组。
在至少一个示例中,流信号进一步适于标识数据是否包括边带数据。
在至少一个示例中,物理层逻辑进一步确定数据的类型并且编码流信号以标识所确定的类型。
在至少一个示例中,物理层逻辑进一步将在数据链路的专用LSM_SB通路上发送链路状态机边带信号。
在至少一个示例中,物理层逻辑进一步将在与数据链路分开的边带链路上发送边带信号。
在至少一个示例中,物理层逻辑进一步将在数据通路上发送链路层数据,其中链路层数据用于使数据链路从第一链路状态转换到第二链路状态。
在至少一个示例中,第一链路状态包括活跃链路状态,并且第二链路状态包括低功率链路状态。
在至少一个示例中,物理层逻辑进一步标识对应于有效信号的第一数据窗并且在紧靠第一数据窗之后的第二数据窗内在数据通路上发送数据。
在至少一个示例中,未断定有效信号表明在紧靠着的后续的窗内在数据通路上的数据将被忽略为无效的。
在至少一个示例中,第一数据窗和第二数据窗中的每一个被定义为对应于字节时间段。
在至少一个示例中,有效信号、数据和流信号中的每一个都根据为物理链路定义的数据窗而对准。
在至少一个示例中,流信号将在与数据相同的窗期间内被发送。
在至少一个示例中,物理层逻辑进一步生成有效信号和流信号中的每一个。
在至少一个示例中,数据链路连接多芯片封装中的两个设备。
在至少一个示例中,数据链路支持超过8Gb/s的数据速度。
一个或多个实施例可提供执行以下操作的装置、系统、机器可读存储设备、机器可读介质、基于硬件和/或基于软件的逻辑、以及方法:在包括包括多个数据通路、一个或多个有效信号通路、一个或多个流通路的多个通路的数据链路上提供单端信号发送,以及分配由多个通路使用的时钟信号,其中在多个通路中的每一个通路上发送的信号将与时钟信号对准。
在至少一个示例中,每个数据通路均中轨端接到调节后电压。
在至少一个示例中,通过单个电压调节器将调节后电压提供给多个数据通路中的每一个。
在至少一个示例中,调节后电压基本上等于Vcc/2,其中Vcc包括电源电压。
在至少一个示例中,物理层逻辑试图提供多个数据通路中的两个以上数据通路之间的串扰抵消。
在至少一个示例中,串扰抵消是通过将两个以上数据通路中的第一数据通路上的加权高通滤波攻击者信号添加到两个以上数据通路中的第二数据通路的信号中来提供的。
在至少一个示例中,物理层逻辑至少部分地利用电阻器-电容器(RC)低通滤波器来生成加权高通滤波攻击者信号。
在至少一个示例中,物理层逻辑提供每位占空比校正。
在至少一个示例中,物理层逻辑检测数据通路中的至少一个特定数据通路上的扭斜并且对该特定数据通路进行去扭斜。
在至少一个示例中,物理层逻辑进一步将AC数据总线逆向(DBI)应用于至少一个数据通路。
在至少一个示例中,时钟信号包括半率前向时钟信号。
在至少一个示例中,物理层逻辑进一步提供静电放电保护。
在至少一个示例中,物理层逻辑至少部分地通过硬件电路来实现。
在至少一个示例中,有效信号将在有效信号通路上发送,并且每个有效信号标识有效数据跟随在多个数据通路上的有效信号的断定之后,并且流信号将在流信号通路上发送并且每个流信号标识一个或多个数据通路上的数据的类型。
在至少一个示例中,数据链路支持超过8Gb/s的数据速度。
一个或多个实施例可提供执行以下操作的装置、系统、机器可读存储设备、机器可读介质、基于硬件和/或基于软件的逻辑、以及方法:在包括包括多个数据通路、一个或多个有效信号通路、一个或多个流通路、以及一个或多个链路状态机边带通路的多个通路的数据链路上提供单端信号发送,分配由多个通路使用的时钟信号,其中在多个通路中的每个通路上发送的信号将与时钟信号对准,提供多个数据通路中的两个以上数据通路之间的串扰抵消,以及提供用于数据链路的每位占空比校正,其中每个数据通路中轨端接到调节后电压。
在至少一个示例中,物理层逻辑进一步检测数据通路中的至少一个特定数据通路上的扭斜并且对该特定数据通路进行去扭斜。
一个或多个实施例可提供执行以下操作的装置、系统、机器可读存储设备、机器可读介质、基于硬件和/或基于软件的逻辑、以及方法:标识多个分层协议中的每个分层协议的相应的上层请求数据链路从活跃链路状态转换到低功率链路状态,其中多个分层协议中的每一个使用数据链路作为物理层,并且基于多个分层协议中的每一个的上层请求转换到低功率链路状态的标识来将数据链路从活跃链路状态转换到低功率链路状态。
在至少一个示例中,物理层逻辑进一步参与和另一设备的握手以使数据链路转换到低功率链路状态。
在至少一个示例中,握手包括链路层握手。
在至少一个示例中,物理层逻辑将在数据链路处于活跃链路状态时在链路层握手中发送链路层数据。
在至少一个示例中,物理层逻辑将发送与链路层数据基本同时的流信号以标识在数据链路的数据层上发送的数据包括链路层分组。
在至少一个示例中,流信号在特定窗期间内在数据链路的专用流信号通路上发送,其中链路层数据也在该特定窗期间内发送。
在至少一个示例中,物理层逻辑将在数据链路的专用有效信号通路上发送有效信号,其中在紧靠该特定窗之前的另一窗内发送有效信号以表明该特定窗内发送的数据是有效的。
在至少一个示例中,握手包括通过边带链路的握手通信。
在至少一个示例中,握手包括链路层握手以及通过边带链路的握手通信。
在至少一个示例中,通过边带链路的握手通信确认链路层握手。
在至少一个示例中,物理层逻辑进一步标识来自多个分层协议中的第一分层协议的上层的数据链路从活跃链路状态转换到低功率链路状态的请求。
在至少一个示例中,物理层逻辑进一步等待数据链路从活跃链路状态转换到低功率链路状态,直到从多个分层协议中的每个其它协议接收到请求。
在至少一个示例中,物理层逻辑对于多个分层协议中的每一个分层协议跟踪协议是否请求将数据链路从活跃链路状态转换到低功率链路状态。
在至少一个示例中,物理层逻辑进一步在数据链路实际从活跃链路状态转换到低功率链路状态之前生成对确认数据链路从活跃链路状态转换到低功率链路状态的请求的响应。
在至少一个示例中,在数据链路从活跃链路状态转换到低功率链路状态的许可从多个分层协议中的一个或多个其它协议中未解决时发送该响应。
在至少一个示例中,低功率链路状态包括空闲链路状态。
在至少一个示例中,多个分层协议包括PCI、PCIe、IDI和QPI中的一个或多个。
能够提供一种系统,包括:数据链路,包括多个通路;第一设备;以及第二设备,其利用数据链路与第一设备通信耦合,第二设备包括第一协议的上层逻辑、第二协议的上层逻辑,其中多个协议栈中的每一个利用共用物理层以及用于共用物理层的物理层逻辑,其中物理层逻辑确定:在数据链路转换到低功率链路状态之前,使用数据链路的包括第一协议和第二协议在内的协议中的每一个许可数据链路从活跃链路状态转换到低功率链路状态。
在至少一个示例中,多个通路包括多个数据通路、一个或多个有效信号通路、一个或多个流通路。
在至少一个示例中,有效信号将在有效信号通路上发送,并且每个有效信号标识有效信号跟随在多个数据通路上的有效信号的断定之后,并且流信号将在流信号通路上发送,并且每个流信号标识一个或多个数据通路上的数据的类型。
在至少一个示例中,将数据链路转换到低功率链路状态包括第一设备与第二设备之间的握手。
在至少一个示例中,握手包括链路层握手和边带握手。
在至少一个示例中,第一设备包括封装中的第一管芯,并且第二设备包括封装中的第二管芯。
在至少一个示例中,第一设备包括封装上设备,并且第二设备包括封装外设备。
在该说明书通篇提到“一个实施例”或“实施例”意指,与实施例相结合所描述的特定的特征、结构或特性包含在本发明的至少一个实施例中。因此,在该说明书各处出现的短语“在一个实施例中”或者“在实施例中”不一定都指同一实施例。此外,特定的特征、结构或特性可以以任何适合的方式组合在一个或多个实施例中。
在前面的说明书中,已经参考具体的示例性实施例给出了详细说明。然而,显而易见的是,可以对其做出各种修改和改变,而不偏离如随附权利要求中阐述的本发明的更宽的精神和范围。因此,说明书和附图视为示例性的含义而不是限制的含义。进而,前面使用的实施例和其它示范性的语言不一定都指代同一实施例或者同一示例,而是可以指代不同的以及有差别的实施例,以及可能相同的实施例。

Claims (25)

1.一种用于促进数据通信的装置,所述装置包括:
物理层逻辑,用于:
在物理链路的一个或多个数据通路上接收数据;
在所述物理链路的另一通路上接收有效信号,其中所述有效信号用来标识有效数据跟随在所述一个或多个数据通路上的所述有效信号的断定之后;以及
在所述物理链路的另一通路上接收流信号,其中所述流信号用来标识所述一个或多个数据通路上的数据的类型,其中所述类型包括与所述数据相关联的协议。
2.如权利要求1所述的装置,其中所述物理层逻辑进一步通过所述物理链路的另一通路发送链路状态机管理信号。
3.如权利要求1所述的装置,其中所述物理层逻辑进一步通过边带链路发送边带信号。
4.如权利要求1所述的装置,其中所述协议是使用所述物理链路的多个协议中的一个协议。
5.如权利要求1所述的装置,其中所述数据包括链路层分组数据。
6.如权利要求5所述的装置,其中所述链路层分组数据促进所述物理链路的链路状态转换。
7.如权利要求1所述的装置,其中所述物理层逻辑进一步将所述流信号译码以标识多个不同协议中的哪一个协议适用于所述数据。
8.如权利要求7所述的装置,其中所述物理层逻辑进一步将所述数据传送到与所述多个协议中的在所述流信号中标识的特定一个协议对应的上层协议逻辑。
9.如权利要求8所述的装置,其中所述装置进一步包括所述多个协议中的每个协议的上层逻辑。
10.如权利要求7所述的装置,其中所述多个协议包括外围组件互连(PCI)、PCIExpress(PCIe)、英特尔管芯内互连(IDI)以及快速路径互连(QPI)中的至少两项。
11.如权利要求7所述的装置,其中所述物理层逻辑进一步确定在所述多个协议中的每个协议中的错误。
12.如权利要求11所述的装置,其中所述物理层逻辑进一步确定所述有效信号和所述流信号中的一个或多个中的错误。
13.如权利要求1所述的装置,其中所述物理层逻辑进一步定义针对将在所述数据通路上发送的数据的数据窗,并且所述数据窗对应于所述有效信号。
14.如权利要求13所述的装置,其中所述数据窗对应于数据符号,并且所述有效信号在紧靠将发送所述数据的窗之前的窗中被断定。
15.如权利要求14所述的装置,其中在紧靠所述有效信号未被断定的先前窗之后的窗中在数据通路上的数据被忽略。
16.如权利要求13所述的装置,其中所述有效信号、数据和流信号中的每一个根据为所述物理链路定义的数据窗来对准。
17.如权利要求16所述的装置,其中所述流信号将在与所述数据相同的窗期间被发送。
18.如权利要求1所述的装置,其中所述物理链路连接多芯片封装中的两个设备。
19.如权利要求1所述的装置,其中所述物理层逻辑进一步基于所述有效信号对所述物理链路的通路上的信号再定中心。
20.一种用于促进数据通信的方法,所述方法包括:
在第一窗中在专用有效信号通路上接收有效信号,其中所述有效信号通路是数据链路中的多个通路中的一个通路;
在后续的第二窗期间在所述数据链路中的专用数据通路上接收数据;
基于在所述第一窗期间的所述有效信号来确定在所述后续的第二窗期间接收到的所述数据是有效的;以及
在另一通路上接收流信号,其中所述流信号用来标识所述数据通路上的所述数据的类型,其中所述类型包括与所述数据相关联的协议。
21.一种系统,包括用于执行如权利要求20所述的方法的单元。
22.一种用于促进数据通信的系统,所述系统包括:
包括多个通路的互连,其中所述多个通路包括多个专用数据通路、至少一个专用有效信号通路、以及至少一个流信号通路;
第一设备;以及
第二设备,其利用所述互连与所述第一设备通信地耦合;
其中所述第一设备包括逻辑物理层逻辑,用于:
在所述多个数据通路上接收数据;
在所述有效信号通路上接收有效信号,其中所述有效信号标识有效数据跟随在所述多个数据通路上的有效信号的断定之后;以及
在所述流信号通路上接收流信号,其中所述流信号标识所述多个数据通路上的所述数据的类型,其中所述类型包括与所述数据相关联的协议。
23.如权利要求22所述的系统,其中所述逻辑物理层逻辑进一步在边带链路上发送和接收数据,所述边带链路将所述第一设备的逻辑物理层逻辑与所述第二设备的逻辑物理层逻辑连接。
24.如权利要求22所述的系统,其中所述逻辑物理层逻辑进一步用于:
在特定窗期间在所述有效信号通路上发送有效信号,其中所述有效信号对应于将在所述数据链路上发送的数据;
在紧靠所述特定窗之后的另一窗期间在所述多个数据通路上发送所述数据;以及
在所述流信号链路上发送流信号,其中所述流信号被编码以标识在所述多个数据通路上发送的所述数据的类型。
25.如权利要求24所述的系统,其中所述多个专用数据通路、所述至少一个专用有效信号通路、以及所述至少一个流信号通路包括所述互连的向外的通路,并且所述多个专用通路进一步包括向内的多个专用数据通路、至少一个向内的专用有效信号通路、以及至少一个向内的流信号通路。
CN201380081203.1A 2013-12-26 2013-12-26 多芯片封装链路 Active CN105765544B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810011786.5A CN108052463B (zh) 2013-12-26 2013-12-26 多芯片封装链路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/077744 WO2015099719A1 (en) 2013-12-26 2013-12-26 Multichip package link

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810011786.5A Division CN108052463B (zh) 2013-12-26 2013-12-26 多芯片封装链路

Publications (2)

Publication Number Publication Date
CN105765544A CN105765544A (zh) 2016-07-13
CN105765544B true CN105765544B (zh) 2019-04-09

Family

ID=53479385

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201810011786.5A Active CN108052463B (zh) 2013-12-26 2013-12-26 多芯片封装链路
CN201380081203.1A Active CN105765544B (zh) 2013-12-26 2013-12-26 多芯片封装链路

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201810011786.5A Active CN108052463B (zh) 2013-12-26 2013-12-26 多芯片封装链路

Country Status (8)

Country Link
US (3) US10073808B2 (zh)
EP (3) EP3087491B1 (zh)
JP (1) JP6461959B2 (zh)
KR (2) KR101985157B1 (zh)
CN (2) CN108052463B (zh)
DE (1) DE112013007734B4 (zh)
RU (1) RU2656732C2 (zh)
WO (1) WO2015099719A1 (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012145652A1 (en) 2011-04-20 2012-10-26 Trustees Of Tufts College Dynamic silk coatings for implantable devices
DE112013003723B4 (de) * 2012-10-22 2018-09-13 Intel Corporation Hochleistungsfähige physikalische Kopplungsstrukturschicht
KR101985157B1 (ko) 2013-12-26 2019-05-31 인텔 코포레이션 멀티칩 패키지 링크
US9971733B1 (en) 2014-12-04 2018-05-15 Altera Corporation Scalable 2.5D interface circuitry
US9940287B2 (en) * 2015-03-27 2018-04-10 Intel Corporation Pooled memory address translation
WO2017052661A1 (en) * 2015-09-26 2017-03-30 Intel Corporation Multichip package link error detection
DE112015006953T5 (de) * 2015-09-26 2018-06-14 Intel Corporation Training einer gültigen lane
WO2017052662A1 (en) * 2015-09-26 2017-03-30 Intel Corporation Stream identifier lane protection
US9946674B2 (en) * 2016-04-28 2018-04-17 Infineon Technologies Ag Scalable multi-core system-on-chip architecture on multiple dice for high end microcontroller
EP3461022B1 (en) * 2016-06-17 2020-09-23 Huawei Technologies Co., Ltd. Channel correction method and device and communication system
US10846258B2 (en) * 2016-09-30 2020-11-24 Intel Corporation Voltage modulated control lane
US10152446B2 (en) * 2016-10-01 2018-12-11 Intel Corporation Link-physical layer interface adapter
KR102520017B1 (ko) 2016-12-31 2023-04-11 인텔 코포레이션 이종 컴퓨팅을 위한 시스템들, 방법들, 및 장치들
US10317459B2 (en) 2017-04-03 2019-06-11 Nvidia Corporation Multi-chip package with selection logic and debug ports for testing inter-chip communications
US11095556B2 (en) * 2017-06-30 2021-08-17 Intel Corporation Techniques to support multiple protocols between computer system interconnects
US20190004990A1 (en) * 2017-07-01 2019-01-03 Stephen R. Van Doren Techniques to support mulitple interconnect protocols for an interconnect
US11249779B2 (en) * 2017-09-01 2022-02-15 Intel Corporation Accelerator interconnect assignments for virtual environments
US10963035B2 (en) * 2017-10-11 2021-03-30 Qualcomm Incorporated Low power PCIe
KR102482896B1 (ko) 2017-12-28 2022-12-30 삼성전자주식회사 이종 휘발성 메모리 칩들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치
US10402365B2 (en) * 2018-01-16 2019-09-03 Qualcomm Incorporated Data lane validation procedure for multilane protocols
US20190356412A1 (en) * 2018-05-16 2019-11-21 Qualcomm Incorporated Fast termination of multilane double data rate transactions
US10698856B1 (en) * 2018-12-18 2020-06-30 Ati Technologies Ulc Alternative protocol selection
US11429552B2 (en) 2019-01-09 2022-08-30 Hewlett-Packard Development Company, L.P. Data link changes based on requests
US11442876B2 (en) * 2019-05-30 2022-09-13 Intel Corporation System, apparatus and method for synchronizing multiple virtual link states over a package interconnect
CN110536541A (zh) * 2019-08-23 2019-12-03 天津市滨海新区信息技术创新中心 一种减小stub影响的PCB结构及设计方法
US11762802B2 (en) 2019-12-05 2023-09-19 Intel Corporation Streaming fabric interface
US10771108B1 (en) * 2019-12-17 2020-09-08 Cadence Design Systems, Inc. Crosstalk cancellation in a receiver
US11487683B2 (en) 2020-04-15 2022-11-01 AyDeeKay LLC Seamlessly integrated microcontroller chip
JP7164267B2 (ja) * 2020-12-07 2022-11-01 インテル・コーポレーション ヘテロジニアスコンピューティングのためのシステム、方法及び装置
JP2022105928A (ja) * 2021-01-05 2022-07-15 住友電気工業株式会社 光トランシーバおよび光トランシーバの制御方法
CN112817908B (zh) * 2021-02-05 2023-06-20 中国电子科技集团公司第五十八研究所 裸芯间高速扩展系统及其扩展方法
CN113051111B (zh) * 2021-03-05 2022-06-24 海光信息技术股份有限公司 多芯片模块故障识别处理方法及系统
JP2022143741A (ja) 2021-03-18 2022-10-03 キオクシア株式会社 半導体集積回路及びその動作方法
US20220318111A1 (en) * 2021-12-30 2022-10-06 Intel Corporation Compliance and debug testing of a die-to-die interconnect
US11765849B2 (en) 2022-02-16 2023-09-19 International Business Machines Corporation Daughter card plug detection
US20240004815A1 (en) * 2022-06-29 2024-01-04 Advanced Micro Devices, Inc. Scheduling training of an inter-chiplet interface

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2326664A1 (en) * 1998-04-03 1999-10-14 Avid Technology, Inc. Apparatus and method for controlling transfer of data between interconnected data processing elements and processing of data by these data processing elements

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62260262A (ja) * 1986-05-06 1987-11-12 Mitsubishi Electric Corp デ−タ転送制御装置
JP3332432B2 (ja) * 1992-12-15 2002-10-07 キヤノン株式会社 データ通信方法及び印刷制御装置
EP0706138A1 (en) * 1994-10-03 1996-04-10 International Business Machines Corporation Alternating data valid control signals for high performance data transfer
EP0863640A3 (en) 1997-03-04 2005-09-21 Texas Instruments Incorporated Improved physical layer interface device
US6556589B2 (en) 1998-04-17 2003-04-29 Advanced Micro Devices, Inc. Network transceiver for steering network data to selected paths based on determined link speeds
CN1968053B (zh) 2000-04-17 2012-08-15 北方电讯网络有限公司 用于无线通信的物理和链路层的自动重发请求协议合作
US7464307B2 (en) 2003-03-25 2008-12-09 Intel Corporation High performance serial bus testing methodology
US7209998B2 (en) * 2004-02-04 2007-04-24 Qualcomm Incorporated Scalable bus structure
US7844767B2 (en) * 2004-05-21 2010-11-30 Intel Corporation Method for identifying bad lanes and exchanging width capabilities of two CSI agents connected across a link
US20060041696A1 (en) * 2004-05-21 2006-02-23 Naveen Cherukuri Methods and apparatuses for the physical layer initialization of a link-based system interconnect
US8028143B2 (en) 2004-08-27 2011-09-27 Qualcomm Incorporated Method and apparatus for transmitting memory pre-fetch commands on a bus
US7337250B1 (en) * 2004-12-30 2008-02-26 Emc Corporation Low latency data transmission method and system
KR20060081522A (ko) 2005-01-10 2006-07-13 삼성전자주식회사 피씨아이 익스프레스의 바이트 스큐 보상방법 및 이를위한 피씨아이 익스프레스 물리 계층 수신기
EP2022289A2 (en) 2006-05-31 2009-02-11 QUALCOMM Incorporated Physical layer repeater with roaming support based on multiple identifiers
KR100776945B1 (ko) 2006-09-27 2007-11-21 (재)대구경북과학기술연구원 직렬 데이터 전송 구현을 위한 메모리 유닛
KR100788299B1 (ko) 2006-12-19 2007-12-27 (재)대구경북과학기술연구원 복수의 차동 레인을 공유하는 직렬전송 시스템
US9008244B2 (en) 2008-11-10 2015-04-14 Broadcom Corporation Method and system for a combined signal detection for physical layer communication devices
CN101740937B (zh) * 2008-11-12 2012-08-29 富士康(昆山)电脑接插件有限公司 具有防尘盖的线缆连接器
WO2010080174A1 (en) * 2009-01-12 2010-07-15 Rambus Inc. Mesochronous signaling system with core-clock synchronization
US8321719B2 (en) * 2009-09-25 2012-11-27 Intel Corporation Efficient clocking scheme for a bidirectional data link
KR20110080524A (ko) * 2010-01-06 2011-07-13 삼성전자주식회사 프로토콜 인터페이스 변환장치 및 방법
US8356155B2 (en) * 2010-09-13 2013-01-15 Advanced Micro Devices, Inc. Dynamic RAM Phy interface with configurable power states
US8751714B2 (en) * 2010-09-24 2014-06-10 Intel Corporation Implementing quickpath interconnect protocol over a PCIe interface
US8824489B1 (en) * 2011-04-26 2014-09-02 Marvell International Ltd. Physical layer (PHY) devices for use in automotive and industrial applications
JP5792384B2 (ja) * 2011-07-01 2015-10-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated シリアル通信システムにおけるスタンバイ電力低減のためのシステムおよび方法
CN103326808B (zh) * 2012-03-21 2017-04-12 浙江大华技术股份有限公司 一种数据传输方法、装置及系统
US8549205B1 (en) 2012-05-22 2013-10-01 Intel Corporation Providing a consolidated sideband communication channel between devices
US8446903B1 (en) 2012-05-22 2013-05-21 Intel Corporation Providing a load/store communication protocol with a low power physical unit
DE112013003723B4 (de) * 2012-10-22 2018-09-13 Intel Corporation Hochleistungsfähige physikalische Kopplungsstrukturschicht
US9065722B2 (en) * 2012-12-23 2015-06-23 Advanced Micro Devices, Inc. Die-stacked device with partitioned multi-hop network
KR101985157B1 (ko) * 2013-12-26 2019-05-31 인텔 코포레이션 멀티칩 패키지 링크
US20160188519A1 (en) * 2014-12-27 2016-06-30 Intel Corporation Method, apparatus, system for embedded stream lanes in a high-performance interconnect

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2326664A1 (en) * 1998-04-03 1999-10-14 Avid Technology, Inc. Apparatus and method for controlling transfer of data between interconnected data processing elements and processing of data by these data processing elements

Also Published As

Publication number Publication date
US10552357B2 (en) 2020-02-04
DE112013007734B4 (de) 2023-03-30
US20180300275A1 (en) 2018-10-18
RU2016120702A (ru) 2017-11-30
CN108052463B (zh) 2021-08-17
US11003610B2 (en) 2021-05-11
RU2656732C2 (ru) 2018-06-06
EP3828717A3 (en) 2021-06-09
US20170083475A1 (en) 2017-03-23
KR101925694B1 (ko) 2018-12-05
EP3087491A1 (en) 2016-11-02
EP3361391B1 (en) 2021-01-27
US20200320031A1 (en) 2020-10-08
WO2015099719A1 (en) 2015-07-02
CN108052463A (zh) 2018-05-18
KR20160078417A (ko) 2016-07-04
KR20180030938A (ko) 2018-03-26
EP3361391A1 (en) 2018-08-15
EP3828717A2 (en) 2021-06-02
DE112013007734T5 (de) 2016-12-22
KR101985157B1 (ko) 2019-05-31
JP2017506010A (ja) 2017-02-23
EP3087491A4 (en) 2017-08-30
EP3087491B1 (en) 2018-12-05
CN105765544A (zh) 2016-07-13
US10073808B2 (en) 2018-09-11
JP6461959B2 (ja) 2019-01-30

Similar Documents

Publication Publication Date Title
CN105765544B (zh) 多芯片封装链路
US20220012189A1 (en) Sharing memory and i/o services between nodes
CN107924380B (zh) 使用业务类别分配高速缓存的方法、装置和系统
CN107408032B (zh) 互连中的伪随机比特序列
TWI610174B (zh) 計算裝置及計算系統
TWI634432B (zh) 多晶片封裝鏈結技術
JP6225154B2 (ja) 共有メモリリンクの低電力エントリ
CN105793829B (zh) 用于集成组件互连的装置、方法和系统
CN104995614B (zh) 高性能互连物理层
CN107003971B (zh) 用于高性能互连中的嵌入式流通道的方法、装置、系统
CN105593830B (zh) 用于测量电路的物理单元中的等待时间的方法、装置和系统
JP2017504089A5 (zh)
CN109643297A (zh) 电压调制的控制通路
CN108701023A (zh) 带内重定时器寄存器访问
TWI556094B (zh) 用以控制鏈結介面之未使用硬體的電力消耗之方法、設備及系統
JP6745289B2 (ja) マルチチップパッケージリンク
JP2020201967A (ja) マルチチップパッケージリンク

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant