用于降低PAM-4数据总线上的耦合噪声和功率噪声的放宽的433编码的制作方法

文档序号:18869351发布日期:2019-10-14 19:09阅读:281来源:国知局
用于降低PAM-4数据总线上的耦合噪声和功率噪声的放宽的433编码的制作方法

本申请要求于2018年3月28日递交的、序列号为62/650,168的美国临时专利申请的权益,其全部内容通过引用合并于此。



背景技术:

现代高吞吐量系统利用多个高带宽输入/输出接口在计算单元、存储器装置和存储装置之间形成信令网络。例如,外围组件互连高速(pci-e)将多个外围装置连接到中央处理单元(cpu)和图形处理单元(gpu)。这些接口可以包括在高频下运行的多个串行数据总线。

脉冲幅度调制(pam)可用于多通道串行数据总线,以通过将数据编码为不同的电压电平来同时传输多个数据位。这里的“通道”是指串行数据总线的单个数据通道。“数据突发(databurst)”是指以相同的总线时钟间隔(即并行)放置在串行数据总线的数据通道上的位。

pam通信的一个例子是pam-4。在每个总线时钟间隔期间,pam-4在串行数据总线的每个数据通道上将两位数据(00、01、10、11)编码为四个不同电压电平(符号)之一。由于在每个数据通道上两位被编码到每个总线时钟间隔中,因此与在串行数据总线上以可比较的总线时钟频率运行的常规的二级(例如,pam-2)信令相比,pam-4在理想情况下可以实现两倍的带宽。pam-4符号使用四种不同的电压电平,因此,与pam-2相比,pam-4中符号值之间的电压电平差别较小。这使得pam-4通信更容易受到干扰效应的影响,例如串行数据总线上数据通道之间的耦合噪声和电源噪声,其降低了信噪比(snr)。

减轻这些噪声影响的一种机制是利用数据总线反转(dbi)。对于给定的数据突发,dbi通过智能地设置串行数据总线上每个数据突发中的位的极性,将串行数据总线的数据通道上的电压电平转换的总范围减少了一半。dbi需要每个数据突发额外的元数据位来将数据突发极性设置(非反向数据突发或反向数据突发)传输到接收器。这个元数据位通常在与串行数据总线的数据通道(通常每个数据通道也是一个数据通道)分开的额外数据通道上传输。

许多串行数据总线只包括发送器和接收器之间的单个数据通道。因此,添加额外的元数据数据通道可以在串行数据总线所需的数据通道数量上产生高达100%的开销。

附图中几个视图的简要说明

为了便于识别对任何特定元素或动作的讨论,参考编号中最高有效位的一个或更多个数字是指第一次引入该元素的图号。

图1例示了根据一个实施例的数据通信系统100。

图2例示了pam-4收发器200的实施例。

图3例示了常规的pam-4数据通道电压波形300的一实施例。

图4例示了根据一个实施例的pam-433编码器400。

图5例示了pam-433数据通道电压波形500的一实施例。

图6例示了数据通道电压波形600的一实施例。

图7例示了数据通道电压波形700的一实施例。

图8例示了数据通道电压波形800的一实施例。

图9例示了数据通道电压波形900的一实施例。

图10例示了pam-433例程1000的一实施例。

图11例示了pam-n例程1100的一实施例。

图12例示了pam-4333编码1200的一实施例。

图13例示了pam-4333例程1300的一实施例。

图14例示了可变的pam-433编码1400的一实施例。

图15例示了可变的pam-433例程1500的一实施例。

图16例示了放宽的pam-4331600的一实施例。

图17例示了根据一个实施例的、放宽的pam-433编码方法1700。

图18例示了放松的pam-4331800的一个实施例。

图19例示了根据一个实施例的、放宽的pam-433编码方法1900。

图20例示了根据一个实施例的、放宽的pam-433编码方法2000。

图21是包括gpu的计算系统2100的框图,本发明的方面可以在其中实现或实施。

详细描述

参照图1,数据通信系统100包括诸如数据处理器102之类的发送装置,所述数据处理器102包括处理核114、pam-4符号编码器104和pam-4发送器108。在一些实施例中,数据处理器102可以包括图形处理单元(gpu)、中央处理单元(cpu)、片上系统(soc)或其他众所周知的数据处理装置。

数据处理器102在诸如存储器总线118之类的总线上与诸如存储器112之类的接收装置通信。pam-4接收器110和pam-4符号解码器106接收和处理在存储器总线118上从数据处理器102传送到存储器112的pam-4信号。

数据处理器102利用内部数据总线116来在多通道内部数据总线116上向处理核114传送和从处理核114传送数据突发。pam-4符号编码器104从处理核114接收要编码的数据突发,并对该数据突发执行pam-4编码。pam-4发送器108通过存储器总线118将编码的数据突发发送到pam-4接收器110。pam-4接收器110接收编码的数据突发,并将编码的数据突发发送到pam-4符号解码器106以对该数据突发进行解码。一旦解码,数据突发被发送到存储器112。

这是简化的流程图。在实践中,通常在存储器总线118的两端都有编码器和解码器,用于从存储器112读取和写入存储器112。

图2例示了在一个实施例中用于串行数据总线的单个数据通道的pam-4收发器200。所述pam-4收发器200包括最低有效位发送器202、最高有效位发送器204、接收器206和数据通道208。pam-4收发器200利用最低有效位发送器202和最高有效位发送器204在数据通道208上生成四级符号。这里术语“符号”是指由线路驱动器在串行数据总线数据通道上产生的电压电平,其中电压电平表示一个或更多个数据位的值。因此,“编码符号”意味着物理地配置串行数据总线的线路驱动电路,以将数据通道上的电压驱动到特定值。

例如,如果被编码到符号中的两位数据为(1,1),最低有效位发送器202和最高有效位发送器204的输出相组合以在数据通道208上生成例如1.2v的电压,并且由于接收器206上的上拉晶体管rt(数据通道208的两端在同一电势上),数据通道208上的电流为例如0ma。如果要编码到符号中的两位的数据为(1,0),最低有效位发送器202和最高有效位发送器204的输出相组合以在数据通道208上生成例如为1.0v的电压,并且数据通道208上的电流为例如5ma。如果要编码到符号中的两位的数据为(0,1),最低有效位发送器202和最高有效位发送器204的输出相组合以在数据通道208上生成例如为0.8v的电压,并且数据通道208上的电流为例如10ma。如果要编码到符号中的两位的数据为(0,0),最低有效位发送器202和最高有效位发送器204的输出相组合以在数据通道208上生成例如为0.6v的电压,并且数据通道208上的电流为例如15ma。0.6v在这里可以称为基本传输电压vb,其他符号电压电平可以从该基本传输电压进行增量。

因此,数据通道上的符号值对应于数据突发期间该数据通道的电流消耗。因此,可以将权重分配给反映它们当前电流消耗成本的符号值。例如,可以给用于位对(1,1)的符号分配权重0;可以给用于位对(1,0)的符号分配权重1;可以给用于位对(0,1)的符号分配权重2;可以给用于位对(0,0)的符号分配权重3。

在这个例子,使用pam-4编码的8通道串行数据总线上的数据突发可以被分配一个总权重,范围从0到24,这等于例如从0到120ma的电流消耗范围。如果数据突发中的所有符号都编码了位对(1,1),则数据突发的总权重为0;如果数据突发中的所有符号都编码了位对(0,0),则数据突发的总权重为24。全部由0组成的数据突发消耗最多的电流,因此从功耗的角度来看是最昂贵的。

参考图3,常规的pam-4数据通道电压波形300通过利用所有4级符号,在每个时钟间隔在数据通道上编码2位数据。一个12位的典型序列是110001100011。这个序列可以作为一系列四级符号传输,每个符号编码两个位。对于位序列110001100011,位11被编码到第一串行数据总线时钟间隔t0-t1;下两位00被编码为第二串行数据总线时钟间隔t1-t2;等等。这导致串行数据总线上从t0-t1以及从t4-t5的2个3δv电压电平变化。

符号nδv指的是时钟间隔间串行数据总线的数据通道上距离基准电压vb的n-增量电压变化。例如,再次参照图2,不同的符号有0.2v的间隔,基准电压vb为0.6v,3δv的变化将对应于在总线时钟周期之间的数据通道上3×0.2v或0.6v的增量电压。

更高的电压增量会产生更多的噪声,因为它们会导致数据通道中更高的电流波动。因此在图3中,总线时钟间隔t0和t1之间以及t4和t5之间的3δv增量可能会产生明显的噪声。降低这个最大的增量电压活动有助于提高如pam-4收发器200的pam-4系统的信噪比。

一个实施例中的pam-433编码器400的逻辑表如图4所示。对于上面讨论的示例位序列110001100011,pam-433编码器400消除了串行数据总线上3δv电压电平的变化。如逻辑表所示,当三位序列000位于表单1x的两个2位序列之间时(其中x是0或1的“don'tcare(不在意)”值),三位序列000被编码为四位0111(参见逻辑表的第一行,第三列)。换句话说,当三位序列000桥接两个2位序列时,其中每个2位序列都具有最高有效位集(1x),7个总位被重新编码为1x01111x。在上面的例子中,其中7个总位是1100011,重新编码的序列是11011111。然后将该序列的每个2位对作为pam-4符号在串行数据总线的数据通道上传输,得到图5中pam-433数据通道电压波形500。以牺牲一个串行数据总线时钟周期为代价,用dbi线消除了序列110001100011中3δv电压电平的变化。换句话说,假设一个随机分布的位序列,与用于传统的pam-4的每串行数据总线时钟间隔2.0位相比,有效的数据传输速率平均降低16.7%,降低到1.67位串行数据总线时钟间隔。

与常规的pam-4编码器相比,pam-433编码器400在不需要传输任何元数据的情况下,在数据线上进行电压电平切换的最坏情况可以降低33%。pam-433编码器400将在数据通道上传输的位序列划分为五位数据序列:每五位的前2位被编码成一个具有4个可能电压电平的符号,五位的最后三位被编码成2个符号,每个符号有3个可能的电压电平。

一般来说,上述机制可以应用于pam-n(符号利用n个可能的离散电压电平)。例如,pam-866方案可以在第一次传输时传输三位数据符号,在接下来的两次传输中传输五位数据符号(每次传输2.67位,11.1%的开销)。pam-866可以将最大电压切换从7δv(pam-8)降低到5δv(降低28.5%)。此外,可以将该机制扩展到其他任意组合的数据符号(例如pam-wxyz),从而利用类似于pam-433的机制来获得更好的可靠性。

图6至图9描述了采用pam-433编码时各数据通道电压波形。描述了用于据通道上传输各种不同的位模式的四种数据通道电压波形:数据通道电压波形600、数据通道电压波形700、数据通道电压波形800和数据通道电压波形900。

对于图6和图7所示的数据通道波形,将第一三级符号604和第二三级符号606用作具有相同最高有效位(msb)的第一四级符号602和第二四级符号608之间的“桥610”。符合这种模式的例子是四级符号对,例如:11(3δv)/10(2δv)(图6)和01(1δv)/00(0δv)(图7)。pam-433编码将第一三级符号604和第二三级符号606的电压窗口对齐到第一四级符号602和第一三级符号604的电压电平,以这种方式,数据通道电压波形中的最大电压增量为2δv。

对于图8和图9所示的数据通道波形,将第一三级符号604和第二三级符号606用作具有不同msb的第一四级符号602和第二四级符号608之间的桥610。在这种情景下,在第一三级符号604和第二三级符号606之间可能存在一个3δv电压增量。然而,pam-433编码器400不映射会导致逻辑表中发生这种情况的值。pam-433编码器400从不使用会导致三级突发之间3δv电压增量的符号,从而使数据通道波形中的最大电压增量保持在2δv。

参照图10,在一个实施例中pam-433例程1000将串行数据总线上的一系列数据位划分为多个序列,每个序列包含五位(框1002)。接下来,pam-433例程1000将每个五位序列的前两位编码为4级符号(框1004)。然后,pam-433例程1000将每个五位序列的下三位编码为两个三级符号(框1006)。pam-433例程1000可以操作为对串行数据总线的一个或更多个数据通道上的符号进行编码。

在一些实施例中,这两个三级符号包括第一三级符号和第二三级符号。pam-433例程1000操作串行数据总线,以将第一三级符号的电压电平编码为以下之一:(a)低于该四级符号的电压电平最多两个电压台阶,或(b)高于该四级符号的电压电平最多两个电压台阶。所述五位序列还可以包括在所述串行数据总线上传输的第一五位序列,以及在该第一五位序列在所述串行数据总线上之后传输的第二五位序列。然后,pam-433例程1000可以操作串行数据总线以将第一五位序列的第二三级符号的电压电平编码为以下之一:(a)在第二五位序列的四级符号的电压电平以下最多两个电压台阶,或(b)在第二五位序列的四级符号的电压电平以上至多两个电压台阶。

参考图11,更通用的pam-n例程1100将一系列数据位划分为若干位的序列,这些位的数目基于电压电平的数目n(框1102)。接下来,pam-n例程1100将每个若干位序列的前若干位编码为n级突发,第一位数目为以2为底n的对数(框1104)。然后,pam-n例程1100将每个若干位序列的下若干位编码为两个m级突发,下若干位为log2[(n^2)/2]并且m是等于应用于[(n^2)/2]的平方根的上取整函数(ceilingfunction)的整数(框1106)。pam-n例程1100可以操作为通过串行数据总线进行数据通信。

参照图12,例示了pam-4433编码1200的实施例。pam-4433编码1200操作串行数据总线,以使用第一四级符号1202、第二四级符号1204、第一三级符号1206和第二三级符号1208的序列来编码和传输七位数据字。因此,在特定数据通道上两个四级符号之间有可能出现3δv电压增量,如第一四级符号1202和第二四级符号1204。然而,如图12所示,电位3δv电压增量可能跨多个数据通道交错,这减少了任何特定的数据突发中(在一个时钟间隔期间通过串行数据总线发送的所有位)的最大电压增量。多个3δv电压增量不会出现在同一数据突发中,这减少了串扰和其他噪声源。该pam-4433编码1200有12.5%的带宽成本(每次传输1.75位),而在这个例子中四个数据通道上具有最大平均2.25δv最大电压增量(当然在其他实施例中可以使用其他数量的数据通道)。

参照图13,pam-4433例程1300的一个实施例将要在串行数据总线的数据通道上传输的一系列数据位划分为七位序列(框1302)。接下来,pam-4433例程1300将每个七位序列的前四位编码为两个四级符号(框1304)。然后,pam-4433例程1300将七位序列中的每个七位序列的下三位编码为两个三级符号(框1306)。这在串行数据总线的多个数据通道上重复,然后,四级符号之间的转换可以跨数据通道在时间上交错(在不同的串行数据总线时钟间隔上对齐)。

参照图14,如果当前符号对应于0δv或3δv的数据通道电压,则在一个实施例中,可变的pam-433编码1400将激活pam-433编码。这被称为激活pam-433编码的“触发数据1402”。当遇到触发数据1402时,在触发数据之后使用适当的三级符号桥1404。否则,如果没有遇到触发数据,可变的pam-433编码1400使用常规的pam-4编码(所有符号都是四级)。可变的pam-433编码1400在串行数据总线数据通道电压波形中导致2δv的最大电压增量。

参考图15,可变的pam-433例程1500确定,五位序列的前两位编码为与串行数据总线的数据通道上使用的最高电压电平或最低电压电平对应的四级符号(框1502)。换句话说,遇到了触发数据。响应于遇到触发数据,可变的pam-433例程1500将五位序列中的下三位编码为两个三级符号(框1504)。

图16例示了放宽的pam-4331600的一个实施例,其在多数据通道接口上具有两种不同的数据传输配置。数据在九个数据通道上被从gpu1602传输到dram1604。切换活动约束被从“完全没有3δv切换”放宽到“在3个相邻的数据通道上最多只有一个3δv切换”。

放宽的pam-4331600的配置使用了三数据通道组,其中每个数据通道组包括一个pam-4数据通道和两个pam-433数据通道。结果是,在所述三数据通道组中,只有一个数据通道(pam-4)经历了3δv切换。接着每个所述三数据通道组被安排来确保所述一个pam-4数据通道是远离另一三数据通道组中的pam-4数据通道三个数据通道。如图16所述,数据通道配置(从顶部到底部)是pam-4、pam-433、pam-433、pam-4、pam-433、pam-433、pam-4、pam-433以及pam-433。其他配置也可以导致pam-4数据通道离另一个pam-4数据通道至少三个数据通道。例如,可以使用pam-433、pam-4、pam-433、pam-433、pam-4、pam-433、pam-433、pam-4和pam-433配置。

在常规的pam-2接口中,八个数据通道的组与传输dbi的控制信号的一个dbi通道和传送数据的循环冗余校验(crc)信息的一个电子数据捕获(edc)数据通道相关联。在一些实施例中,这两个通道可用于传输pam-433编码的数据。“放宽的”pam-433通信的实现可以在9-数据通道系统和10-数据通道系统上实现,例如(dbi通道用作数据通道之一)。

要在存储器系统(或通常是最多多数据通道总线)中实现放宽的pam-4331600,比较理想的是考虑请求的边界(例如,在gddr或hbm存储器中常见的128位请求)。在这种环境中,控制器独立考虑每个请求可能更简单。然而,在9个数据通道上以8个符号突发只发送128位也是很困难的。编码可以在9个数据通道上以24个符号发送384位,这样,在一系列连续传输中,数据可以被有效地编码。然而,在128位请求结束和下一个请求开始的所有数据通道上没有简单的符号边界。控制器可以跟踪这些类型的问题,并且在只发送一个或两个连续128位传输(或任何三个传输的非倍数)的情况下,使用额外的数据符号支持“后同步信号(post-ambles)”。然而,对于发射器和接收器逻辑实现这类行为更为复杂。

参照图17,放宽的pam-433编码方法1700接收要通过串行数据总线发送的数据(框1702)。该数据可以是128位;然而,使用放宽的pam-433编码方法1700可以更有效地传输384位(3个连续的128位突发)。从9个数据通道中选择3个数据通道作为pam-4数据通道(框1704)。pam-4数据通道使用4级符号对接收到的数据进行编码。因此,这些数据通道可能有3δv切换。为了减小3δv切换的影响,所选择的用于pam-4编码的三个数据通道相互分离。它们可以被分离的以使得每三个数据通道是一个pam-4数据通道。因此,在采用pam-4编码的数据通道之间至少存在两个不采用pam-4编码的数据通道。例如,可以选择第1、第4和第7数据通道作为pam-4数据通道。或者,可以选择第2、第5和第8数据通道,也可以选择第3、第6和第9数据通道。然后,将9个数据通道中的其余6个数据通道选择为pam-433数据通道(框1706)。pam-433数据通道使用多组4级符号和两个3级符号对接收到的数据进行编码。然后,数据在9个数据通道中被划分(框1708)。由于pam-4比pam-433更高效,所以每个pam-4数据通道接收到更多的待传输数据。例如,对于384位的传输,每个pam-4数据通道接收48位进行编码和传输。每个pam-433数据通道接收40位进行编码和传输。一种分离方案是将第一、第四和第七数据通道作为pam-4数据通道。前48位可沿第1数据通道发送,接下来的40位可沿第2数据通道发送,接下来的40位可沿第3数据通道发送,然后对第4-6个数据通道和第7-9个数据通道进行重复。使用选定的方案对数据进行编码(框1710),然后发送(框1712)。

在一些实施例中,放宽的pam-433编码方法1700可以操作为纯粹的pam-4通信系统(所有数据通道使用pam-4通信),直到发生三个电压电平切换(或转换)的阈值数量,或如果编码器确定要发生三个电压电平切换的阈值数量,在这一点上一些数据通道被切换到pam-433通信。

图18说明了用于142位请求1802和134位请求1804的放宽的pam-4331800的其他实施例。142位请求1802包括128位的数据和14位的crc1810。crc1810是第10数据通道的8个符号中的7个。134位请求1804包括128位的数据和6位的crc1812。crc1812是第10数据通道的8个符号中的6个。142位请求1802的传输以数据通道使用pam-433方案的两级符号1806结束;同样,134位请求1804的传输以使用pam-433方案的数据通道的两级符号1808结束。

两级符号1806和两级符号1808可以使用pam-4的中间两级(l1/l2),因为在请求边界处,下一个符号是4级符号,其值可以为0δv-3δv。由于最终的符号使用了中间两级(l1/l2),这导致在请求边界处没有3δv切换(最大值为2δv)。134位请求1804的crc1812只使用pam-4的两级(例如l1/l3),这使得crc信息具有更高的可靠性。

放宽的pam-4331800提供了高效的128位传输,同时还允许额外的数据用于crc以检测传输错误。在这种环境下,控制器可以独立地考虑每个128位的传输。在每个请求的末尾添加一个两级的1位符号,可以抑制在两个连续的请求传输之间的任何3δv切换。

在gddr6存储器中,传输crc数据的“edc”信号可以在ddr(双数据速率)或更可靠的sdr(单数据速率)模式下运行。通过在每次传输时只发送两个符号(例如l1和l3),携带crc数据(和2位数据负载)的第10数据通道可以以更可靠的方式运行。这提高了信噪比和可靠性,但将crc位数从14减少到6。

参照图19,放宽的pam-433编码方法1900接收要传输的数据(框1902)。所接收的数据可以是142位,包括128个数据位和14位crc。放宽的pam-433编码方法1900使用10个数据通道来传输数据。10个数据通道中的4个数据通道被选择为pam-4数据通道(框1904)。pam-4数据通道使用4级符号对接收到的数据进行编码。因此,这些数据通道可以有3δv切换。为了减小3δv切换的影响,选中的用于pam-4编码的4个数据通道相互分离。它们可以被分离以使得每三个数据通道一个pam-4数据通道。因此,在采用pam-4编码的数据通道之间至少存在两个不采用pam-4编码的数据通道。例如,可以选择第1、第4、第7和第10数据通道,如针对142位请求1802所描述的)。pam-4数据通道中的一个数据通道被确定为crc数据通道(框1906)。crc数据通道将14位crc作为8个数据符号中的7个,以及将2个数据位作为8个数据符号中的一个来传输。10个数据通道中剩余的6个数据通道被选中用于经修改的pam-433数据通道(框1908)。经修改的pam-433数据通道使用两组4级符号和2个3级符号以及一组4级符号和2级符号来对接收到的数据进行编码。然后,数据被分开到10个数据通道中(框1910)。由于pam-4比经修改的pam-433效率更高,所以每个pam-4数据通道接收更多的待传输数据。例如,对于142位传输,每个pam-4数据通道接收16位来进行编码和传输(crc数据通道接收14位crc和两个位数据位)。每个经修改的pam-433数据通道接收13位来进行编码和传输。一种分离方案是将第1、第4、第7、第10个数据通道作为pam-4数据通道(第10个为crc数据通道),将其他数据通道作为经修改的pam-433数据通道。使用所选方案对数据进行编码(框1912),然后发送(框1914)。

在一些实施例中,放宽的pam-433编码方法1900可以操作为纯粹的pam-4系统,直到发生三个电压电平切换(或转换)的阈值数量,或者如果编码器确定要发生三个电压电平切换的阈值数量。

参照图20,放宽的pam-433编码方法2000接收要传输的数据(框2002)。接收到的数据可以是134位,包括128个数据位和6位crc。放宽的pam-433编码方法2000使用10个数据通道来传输数据。所述10个数据通道中的3个数据通道被选中作为pam-4数据通道(框2004)。pam-4数据通道使用4级符号来对接收到的数据进行编码。因此,这些数据通道可以有3δv切换。为了减小3δv切换的影响,所选择的用于pam-4编码的3个数据通道相互分离。它们可以被分离以使得每三个数据通道一个pam-4数据通道。因此,在采用pam-4编码的数据通道之间至少存在两个不采用pam-4编码的数据通道。例如,可以选择第1、第4和第7个数据通道,如针对134位请求1804所描述的)。然后选择一个数据通道作为crc数据通道(框2006)。对于每个突发传输8个总位数,crc数据通道传输8个2级数据符号。crc数据通道将6位crc作为8个数据符号中的6个,以及将两个数据位作为8个数据符号中的两个来传输。10个数据通道中剩余的6个数据通道被选中作为经修改的pam-433数据通道(框2008)。经修改的pam-433数据通道使用两组4级符号和两个3级符号以及一组4级符号和2级符号来对接收到的数据进行编码。然后,数据被分开到10个数据通道中(框2010)。由于pam-4比修改后的pam-433效率更高,所以每个pam-4数据通道接收更多的待传输数据。例如,对于134位传输,每个pam-4数据通道接收16位来进行编码和传输。每个经修改的pam-433数据通道接收13位进行编码和传输。crc数据通道接收14位crc和两个数据位来进行传输。一种分离方案是将第1、第4、第7个数据通道作为pam-4数据通道,将第10个数据通道作为crc数据通道,并将其他数据通道作为经修改的pam-433数据通道。使用选定的方案对数据进行编码(框2012),然后发送(框2014)。

在一些实施例中,放宽的pam-433编码方法2000可以操作为纯粹的pam-4系统,直到发生三个电压电平切换(或转换)的阈值数目,或者如果编码器确定要发生三个电压电平切换的阈值数目。

图21是计算系统2100的一个实施例的框图,其中可以实现本发明的一个或更多个方面。计算系统2100包括系统数据总线2136、cpu2126、输入装置2130、系统存储器2104、图形处理系统2102和显示装置2128。在可选的实施例中,可以将cpu2126、图形处理系统2102的部分、系统数据总线2136或其任意组合集成到单个处理单元中。此外,图形处理系统2102的功能可以包括在芯片组或一些其他类型的专用处理单元或协处理器中。

如图所示,系统数据总线2136连接cpu2126、输入装置2130、系统存储器2104和图形处理系统2102。在可选的实施例中,系统存储器2104可以直接连接到cpu2126。cpu2126接收来自输入装置2130的用户输入,执行存储在系统存储器2104中的编程指令,对存储在系统存储器2104中的数据进行操作,并配置图形处理系统2102以执行图形管线中的特定任务。系统存储器2104通常包括动态随机存取存储器(dram),其用于存储cpu2126和图形处理系统2102处理的编程指令和数据。图形处理系统2102接收由cpu2126传输的指令,并处理指令以在计算系统2100内部执行各种操作。

如图所示,系统存储器2104包括应用程序2112、api2118(应用程序编程接口)和图形处理单元驱动程序2122(gpu驱动程序)。应用程序2112生成对api2118的调用,以产生所需的结果集。例如,应用程序2112还将程序传输给api2118来执行着色操作、人工智能操作或图形渲染操作。api2118功能通常可以在图形处理单元驱动程序2122中实现。图形处理单元驱动程序2122配置为将高级着色程序转换为机器代码。

图形处理系统2102包括gpu2110(图形处理单元)、片上gpu存储器2116、片上gpu数据总线2132、gpu本地存储器2106和gpu数据总线2134。gpu2110配置为通过片上gpu数据总线2132与片上gpu存储器2116通信,以及通过gpu数据总线2134与gpu本地存储器2106通信。gpu数据总线2134可以使用本文描述的一种或更多种编码技术。

gpu2110可以接收由cpu2126传输的指令,并将结果存储在gpu本地存储器2106中。随后,如果指令是图形指令,gpu2110可以在显示装置2128上显示某些存储在gpu本地存储器2106中的图形图像。

gpu2110包含一个或更多个逻辑块2114。逻辑块2114的操作可以实现本发明所述编码方案的实施例。逻辑块2114可以作为指令加载到gpu上,也可以作为指令集架构特征在电路中实现,或者二者的结合。

gpu2110还可以具有任何数量的片上gpu存储器2116和gpu本地存储器2106,包括0个,并可以采用片上gpu存储器2116、gpu本地存储器2106和系统存储器2104以任何组合进行存储器操作。这些存储器和gpu2110之间的数据/指令总线可以使用本文描述的一种或更多种编码技术。

片上gpu存储器2116配置为包括gpu编程2120和片上缓冲区2124。gpu编程2120可以通过系统数据总线2136从图形处理单元驱动程序2122传输到片上gpu存储器2116。系统数据总线2136可以使用本文描述的一种或更多种编码技术。

举例来说,gpu编程2120可以包括机器代码顶点着色程序、机器代码几何着色程序、机器代码片段着色程序、人工智能程序或者每种程序的任意数量的变体。片上缓冲区2124通常用于存储需要快速访问的数据,以减少此类操作的延迟。

gpu本地存储器2106通常包括较便宜的片外动态随机存取存储器(dram),并且也用于存储gpu2110使用的数据和编程。如图所示,gpu本地存储器2106包含帧缓冲区2108。帧缓冲区2108存储用于驱动显示装置2128的至少一个二维表面的数据。此外,帧缓冲区2108可以包含不止一个二维表面,以便gpu2110可以渲染到一个二维表面,同时使用第二二维表面驱动显示装置2128。

显示装置2128是能够发出与输入数据信号相对应的可视图像的一个或更多个输出装置。例如,可以使用阴极射线管(crt)监视器、液晶显示器或任何其他合适的显示系统来构建显示装置。发送到显示装置2128的输入数据信号通常是通过扫描存储在帧缓冲区2108中的图像数据的一个或更多个帧的内容来生成的。

上面描述的特定电压、安培和其他细节仅用于说明目的。本发明可以使用多种具体的电压电平、电流、电阻等来实现。虽然本发明已在例如处理器将数据传输到存储器的上述上下文中描述,但本文描述的pam-4等信令技术可以在各种各样的信令系统中实践,在这些信令系统中,数据从发送装置发送到接收装置,或在收发装置之间发送等等。

此处使用的术语应符合其在相关技术领域中的普通含义,或在上下文中通过使用它们所指示的含义,但如果提供了明确的定义,则遵守该含义。

本文的“逻辑”是指机器存储器电路、非暂存性机器可读介质和/或电路,通过其材料和/或材料能量配置,包括控制和/或过程信号,和/或设置和值(如电阻、阻抗、电容、电感、电流/电压额定值等),其可用于影响装置运行。诸如控制器、现场可编程门阵列、处理器和包括处理器可执行指令的存储器(易失性和非易失性两者)等之类的电子电路就是逻辑的例子。逻辑特别排除了纯信号或软件本身(但是不排除包括软件的机器存储器,从而形成物质的配置)。

这里描述的各种逻辑功能操作可以用使用反映所述操作或功能的名词或名词短语来指代的逻辑来实现。例如,关联操作可以由“关联器”或“相关器”执行。同样,切换可以由“开关”执行,也可以由“选择器”进行选择,依此类推。

本领域技术人员将领会到,逻辑可以分布在一个或更多个装置或组件中,和/或可以由存储器、介质、处理电路和控制器、其他电路等的组合组成。因此,为了清晰和正确,逻辑可能并不总是在装置和系统的图中清楚地说明,尽管它固有地存在于其中。本文描述的技术和程序可以通过分布在一个或更多个计算装置中的逻辑来实现。根据实现,逻辑的具体分布和选择将会有所不同。

在本公开中,可以将不同的实体(可以不同地称为“单元”、“电路”、其他组件等)描述或声称为“配置”为执行一个或更多个任务或操作。这个公式——[实体]被配置成[执行一个或更多个任务]——在这里用来指代结构(即例如,物理的东西,如电子线路)。更具体地说,这个公式用于指示这个结构被布置为在运行期间执行一个或更多个任务。可以将结构“配置为”执行某些任务,即使该结构当前没有被操作。“信用分配电路配置为将信用分配到多个处理器核”旨在覆盖,例如,集成电路,其具有在操作期间执行该功能的电路,即使讨论中的集成电路当前未被使用(例如未连接电源)。因此,被描述或叙述为“配置为”执行某个任务的实体指的是一些物理的东西,例如装置、电路、存储可执行为实现任务的程序指令的存储器等。这个短语在本文不用于指无形的东西。

术语“配置为”并不意图意味着“可配置为”。例如,未编程的fpga不会被认为“配置为”执行某些特定功能,尽管它在编程之后可能“可配置为”执行该功能。

在所附的权利要求中的记载结构被“配置为”执行一个或更多个任务明确地不意图为了该权利要求元素调用美国法典第35条第112(f)款。因此,不包括用于[执行功能]的"装置(means)"构造的本申请的权利要求不应根据美国法典第35条第112(f)款予以解释。

如本文所使用的,术语“基于”用于描述影响确定的一个或更多个因素。该术语并不排除其他因素可能影响确定的可能性。也就是说,确定可能仅仅基于指定的因素,或者基于指定的因素以及其他未指定的因素。考虑短语“基于b确定a”。这个短语指定b是用来确定a的一个因素,或者是影响a的确定的一个因素。这个短语不排除a的确定也可能基于一些其他因素,如c。这个短语也意图覆盖仅基于b确定a的实施例。如本文所使用的,短语“基于”与短语“至少部分基于”是同义词。

如本文所使用的,短语“响应于”描述了触发效果的一个或更多个因素。这个短语并不排除其他因素可能影响或触发这种效果的可能性。也就是说,一个效果可能仅仅是对这些因素的响应,或者可能是对指定因素以及其他未指定因素的响应。考虑短语“响应于b执行a”。这个短语指定b是触发a执行的一个因素。这个短语并不排除也可能响应于一些其他因素(例如c)来执行a。这个短语还意图覆盖仅仅响应于b来执行a的实施例。

如本文所使用的,术语“第一”、“第二”等用作名词前面的标签,除另有说明外,否则不暗指任何类型的排序(例如,空间、时间、逻辑等)。例如,在一个有8个寄存器的寄存器文件中,术语“第一寄存器”和“第二寄存器”可以用来指代8个寄存器中的任意两个,而不仅仅是例如逻辑寄存器0和1。

当在权利要求书中使用术语“或”时,“或”是用作包含性的或,而不是排他性的或。例如,短语“x、y或z中的至少一个”表示x、y和z中的任何一个,以及其任意组合。

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