可配置通信控制器的制造方法
【专利说明】
[0001] 相关申请的交叉引用
[0002] 本申请要求2012年12月21日申请的美国申请号13/723,960的权益,所述申请 的内容以引用方式并入本文。
技术领域
[0003] 本公开大体来说涉及通信控制器,具体来说涉及可配置通信控制器。
【背景技术】
[0004] 各种通信协议支持连接到通信介质并且根据协议来操作的物理接口。例如,高速 PCI (PCIE)标准描述用于这类通信的某些协议。PCIE标准是使用现有PCI编程概念的PCI 标准的扩展。根据PCIE标准,在PCIE兼容系统的各种PCIE兼容请求器和完成器之间传送 数据包。据知,PCIE将链路描述为两个端口和它们的互连通道的集合,并且链路是两个组 件之间的双单工通信路径。PCIE标准进一步将通道描述为一组差动信号对,一对用于传输 而另一对用于接收,其中N端(by-N)链路包括N个通道。例如,以2. 5千兆传送每秒(GT/ s)的数据速率操作的16端链路表示每个方向上40千兆位/秒的合计原始带宽。PCIE标 准描述用于1端链路、2端链路、4端链路、8端链路、12端链路、16端和32端链路的操作。
[0005] PCIE标准使用8位(b) /10b编码(8位编码成10位)将符号描述为10位的量, 并且使用128b/130b编码(2位的同步标头和128位的有效负载)将符号描述为8位的量。 PCIE标准还将符号时间描述为符号放置于通道上的时间段(当使用8b/10b编码时为10倍 单位间隔,并且当使用128b/130b时为8倍单位间隔)。PCIE标准进一步将单位间隔描述 为通过对足够长以使源时钟的所有有意调频可以忽略的时间间隔内的每位时间间隔求平 均值所测得的值。
[0006] -旦PCIE兼容系统初始化每个链路,链路以支持的数据速率中的一个来操作。 PCIE 1. 0a标准规定有效数据速率为每个通道每个方向上2. 5千兆位每秒的原始带宽。 PCIE 2. 0标准规定有效数据速率为每个通道每个方向上5. 0千兆位每秒的原始带宽。PCIE 3. 0标准规定有效数据速率为每个通道每个方向上8. 0千兆位每秒的原始带宽。并且,未来 的PCIE 4. 0标准预期会规定有效数据速率为每个通道每个方向上16. 0千兆位每秒的原始 带宽。PCIE标准的未来版本将可能继续增大规定的数据速率。例如,历史上,PCIE标准的 每个主要修订版(通常每3至4年)都使PCIE带宽加倍。
[0007] 随着如PCIE标准的通信标准继续规定增大的数据速率,相关联的通信控制器的 设计变得越来越困难。
[0008] 附图简述
[0009] 图1以框图形式示出根据一些实施方案的通信结构。
[0010] 图2以框图形式示出根据一些实施方案的计算机系统。
[0011] 图3以框图形式示出根据一些实施方案的图形处理器,所述图形处理器可用来实 现图2的图形处理器。
[0012] 图4以框图形式示出根据一些实施方案的南桥,所述南桥可用来实现图2的南桥。
[0013]图5以框图形式示出根据一些实施方案的通信控制器,所述通信控制器可用来实 现图2的PCIE控制器中的任一个。
[0014] 图6示出根据一些实施方案的计时图,所述计时图有助于理解图5的通信控制器 的传输块的操作。
[0015] 图7示出根据一些实施方案的计时图,所述计时图有助于理解图5的通信控制器 的接收块的操作。
[0016] 图8示出根据某些实施方案的用于配置图5的通信控制器的方法的流程图。
[0017] 在以下描述中,不同图中相同的参考数字指示相似或相同的项目。除非另外指出, 否则单词"连接"及其相关联的动词形式包括直接关联和通过本领域中已知手段的间接电 气连接,并且除非另外指出,否则对直接连接的任何描述也意味着使用适当形式间接电气 连接的替代性实施方案。
[0018] 实施方案的说明
[0019] 通信控制器通常包括连接在客户端接口与物理接口之间的接收电路和传输电路。 通信控制器具有用于连接到通信介质的端口,并且根据例如PCIE标准协议的协议来操作, 所述协议使用数据位序列来形成符号。可使用8b/10b编码方案或128b/130b编码方案形 成PCIE符号。端口连接到具有例如多达十六个PCIE数据通道的链路,但是最大支持链路 宽度在不同实施方案中变化。
[0020] 在一些实施方案中,如下文所公开的通信控制器包括反串行化器,所述反串行化 器具有:输入端,其连接到物理接口的输出端;以及输出端,其用于响应于数据位序列而在 低频模式下以第一速率提供第一多个数据位并且在低延迟模式下以第二速率提供第二多 个数据位,其中第一多个在数量上大于第二多个,并且第二速率高于第一速率。通信控制器 还具有接收块,其具有连接到反串行化器的输出端的输入端。在一些实施方案中,通信控制 器包括传输块,其具有输入端和用于提供多个符号的序列的输出端。通信控制器还具有串 行化器,所述串行化器具有:输入端,其连接到传输块的输出端;输出端,其用于响应于多 个符号的序列而在低频模式下以第一速率提供第一多个数据位并且在低延迟模式下以第 二速率提供第二多个数据位,其中第一多个在数量上大于第二多个,并且第二速率高于第 一速率。在一些实施方案中,通信控制器包括如链路控制器的控制块,其具有用于选择低频 模式和低延迟模式中的一个的至少一个模式寄存器。
[0021] 因此,通信控制器可以动态地改变其内部体系结构来更适当地响应不同设计约束 的需求。.另外,最初设计用于一个标准(例如PCIE 3.0)的通信控制器可以容易适于新 的、更高速的标准(例如PCIE 4.0)而无需对其进行重新构建。
[0022] 图1以框图形式示出根据一些实施方案的通信结构100。例如,通信结构100可 能是PCIE兼容结构,其包括互连一组PCIE兼容组件的点对点链路,而以下讨论将在PCIE 的背景下描述通信结构100。应了解,在一些实施方案中,通信结构100可根据例如超传输 (HT)协议的其它通信总线协议来操作。通信结构100通常包括根复合体110、交换机120、 交换机130、设备140、链路150、链路160和链路170。交换机120和交换机130中的每一 个包括至少一个PCIE桥(未示出)和额外端口,以便在相应的链路上连接到例如其它PCIE 兼容设备(未不出)。
[0023] 根复合体110具有根入口端口和根出口端口,所述两个端口分别连接到交换机 120的上游端口,并且交换机120具有下游端口,所述下游端口连接到交换机130的上游端 口。交换机130具有下游端口,所述下游端口连接到设备140的入口端口和出口端口。根 复合体110、交换机120、交换机130和设备140各自在链路150、链路160和链路170中的 对应链路上传导信号。链路150、链路160、链路170各自是用来在结构100的组件之间用 数据包传导数据位的双单向链路,并且本文公开的原理适用于任何所支持的链路宽度。
[0024] 在操作中,PCIE硬件初始化过程期间,通信结构100的代理(根复合体110、交换 机120和交换机130以及设备140)通过"协商"通道宽度和操作的链路频率(链路速度) 来启动链路150、链路160和链路170的参数。在物理层面,也就是在PCIE代理之间直接与 通信介质交互的层面,代理通过启动链路训练来开始协商过程以确定每个代理的数据速率 能力、链路内的通道排序、链路宽度以及通道间去偏移(lane-to-lane de-skew),以重新汇 编跨多通道链路内的各通道被剥离的数据包。PCIE代理通过在每个通道上以2. 5GT/s的 PCIE 1. 0a体系结构数据速率操作来开始训练过程,使得沿着链路的所有代理都有能力彼 此通信。例如,设备140通过提供PCIE "有序集"训练域来向其它PCIE代理通知它的数据 速率能力。
[0025] 在协商过程完成时,链路上的代理决定是否将数据速率保持在2. 5GT/s以适应特 定的PCIE代理。此外,链路上的代理可以转变为PCIE "恢复状态"以改变数据速率,例如, 转变为8. OGT/s的PCIE 3. 0速率,或转变为16. OGT/s的预期PCIE 4. 0速率。在协商过程 期间,代理还就链路数和每个通道的通道数的值达成一致,每个通道是有效链路的部分。
[0026] -旦确立PCIE链路速度和宽度参数,根复合体110将通常在链路上开始事务。例 如,根复合体110通过作为PCIE兼容请求器操作来向设备140发送请求事务层面数据包 (TLP),来执行已编程的I/O事务。作为响应,设备140充当PCIE兼容完成器来提供响应数 据包,这被称为完成。或者,针对一些事务,如存储器事务,设备140有能力充当PCIE兼容 请求器,并且根复合体110有能力充当PCIE兼容完成器。
[0027] 图2以框图形式示出根据一些实施方案的计算机系统20