CN107078850B - 边带奇偶校验处理 - Google Patents

边带奇偶校验处理 Download PDF

Info

Publication number
CN107078850B
CN107078850B CN201580063440.4A CN201580063440A CN107078850B CN 107078850 B CN107078850 B CN 107078850B CN 201580063440 A CN201580063440 A CN 201580063440A CN 107078850 B CN107078850 B CN 107078850B
Authority
CN
China
Prior art keywords
sideband
parity
message
error
interface
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
CN201580063440.4A
Other languages
English (en)
Other versions
CN107078850A (zh
Inventor
R.P.阿德勒
G.R.埃迪里索里亚
J.默里
D.K.布赫
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
Publication of CN107078850A publication Critical patent/CN107078850A/zh
Application granted granted Critical
Publication of CN107078850B publication Critical patent/CN107078850B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • H04L1/0063Single parity check
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40045Details regarding the feeding of energy to the node from the bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

提供了入站边带接口以通过第一边带链路接收消息,并且提供了奇偶校验逻辑以针对消息计算奇偶校验位。进一步地,提供了出站边带接口以通过第二边带链路将消息转发到第二设备。第二边带链路包括多个数据线和奇偶校验位线。通过数据线中的至少某些来转发消息并且通过与消息对应的奇偶校验位线将奇偶校验位发送到其他设备。

Description

边带奇偶校验处理
相关申请的交叉引用
本申请要求2014年12月19日提交的题为“SIDEBAND PARITY HANDLING”的美国非临时专利申请号14/578,313的权益和优先权,该美国非临时专利申请被整体地通过引用结合到本文中。
技术领域
本公开关于计算系统,并且特别地(但非排他地)关于错误(error)处理。
背景技术
半导体处理和逻辑设计方面的进步使得在集成电路设备上可以存在的逻辑的量中的增加有可能。作为必然的结果,计算机系统配置已经从系统中的单个或多个集成电路演进到在单独集成电路上存在的多个核、多个硬件线程和多个逻辑处理器以及集成在这样的处理器内的其它接口。处理器或集成电路通常包括单个物理处理器管芯,其中处理器管芯可以包括任何数目的核、硬件线程、逻辑处理器、接口、存储器、控制器集线器等。
作为在较小封装中装配较多处理能力的较强能力的结果,较小计算设备已经在流行性方面增加。智能电话、平板电脑、超薄笔记本及其它用户设备已呈指数增长。然而,这些较小设备依赖于用于超过形状因子的复杂处理和数据存储两者的服务器。因此,高性能计算市场(即服务器空间)中的需求也已增加。例如,在现代服务器中,通常不仅存在具有多个核的单个处理器,而且存在多个物理处理器(也称为多个插座)以增加计算能力。但是随着处理能力随着计算系统中的设备的数目一起增加,插座与其它设备之间的通信变得更关键。
事实上,互连已从主要处理电通信的更传统的多分支总线发展成促进快速通信的充分发展的互连架构。遗憾的是,如对未来处理器以甚至更高的速率进行消耗的需求增加一样,对现有互连架构的能力寄予相应需求。
附图说明
图1图示了包括互连架构的计算系统的实施例。
图2图示了包括分层栈的互连架构的实施例。
图3图示了包括用于互连架构的发射机和接收机对的实施例。
图4图示了分层协议的另一实施例。
图5图示了片上系统结构(fabric)代理的实施例。
图6是包括主要(primary)接口结构和边带接口结构的片上系统结构的简化框图。
图7A-7B是表示根据至少某些实施例的连接到一个或多个结构元件的多个代理的框图。
图8A-8B是图示片上系统结构的示例实现中的示例边带接口的框图。
图9图示了包括多核处理器的计算系统的框图的实施例。
图10图示了计算系统的框图的另一实施例。
各种图中同样的参考号码和名称指示同样的元件。
具体实施例方式
在以下描述中,阐述了许多特定细节,诸如特定类型的处理器和系统配置、特定硬件结构、特定架构和微架构细节、特定寄存器配置、特定指令类型、特定系统组件、特定测量/高度、特定处理器流水线级以及操作等的示例,以便提供对本发明的透彻理解。然而,对于本领域技术人员而言将显而易见的是不需要采用这些特定细节来实践本发明。在其它情况下,没有详细的描述公知的组件或方法,诸如特定和替代处理器架构、用于所描述的算法的特定逻辑电路/代码、特定固件代码、特定互连操作、特定逻辑配置、特定制造技术和材料、特定编译器实现、用代码的算法的特定表达、特定掉电和选通技术/逻辑及计算机系统的其它特定操作细节,以便避免不必要地使本发明模糊。
虽然可以参考特定集成电路中(诸如计算平台或微处理器中)的能量节省和能量效率来描述以下实施例,但其它实施例适用于其它类型的集成电路和逻辑设备。本文中描述的实施例的类似技术和教导可以应用于也可以受益于较好的能量效率和能量节省的其它类型的电路或半导体设备。例如,所公开的实施例不限于台式计算机系统或Ultrabooks™。并且还可以在其它设备中使用,诸如手持设备、智能电话、平板电脑、其它薄笔记本、片上系统(SOC)设备以及嵌入式应用。手持设备的某些示例包括蜂窝电话、因特网协议设备、数字相机、个人数字助理(PDA)以及手持PC。嵌入式应用通常包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机或者可以执行下面教导的功能和操作的任何其它系统。此外,本文中描述的装置、方法以及系统不限于物理计算设备,而且可以涉及软件优化以用于能量节省和效率。如在下面的描述中将容易地变得显而易见的,本文中描述的方法、装置以及系统的实施例(无论是关于硬件、固件、软件还是其组合)对于与性能考虑平衡的“绿色技术”未来而言是至关重要的。
随着计算系统进步,其中的组件正在变得更复杂。因此,用以在组件之间进行耦合和通信的互连架构在复杂性方面也已增加以确保带宽要求被满足以用于最优组件操作。此外,不同的市场段需要互连架构的不同方面以适合市场的需要。例如,服务器要求较高性能,而移动生态系统有时能够为了能量节省而牺牲总体性能。然而,以最大的功率节省提供最高的可能性能是大多数结构的单一目的。下面,讨论了多个互连,其将可能受益于本文中描述的本发明的方面。
一个互连结构架构包括快速外围组件互连(PCI)(PCIe)架构。例如,PCIe的主要目标是使得来自不同供应商的组件和设备能够在开放架构中进行互操作,跨越多个市场段;客户端(台式机和移动设备)、服务器(标准和企业)以及嵌入式和通信设备。快速PCI是针对很多种未来计算和通信平台定义的高性能、通用I/O互连。某些PCI属性(诸如其使用模型、加载-存储架构以及软件接口)已通过其校正而被维持,而先前的并行总线实现已被高度可扩展、完全串行的接口替换。快速PCI的最新版本利用点到点互连、基于交换机(switch)的技术以及分组化协议中的进步来递送新的性能和特征水平。功率管理、服务质量(QoS)、热拔插/热调换支持、数据完整性以及错误处理在快速PCI所支持的某些高级特征之中。
参考图1,图示了由将一组组件互连的点到点链路构成的结构的实施例。系统100包括被耦合到控制器集线器115的处理器105和系统存储器110。处理器105包括任何处理元件,诸如微处理器、主机处理器、嵌入式处理器、协处理器或其它处理器。处理器105通过前侧总线(FSB)106耦合到控制器集线器115,诸如根集线器或根联合体。在一个实施例中,FSB106是如下面描述的串行点到点互连。在另一实施例中,链路106包括遵守不同的互连标准的串行差分互连架构。
系统存储器110包括任何存储器设备,诸如随机存取存储器(RAM)、非易失性(NV)存储器或者可被系统100中的设备访问的其它存储器。系统存储器110通过存储器接口116耦合到控制器集线器115。存储器接口的示例包括双倍数据速率(DDR)存储器接口、双信道DDR存储器接口以及动态RAM(DRAM)存储器接口。
在一个实施例中,控制器集线器115是快速外围组件互连(PCIe或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可以包括用以支持传统或其它版本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是PCIe协议栈,包括事务层205、链路层210以及物理层220。可以将接口(诸如图1中的接口117、118、121、122、126和131)表示为通信协议栈200。作为通信协议栈的表示还可以称为实现/包括协议栈的模块或接口。
快速PCI使用分组在组件之间传送信息。在事务层205和数据链路层210中形成分组以将信息从传输组件载送到接收组件。随着传输的分组流过其它层,其被在那些层处处理分组所必需的附加信息进行扩展。在接收侧处,发生倒转过程,并且分组被从其物理层220表示变换成数据链路层210表示且最终(针对事务层分组)变换成可以被接收设备的事务层205处理的形式。
事务层
在一个实施例中,事务层205要提供设备的处理核与互连架构之间的接口,诸如数据链路层210和物理层220。在该点上,事务层205的主要职责是分组(即,事务层分组或TLP)的装配和分解。事务层通常管理用于TLP的信用基础的流控制。PCIe实现分离事务,即具有被按时间分离的请求和响应的事务,允许链路在目标设备收集用于响应的数据的同时载送其它业务。
另外,PCIe利用基于信用的流控制。在该方案中,设备针对事务层205中的每个接收缓冲器通告初始信用量。在链路的相对端处的外部设备(诸如图1中的控制器集线器115)对每个TLP所消耗的信用的数目进行计数。如果事务未超过信用限制,则事务可以被传输。在接收到响应时,信用的量被恢复。信用方案的优点是假如未遭遇信用限制则信用返回的等待时间不影响性能。
在一个实施例中,四个事务地址空间包括配置地址空间、存储器地址空间、输入/输出地址空间以及消息地址空间。存储器空间事务包括用以向/从存储器映射位置传送数据的读取请求和写入请求中的一个或多个。在一个实施例中,存储器空间事务能够使用两个不同的地址格式,例如短地址格式(诸如32位地址)或长地址格式(诸如64位地址)。配置空间事务用来访问PCIe设备的配置空间。到配置空间的事务包括读取请求和写入请求。消息空间事务(或者简单地称作消息)被定义成支持PCIe代理之间的带内通信。
因此,在一个实施例中,事务层205装配分组报头/净荷206。例如,在图2中,图示了示例报头分组格式。可以基于各种协议规范对其他示例分组报头/净荷进行格式化,诸如在PCIe规范网站处的PCIe规范中发现的报头/净荷格式。
链路层
也称为数据链路层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传输码,其中传输/接收十位符号。这里,使用特殊符号来设计(frame)具有帧223的分组。另外,在一个示例中,接收机还提供从传入的串行流恢复的符号时钟。
如上面所陈述的,虽然关于PCIe协议栈的特定实施例讨论了事务层205、链路层210和物理层220,但分层协议栈不被如此限制。事实上,任何分层协议可以被包括/实现。作为示例,表示为分层协议的端口/接口包括:(1)用以装配分组的第一层,即事务层;用以将分组定序的第二层,即链路层;以及用以传输分组的第三层,即物理层。作为特定示例,利用公共标准接口(CSI)分层协议。
接下来参考图3,图示了PCIe串行点到点结构的实施例。虽然图示了PCIe串行点到点链路的实施例,但是串行点到点链路不被如此限制,因为其包括用于传输串行数据的任何传输路径。在示出的实施例中,基本PCIe链路包括两个低压差分驱动的信号对:传输对306/311和接收对312/307。因此,设备305包括用以向设备310传输数据的传输逻辑306和用以从设备310接收数据的接收逻辑307。换言之,在PCIe链路中包括两个传输路径(即路径316和317)以及两个接收路径(即路径318和319)。
传输路径指的是用于传输数据的任何路径,诸如传输线路、铜线、光学线路、无线通信信道、红外通信链路或其它通信路径。两个设备(诸如设备305和设备310)之间的连接被称为链路,诸如链路315。链路可以支持一个通道——每个通道表示一组差分信号对(一对用于传输,一对用于接收)。为了扩展带宽,链路可以将xN所表示的多个通道聚合,其中N是任何支持的链路宽度,诸如1、2、4、8、12、16、32、64或更宽。
差分对指的是用以传输差分信号的两个传输路径,诸如线路316和317。作为示例,当线路316从低电压电平翻转至高电压电平(即上升沿)时,线路317从高逻辑电平驱动至低逻辑电平,即下降沿。差分信号可能展示出较好的电特性,诸如较好的信号完整性,即交叉耦合、电压过冲/下冲、振铃等。这虑及较好的定时窗口,其使得能够实现较快的传输频率。
在某些情况下,与设备支持的协议中的一个或多个相关联的互连架构或技术可以包括分层协议架构的定义,其在某些示例中包括协议层(一致、非一致以及可选地包括其它基于存储器的协议)、路由层、链路层以及物理层。此外,除了其他示例之外,HPI还可以进一步包括与功率管理器(诸如功率控制单元(PCU))、用于测试和调试的设计(DFT)、故障处理、寄存器、安全等有关的增强。图4图示了示例分层协议栈的一个示例的实施例。在某些实现中,图4中图示的层中的至少某些可以是可选的。每个层处理它自己的信息粒度或量水平(协议层405a、b具有分组430、链路层410a、b具有微片435,并且物理层405a、b具有物理微片(phit))。注意,在某些实施例中,分组可以基于实现而包括部分微片、单个微片或者多个微片。
作为第一示例,物理微片的宽度包括链路宽度到位的1对1映射(例如20位链路宽度包括20位的物理微片等)。微片可具有更大的尺寸,诸如184、192或200位。注意,如果物理微片为20位宽度并且微片435大小为184位,则其采用分数数目的物理微片来传输一个微片435(除了其他示例之外,还例如采用20位下的9.2个物理微片传输184位微片435或采用20位下的9.6个物理微片传输192位微片)。注意,基础链路的宽度在物理层处可变化。例如,每个方向的通道的数目可包括2、4、6、8、10、12、14、16、18、20、22、24等。在一个实施例中,链路层410a、b能够在单个微片中嵌入多片不同的事务,并且一个或多个报头(例如1、2、3、4)可被嵌入在微片内。
在一个实施例中,物理层405a、b可负责在物理介质(电的或光学的,等等)上快速传送信息。物理链路在两个链路层实体(诸如层405a和405b)之间可以是点对点的。链路层410a、b可从上层提取物理层405a、b并提供用以在两个直接连接的实体之间可靠地传送数据(以及请求)并管理流量控制的能力。链路层还可负责将物理信道虚拟化成多个虚拟信道和消息类别。协议层420a、b依赖于链路层410a、b来在将协议消息传递到物理层405a、b以用于跨物理链路的传送之前将协议消息映射到适当的消息类别和虚拟信道中。链路层410a、b可支持多个消息,除了其他示例之外,还诸如请求、监听、响应、写回、非一致数据。
物理层405a、b(或PHY)可被实现在电层(即连接两个组件的电导体)之上和链路层410a、b之下,如图4中图示的那样。物理层和相应逻辑可驻留于每个代理上并连接在(例如在链路任一侧上的设备上的)相互分离的两个代理(A和B)上的链路层。本地和远程电层通过物理介质(例如导线、导体、光纤等)连接。在一个实施例中,物理层405a、b具有两个主要阶段:初始化和操作。在初始化期间,连接对链路层不透明,并且信令可涉及定时状态和握手事件的组合。在操作期间,连接对链路层透明并且信令以一定速度,其中所有通道一起操作作为单个链路。在操作阶段期间,物理层将微片从代理A传输至代理B并从代理B传输至代理A。连接也称为链路,并从链路层提取某些物理方面,包括介质、宽度和速度,同时与链路层交换当前配置(例如宽度)的微片和控制/状态。初始化阶段包括次要阶段,例如轮询、配置。操作阶段也包括次要阶段(例如链路功率管理状态)。
在一个实施例中,可实现链路层410a、b,以便在两个协议或路由实体之间提供可靠的数据传送。链路层可从协议层420a、b提取物理层405a、b,并可负责两个协议代理(A、B)之间的流控制,并向协议层(消息类别)和路由层(虚拟网络)提供虚拟信道服务。协议层420a、b和链路层410a、b之间的接口通常可以在分组水平处。在一个实施例中,链路层处的最小传送单元称为微片,其是指定数目的位,诸如192位或某些其他额。链路层410a、b依赖于物理层405a、b来将物理层的405a、b传送单元(物理微片)设计成链路层的410a、b传送单元(微片)。此外,链路层410a、b可被逻辑上分为两个部分,即发送机和接收机。一个实体上的发送机/接收机对可被连接到另一实体上的接收机/发送机对。常常基于微片和分组两者来执行流控制。还可能基于微片水平来执行错误检测和校正。
在一个实施例中,路由层415a、b可提供灵活和分布式的方法,以将HPI事务从源路由至目的地。该方案是灵活的,因为用于多个拓扑的路由算法可通过在每个路由器处的可编程路由表来指定(在一个实施例中,编程由固件、软件或其组合来执行)。路由功能可以是分布式的;路由可通过一系列路由步骤来完成,其中每个路由步骤通过对源、中间或目的地路由器处的表的查找来定义。在源处的查找可以用来将分组注入至结构中。在中间路由器处的查找可以用来将分组从输入端口路由至输出端口。在目的地端口处的查找可以用来将目的地协议代理作为目标。注意,在某些实现中,路由层可能是薄的,因为路由表并且因此路由算法可能并未按规范具体地定义。这可以虑及灵活性和多种使用模型,包括要由系统实现所定义的灵活平台架构拓扑。路由层415a、b依赖于链路层410a、b,用于提供多达三个(或更多个)虚拟网络(VN)——在一个示例中,具有在每个虚拟网络中定义的若干消息类别的两个免死锁VN(VN0和VN1)——的使用。
在一个实施例中,可以提供协议层420a、b来管理涉及分组和分组化数据流的事务的通信。在某些实施例中,协议层420a、b可以支持来自存储器的数据的代理高速缓存线。希望对存储器数据进行高速缓存的代理可以使用一致协议来读取要加载到其高速缓存中的数据行。希望修改其高速缓存中的数据行的代理可以使用一致协议来在修改数据之前获取该行的所有权。在修改一行之后,代理可以遵循在其响应于外部请求而将该行写回到存储器或者包括该行之前将该行保持在其高速缓存中的协议要求。
在一个示例中,可以提供片上系统结构以充当公共知识产权(IP)块接口架构并且使能IP重用。可以针对结构定义接口信号和架构以提供接口例示、仲裁、流控制地址解码能力、错误处理、功率管理功能和其他能力,使得可以跨宽范围的产品和使用情况以最小增量的努力来重用被设计成遵守片上系统结构的IP块。
片上系统(SoC)架构可以包括诸如路由器之类的设备来实现结构。还可以提供遵守片上系统结构的接口协议的端点设备或代理。这样的代理可以连接到片上系统结构并且从而与连接到结构的其他代理通信。结构拓扑本身可以是产品特定的。然而,片上系统结构可以定义代理与结构之间的接口协议。可以跨利用片上系统结构架构的系统的各种实现来重用代理和接口协议。
转到图5,示出了示例代理设备的简化框图。示例片上系统结构架构可以针对每个代理设备定义三个独立接口。例如,代理500可以包括用以定义设备500的功能的逻辑块。代理500可以进一步包括任意数目(甚至零)的主要接口(例如,505)和任意数目(甚至零)的边带接口(例如,510)。验证和测试接口(例如,515)可以可选地被包括在至少某些设计中。主要接口可以充当用于设备之间的命令和数据传送的高性能接口。该接口可以包括发起事务的主接口和接收事务和相关数据的目标接口。代理可以支持主接口和目标接口两者。主要接口还可以支持有区别的信道的概念以在片上系统中提供独立数据流。每个独立信道可以是片上系统结构的信道。片上系统结构可以定义信令和协议,用以通过片上系统结构将不同类型的请求从来自主(master)(源)的IP块(例如,代理)支持的各种端口和/或虚拟信道传送到目标(目的地)。
边带接口(例如,510)可以充当用于传送结构内的所有带外信息的标准接口,所述带外信息包括错误、中断、功率管理等。边带消息接口可以用来替换(和消除)特殊目的线(wire),其可能危害IP块的重用(例如,其拥有这样的专用线)。边带消息接口510可以标准化带外通信。标准总线定义和消息编码方案可以被定义成促进模块化和降低对跨各种设计的IP块重用的验证要求。
边带消息接口(例如,510)可以是具有端点、路由器和将路由器互连的网络的点到点网络。在某些实现中,支持边带接口的端点代理设备可以一直连接到片上系统结构边带路由器。转到图6,示出了图示示例结构的简化框图600,所述示例结构包括通过包括主要接口结构625(其可以包括一个或多个结构设备)的结构和包括一个或多个边带消息传送接口路由器(例如,630)的边带结构互连的多个代理605、610、615、620。代理(例如,605、610、615、620)可以利用它们的主要接口和主要接口结构625来传送带内通信。例如,除了其他示例之外,带内通信还可以包括代理与主机CPU之间的事务、代理之间的对等事务。可以通过主要接口递送包括存储器、I/O、配置和带内消息的所有事务类型。另一方面,可以使用边带结构(例如,630)和代理来传送边带(或带外)消息。
图7A示出了图示包括使用边带接口路由器630互连的一个或多个代理605、610、615、620、705、710的简化系统的一部分的简化框图700a,其中每个代理(例如,605、610、615、620、705、710)通过相应的边带消息接口连接到路由器630。多个路由器(例如,630、715)可以被包括在其他系统中,诸如(包括附加代理720、725、730、735、740的)在图7B中图示的简化系统的部分。
在某些架构中,端点可以被视为驻留在代理内,而路由器驻留在结构中。边带消息接口上的端点可以是被代理用来通过边带消息接口发起或接收消息的物理组件。该端点可以与至少一个端口ID相关联。端点可以通过发送消息而互相通信,所述消息通过结构中的路由器在点到点接口链路上行进。代理是附着到结构的具有一个或多个片上系统结构接口的逻辑设备。
链路可以由两个消息信道组成,其中的每个提供两个边带消息接口组件之间的单向通信。每个端点可以与单个路由器通信,通过消息内的目的地端口ID的使用来提供目标信息。路由器然后可以根据在消息的端口ID中指定的目标和在每个路由器中编译的内部端口到端口映射表、通过它们的端口向消息结构中的其他端点转发消息。路由器上的节点可以是任何数目的端口的目的地。这的示例将是如果路由器上的一个节点是到另一路由器的链接,诸如图7B的示例中那样。实际上,可以在系统中级联多个路由器以处理更复杂的拓扑。这可以帮助通过使用在通过单个链路连接的每个区域中的本地路由器来最小化从芯片的一个区域到另一个的路由。
在一个实施例中,边带消息接口拓扑可以采用树结构,其中所有端点是叶节点。可以定义从任何一个给定端口到另一个的单个路径。另外,结构拓扑可以考虑可能掉电的电力井(power well)。网络中的边带消息接口端点可以在不同的时钟域中。结构中的路由器可以实现适当的结构以处理从一个域到另一个的交叉。
边带消息接口可以被实现为端点与路由器之间的信号的小集合。在一个示例实现中,边带接口可以包括两个通信信道。可以通过在一个方向(主到目标)上前进的多个数据通信信道和在另一方向(目标到主)上前进的两个信用更新信号来实现边带接口的每个通信信道。接口的宽度可以被固定或可以在多个可用宽度之间变化。例如,边带消息接口可以定义用于依从代理的8-、16-或32-位串行接口中的任一个。发送代理可以将消息编码到一系列8-、16-或32-位微片(流控制单元)中,并且接收机代理可以对这些微片解码来破译消息。另一方面,结构可以保持对(在显式路由字段值外部的)消息内容无知。例如,结构可能具体不知道目的地端口ID。
转到图8A和8B的示例,链路可以涉及一个设备(例如,605)的主接口(例如,805)与另一设备(例如,630)的目标接口(例如,815)的连接。在一个示例中,可以在端点处定义信号名称。因为路由器将通常连接多个端点,所以路由器中使用的信号名称将是唯一的并且可以可能包含关于所连接的主和目标接口的信息。跨边带消息接口的事务可以根据边带时钟速率而发生。如果路由器连接具有不同的净荷数据宽度的端点,则复用和解复用发生在路由器内的这样的宽度交叉处。类似地,任何时钟或电力井同步可以发生在结构中。
如图8A中所示,边带消息接口(例如,805)可以包括净荷信道(例如,主净荷,“mpayload”)和附加控制信号。例如,表1和2描述了示例边带消息接口信号:
表格1:主侧信号描述
信号 宽度 /O /O 描述
mnpput 1 从主到目标的非告知的输入
mpcput 1 从主到目标的已告知或完成输入
mnpcup 1 从目标到主的非告知的信用更新
mpccup 1 从目标到主的已告知或完成信用更新
meom 1 从主到目标的消息的结束
mpayload 8/16/32 从主到目标的消息净荷
mparity 1 从主到目标的消息奇偶校验
表格2:目标侧信号描述
信号 宽度 /O /O 描述
tnpput 1 从目标到主的非告知的输入
tpcput 1 从主到目标的已告知或完成输入
tnpcup 1 从主到目标的非告知的信用更新
tpccup 1 从主到目标的已告知或完成信用更新
teom 1 从目标到主的消息的结束
tpayload 8/16/32 从目标到主的消息净荷
tparity 1 从目标到主的消息奇偶校验
边带消息传送信道可以用来发送各种中断和错误消息。这样的错误消息可以通知系统在主要接口上通过系统的组件检测到的奇偶校验(parity)错误。在某些实现中,边带消息传送信道本身可以被装备错误检测功能,允许边带消息传送上的错误被检测和报告。例如,代理中的至少某些可能针对边带接口支持奇偶校验处理。为了保持与不拥有边带奇偶校验错误处理的端点的后向兼容性,可以用仪器装备边带路由器以代表不拥有这样的功能的代理提供奇偶校验处理以有效地提供跨边带结构的奇偶校验处理。
在图8A的示例中,端点0(605)和端点1(610)两者都包括奇偶校验处理支持并且被装备附加线以发送和接收奇偶校验信号(例如,845、850、855、860)、目标奇偶校验(“tparity”)和主奇偶校验(“mparity”)。连接到元件的边带消息传送接口的路由器630(或其他结构元件)也可以支持奇偶校验信号。转到图8B,系统中的某些端点(例如,端点2(615))可能不天然地支持奇偶校验和处理。因此,这样的端点的主和目标接口(例如,870、875)可能缺乏附加线,其被配置用于提供将用来报告代理接收和/或发送的边带消息的奇偶校验的附加奇偶校验信号(或位)。进一步地,要与端点对接的路由器(例如,630)可以被配置成在接口(例如,880、885)中省略可选的奇偶校验线。
代理可以被配置成支持用于边带消息传送接口上的奇偶校验处理。代理可以包括奇偶校验计算逻辑,用以确定消息的奇偶校验值,或者要通过边带消息传送接口的净荷通路发送的消息的部分。例如,可以针对通过净荷发送的数据的每个微片计算奇偶校验。在某些实现中,还可以发送消息的结束(“eom”)信号(位),其对应于消息微片,并且奇偶校验计算还可以考虑eom位和边带消息的净荷位。 在这样的示例中,代理可以计算奇偶校验,使得跨净荷、eom和奇偶校验接口信号的奇偶校验的数目是偶数。可以采用其他算法,并且可以在计算针对数据的微片的相应奇偶校验值时考虑其他接口信号。
在某些系统中,代理中的仅某些可以支持奇偶校验计算。在这样的实现中,可以针对代理定义带(strap)。带可以是用来静态地配置代理的常数。可以加载带以配置代理的主要或边带接口。在边带接口的情况下,除了其他示例之外,带还可以被加载在边带寄存器中或提供作为编译时间处的常数。进一步地,可以针对支持奇偶校验的代理定义特殊带。例如,这样的代理可以实现边带奇偶校验要求的(SB_PARITY_REQUIRED)带。这可以用来例如通过设置SB_PARITY_REQUIRED带来有效地“打开”或“关掉”奇偶校验处理。例如,如果SB_PARITY_REQUIRED带未被设置,则代理不被要求作为主正确地生成奇偶校验,并且然后可以将在具有正确的奇偶校验时作为目标处理接收的所有微片。
支持奇偶校验处理的代理可以作为目标(例如,在SB_PARITY_REQUIRED被设置时)检测奇偶校验错误。在这样的情况下,代理可以响应于检测到奇偶校验错误而立即停止处理当前消息,并且将不处理任何后续消息的任何微片。进一步地,如果消息未被告知(post),则代理还可以支持返回信用。然而,如果消息被告知或完成,则代理可以忽视来自当前消息和来自所有后续消息的所有微片,同时继续返回告知的/完成(PC)信用以促进任何告知的错误检测边带消息的传播。另外,作为目标的支持奇偶校验的代理可以提供内部寄存器以存储奇偶校验错误的检测,并且代理可以被配置成在检测之后保持在活动链路状态中。在某些示例中,除了其他可能的补救之外,还可以限制代理从在边带接口上检测到的奇偶校验错误的恢复以重置整个边带网络。
在某些实现中,(例如,当SB_ PARITY_ REQUIRED被设置时)在代理的边带接口上作为目标来检测奇偶校验错误的代理可以使用(例如,在其边带主接口上发送的)边带信息来用信号通知奇偶校验错误。错误消息可以指示错误要被作为致命错误来处理。例如,甚至在代理已经发送错误消息的情况下,代理可以在它作为目标来检测奇偶校验错误时发送具有致命状态的另一错误消息。因此,作为目标的支持奇偶校验的代理可以抑制处理(例如,在SB_ PARITY_ REQUIRED被设置时)在其任何微片中具有奇偶校验错误的任何消息。在一个实现中,可以在完整消息被处理(例如,以包含来自传播的错误)之前(例如,针对奇偶校验错误)缓存和校验完整消息的情况下提供存储和转发实现。
在某些实现中,支持奇偶校验的代理可能仅作为目标负责校验奇偶校验。例如,在代理的主接口上,代理可以抑制在它自己的内部生成的事务上进行奇偶校验并且代之以依赖于边带结构元件(例如,路由器630)来检测所述事务中的奇偶校验错误。在代理不校验它自己的内部生成的事务上的奇偶校验(例如,作为传输的主)时,它可以保持它的奇偶校验在内部并且抑制在指示错误的检测的响应(再次,依赖于结构来检测错误和实现错误的通知)中发送边带错误消息。
如上面指示的那样,结构元件(例如,路由器630)还可以被配置成支持奇偶校验错误处理、检测和报告。例如,可以给连接到支持奇偶校验的代理的结构元件提供功能和相应逻辑以用于将奇偶校验转发到系统中的任何可能的外出端口。因此,支持奇偶校验的结构元件可以关于它们内部生成的任何消息生成正确的奇偶校验。进一步地,结构元件还可以生成奇偶校验,其代表其连接到的本身不能生成奇偶校验的任何代理。例如,在图8B的示例中,可以从端点615的主接口870发送边带消息。因为端点615不支持奇偶校验,所以其没有针对消息计算出的奇偶校验,并且没有在路由器630的入口(目标)接口880处利用消息提供奇偶校验值。然而,路由器630可以在将消息放置在路由器630中的队列中之前关于该消息计算正确的奇偶校验。路由器630然后可以在从队列弹出消息和准备消息用于在路由器630的主接口(例如,830)上进行转发之后(使用先前由路由器生成的奇偶校验值)针对奇偶校验错误来校验消息。实际上,结构可以在所有结构队列的输出处校验奇偶校验。另外,可以引导促进网络中的宽度交叉的结构元件在宽度交叉发生的任何地方执行奇偶校验。
在检测到奇偶校验错误时,结构元件(例如,630)可以立即停止处理当前消息、抑制处理任何后续消息的任何微片,以及可以停止返回所有信用。在某些实现中,结构元件可以保证具有奇偶校验错误的微片被包含在结构内并且从未传播。另外,支持奇偶校验的结构可以提供用于奇偶校验错误的检测的贮存器。可以为了调试暴露这样的贮存器来促进对奇偶校验错误的分析。响应于由结构元件检测到的奇偶校验错误而从停止条件的恢复可以仅通过重置整个边带网络来恢复。奇偶校验错误贮存器还可以被配置成基于边带重置而进行重置。
如同代理,结构元件将报告奇偶校验错误。因为结构要保证奇偶校验错误遏制(containment)而不是经由边带消息传送接口报告奇偶校验,可以给结构元件提供分离的边带线865用于用信号通知对在边带接口消息中检测到的奇偶校验错误的检测。检测奇偶校验错误的结构可以经由边带线865报告对奇偶校验错误的检测,因为边带网络应该由于奇偶校验错误而悬挂。在对该特征的支持中,除了其他示例实现之外,结构中的单独的路由器可以提供一组输入以允许奇偶校验错误的检测对于结构中的其他路由器而言是菊链式的。
经由图示,代理(例如,605)可以在它的目标边带结构接口上从另一设备(例如,另一代理,CPU等)接收边带消息。边带消息可以用来传送在结构的主要接口上检测到的消息(在某些情况下,包括在主要接口消息中检测到的奇偶校验错误)。边带消息可以比目标接口的净荷信道的宽度大。因此,可以使用多个微片来传输所述消息。边带消息的每个微片可以包括相应奇偶校验位以指示针对微片计算出的奇偶校验。奇偶校验位可以由结构中的从消息的生成器接收边带消息的微片的第一路由器计算。替代地,诸如在宽度交叉的情况下,结构中的另一路由器可能生成在代理的目标接口处接收的微片的所接收的奇偶校验值。代理在接收边带消息的每个微片时可以针对每个微片重新计算奇偶校验并且将每个重新计算的值相对相应的所接收的奇偶校验值进行比较。如果任何微片的奇偶校验值失配,则代理可以确定在边带消息中存在奇偶校验错误,并且立即停止对消息的处理。实际上,为了实现该保护,可以延迟对消息的处理直到消息的所有微片已经被接收并且被清除任何奇偶校验问题。进一步地,在检测到的奇偶校验错误的情况下,代理可以生成致命系统错误消息并且在它的主边带接口上发送致命系统错误消息以用于递送到其他系统元件来影响系统(例如,错误遏制单元和/或重置控制器)的重置。重置可以涉及尝试优雅地关闭结构使得任何未解决的错误或中断消息首先向前取得进展。可以在优雅的关闭期间丢弃其他业务。
在另一示例中,诸如路由器630之类的结构元件可以例如当在其目标接口处接收边带消息的微片时(例如,在从支持奇偶校验的代理接收时)或者当微片退出路由器的队列并且被针对奇偶校验而重新校验时检测边带消息中的奇偶校验错误。路由器可以通过保证是在路由器处的奇偶校验错误的源的消息的遏制(例如,通过停止处理附加信息直到重置)和在独立于边带(或主要)结构接口的边带线上发送奇偶校验错误信号以使得结构进入重置模式,而不是通过结构的边带接口发送消息,来对检测到的奇偶校验错误进行响应。
应注意,本文中描述的示例原理、解决方案和特征可以同样地适用于其他协议和系统。进一步地,注意上面描述的装置、方法和系统可以在如前述的任何电子设备或系统中实现。作为特定图示,下面各图提供用于利用如本文中描述的本发明的示例性系统。随着下面的系统被较详细地描述,从上面的讨论公开、描述和修改了多个不同的互连。并且如容易地显而易见的,上面描述的进步可以被应用于那些互连、结构或架构中的任何。
本文中描述的原理和特征可以结合在任何多种计算设备和系统中。例如,参考图9,描绘了包括多核处理器的计算系统的框图的实施例。处理器900包括任何处理器或处理设备,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持处理器、应用处理器、协处理器、片上系统(SOC)或执行代码的其它设备。在一个实施例中,处理器900包括至少两个核——核901和902,其可包括不对称核或对称核(图示的实施例)。然而,处理器900可包括可能对称或不对称的任何数目的处理元件。
在一个实施例中,处理元件指的是支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽(slot)、线程、过程单元、上下文(context)、上下文单元、逻辑处理器、硬件线程、核和/或任何其它元件,其能够为处理器保持诸如执行状态或架构状态之类的状态。换言之,在一个实施例中,处理元件指的是能够独立地与代码相关联的任何硬件,诸如软件线程、操作系统、应用或其它代码。物理处理器(或处理器插座)典型地指的是集成电路,其可能包括任何数目的其它处理元件,诸如核或硬件线程。
核常常指的是位于能够维持独立的架构状态的集成电路上的逻辑,其中每个独立地维持的架构状态与至少某些专用执行资源相关联。与核形成对照,硬件线程典型地指的是位于能够维持独立的架构状态的集成电路上的任何逻辑,其中独立地维持的架构状态共享对执行资源的访问。如可以看到的,当某些资源被共享并且其它资源专用于架构状态时,硬件线程与核的命名之间的线重叠。然而,常常操作系统将核和硬件线程视为单独的逻辑处理器,其中操作系统能够在每个逻辑处理器上单独地调度操作。
如图9中所图示的物理处理器900包括两个核——核901和902。这里,核901和902被认为是对称核,即具有相同配置、功能单元和/或逻辑的核。在另一个实施例中,核901包括无序处理器核,而核902包括有序处理器核。然而,核901和902可单独地选自任何类型的核,诸如原生(native)核、经软件管理的核、适配成执行原生指令集架构(ISA)的核、适配成执行经翻译的指令集架构(ISA)的核、共同设计的核或其它已知的核。在异构核环境(即非对称核)中,诸如二进制翻译之类的某个形式的翻译可用于在一个或两个核上调度或执行代码。然而为了推动讨论,以下进一步详细描述在核901中图示的功能单元,因为核902中的单元在所描绘的实施例中以类似的方式操作。
如所描绘的那样,核901包括两个硬件线程901a和901b,其也可被称为硬件线程槽901a和901b。因此,在一个实施例中,诸如操作系统之类的软件实体可能将处理器900视为四个分离的处理器,即能够同时执行四个软件线程的四个逻辑处理器或处理元件。如上面所提到的,第一线程与架构状态寄存器901a相关联,第二线程与架构状态寄存器901b相关联,第三线程可与架构状态寄存器902a相关联,并且第四线程可与架构状态寄存器902b相关联。这里,架构状态寄存器(901a、901b、902a和902b)中的每个可被称为如上面描述的处理元件、线程槽或线程单元。如所图示的,在架构状态寄存器901b中复制架构状态寄存器901a,因此单独的架构状态/上下文能够被存储以用于逻辑处理器901a和逻辑处理器901b。在核901中,也可复制其它较小的资源以用于线程901a和901b,所述资源诸如在分配器和重新命名块930中的指令指针和重命名逻辑。可通过分区共享某些资源,诸如重排序/引退单元935中的重排序缓冲器、ILTB 920、加载/存储缓冲器和队列。可能完全共享其它资源,诸如通用内部寄存器、(多个)页表基址寄存器、低级数据高速缓存和数据-TLB 951、(多个)执行单元940以及无序单元935的部分。
处理器900常常包括可被完全共享、通过分区共享或由处理元件专用/专用于处理元件的其它资源。在图9中,图示了具有处理器的说明性逻辑单元/资源的纯粹示例性处理器的实施例。注意:处理器可包括或省略这些功能单元中的任何,以及包括未描绘的任何其它已知的功能单元、逻辑或固件。如所图示的,核901包括简化的、代表性的无序(OOO)处理器核。但是,可在不同的实施例中使用有序处理器。OOO核包括预测将执行/采取的分支的分支目标缓冲器920,以及存储针对指令的地址翻译条目的指令翻译缓冲器(I-TLB)920。
核901进一步包括耦合到取出单元925以解码取出的元素的解码模块920。在一个实施例中,取出逻辑包括分别与线程槽901a、901b相关联的单独的定序器。通常核901与第一ISA相关联,第一ISA定义/指定在处理器900上可执行的指令。是第一ISA的部分的机器代码指令常常包括指令的一部分(被称为操作码),该部分引用/指定将执行的指令或操作。解码逻辑925包括电路,该电路从其操作码识别这些指令并在流水线中传递解码的指令以用于如由第一ISA定义的处理。例如,如以下更详细地讨论的,在一个实施例中,解码器925包括被设计或适配成识别诸如事务性指令之类的特定指令的逻辑。由于由解码器925识别,架构或核901采取特定的预定义动作以执行与适当的指令相关联的任务。重要的是注意:可响应于单个或多个指令来执行本文中描述的任务、块、操作和方法中的任何;其中的某些可以是新的或旧的指令。注意:在一个实施例中,解码器926识别相同的ISA(或其子集)。替代地,在异构核环境中,解码器926识别第二ISA(或者第一ISA的子集或者不同的ISA)。
在一个示例中,分配器和重命名块930包括用以保留资源的分配器,所述资源诸如用以存储指令处理结果的寄存器文件。然而,线程901a和901b可能能够无序执行,其中分配器和重命名块930还保留其它资源,诸如用以跟踪指令结果的重排序缓冲器。单元930还可包括寄存器重命名器,以将程序/指令参考寄存器重命名成处理器900内部的其它寄存器。重排序/引退单元935包括诸如以上提及的重排序缓冲器、加载缓冲器和存储缓冲器之类的组件,以支持无序执行以及无序执行的指令的稍后有序引退。
在一个实施例中,(多个)调度器和执行单元块940包括调度器单元,以调度执行单元上的指令/操作。例如,在具有可用浮点执行单元的执行单元的端口上调度浮点指令。还包括与执行单元相关联的寄存器文件以存储信息指令处理结果。示例性执行单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元和其它已知的执行单元。
较低级数据高速缓存和数据翻译缓冲器(D-TLB)950耦合到(多个)执行单元940。数据高速缓存将存储最近使用/操作的元素,诸如数据操作数,其可能被以存储器一致性状态保持。D-TLB将存储最近的虚拟/线性到物理的地址翻译。作为特定示例,处理器可包括页表结构以将物理存储器分解成多个虚拟页面。
这里,核901和902共享对较高级或较远离的高速缓存的访问,诸如与片上接口910相关联的二级高速缓存。注意:较高级或较远离指的是增加或变得进一步远离(多个)执行单元的高速缓存级。在一个实施例中,较高级高速缓存是最后一级数据高速缓存——处理器900上的存储器层级中的最后一个高速缓存——诸如第二或第三级数据高速缓存。然而,较高级高速缓存不被如此限制,因为它可与指令高速缓存相关联或包括指令高速缓存。跟踪高速缓存——一个类型的指令高速缓存——反而可耦合在解码器925之后以存储最近解码的跟踪。这里,指令可能指的是可解码成许多微指令(微操作)的宏指令(即由解码器识别的通用指令)。
在所描绘的配置中,处理器900还包括片上接口模块910。历史上,以下更详细描述的存储器控制器已被包括在处理器900外部的计算系统中。在该场景中,片上接口910将与处理器900外部的设备通信,所述设备诸如系统存储器975、芯片组(常常包括存储器控制器集线器以连接到存储器975,以及I/O控制器集线器以连接外围设备)、存储器控制器集线器、北桥或其它集成电路。并且在该场景中,总线905可包括任何已知的互连,诸如多点总线、点到点互连、串行互连、并行总线、相干(例如高速缓存相干)总线、分层协议架构、差分总线和GTL总线。
存储器975可专用于处理器900或与系统中的其它设备共享。存储器975的类型的常见示例包括DRAM、SRAM、非易失性存储器(NV存储器)和其它已知的存储设备。注意:设备980可包括图形加速器、耦合到存储器控制器集线器的处理器或卡、耦合到I/O控制器集线器的数据贮存器、无线收发器、闪存设备、音频控制器、网络控制器或其它已知的设备。
然而最近,随着更多的逻辑或设备集成在诸如SoC之类的单个管芯上,这些设备中的每个可合并在处理器上。例如在一个实施例中,存储器控制器集线器在与处理器900相同的封装和/或管芯上。这里,核的一部分(核上部分)910包括用于与诸如存储器975或图形设备980之类的其它设备对接的一个或多个控制器。包括互连和用于与这样的设备对接的控制器的配置常常被称为核上(或非核配置)。作为示例,片上接口910包括用于片上通信的环形互连以及用于片外通信的高速串行点对点链路905。然而,在SOC环境中,甚至更多设备,诸如网络接口、协处理器、存储器975、图形处理器980和任何其它已知的计算机设备/接口,可集成在单个管芯或集成电路上,以给小的形状因子提供高功能和低功率消耗。
在一个实施例中,处理器900能够执行编译器、优化和/或翻译器代码977,以编译、翻译和/或优化应用代码976来支持本文中描述的装置和方法或与其对接。编译器常常包括将源文本/代码翻译成目标文本/代码的程序或程序集。通常,在多个阶段或多遍中完成用编译器编译程序/应用代码,以将高级编程语言代码变换成低级机器或汇编语言代码。然而,单遍编译器仍可用于简单编译。编译器可利用任何已知的编译技术并执行任何已知的编译器操作,诸如词法分析、预处理、解析、语义分析、代码生成、代码变换和代码优化。
较大的编译器常常包括多个阶段,但最经常的是这些阶段被包括在两个一般阶段内:(1)前端,即一般其中可发生语法处理、语义处理和某些变换/优化,以及(2)后端,即一般其中发生分析、变换、优化和代码生成。某些编译器指的是说明编译器的前端和后端之间的描述模糊的中间。因此,对编译器的插入、关联、生成或其它操作的引用可发生在前述阶段或遍的任何以及编译器的任何其它已知的阶段或遍中。作为说明性示例,编译器可能在编译的一个或多个阶段中插入操作、调用、功能等,诸如在编译的前端阶段中插入调用/操作以及然后在变换阶段将调用/操作变换成较低级代码。注意:在动态编译期间,编译器代码或动态优化代码可插入这样的操作/调用,以及在运行时间期间优化用于执行的代码。作为特定的说明性示例,可在运行时间期间动态优化二进制代码(已编译的代码)。这里,程序代码可包括动态优化代码、二进制代码或其组合。
类似于编译器,诸如二进制翻译器之类的翻译器或者静态地或者动态地翻译代码以优化和/或翻译代码。因此,对代码、应用代码、程序代码或其它软件环境的执行的引用可能指的是:(1)(多个)编译器程序、优化代码优化器或翻译器或者动态地或者静态地的执行,以编译程序代码,以维持软件结构,以执行其它操作,以优化代码,或以翻译代码;(2)包括操作/调用的主程序代码的执行,所述主程序代码诸如已经被优化/编译的应用程序代码;(3)与主程序代码相关联的诸如库之类的其它程序代码的执行,以维持软件结构,以执行其它软件相关操作,或以优化代码;或者(4)其组合。
接着转到图10,描绘了根据本发明的片上系统(SOC)设计的实施例。作为特定说明性示例,SOC 1000包括在用户装备(UE)中。在一个实施例中,UE指的是将由最终用户用于通信的任何设备,诸如手持电话、智能电话、平板电脑、超薄笔记本电脑、具有宽带适配器的笔记本电脑或者任何其它类似的通信设备。常常UE连接到基站或节点,该基站或节点事实上可能对应于GSM网络中的移动站(MS)。
这里,SOC 1000包括2个核——1006和1007。类似于以上讨论,核1006和1007可符合指令集架构,诸如基于Intel® Architecture Core™的处理器、Advanced MicroDevice公司(AMD)处理器、基于MlPS的处理器、基于ARM的处理器设计,或其客户,以及它们的被许可者或采用者。核1006和1007耦合到与总线接口单元1009和L2高速缓存1011相关联的高速缓存控制1008以与系统1000的其它部分通信。互连1010包括可能实现你本文中描述的一个或多个方面的片上互连,诸如IOSF、AMBA或以上讨论的其它互连。
互连1010提供通信信道给其它组件,诸如订户身份模块(SIM)1030以与SIM卡对接,引导rom 1035以保持用于由核1006和1007执行以初始化和引导SOC 1000的引导代码,SDRAM控制器1040以与外部存储器(例如DRAM 1060)对接,闪存控制器1045以与非易失性存储器(例如闪存1065)对接,外围控制1050(例如串行外设接口)以与外围设备对接,视频编解码器1020和视频接口1025以显示和接收输入(例如触摸使能的输入),GPU 1015以执行图形相关的计算等。这些接口中的任何可合并本文中描述的本方面的方面。
另外,该系统图示了用于通信的外围设备,诸如蓝牙模块1070、3G调制解调器1075、GPS 1085和WiFi 1085。注意:如以上所陈述的,UE包括用于通信的无线电设备。因此,不全部需要这些外围通信模块。然而,在UE中,将包括用于外部通信的某个形式的无线电设备。
虽然已经相对于有限数目的实施例描述了本发明,但是本领域技术人员将领会从其的许多修改和变型。意图所附权利要求涵盖所有这样的修改和变型,如落入本发明的真正精神和范围内。
设计可经历各种阶段,从创建到仿真到制造。表示设计的数据可以以许多方式来表示设计。首先,如在仿真中有用的,硬件可使用硬件描述语言(HDL)或另一个功能描述语言来表示。另外,可在设计过程的某些阶段产生具有逻辑和/或晶体管门的电路级模型。此外,大多数设计在某些阶段达到表示硬件模型中的各种设备的物理放置的数据的级别。在使用常规半导体制造技术的情况下,表示硬件模型的数据可以是为用于产生集成电路的掩模指定在不同掩模层上存在或不存在各种特征的数据。
在某些实现中,除了其它示例之外,基于软件的硬件模型以及HDL和其它功能描述语言对象还可以包括寄存器传送语言(RTL)文件。这样的对象可以是机器可解析的,使得设计工具可以接受HDL对象(或模型),针对所描述的硬件的属性解析HDL对象,并且从对象确定物理电路和/或片上布局。设计工具的输出可以用于制造物理器件。例如,除了将被实现以便实现HDL对象中建模的系统的其它属性之外,设计工具还可以从HDL对象确定各种硬件和/或固件元件的配置,诸如总线宽度、寄存器(包括大小和类型)、存储器块、物理链接路径、结构拓扑。设计工具可以包括用于确定片上系统(SoC)和其它硬件设备的拓扑和结构配置的工具。在某些情况下,HDL对象可以用作用于开发模型和设计文件的基础,该模型和设计文件可以由制造装备以制造所描述的硬件使用。实际上,HDL对象本身可以被提供作为输入来制造系统软件以引起所描述的硬件。
在设计的任何表示中,数据可存储在任何形式的机器可读介质中。存储器或者诸如盘之类的磁或光贮存器可以是机器可读介质,以存储经由调制或以其它方式生成的光或电波传输的信息来传输这样的信息。当传输指示或携带代码或设计的电载波到执行电信号的复制、缓冲或重传的程度时,进行新的复制。因此,通信提供者或网络提供者可至少临时在有形的机器可读介质上存储体现本公开的实施例的技术的物品,诸如被编码到载波中的信息。
如本文中使用的模块指的是硬件、软件和/或固件的任何组合。作为示例,模块包括与非暂时性介质相关联的诸如微控制器之类的硬件,以存储被适配成由微控制器执行的代码。因此,在一个实施例中,对模块的引用指的是硬件,该硬件被具体地配置成识别和/或执行将在非暂时性介质上保持的代码。此外,在另一个实施例中,模块的使用指的是包括代码的非暂时性介质,该代码被具体地适配成由微控制器执行以执行预定操作。并且如可以推断的,在又一个实施例中,术语模块(在该示例中)可指的是微控制器和非暂时性介质的组合。被图示为通常分离的模块边界常常变化并且可能重叠。例如,第一和第二模块可共享硬件、软件、固件或其组合,同时可能保留某些独立的硬件、软件或固件。在一个实施例中,术语逻辑的使用包括诸如晶体管、寄存器之类的硬件,或者诸如可编程逻辑器件之类的其它硬件。
在一个实施例中,用语”被配置成”的使用指的是布置、放在一起、制造、提供以销售、引入和/或设计装置、硬件、逻辑或元件以执行指定的或确定的任务。在该示例中,不正在操作的装置或其元件仍然“被配置成”执行指定的任务,如果它被设计、耦合和/或互连以执行所述指定的任务的话。作为纯说明性示例,逻辑门在操作期间可提供0或1。但是“被配置成”向时钟提供使能信号的逻辑门不包括可提供1或者0的每个可能的逻辑门。相反,逻辑门是以某个方式耦合的门,该方式为在操作期间1或0输出将使能时钟。再一次注意:术语“被配置成”的使用不要求操作,而是相反集中于装置、硬件和/或元件的潜伏状态上,其中在潜伏状态中,装置、硬件和/或元件被设计成当装置、硬件和/或元件正在操作时执行特定任务。
此外,在一个实施例中,用语“以”、“能够/以”和或“可操作以”的使用指的是以这样的方式设计的某些装置、逻辑、硬件和/或元件,以使得能够以指定的方式使用装置、逻辑、硬件和/或元件。如以上注意的,在一个实施例中,以、能够以或可操作以的使用指的是装置、逻辑、硬件和/或元件的潜伏状态,其中装置、逻辑、硬件和/或元件不是正在操作,而是被以这样的方式设计以使得能够以指定的方式使用装置。
如本文中使用的值包括数、状态、逻辑状态或二进制逻辑状态的任何已知的表示。常常逻辑级、逻辑值或逻辑上的值的使用也被称为仅表示二进制逻辑状态的1和0。例如,1指的是高逻辑电平,并且0指的是低逻辑电平。在一个实施例中,诸如晶体管或闪存单元之类的存储单元可能能够保持单个逻辑值或多个逻辑值。然而,已经在计算机系统中使用了值的其它表示。例如十进制数90也可被表示为二进制值1010和十六进制字母A。因此,值包括能够被保持在计算机系统中的信息的任何表示。
此外,状态可由值或值的部分表示。作为示例,诸如逻辑1之类的第一值可表示默认或初始状态,而诸如逻辑0之类的第二值可表示非默认状态。另外,在一个实施例中,术语复位和设置分别指的是默认和更新的值或状态。例如,默认值可能包括高的合乎逻辑的值,即复位,而更新的值可能包括低的合乎逻辑的值,即设置。注意:值的任何组合可用于表示任何数目的状态。
上面阐述的方法、硬件、软件、固件或代码的实施例可经由存储在由处理元件可执行的机器可访问、机器可读、计算机可访问或计算机可读介质上的指令或代码来实现。非暂时性机器可访问/可读介质包括提供(即,存储和/或传输)以由诸如计算机或电子系统之类的机器可读的形式的信息的任何机构。例如,非暂时性机器可访问介质包括随机存取存储器(RAM),诸如静态RAM(SRAM)或动态RAM(DRAM);ROM;磁或光存储介质;闪存设备;电存储设备;光存储设备;声学存储设备;用于保持从暂时性(传播的)信号(例如载波、红外信号、数字信号)接收的信息的其它形式的存储设备;等等,它们将与可从其接收信息的非暂时性介质区分开。
用于程序逻辑以执行本发明的实施例的指令可被存储在系统中的诸如DRAM、高速缓存、闪存或其它贮存器之类的存储器内。此外,指令可以经由网络或借助于其它计算机可读介质来分发。因此,机器可读介质可包括用于存储或传输以由机器(例如,计算机)可读的形式的信息的任何机构,但不限于软盘、光盘、压缩盘、只读存储器(CD-ROM)和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁或光卡、闪存或者在通过因特网、经由电、光、声学或其它形式的传播信号(例如载波、红外信号、数字信号等)的信息传输中使用的有形的机器可读贮存器。相应地,计算机可读介质包括适于存储或传输以由机器(例如,计算机)可读的形式的电子指令或信息的任何类型的有形的机器可读介质。
以下示例关于根据本说明书的实施例。一个或多个实施例可以提供方法、装置、系统、机器可读贮存器、机器可读介质、基于硬件和/或软件的逻辑,其中提供了入站边带接口以通过第一边带链路接收消息,提供了奇偶校验逻辑以针对消息计算奇偶校验位,并且提供了出站边带接口以通过第二边带链路将消息转发到第二设备。第二边带链路可以包括多个数据线和奇偶校验位线。可以通过数据线中的至少某些来转发消息,并且可以通过与消息对应的奇偶校验位线将奇偶校验位发送到其他设备。
在至少一个示例中,提供了入站(inbound)主要接口和出站(outbound)主要接口。
在至少一个示例中,消息包括错误消息,并且错误消息报告在入站和出站主要接口中的一个上检测到的奇偶校验错误。
在至少一个示例中,奇偶校验逻辑要基于奇偶校验位来检测边带奇偶校验错误。
在至少一个示例中,装置包括路由器,路由器包括专用错误报告边带线,并且要使用错误报告边带线来报告边带奇偶校验错误。
在至少一个示例中,错误报告边带线与入站和出站边带接口和奇偶校验位线分离。
在至少一个示例中,装置包括端点并且要通过要在出站边带接口上发送的错误消息来报告边带奇偶校验错误。
在至少一个示例中,响应于对边带奇偶校验错误的检测,端点要停止对错误消息的处理。
在至少一个示例中,端点要停止针对未告知的事务返回信用,并且基于边带奇偶校验错误针对已告知和完成事务继续返回信用。
在至少一个示例中,入站和出站边带接口对应于结构并且结构要基于边带奇偶校验错误而进入重置。
一个或多个实施例可以提供方法、装置、系统、机器可读贮存器、机器可读介质、基于硬件和/或软件的逻辑,其中提供接收机以通过边带链路接收消息,边带链路包括多个通路。奇偶校验生成器针对消息和使消息和奇偶校验值排队的队列确定奇偶校验值。在排队之后,错误检测器基于奇偶校验值确定消息具有奇偶校验错误,并且传输机经由边带线发送奇偶校验错误。边带线可以独立于边带链路。
在至少一个示例中,边带链路包括奇偶校验位线并且路由器要进一步基于要通过奇偶校验位线接收的对应的奇偶校验位值来确定在消息中是否存在奇偶校验错误。
在至少一个示例中,要从第一端点接收消息并且要将消息排队以用于转发到第二端点。
在至少一个示例中,路由器的入站接口连接到第一端点并且缺乏奇偶校验位线,路由器的出站接口连接到第二端点并且支持奇偶校验位线,并且路由器代表第一端点确定奇偶校验值。
在至少一个示例中,消息要包括错误消息并且错误消息指示在通信结构的主要接口上检测到的错误。
在至少一个示例中,错误要包括由连接到通信结构的另一设备检测到的奇偶校验错误。
在至少一个示例中,路由器要包含基于奇偶校验错误的消息。
贯穿本说明书对“一个实施例”或“实施例”的引用意味着结合实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,贯穿说明书在各个地方中出现用语“在一个实施例中”或“在实施例中”不一定全部指的是相同的实施例。此外,可以在一个或多个实施例中以任何合适的方式组合特定特征、结构或特性。
在前述说明书中,已参考特定示例性实施例给出详细描述。然而,将显然的是,可以在不脱离如所附权利要求中阐述的本发明较广泛的精神和范围的情况下,对其进行各种修改和改变。因此,将在说明性意义而不是限制性意义上看待说明书和附图。此外,实施例的前述用途和其他示例性语言不一定指的是相同实施例或相同示例,并且可指的是不同的和有区别的实施例,也可能指的是相同实施例。

Claims (22)

1.一种用以传送数据的装置,装置包括:
入站边带接口,用以通过第一边带链路接收消息;
奇偶校验逻辑,用以针对消息计算奇偶校验位;以及
出站边带接口,用以通过第二边带链路将消息转发到另一设备,其中第二边带链路包括多个数据线和奇偶校验位线,要通过数据线中的至少某些来转发消息,并且要通过与消息对应的奇偶校验位线将奇偶校验位发送到其他设备。
2.根据权利要求1所述的装置,进一步包括入站主要接口和出站主要接口。
3.根据权利要求2所述的装置,其中消息包括错误消息,并且错误消息报告在入站和出站主要接口中的一个上检测到的奇偶校验错误。
4.根据权利要求1所述的装置,其中奇偶校验逻辑要基于奇偶校验位来检测边带奇偶校验错误。
5.根据权利要求4所述的装置,其中装置包括路由器,路由器包括专用错误报告边带线,并且要使用错误报告边带线来报告边带奇偶校验错误。
6.根据权利要求5所述的装置,其中错误报告边带线与入站和出站边带接口和奇偶校验位线分离。
7.根据权利要求4所述的装置,其中装置包括端点并且要通过要在出站边带接口上发送的错误消息来报告边带奇偶校验错误。
8.根据权利要求7所述的装置,其中响应于对边带奇偶校验错误的检测,端点要停止对错误消息的处理。
9.根据权利要求8所述的装置,其中端点要停止针对未告知的事务返回信用,并且基于边带奇偶校验错误针对已告知和完成事务继续返回信用。
10.根据权利要求4所述的装置,其中入站和出站边带接口对应于结构并且所述结构要基于边带奇偶校验错误进入重置。
11.一种用以传送数据的装置,装置包括主要接口结构、路由器和多个代理,其中多个代理通过主要接口结构和路由器互连:
其中路由器用以:
通过边带链路接收消息,其中边带链路包括多个通路;
针对消息确定奇偶校验值;
使消息和奇偶校验值排队;
在排队之后,基于奇偶校验值来确定消息具有奇偶校验错误;以及
经由边带线报告奇偶校验错误,其中边带线独立于边带链路。
12.根据权利要求11所述的装置,其中边带链路包括奇偶校验位线并且路由器要进一步基于要通过奇偶校验位线接收的相应奇偶校验位值来确定在消息中是否存在奇偶校验错误。
13.根据权利要求11所述的装置,其中要从第一端点接收消息并且要将消息排队以用于转发到第二端点。
14.根据权利要求13所述的装置,其中路由器的入站接口连接到第一端点并且缺乏奇偶校验位线,路由器的出站接口连接到第二端点并且支持奇偶校验位线,并且路由器代表第一端点确定奇偶校验值。
15.根据权利要求11所述的装置,其中消息要包括错误消息并且错误消息指示在通信结构的主要接口上检测到的错误。
16.根据权利要求15所述的装置,其中错误要包括由连接到通信结构的另一设备检测到的奇偶校验错误。
17.根据权利要求11所述的装置,其中路由器要包含基于奇偶校验错误的消息。
18.一种用以传送数据的方法,方法包括:
通过边带链路接收消息,其中边带链路包括多个通路;
针对消息确定奇偶校验值;
将消息排队,其中奇偶校验值与排队的消息相关联;
在排队之后基于奇偶校验值确定消息具有奇偶校验错误;以及
经由边带线报告奇偶校验错误,其中边带线独立于边带链路。
19.一种用以传送数据的系统,包括:
通信结构,其包括多个主要消息传送链路、多个边带消息传送链路和至少一个路由器;
第一设备,其包括第一主要接口,用以连接到所述多个主要消息传送链路中的至少一个,以及第一边带接口,用以连接到所述多个边带消息传送链路中的至少一个;以及
第二设备,其包括:
第二主要接口,用以连接到所述多个主要消息传送链路中的至少一个;
第二边带接口,用以连接到所述多个边带消息传送链路中的至少一个;以及
奇偶校验处理器,用以确定在要通过第二边带接口接收的边带消息中是否存在奇偶校验错误;以及
其中路由器要通过所述多个边带消息传送链路中的一个或多个在第一和第二设备之间路由边带消息,并且路由器包括用以确定在通过路由器接收或发送的消息上是否存在奇偶校验错误的奇偶校验逻辑。
20.根据权利要求19所述的系统,其中第一设备不支持对要使用边带消息传送链路传送的边带消息的奇偶校验处理,并且路由器要提供针对从第一设备接收的边带消息的奇偶校验处理。
21.一种用以传送数据的装置,装置包括:
用于通过边带链路接收消息的部件,其中边带链路包括多个通路;
用于针对消息确定奇偶校验值的部件;
用于将消息排队的部件,其中奇偶校验值与排队的消息相关联;
用于在排队之后基于奇偶校验值确定消息具有奇偶校验错误的部件;以及
用于经由边带线报告奇偶校验错误的部件,其中边带线独立于边带链路。
22.一种其上存储有指令的计算机可读介质,当所述指令被执行时使得计算设备执行根据权利要求18所述的方法。
CN201580063440.4A 2014-12-19 2015-11-21 边带奇偶校验处理 Active CN107078850B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/578313 2014-12-19
US14/578,313 US9602237B2 (en) 2014-12-19 2014-12-19 Sideband parity handling
PCT/US2015/062029 WO2016099811A1 (en) 2014-12-19 2015-11-21 Sideband parity handling

Publications (2)

Publication Number Publication Date
CN107078850A CN107078850A (zh) 2017-08-18
CN107078850B true CN107078850B (zh) 2021-04-27

Family

ID=56127296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580063440.4A Active CN107078850B (zh) 2014-12-19 2015-11-21 边带奇偶校验处理

Country Status (4)

Country Link
US (1) US9602237B2 (zh)
EP (1) EP3234777B1 (zh)
CN (1) CN107078850B (zh)
WO (1) WO2016099811A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016178717A1 (en) * 2015-05-07 2016-11-10 Intel Corporation Bus-device-function address space mapping
US10860449B2 (en) 2017-03-31 2020-12-08 Intel Corporation Adjustable retimer buffer
US11249808B2 (en) 2017-08-22 2022-02-15 Intel Corporation Connecting accelerator resources using a switch
US10474611B2 (en) * 2017-09-19 2019-11-12 International Business Machines Corporation Aligning received bad data indicators (BDIS) with received data on a cross-chip link
CN113068036B (zh) * 2021-03-17 2022-10-28 上海哔哩哔哩科技有限公司 用于样点自适应补偿的方法及装置、设备和介质
US20230236992A1 (en) * 2022-01-21 2023-07-27 Arm Limited Data elision
US20230291589A1 (en) * 2022-03-08 2023-09-14 Vmware, Inc. Integration of oem endpoint management and unified endpoint management

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6810501B1 (en) * 2001-01-03 2004-10-26 Juniper Networks, Inc. Single cycle cyclic redundancy checker/generator
US8644136B2 (en) * 2011-06-01 2014-02-04 International Business Machines Corporation Sideband error signaling
US8656254B2 (en) * 2006-01-11 2014-02-18 Rambus Inc. Unidirectional error code transfer for both read and write data transmitted via bidirectional data link
US8761166B2 (en) * 2007-04-20 2014-06-24 Intel Corporation Flexible routing tables for a high-radix router
US8811430B2 (en) * 2009-04-29 2014-08-19 Intel Corporation Packetized interface for coupling agents
US8874976B2 (en) * 2011-09-29 2014-10-28 Intel Corporation Providing error handling support to legacy devices
CN104468033A (zh) * 2014-11-10 2015-03-25 湖南大学 基于低密度奇偶校验码的多带超宽带光纤无线通信方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050080920A1 (en) 2003-10-14 2005-04-14 International Business Machines Corporation Interpartition control facility for processing commands that effectuate direct memory to memory information transfer
US9053251B2 (en) 2011-11-29 2015-06-09 Intel Corporation Providing a sideband message interface for system on a chip (SoC)
JP5970917B2 (ja) * 2012-03-30 2016-08-17 富士通株式会社 受信回路、情報処理装置、および制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6810501B1 (en) * 2001-01-03 2004-10-26 Juniper Networks, Inc. Single cycle cyclic redundancy checker/generator
US8656254B2 (en) * 2006-01-11 2014-02-18 Rambus Inc. Unidirectional error code transfer for both read and write data transmitted via bidirectional data link
US8761166B2 (en) * 2007-04-20 2014-06-24 Intel Corporation Flexible routing tables for a high-radix router
US8811430B2 (en) * 2009-04-29 2014-08-19 Intel Corporation Packetized interface for coupling agents
US8644136B2 (en) * 2011-06-01 2014-02-04 International Business Machines Corporation Sideband error signaling
US8874976B2 (en) * 2011-09-29 2014-10-28 Intel Corporation Providing error handling support to legacy devices
CN104468033A (zh) * 2014-11-10 2015-03-25 湖南大学 基于低密度奇偶校验码的多带超宽带光纤无线通信方法

Also Published As

Publication number Publication date
EP3234777A4 (en) 2018-10-31
US20160182186A1 (en) 2016-06-23
EP3234777B1 (en) 2020-03-11
WO2016099811A1 (en) 2016-06-23
US9602237B2 (en) 2017-03-21
EP3234777A1 (en) 2017-10-25
CN107078850A (zh) 2017-08-18

Similar Documents

Publication Publication Date Title
US10691520B2 (en) Live error recovery
US11657015B2 (en) Multiple uplink port devices
US11561910B2 (en) In-band retimer register access
CN107077521B (zh) 片上系统配置元数据
US20200132760A1 (en) Interconnect retimer enhancements
US10139889B2 (en) Method, apparatus, and system for improving resume times for root ports and root port integrated endpoints
CN107078850B (zh) 边带奇偶校验处理
CN108052466B (zh) Pci快速增强
US9954792B2 (en) Shared flow control credits
US20220414046A1 (en) Systems, methods, and devices for dynamic high speed lane direction switching for asymmetrical interfaces
US10437616B2 (en) Method, apparatus, system for optimized work submission to an accelerator work queue
US10884758B2 (en) Method, apparatus, and system for propagating PCIe hot reset across a non-transparent bridge on a PCIe add-in card
US10817454B2 (en) Dynamic lane access switching between PCIe root spaces
US20190095554A1 (en) Root complex integrated endpoint emulation of a discreet pcie endpoint
WO2023121805A1 (en) Latency optimization in partial width link states

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