接地参考单端信令连接的图形处理单元多芯片系统与装置转让专利

申请号 : CN201310741727.0

文献号 : CN104050618B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 威廉·J·达利乔纳·M·阿尔本约翰·W·波尔顿托马斯·黑斯廷斯·格里尔三世

申请人 : 辉达公司

摘要 :

提供了接地参考单端信令连接的图形处理单元多芯片模块。一种包括多芯片模块(MCM)的互连芯片的系统,包括第一处理器芯片、图形处理集群(GPC)芯片以及配置为包括第一处理器芯片、GPC芯片和互连电路的MCM封装。第一处理器芯片配置为包括第一接地参考单端信令接口电路。第一电气线路集制作在MCM封装内并配置为将第一单端信令接口电路耦连到互连电路。GPC芯片配置为包括第二单端信令接口电路以及执行着色器程序。第二电气线路集制作在MCM封装内并配置为将第二单端信令接口电路耦连到互连电路。在一个实施例中,每个单端信令接口有利地实现接地参考单端信令。

权利要求 :

1.一种互连芯片的系统,包括:

第一处理器芯片,其配置为包括第一单端信令接口电路;

图形处理集群芯片,其包括配置为执行图形着色器程序的多线程处理器核心和第二单端接口电路;

多芯片模块封装,其配置为包括所述第一处理器芯片、所述图形处理集群芯片以及互连电路,其中所述互连电路包括第一互连芯片和第二互连芯片,所述第二互连芯片耦连到所述第一互连芯片并配置为将访问请求从第二处理器芯片传送到所述第一互连芯片;

第一电气线路集,其制作在所述多芯片模块封装内并配置为将所述第一单端信令接口电路耦连到所述互连电路;

第二电气线路集,其制作在所述多芯片模块封装内并配置为将所述第二单端信令接口电路耦连到所述互连电路;

存储器控制器芯片,其配置为对帧缓冲区存储器实施读-修改-写操作并且包括第三单端信令接口电路,其中所述第一互连芯片配置为将所述访问请求传送到所述存储器控制器芯片,并且所述存储器控制器芯片配置为应答所述访问请求;以及第三电气线路集,其制作在所述多芯片模块封装内并配置为将所述第三单端信令接口电路耦连到所述互连电路。

2.根据权利要求1所述的系统,其中所述第一单端信令接口电路包括第一接地参考单端信令接口电路,以及所述第二单端信令接口电路包括第二接地参考单端信令接口电路。

3.根据权利要求2所述的系统,其中所述第一接地参考单端信令接口电路包括:第一接地参考单端信令驱动器电路,其配置为:

在第一预充电相位期间预充电第一电容器以存储第一电荷;以及在第一驱动相位期间基于所述第一电荷来驱动相对于接地网络的输出信号;

第二接地参考单端信令驱动器电路,其配置为:

在第二预充电相位期间预充电第二电容器以存储第二电荷;以及在第二驱动相位期间基于所述第二电荷来驱动相对于接地网络的所述输出信号;以及接收器电路,其配置为将接地参考单端输入信号转译成相应的逻辑信号,其中所述第一电气线路集包括所述输入信号、所述输出信号以及所述接地网络。

4.根据权利要求1所述的系统,其中所述第一处理器芯片包括图形处理单元。

5.根据权利要求1所述的系统,其中所述存储器控制器芯片包括存储器接口电路以及配置为执行图形混合操作的光栅操作单元。

6.根据权利要求1所述的系统,进一步包括存储器子系统,所述存储器子系统包括在所述多芯片模块封装内并且耦连到所述存储器控制器芯片。

7.根据权利要求6所述的系统,其中所述存储器子系统包括至少两个经堆叠的芯片。

8.根据权利要求6所述的系统,其中所述存储器子系统和所述存储器控制器芯片配置为形成垂直堆栈。

9.根据权利要求1所述的系统,其中所述第一处理器芯片由第一制作工艺制造,并且所述存储器控制器芯片由第二制作工艺制造。

10.根据权利要求1所述的系统,进一步包括:

接口垫片芯片,其包括存储器控制器电路;以及

至少一个存储器芯片,其耦连到所述存储器控制器电路,

其中所述存储器控制器电路在所述垫片芯片和所述至少一个存储器芯片之间传送与存储器访问请求相关联的数据。

11.根据权利要求1所述的系统,其中

所述第二处理器芯片配置为包括第四单端信令接口电路,以及所述系统还包括第四电气线路集,其制作在所述多芯片模块封装内并配置为将所述第四单端信令接口电路耦连到所述互连电路。

12.根据权利要求1所述的系统,其中与所述第一互连芯片相关联的至少一个接口信道配置为当耦连到所述多芯片模块封装时是未连接的。

13.根据权利要求1所述的系统,其中所述互连电路包括所述第一电气线路集和所述第二电气线路集。

14.根据权利要求1所述的系统,进一步包括系统功能芯片,所述系统功能芯片配置为生成与存储在一个或多个存储器子系统内的数据相关联的视频刷新,所述一个或多个存储器子系统包括在所述多芯片模块封装内。

15.根据权利要求1所述的系统,其中所述多芯片模块封装包括有机衬底。

16.根据权利要求1所述的系统,进一步包括中央处理单元,所述中央处理单元包括在所述多芯片模块封装内。

17.根据权利要求1所述的系统,其中与所述第一处理器芯片相关联的至少一个接口信道配置为当耦连到所述多芯片模块封装时是未连接的。

18.一种互连芯片的装置,包括:

第一电气线路集,所述第一电气线路集配置为将第一处理器芯片的第一单端信令接口电路耦连到多芯片模块封装内的互连电路;以及第二电气线路集,所述第二电气线路集配置为将图形处理集群芯片的第二单端信令接口电路耦连到所述多芯片模块封装内的所述互连电路,所述图形处理集群芯片包括配置为执行图形着色器程序的多线程处理器核心,其中所述第一电气线路集和所述第二电气线路集包括接地参考单端信号线,其中所述互连电路包括第一互连芯片和第二互连芯片,所述第二互连芯片耦连到所述第一互连芯片并配置为将访问请求从第二处理器芯片传送到所述第一互连芯片,其中所述第一互连芯片配置为将所述访问请求传送到存储器控制器芯片,并且所述存储器控制器芯片配置为应答所述访问请求。

19.根据权利要求18所述的装置,其中所述第一单端信令接口电路包括第一接地参考单端信令接口电路,以及所述第二单端信令接口电路包括第二接地参考单端接口电路。

20.根据权利要求18所述的装置,其中所述互连电路包括所述第一电气线路集和所述第二电气线路集。

说明书 :

接地参考单端信令连接的图形处理单元多芯片系统与装置

[0001] 权利声明
[0002] 本申请根据由DARPA所授予的第HR0011-10-9-0008号协议在美国政府支持下做出。美国政府具有本发明中的某些权利。本申请是于2013年3月15日所提交的第13/844,570号(代理人案号为NVIDP811/SC-13-0072-US1)的美国申请的部分接续申请案,其全部内容通过援引的方式并入本文。

技术领域

[0003] 本发明涉及多处理器架构,并且更具体地,涉及接地参考单端信令连接的图形处理单元多芯片模块。

背景技术

[0004] 典型的计算系统包括中央处理单元(CPU)、图形处理单元(GPU)、高容量存储器子系统以及接口子系统的集合。为了达到系统性能的逐代提高,连续几代的GPU设备都要求性能和集成的等级不断提高。常规GPU设备典型地通过在单个裸片或“芯片”上实现数目不断增加的图形处理集群(GPC)分区和相关联的帧缓冲区(FB)分区来达到性能和集成的较高等级。GPC分区典型地通过交叉开关电路耦连到FB分区。高速缓存存储器也可以被添加到每个芯片。
[0005] 因为更多GPC分区和更多FB分区集成到单个GPU芯片中,且GPC分区和FB分区每一个的复杂性不断增加,所以用于GPU设备的裸片面积的量度一直随着时间而增加。将多个分区和其他子系统集成到单个裸片上的一个优势在于,可通过缩放常规设计技术以及利用使能较大电路密度的制作技术的进步来达到高性能。
[0006] 然而,简单地将更多电路集成到单个芯片上的一个劣势在于,芯片的制造成本典型地就裸片面积而言不成比例地增加,这增加与每个附加的GPC或FB相关联的边际成本。更特别地,给定芯片的制造成本典型地是 芯片的裸片面积的强函数。在许多情况下,与高度集成的GPU设备相关联的裸片面积远远高于特性成本拐点(knee),这导致与制作先进GPU芯片相关联的不成比例的成本低效。
[0007] 因此,存在对于改进GPU架构和/或与现有技术相关联的其他问题的需要。

发明内容

[0008] 公开了包括多芯片模块(MCM)的互连芯片的系统。系统包括第一处理器芯片、图形处理集群(GPC)芯片以及配置为包括第一处理器芯片、GPC芯片和互连电路的MCM封装。第一处理器芯片配置为包括第一单端信令接口电路。制作在MCM封装内的第一电气线路(trace)集配置为将第一单端信令接口电路耦连到互连电路。GPC芯片配置为包括多线程处理器核心以及第二单端接口电路,该多线程处理器核心配置为执行图形着色器程序。制作在MCM封装内的第二电气线路集配置为将第二单端信令接口电路耦连到互连电路。

附图说明

[0009] 图1A示出根据一个实施例的接地参考单端信令(GRS)系统,其基于飞跨电容器电荷泵实现GRS传送器;
[0010] 图1B示出根据一个实施例的、预充电状态和两个不同的数据依赖型驱动状态中的数据驱动器的操作;
[0011] 图1C示出根据一个实施例的、基于双电容器式电荷泵实现GRS传送器的GRS系统;
[0012] 图1D示出根据一个实施例的、预充电状态中的数据驱动器的操作;
[0013] 图1E示出根据一个实施例的、不同的数据依赖型驱动状态中的数据驱动器的操作;
[0014] 图1F示出根据一个实施例的、基于飞跨电容器电荷泵的接地参考单端数据驱动器的操作;
[0015] 图1G示出根据一个实施例的、基于双电容器式电荷泵的接地参考单端数据驱动器的操作;
[0016] 图2A示出根据一个实施例的示例性接地参考单端接收器;
[0017] 图2B示出根据一个实施例的、配置为解多路复用传入数据的示例性接 地参考单端接收器;
[0018] 图3示出根据一个实施例的、配置为实现接地参考单端信令的示例性收发器对;
[0019] 图4A示出根据一个实施例的、包括CMOS电路的接地参考单端数据驱动器;
[0020] 图4B示出根据一个实施例的、与对数据值0进行驱动相关联的预充电状态中的接地参考单端数据驱动器;
[0021] 图4C示出根据一个实施例的、与对数据值1进行驱动相关联的预充电状态中的接地参考单端数据驱动器;
[0022] 图4D示出根据一个实施例的、驱动状态中的接地参考单端数据驱动器;
[0023] 图5A示出根据一个实施例的、包括接地参考单端数据驱动器的两个实例的接地参考单端传送器;
[0024] 图5B示出根据一个实施例的、用于包括两个接地参考单端数据驱动器的接地参考单端传送器的时序;
[0025] 图5C示出根据一个实施例的、用于生成接地参考单端信号的方法的流程图;
[0026] 图6A示出根据一个实施例的、实现为多芯片模块的多芯片图形处理单元;
[0027] 图6B示出根据一个实施例的、实现为多芯片模块的经直接连接的多芯片图形处理单元;
[0028] 图6C示出根据一个实施例的、实现为多芯片模块的经集线器连接的多芯片图形处理单元;
[0029] 图6D示出根据一个实施例的、实现为多芯片模块的经网络连接的多芯片图形处理单元;
[0030] 图6E示出根据一个实施例的、实现为多芯片模块的、具有附接帧缓冲区的存储器的经网络连接的多芯片图形处理单元;
[0031] 图6F描绘根据一个实施例的、配置为实现包括帧缓冲区芯片和存储器子系统的芯片堆栈的多芯片模块的横截面;
[0032] 图6G示出根据一个实施例的、配置为在多芯片模块内包括处理芯片和系统功能芯片的多芯片图形处理单元;
[0033] 图6H示出根据一个实施例的、配置为在多芯片模块内容纳附加处理芯片的多芯片图形处理单元;以及
[0034] 图7示出在其中可实现各先前实施例的各架构和/或功能性的示例性系统。

具体实施方式

[0035] 提供了用于在组成封装上系统(system-on-package)设备的不同芯片之间的高速单端信令的技术。接地参考驱动器传送具有由相应逻辑状态所确定的极性的脉冲。脉冲穿过信号路径并且由接地参考放大器接收,所述接地参考放大器放大脉冲用于解释为常规逻辑信号。一组接地参考驱动器和接地参考放大器实现高速接口,所述高速接口配置为将组成封装上系统设备的不同芯片互连。由接地参考信令所使能的高速通信有利地改进封装上系统设备内的不同芯片之间的带宽,这相比由常规信令技术所提供的系统使能更高性能和更高密度的系统。
[0036] 本发明的实施例实现包括多个不同处理器芯片、一个或多个存储器芯片以及耦连到多芯片封装的特定于特征的芯片的系统。不同芯片之间的互连通过多芯片封装来路由。互连中的至少一个配置为实现接地参考单端信令(GRS)链路,描述如下。
[0037] GRS数据驱动器实现配置为在相关联的信号线上传送接地参考脉冲的电荷泵驱动器。在一个实现方案中,正电荷的脉冲指示逻辑1,而负电荷的脉冲指示逻辑0。电荷泵驱动器独立于所传送的数据通过迫使瞬态信号电流和接地电流被本地平衡以及通过每半个时钟周期从电源拉动恒定量的电荷来消除与单端信令共同关联的同步开关噪声(SSN)。脉冲由配置为将本地接地信号用作输入参考的共栅极放大器级接收和放大。该配置对共模噪声提供大量免疫,该共模噪声为单端信令中的传送错误的主要来源。第二放大器级将给定的所接收脉冲转译成全摆幅逻辑电压,这允许所接收脉冲被常规逻辑电路适当地解释为一个或两个逻辑状态。在一个实施例中,GRS接收器包括共栅极放大器级、第二放大器级以及配置为在交替的时钟相位期间采集所接收数据的两个存储元件,诸如触发器。
[0038] GRS收发器包括GRS数据驱动器和GRS接收器。GRS收发器通过GRS数据驱动器传送出站数据并且通过GRS接收器接收入站数据。等时(isochronous)GRS收发器还可以传送具有对于出站数据的固定相位关系的计时信息以及接收具有对于入站数据的固定相位关系的计时信息。GRS 互连包括两个不同GRS收发器,其通过制造在共同的多芯片模块封装内的电气线路耦连。
[0039] 图1A示出根据一个实施例的、基于飞跨电容器电荷泵实现GRS传送器110的接地参考单端信令(GRS)系统100。GRS系统100包括GRS传送器110、包括信号线105和接地网络107的传送路径、以及GRS接收器130。在一个实施例中,GRS传送器110包括两个数据驱动器112、114。输入数据信号D0和D1基于时钟信号CLK而呈现到GRS传送器110。数据驱动器112配置为采集与输入D0相关联的逻辑状态以及当CLK为低时以与输入D0的逻辑状态相应的脉冲将输出信号Vout116驱动到信号线105上。类似地,数据驱动器114配置为采集与输入D1相关联的逻辑状态以及当CLK为高时以与D1的逻辑状态相应的脉冲将输出信号Vout116驱动到信号线105上。沿信号线105形成与来自输入D0和D1的输入数据序列相应的脉冲序列。脉冲序列以接地作为参考,其具有可以比常规逻辑电压摆幅更低的电压摆幅。GRS接收器130配置为放大来自信号线105的传入的脉冲序列并且将脉冲转译到常规逻辑电压摆幅,因此脉冲可以适当地解释为放大器输出信号132上的逻辑信号。例如,沿信号线105的脉冲序列可具有加或减一百毫伏的标称振幅,而如果耦连到放大器输出信号132的逻辑操作在一千二百毫伏正供电轨上,那么放大器输出信号132就地而言可具有相应的一千二百毫伏到零伏的电压摆幅。
[0040] 在一个实施例中,GRS传送器110制造在传送器芯片上,并且GRS接收器130制造在与传送器芯片相异的接收器芯片上。垫120包括配置为将输出信号Vout116从传送器芯片耦连到信号线105的结合垫,信号线105制造为多芯片模块(MCM)封装190内的阻抗控制的线路。垫122包括配置为将传送器芯片内的本地接地信号耦连到制造在MCM封装190内的接地网络107的结合垫。类似地,垫124包括配置为将信号线105耦连到用于接收器芯片内的GRS接收器130的输入信号的结合垫,并且垫126包括配置为将接地网络107耦连到接收器芯片内的本地接地的结合垫。终端电阻RTx耦连在输出信号Vout116与传送器芯片内的本地接地之间以吸收传入信号,诸如反射或感应噪声信号。终端电阻RRx跨到GRS接收器130的输入耦连以类似地吸收接收器芯片处的传入信号。
[0041] 数据驱动器112包括电容器C0以及开关S01到S06。开关S01使电容 器C0的第一节点能够耦连到正供电轨,而开关S02使电容器C0的第二节点能够耦连到本地接地网。开关S01和S02在当CLK等于逻辑“1”值时所定义的用于数据驱动器112的预充电状态期间是活动的(闭合的)。开关S03使电容器C0的第一节点能够耦连到GND,而开关S06使电容器C0的第二节点能够耦连到GND。开关S04使电容器C0的第一节点能够耦连到Vout116,而开关S05使电容器C0的第二节点能够耦连到Vout116。当CLK等于逻辑“0”值时,开关S04和S06当数据驱动器112将逻辑“1”值驱动到Vout116时是活动的,或者S03和S05当数据驱动器112将逻辑“0”值驱动到Vout116时是活动的。数据驱动器114包括大致同样的电路拓扑,以对CLK的反相的感测,使得数据驱动器114当CLK等于逻辑“0”值时处于预充电状态以及当CLK等于逻辑“1”值时驱动Vout116。
[0042] 在一个实施例中,开关S01到S06以及开关S11到S16使用单片互补金属氧化物半导体(CMOS)器件制造,诸如增强型n沟道和p沟道场效应晶体管。可以实现任何技术上可行的逻辑电路拓扑来将开关S01-S06以及开关S11-S16驱动到各自地活动或不活动状态中而不脱离本发明的实施例的范围和精神。
[0043] 图1B示出根据一个实施例的、预充电状态和两个不同的数据依赖型驱动状态中的数据驱动器112的操作。如所示,当CLK等于逻辑“1”值时,数据驱动器112处于预充电状态中,借以开关S01和S02是活动的并且电容器C0充电到与正供电轨诸如“VDD”供电轨接近相应的电压。所有开关S03-S06在预充电状态期间是不活动的(打开的)。当CLK等于逻辑“0”值时,开关S03-S06中的两个配置为将电容器C0耦连到Vout116以传送具有与用于D0的逻辑值相应的极性的脉冲。为了驱动逻辑“0”值,驱动开关S03和S05活动,从而将相对于接地的负电荷耦连到Vout116上。为了驱动逻辑“1”值,驱动开关S04和S06活动,从而将相对于接地的正电荷耦连到Vout116上。
[0044] 图1C示出根据一个实施例的、基于双电容器式电荷泵实现GRS传送器150的GRS系统102。GRS系统102包括GRS传送器150、包括信号线105和接地网络107的传送路径、以及GRS接收器130。在一个实施例中,GRS传送器150包括两个数据驱动器152和154。除数据驱动器152和154的内部拓扑和操作之外,GRS系统102的操作与以上在图1A和1B 中所描述的GRS系统100的操作是大致同样的。
[0045] 数据驱动器152包括电容器C0A和C0B,以及开关S0A到开关S0H。开关S0A使电容器C0A的第一节点能够耦连到正供电轨,而开关S0C使第一节点能够耦连到本地接地网。开关S0B使电容器C0A的第二节点能够耦连到Vout116,而开关S0D使第二节点能够耦连到本地接地网。类似地,开关S0E使电容器C0B的第一节点能够耦连到正供电轨,而开关S0G使第一节点能够耦连到本地接地网。开关S0F使电容器C0B的第二节点能够耦连到Vout116,而开关S0H使第二节点能够耦连到本地接地网。
[0046] 用于数据驱动器152的预充电状态当CLK等于逻辑“1”值时被定义。在预充电状态期间,驱动开关S0A、S0D、S0G以及S0H活动,预充电电容器C0A到与相对于本地接地网的正供电轨相应的电压,并且预充电电容器C0B到接近没有电荷。当CLK等于逻辑“0”值时,或者电容器C0A耦连到Vout116以生成负脉冲或者电容器C0B耦连到Vout116以生成正脉冲,如下文结合图1E所描述的。数据驱动器154包括大致同样的电路拓扑,以对CLK的反相的感测,使得数据驱动器154当CLK等于逻辑“0”值时处于预充电状态并且当CLK等于逻辑“1”值时驱动Vout116。
[0047] 在一个实施例中,开关S0A到S0H以及开关S1A到S1H使用单片CMOS器件诸如增强型n沟道和p沟道FET来制造。可以实现任何技术上可行的逻辑电路拓扑来将开关S0A-S0H以及开关S1A-S1H驱动到各自地活动或不活动状态中而不脱离本发明的实施例的范围和精神。
[0048] 图1D示出根据一个实施例的、预充电状态中的数据驱动器152的操作。如所示,当CLK等于逻辑“1”值时,开关S0A是活动的,这将电容器C0A的第一节点耦连到正供电轨,并且开关S0D是活动的,这将电容器C0A的第二节点耦连到本地接地网。同时,开关S0G是活动的,这将电容器C0B的第一节点耦连到接地,并且开关S0H是活动的,这将电容器C0B的第二节点耦连到接地。到该预充电状态结束时,电容器C0B被大致放电。
[0049] 图1E示出根据一个实施例的、不同的数据依赖型驱动状态中的数据驱动器152的操作。如所示,当CLK等于逻辑“0”值并且D0等于逻辑“0”值时,开关S0C和S0B配置为将电容器C0A耦连到Vout116以传送具有负极性的脉冲。可替代地,当CLK等于逻辑“0”值并且D0等于逻辑“1”值时,开关S0E和S0F配置为将电容器C0B耦连到Vout116以传送具有 正极性的脉冲。在这里,正供电轨假定为具有足够的高频电容性而耦连到本地接地网以结合以正脉冲驱动Vout116来迫使瞬态返回电流通过本地接地网。
[0050] 现在将关于各可选架构和特征来阐述更多示例性的信息,根据设计者或用户的期望可以采用或可以不采用所述架构和特征来实现前述的框架。应该强烈注意的是,下面的信息出于示例性的目的而阐述并且其不应该被认为是以任何方式进行限制。下面特征中的任何一个可以可选地合并,排除或不排除所述的其他特征。
[0051] 图1F示出根据一个实施例的、基于飞跨电容器电荷泵的接地参考单端数据驱动器162的操作。数据驱动器162的一个或多个实例可配置为操作为GRS传送器内的数据驱动器。
例如,数据驱动器162的实例可配置为代替图1A的GRS传送器110内的数据驱动器112进行操作。类似地,数据驱动器162的实例可配置为代替数据驱动器114进行操作。
[0052] 数据驱动器162包括电容器C2和开关S20、S21、S22、S23以及S24,其配置为在预充电相位期间预充电电容器C2,以及在数据输出相位期间将电容器C2放电到Vout116中。在一个实施例中,数据驱动器162的第一实例配置为当时钟信号处于逻辑“0”状态中时在预充电相位中进行操作,以及当时钟信号处于逻辑“1”状态中时在数据输出相位中进行操作。数据驱动器162的第二实例配置为当时钟信号处于逻辑“1”状态中时在预充电相位中进行操作,以及当时钟信号处于逻辑“0”状态中时在数据输出相位中进行操作。
[0053] 当数据驱动器162的每个实例处于预充电相位中时,如果D0处于逻辑“1”状态中,那么开关S22和S21是活动的,而开关S20、S23以及S24是不活动的。当在预充电相位中时,如果D0处于逻辑“0”状态中,那么开关S20和S23是活动的,而开关S21、S22和S24是不活动的。在数据输出相位期间,开关S21和S24是活动的,而开关S20、S22和S23是不活动的。总而言之,飞跨电容器C2在预充电相位期间以或者正极性电荷或者负极性电荷进行预充电。电荷然后在数据输出相位期间通过接地和Vout116进行放电。
[0054] 图1G示出根据一个实施例的、基于双电容器式电荷泵的接地参考单端数据驱动器172的操作。数据驱动器172的一个或多个实例可配置为操作 为GRS传送器内的数据驱动器。例如,数据驱动器172的实例可配置为代替图1A的GRS传送器110内的数据驱动器112进行操作。类似地,数据驱动器162的实例可配置为代替驱动器114进行操作。
[0055] 数据驱动器172包括电容器C3、C4和开关S30、S31、S32、S33、S40、S41以及S42,其配置为在预充电相位期间预充电电容器C3和C4,并且在数据输出相位期间将电容器C3、C4中的一个放电到Vout116中。在一个实施例中,数据驱动器172的第一实例配置为当时钟信号处于逻辑“0”状态中时在预充电相位中进行操作,以及当时钟信号处于逻辑“1”状态中时在数据输出相位中进行操作。数据驱动器172的第二实例配置为当时钟信号处于逻辑“1”状态时在预充电相位中进行操作,以及当时钟信号处于逻辑“0”状态中时在数据输出相位中进行操作。
[0056] 当数据驱动器172的每个实例处于预充电相位中时,开关S30、S33、S40以及S41是活动的,并且开关S31、S32以及S42是不活动的。在数据输出相位期间,如果D0处于逻辑“0”状态中,那么开关S31和S32是活动的,这允许电容器C3将负极性电荷放电到Vout116中。同时,开关S30、S33以及S40-S42是不活动的。在数据输出相位期间,如果D0处于逻辑“1”状态中,那么开关S41和S42是活动的,这允许电容器C4将正极性电荷放电到Vout116。同时,开关S40和S30-S33是不活动的。
[0057] 图2A示出根据一个实施例的示例性GRS接收器130。如所示,GRS接收器130接收输入信号Vin264以及GRef266,并且生成放大器输出信号132。在一个实施例中,Vin264处的到达脉冲具有就GRef266而言的正电压,表示逻辑“1”,以及Vin264处的到达脉冲具有就GRef266而言的负电压,表示逻辑“0”。GRS接收器130放大输入信号Vin264与GRef266之间的差分电压来生成相应的差异信号262。在一个实施例中,GRS接收器130设计为以用于反相器inv3的开关阈值为中心来偏置(bias)差异信号262,其放大差异信号262以根据常规逻辑电压电平生成放大器输出信号132。
[0058] 在一个实施例中,GRS接收器130包括电阻器R1到R4、反相器inv1到inv3、电容器C5以及场效应晶体管n1和n2。电阻器R2和R4可以使用任何技术上可行的技术而实现为可变电阻器。可变电阻器的一个示例性实现方案提供电阻值的数字控制并且包括以并行配置连接的一组n沟道 FET。每个n沟道FET由与用来建立电阻值的控制字不同的数字控制信号来控制。如果控制字定义为二进制数,那么如果n沟道FET被恰当地调整大小则用于该组n沟道FET的相应电阻值可以是单调的。在实际的实现方案中,电阻器R2和R4被调谐以由GRS接收器130平衡注入Vin264和GRef266中的传入脉冲和电流的端接(termination)。从二进制代码字到电阻值的单调映射简化为达到平衡端接所需的任何数字修调。任何技术上可行的技术可以实现为调节电阻器R2和R4以达到平衡端接。
[0059] 电阻器R1和R3还可以使用任何技术上可行的技术实现。例如,电阻器R1和R3可以实现为被恰当偏置的p沟道FET。当电容器C5起到使由反相器inv1和inv2所形成的回路稳定的作用时,反相器inv1和inv2结合电阻器R1和FET n1提供增益。
[0060] 图2B示出根据一个实施例的、配置为解多路复用传入数据的示例性GRS接收器单元270。GRS接收器单元270包括GRS接收器130,以及存储元件,其配置为在交替时钟相位上采集和存储放大器输出信号132的逻辑状态以对参考输入信号GRef266的表示为输入信号Vin264上的到达脉冲的输入数据进行解多路复用。每个输出信号D0284和D1282以到达数据脉冲的频率的一半来呈现所采集的输入数据。
[0061] 在一个实施例中,存储元件包括正沿触发的触发器274和负沿触发的触发器272。如所示,正沿触发的触发器274配置为在时钟信号CLK268的上升沿期间采集D0,而负沿触发的触发器272配置为在CLK268的下降沿期间采集D1。这类配置假定CLK268和放大器输出信号132一起跃迁并且触发器272和274要求比保持时间更多的建立时间。在可替代实施例中,D0在CLK268的下降沿上被采集,而D1在CLK268的上升沿上被采集。在其他可替代实施例中,存储元件包括电平敏感锁存器而不是触发器。
[0062] 图3示出根据一个实施例的、配置为实现GRS信令的示例性收发器对300。如所示,收发器对300包括收发器单元310,其通过信号线352、354、356和358耦连到收发器单元370。信号线352、354、356和358可以制造为嵌入MCM封装190内的阻抗控制的线路。收发器310配置为接收以用于信号线的数据传送速率的一半进行操作的参考时钟312。可调节相位延迟
332可在传送参考时钟312到GRS传送器322、GRS传送器324以及串 行器334之前引入可调节相位延迟。
[0063] 如所示,GRS传送器322配置为通过垫342、信号线352以及垫362将顺序的“01”模式串传送到GRS接收器382。在一个实施例中,该“01”模式串以与从GRS传送器324通过垫344、信号线354以及垫364传送到GRS接收器384的数据大致相同的相位进行传送。串行器334以比参考时钟312更低的频率、但以相应更宽的并行宽度接收传送数据314。例如,如果参考时钟配置为以10GHz进行操作,并且串行器334配置为将16位字多路复用为2位用于通过GRS传送器324传送,那么16位字可以以10GHz除以8或者以1.25GHz的速率到达。在这里,传送数据时钟313可以由串行器334生成而以1.25GHz操作用于到达传送数据314的定时转移。在该示例中,参考时钟312具有100pS周期并且由GRS传送器322和324所传送的每个相异位具有50pS的单位间隔。
[0064] GRS接收器382通过信号线352接收参考时钟312的经相位延迟的版本并且生成本地参考时钟383,其可以耦连到GRS接收器384用于采集在信号线354上的到达脉冲。本地参考时钟383也可以耦连到解串器394用于采集和解多路复用来自GRS接收器384的数据。扩展上述示例,GRS接收器384可在以10GHz进行操作的本地参考时钟383的交替时钟相位上采集到达脉冲,以每100pS生成2位。解串器394配置为解多路复用包括来自GRS接收器384的2位的顺序数据以及以1.25GHz的速率生成相应的16位字。16位字呈现为接收数据374。解串器394可以生成接收器数据时钟373以反映用于接收数据374的恰当计时。接收数据374表示传送数据314的本地拷贝。在一个实施例中,解串器394配置为将到达数据沿字边界对齐。本领域技术人员将理解的是,并行数据的串行化和解串行化可能要求并行数据沿字边界的对齐并且本领域众所周知的技术可以通过收发器单元370或相关联的逻辑来实现而不脱离本发明的实施例的范围和精神。
[0065] 串行器396采集到达传送数据376并且串行化数据用于由GRS传送器386通过信号线356传送。在一个实施例中,串行器396基于本地参考时钟383生成传送数据时钟375作为用于到达传送数据376的计时参考。GRS接收器326采集从信号线356到达的数据并且解串器336将数据解多路复用成字,其呈现为接收数据316。GRS传送器388配置为通过垫368、信 号线358以及垫348传送顺序的“01”模式串到GRS接收器328。在一个实施例中,该“01”模式串以与从GRS传送器386通过垫366、信号线356以及垫346传送到GRS接收器326的数据大致相同相位进行传送。GRS接收器328和可调节相位延迟338基于顺序的“01”模式串生成接收时钟318。在一个实施例中,接收数据时钟315由解串器336生成以反映用于接收数据316的恰当计时。
[0066] 确定用于可调节相位延迟332和可调节相位延迟338的适当相位延迟值可以使用任何技术上可行的技术实施。例如,可在链路训练相位期间在相位延迟值的范围之上扫描用于可调节相位延迟332和可调节相位延迟338的相位延迟值,借以针对正常链路操作确定和使用在训练期间与大致最小误比特率相应的相位延迟。
[0067] 尽管本文示出了用于在收发器单元310和收发器单元370之间传送数据的等时计时模型,但是可以实现任何技术上可行的计时模型而不脱离本发明的实施例的范围和精神。
[0068] 图4A示出根据一个实施例的、包括CMOS电路的GRS数据驱动器400。如所示,CMOS电路示出可以用来使用CMOS电路元件实现图1F的数据驱动器162的电路拓扑。特别地,开关S20和S22分别实现为p沟道FET p40以及p沟道FET p42;并且开关S21、S23以及S24分别实现为n沟道FET n41、n沟道FET n43以及n沟道FET n44。参考节点410耦连到电容器C7、p沟道FET p40以及n沟道FET n41。输出节点412耦连到电容器C7的对侧,以及耦连到p沟道FET p42、n沟道FET n43以及n沟道FET n44。
[0069] 控制信号g40耦连到p沟道FET p40的栅极节点。当控制信号g40被驱动到逻辑0电平时,p沟道FET p40接通,将节点410拉到与VDD相关联的电压电平。控制信号g41耦连到n沟道FET n41的栅极节点。当控制信号g41被驱动到逻辑1电平时,n沟道FET n41接通,将节点410拉到与GND相关联的电压电平。类似地,p沟道FET p42响应于控制信号g42,选择性地将节点412拉到VDD,而n沟道FET n43响应于控制信号g43,选择性地将节点412拉到GND。控制信号g44耦连到n沟道FET n44的栅极节点。当控制信号g44被驱动到逻辑0电平时,n沟道FET n44将节点412与节点Vout416大致隔离。然而,当控制信号g44被驱动到逻辑1电 平时,n沟道FET n44在节点412和Vout416之间形成低阻抗路径。如下文结合图4D所描述的,该低阻抗路径促进以恰当的信号驱动Vout416。
[0070] GRS数据驱动器400主要操作在三个不同状态中,包括用于随后驱动数据值0的第一预充电状态、用于随后驱动数据值1的第二预充电状态以及用于以与前述预充电状态相应的信号来驱动信号线诸如信号线105的驱动状态。下文图4B-4D示出了这些状态。预充电状态和驱动状态之间的跃迁由控制信号g40到g44来编排。
[0071] 图4B示出根据一个实施例的、与对数据值0进行驱动相关联的第一预充电状态中的GRS数据驱动器400。如所示,在第一预充电状态中,控制信号g40设置为0以接通p沟道FET p40,从而将节点410耦连到VDD。同时,控制信号g43设置为一(1)以接通n沟道FET n43,从而将节点412耦连到GND。另外,控制信号g42设置为1以断开p沟道FET p42,并且控制信号g41和g44设置为0以分别断开n沟道FET n41和n沟道FET n44。在该第一预充电状态中,电容器C7以节点410上的正电荷以及节点412上的负电荷进行充电,其与节点Vout416电隔离。
[0072] 图4C示出根据一个实施例的、与对数据值1进行驱动相关联的第二预充电状态中的GRS数据驱动器400。如所示,在第二预充电状态中,控制信号g42设置为0以接通p沟道FET p42,从而将节点412耦连到VDD。同时,控制信号g41设置为1以接通n沟道FET n41,从而将节点410耦连到GND。另外,控制信号g40设置为1以断开p沟道FET p40,并且控制信号g43和g44设置为0以分别断开n沟道FET n43以及n沟道FET n44。在该第二预充电状态中,电容器C7以节点410上的负电荷和节点412上的正电荷进行充电,其与节点Vout416电隔离。
[0073] 图4D示出根据一个实施例的驱动状态中的GRS数据驱动器400。如所示,控制信号g41设置为1,这将节点410耦连到GND,并且控制信号g44设置为1,这将节点412耦连到节点Vout416。控制信号g40和g42设置为1以分别断开p沟道FET p40以及p沟道FET p42。此外,控制信号g43设置为0以断开n沟道FET n43。在该状态中,电容器C7放电到节点Vout416中。如果负电荷在先前预充电状态中已积累在电容器C7中,那么C7就GND而言将负电荷放电到节点Vout416中。否则,如果正电荷在先前预充电状态中已积累在电容器C7中,那么C7就GND而言将正电荷放 电到节点Vout416中。经过节点Vout416的电流与相应的经过GND的接地电流大致平衡。
[0074] 电容器C7可使用任何技术上可行的技术实现而不脱离本发明的实施例的范围和精神。在一个实施例中,电容器C7使用n沟道FET实现。例如,第一n沟道FET的栅极节点可以耦连到图4A的节点412以形成背靠背的金属氧化物晶体管电容器。此外,第一n沟道FET的源极节点和漏极节点可以耦连到节点410。第二n沟道FET的栅极节点可以耦连到节点410,而第二n沟道FET的源极节点和漏极节点可以耦连到节点412。与CMOS工艺内可用的其他电容器结构相比,栅极电容是相对充分利用面积的。然而,栅极电容随电荷极性而显著地变化。为了补偿依赖极性的栅极电容,两个n沟道器件对称地配置为存储相反极性的电荷。以这种方式,放电到节点Vout416中的正脉冲相对于放电到Vout416中的负脉冲具有大致相等的量级。
[0075] 在另一个实施例中,电容器C7可以使用相邻金属层中的线路来实现。例如,顺序的金属层中的线路可配置为在节点410和412之间提供板极电容(Cp)和边缘电容(Ce)。不同于栅极电容,嵌入常规介电材料内的金属结构之间的板极电容和边缘电容就极性而言是稳定的。然而,与使用用于等同的电容值的栅极电容所形成的电容器相比,使用金属层线路所形成的电容器可能要求更多裸片面积。虽然两个相邻层上的两个并行线路可以用来实现电容器C7,但是本领域的技术人员将理解的是,这类金属氧化物金属(MOM)电容器可以使用多于两层以及每层上的多于两个相邻线路来实现。
[0076] 图5A示出根据一个实施例的、包括GRS数据驱动器400的两个实例的GRS传送器550。如所示,GRS传送器550接收与时钟信号CLK同步的数据输入信号D0和D1。控制逻辑502接收信号D0、D1以及CLK,并且作为响应,生成驱动器控制信号510和驱动器控制信号512。在一个实施例中,驱动器控制信号510包括用于GRS数据驱动器400的实例400(0)的控制信号g40到g44,并且驱动器控制信号512包括用于GRS数据驱动器400的实例400(1)的控制信号g40到g44。
[0077] 在一个实施例中,当CLK处于逻辑1状态中时,控制逻辑502将实例400(0)配置为操作在预充电状态中。如果D0处于逻辑0状态中,那么 实例400(0)进入与对数据值0进行驱动相关联的预充电状态,如图4B先前所示出的。在这里,生成驱动器控制信号510使得g40=1、g41=0、g42=1、g43=1以及g44=0。相反,如果D0处于逻辑1状态中,那么实例400(0)进入与对数据值1进行驱动相关联的预充电状态,如图4C先前所示出的。在这里,生成驱动器控制信号510使得g40=1、g41=1、g42=0、g43=0以及g44=0。当CLK处于逻辑0状态中时,控制逻辑502将实例400(0)配置为操作在驱动状态中,如图4D先前所示出的。在这里,生成驱动器控制信号510使得g40=1、g41=1、g42=1、g43=0以及g44=1。
[0078] 当CLK处于逻辑0状态中时,控制逻辑502将实例400(1)配置为操作在预充电状态中。如果D1处于逻辑0状态中,那么实例400(1)进入与对数据值0进行驱动相关联的预充电状态,如图4B先前所示出的。在这里,生成驱动器控制信号512使得g40=0、g41=0、g42=1、g43=1以及g44=0。相反,如果D1处于逻辑1状态中,那么实例400(1)进入与对数据值1进行驱动相关联的预充电状态,如图4C先前所示出的。在这里,生成驱动器控制信号512使得g40=1、g41=1、g42=0、g43=0以及g44=0。当CLK处于逻辑1状态中时,控制逻辑502将实例400(1)配置为操作在驱动状态中,如图4D先前所示出的。在这里,生成驱动器控制信号510使得g40=1、g41=1、g42=1、g43=0以及g44=1。
[0079] 每个实例400(0)、400(1)耦连到共同的Vout416信号,其进一步耦连到垫520。在一个实施例中,Vout416通过电阻器RTx耦连到垫522。垫522耦连到与图4A-4D中的GND相应的电路接地节点。
[0080] 在一个实施例中,GRS传送器550配置为替换图1A的GRS传送器110。在这里,垫520将Vout416耦连到信号线105,并且垫522将GND耦连到接地网络107。在这类配置中,GRS接收器130接收来自GRS传送器550的数据。在某些实施例中,GRS传送器550包括图3的GRS Tx322、GRSTx324、GRS Tx386以及GRS Tx388。
[0081] 图5B示出根据一个实施例的、用于GRS传送器550的时序。如所示,当CLK处于逻辑0状态中时,来自输入D0的数据的一个位在时间k+1期间被传送到Vout416,并且当CLK处于逻辑1状态中时,来自输入D1的数据的一个位在时间k+2期间被传送到Vout416。在一个实施例中,输入D0和D1同步到CLK的上升沿并且在CLK的上升沿上进行更新。在这类 实施例中,响应于CLK的上升沿进入时间k,当输入D0和D1改变时,实例400(1)处于数据驱动状态中。当CLK的上升沿进入时间k时,实例400(0)进入预充电状态,从而采样D0上的数据。当CLK的下降沿退出时间k并且进入时间k+1时,实例400(0)进入数据驱动状态并且将所采集的数据从D0驱动到Vout416上。当CLK的下降沿进入时间k+1时,实例400(1)进入预充电状态,从而采样D1上的数据。当CLK的上升沿退出时间k+1并且进入时间k+2时,实例400(1)进入数据驱动状态并且将所采集的数据从D1驱动到Vout416上。以这种方式,包括D0和D1的数据可使用具有常规单边同步时序的常规逻辑呈现到GRS传送器550,而GRS传送器550对数据进行时间多路复用用于以双倍数据速率的传送。换句话说,在CLK的每个周期或循环中发生两次数据转移。在优选实施例中,D0当CLK为低时被锁存,以确保D0当被用来控制实例400(0)的预充电时是稳定的。类似地,D1当CLK为高时被锁存,以确保D1当被用来控制实例400(1)的预充电时是稳定的。
[0082] 在其他实施例中,包括GRS数据驱动器400的多于两个实例的GRS传送器配置为接收GRS数据驱动器400的每实例的数据位以及以相应较高的数据速率对数据进行时间多路复用。在这类实施例中,可能要求多个时钟信号提供恰当时序用于预充电以及驱动数据以对数据进行时间多路复用。
[0083] 图5C示出根据一个实施例的、用于生成接地参考单端信号的方法560的流程图。尽管结合图4A-5B描述了方法560以实现输入数据对输出数据的2比1时间多路复用比,但是本领域的普通技术人员将理解的是,实施方法560的任何系统在本发明的实施例的范围和精神内。
[0084] 方法560开始于步骤565,其中第一数据驱动器诸如GRS数据驱动器400的实例400(0)通过在第一时间k期间预充电第一电容器来采样数据的第一位。第一电容器被充电以具有与用于数据的第一位的逻辑电平相应的极性。在步骤570,第二数据驱动器诸如GRS数据驱动器400的实例400(1)通过在时间k+1期间预充电第二电容器来采样数据的第二位。第二电容器被充电以具有与用于数据的第二位的逻辑电平的极性。
[0085] 在步骤575,第一数据驱动器驱动输出信号诸如图4A-4D的Vout416或图5A的Vout416,以通过在时间k+1期间将第一电容器耦连到输出信 号来反映数据的第一位。在这里,第一电容器耦连在接地网络和输出信号之间。在步骤565,基于用于数据的第一位的逻辑电平建立第一电容器上的电荷的极性。当耦连到输出信号时,第一电容器因此反映用于数据的第一位的逻辑电平。
[0086] 在步骤580,第二数据驱动器驱动输出信号以通过在时间k+2期间将第二电容器耦连到输出信号来反映数据的第二位。在这里,第二电容器耦连在接地网络和输出信号之间。在步骤570,基于用于数据的第二位的逻辑电平建立第二电容器上的电荷的极性。当耦连到输出信号时,第二电容器因此反映用于数据的第二位的逻辑电平。方法560在驱动输出信号以反映数据的第二位之后终止。
[0087] 在其他实施例中,可以实现大于2的时间多路复用比并且可以提供至少一个附加的相位相关的时钟以编排GRS数据驱动器400的多于三个实例的操作。
[0088] 具有接地参考信令的多芯片GPU系统
[0089] 图6A示出根据一个实施例的、实现为多芯片模块(MCM)600的多芯片图形处理单元(GPU)。如所示,MCM600包括MCM封装190、两个或更多个图形处理集群(GPC)芯片610以及互连614,所述互连614配置为促进GPC芯片610之间和当中以及帧缓冲区(FB)芯片620之间和当中的通信。
[0090] 每个GPC芯片610可以包括配置为执行一个或多个线程程序的一个或多个多线程图形处理核心。线程程序可以实现但不限于几何操作、像素操作、通用计算操作或其任何组合。线程程序可以包括图形着色器程序。每个GPC芯片610还可以包括用于每个图形处理核心的高速缓存存储器以及由两个或更多个图形处理核心所共享的高速缓存存储器。例如,每个GPC芯片610可以包括与每个图形处理核心相关联的第一级高速缓存。每个GPC芯片610还可以包括第二级高速缓存,其在包括在GPC芯片610内的一个或多个图形处理核心当中被共享。在某些实施例中,GPC芯片610(0)配置为提供高计算性能,GPC芯片610(1)配置为以低功耗进行操作。在这类实施例中,GPC芯片610(0)可以由高性能制作技术来制作,而GPC芯片610(1)可以由低功率制作技术来制作。在某些实施例中,设计GPC芯片610(0)用于相对高性能,而使用相同制作技术来设计GPC 芯片610(1)用于相对低功率。在一个实施例中,GPC芯片610(0)比GPC芯片610(0)包括更大数目的图形处理核心。GPC芯片610(2)和610(3)每个可以被设计用于高性能或用于低功耗。在一个实施例中,系统功能芯片618使用与GPC芯片610或FB芯片620不同的制作技术来制作。例如,系统功能芯片618可使用前一代制作技术来制作,而GPC芯片610可使用更先进并且更高性能的制作技术来制作。
[0091] 每个GPC芯片610通过相应的互连链路612耦连到互连614。如图6B-6E所更详细描述的,互连614可以实现不同拓扑,其促进GPC芯片610以及FB芯片620当中的通信。在一个实施例中,每个互连链路612包括布置在相应GPC芯片610内的一个或多个GRS收发器以及制造在MCM封装190内的相关联的电气线路。每个GRS收发器根据特定于实现方案的要求可以包括一个或多个双向的或者一个或多个单向的数据信号。
[0092] 在一个实施例中,每个收发器配置为以16比1的比率对来自核心电路的数据进行多路复用,使得每个GRS信号线在每个信号要以核心电路操作频率传送一位所需要的时间中传送16位。在这类实施例中,256位片上数据总线可以多路复用到16个GRS信号线中。在某些实施例中,一个16信号GRS信道配置为传送来自GPC芯片610的数据,并且另一个16信号GRS信道配置为将数据传送到GPC芯片610。
[0093] 每个FB芯片620通过相应的互连链路622耦连到互连614。每个FB芯片620还通过相应的存储器链路624耦连到存储器子系统(未示出)。给定FB芯片620可以实现但不限于像素混合和合成操作。可以实现不同的混合模式,并且FB芯片620可以根据用于数据的特定算法要求对从GPC610传送到存储器子系统的像素数据实施不同混合模式中的一个或多个。总之,FB芯片620实现光栅操作单元,包括对帧缓冲区存储器的读-修改-写操作。每个FB芯片620可以包括高速缓存,诸如第二层高速缓存。更一般地,每个FB芯片620实现存储器控制器并且可以操作为代表其他系统元件诸如GPC610的存储器控制器。
[0094] 可以实现任何技术上可行的通信协议用于在互连链路612上传送数据。在一个实施例中,通信协议指定但不限于包括访问地址的存储器读请求、包括所请求读数据的读响应(确认)、包括访问地址和写数据的存储器写请求以及指示成功写操作的写确认。在某些实施例中,读请求和写请求还包 括以字节、字或任何技术上可行的数据长度的量度所指定的访问长度。在一个实施例中,给定的访问请求包括分离事务。在可替代实施例中,给定的访问请求包括阻塞事务。在某些实施例中,通信协议指定用于将数据包传送到目的设备的消息传递机制。在一个实施例中,实现用于通过互连链路612传送数据的通信协议指定高速缓存一致性协议。高速缓存一致性协议可以提供用于维持高速缓存一致性的广播机制、用于维持高速缓存一致性的基于目录的机制或者用于维持在两个或更多个高速缓存或存储器子系统当中的高速缓存一致性的任何技术上可行的机制而不脱离本发明的实施例的范围和精神。在一个实施例中,高速缓存一致性协议实现用于处理高速缓存写的无效机制。可替代地,高速缓存一致性协议实现用于处理高速缓存写的更新机制。在一个实施例中,高速缓存一致性协议实现用于处理某些写的透写机制。
[0095] MCM600还可以包括一个或多个存储器子系统(未示出),其或者直接或者通过附加的互连(未示出)耦连到FB芯片620。在一个实施例中,每个存储器子系统包括DRAM芯片。在另一个实施例中,每个存储器子系统包括高速缓存存储器芯片。高速缓存存储器芯片可以包括第二级高速缓存、第三级高速缓存、高速缓存片(slice)或任何其他技术上可行的高速缓存存储器元件。在又一个实施例中,每个存储器子系统包括存储器芯片的堆栈,其包括至少一个DRAM芯片或至少一个高速缓存存储器芯片或其组合。而在其他实施例中,每个存储器子系统包括接口垫片(shim)芯片以及至少一个DRAM芯片、至少一个高速缓存存储器芯片、或者至少一个DRAM芯片和至少一个高速缓存存储器芯片。接口垫片芯片可以包括存储器控制器,所述存储器控制器配置为接收访问请求(命令),以及通过生成进一步的访问请求来处理访问请求,所述进一步的访问请求直接以耦连到垫片芯片的高速缓存存储器芯片或DRAM芯片为目标。在某些实施例中,每个存储器子系统配置为通过包括一个或多个数据信号的GRS收发器通信到至少一个FB芯片620。在这类实施例中,给定的存储器子系统可以直接耦连到至少一个FB芯片620,或者存储器子系统可以间接通过互连614或附加的互连进行耦连。
[0096] 在下文图6F示出的一个实施例中,给定的FB芯片620包括在芯片的垂直堆栈内,其包括相应的存储器子系统。在某些实施例中,FB芯片620 耦连到MCM封装190,并且组成存储器子系统的一个或多个存储器芯片耦连到FB芯片620形成芯片堆栈。
[0097] MCM600还可以包括系统功能芯片618,所述系统功能芯片618配置为实现由MCM600所要求但不实现在GPC芯片610、FB芯片620或互连614中的功能性。例如,系统功能芯片618可以结合GPC芯片610的操作实现电力管理功能、接口功能、系统控制功能以及看门狗功能或其任何组合。系统功能芯片618可以耦连到一个或多个GPC芯片610、一个或多个FB芯片620、互连614或其任何技术上可行的组合。在一个实施例中,系统功能芯片618实现主机接口。与主机接口相关联的信号可以通过到外部引脚的MCM封装190而路由到主机系统,所述外部引脚诸如耦连到MCM封装190的外部焊料球。在某些实施例中,系统功能芯片618还实现一个或多个显示控制器,所述显示控制器配置为向显示设备诸如LCD面板提供光栅刷新。视频信号可以通过到外部引脚的MCM封装190而路由到相应的显示设备。
[0098] 图6B示出根据一个实施例的、实现为MCM600的经直接连接的多芯片图形处理单元。如所示,互连614配置为将每个GPC芯片610直接连接到每个FB芯片620。在图6B示出的经直接连接的拓扑中,图6A示出的每个互连链路612包括组织为信道的直接连接链路,其中一个信道将一个GPC芯片610连接到一个FB芯片620。在一个实施例中,与互连链路612相关联的给定的链路包括GRS收发器对。GRS收发器对的第一GRS收发器包括在GPC芯片610中,GRS收发器对的第二GRS收发器包括在FB芯片620中。制造在MCM封装190内的相关联的电气线路将第一GRS收发器耦连到第二GRS收发器以完成链路。在一个实施例中,系统功能芯片618通过相应的互连链路616耦连到一个或多个GPC芯片610。互连链路616可以包括单端信号、差分信号或其任何技术上可行的组合。在一个实施例中,互连链路616包括GRS信号。在这类实施例中,至少一个GRS收发器制造在系统功能芯片618内并且耦连到互连链路616。第二GRS收发器可以制造在GPC芯片610或耦连到互连链路616的任何其他设备内。
[0099] 在一个实施例中,每个FB芯片620通过相关联的存储器链路624耦连到相应的存储器子系统(未示出)。在某些实施例中,每个存储器链路624包括GRS收发器对。GRS收发器对的第一GRS收发器包括在FB芯片620 中,GRS收发器对的第二GRS收发器包括在组成相应存储器子系统的芯片中。制造在MCM封装190内的相关联的电气线路将第一GRS收发器耦连到第二GRS收发器以完成链路。如先前所描述的,存储器子系统可以包括至少一个存储器芯片诸如DRAM或高速缓存存储器芯片。该至少一个存储器芯片可以组装到堆栈中。
[0100] 在下文图6F示出的一个实施例中,给定的FB芯片620包括在芯片的垂直堆栈中,其包括相应的存储器子系统。在某些实施例中,FB芯片620耦连到MCM封装190,并且组成存储器子系统的一个或多个存储器芯片耦连到FB芯片620形成芯片堆栈。
[0101] 在一个实施例中,每个FB芯片620配置为在相应的存储器链路624之上传送存储器访问协议,所述存储器访问协议指定但不限于配置为包括访问地址的存储器读请求以及配置为包括访问地址和写数据的存储器写请求。在一个实施例中,每个存储器链路624实现结合图6A所描述的存储器访问协议。在某些实施例中,互连链路612、622、616可以每个包括两个设备之间的主要通信接口。在一个实施例中,主要通信接口定义为配置为在制作在相同设备内的一个或多个接口当中提供带宽的最高量度的一个接口,诸如一组一个或多个GRS收发器。在另一个实施例中,主要通信接口定义为配置为传达存储器访问请求和相关联的数据的接口。在又一个实施例中,主要通信接口定义为配置为在两个设备之间传达数据的接口,所述数据诸如着色器程序数据或应用数据。在优选实施例中,每个主要通信接口实现单端信令体制。
[0102] 图6C示出根据一个实施例的、实现为MCM600的经集线器连接的多芯片图形处理单元。如所示,与图6A相比较,互连614以耦连到每个GPC芯片610和每个FB芯片620的集线器芯片640所替换。在图6C示出的经集线器连接的拓扑中,每个互连链路612表示GPC芯片610和集线器芯片640之间的连接。类似地,每个互连链路622表示FB芯片620和集线器芯片640之间的连接。在一个实施例中,给定的互连链路612包括GRS收发器对。GRS收发器对的第一GRS收发器包括在GPC芯片610中,第二相应GRS收发器包括在集线器芯片640中。制造在MCM封装190内的相关联的电气线路将第一GRS收发器耦连到第二GRS收发器以完成链路。在一个实施例中,系统功能芯片618通过互连链路616耦连到集线器芯片 640。
[0103] 在一个实施例中,每个FB芯片620通过相应的存储器链路624耦连到存储器子系统(未示出)。在一个实施例中,每个存储器链路624包括GRS收发器对。GRS收发器对的第一GRS收发器包括在FB芯片620中,GRS收发器对的第二GRS收发器包括在组成相应的存储器子系统的芯片中。制造在MCM封装内的相关联的电气线路将第一GRS收发器耦连到第二GRS收发器以完成链路。如先前所描述的,存储器子系统可以包括至少一个存储器芯片诸如DRAM或高速缓存存储器芯片。该至少一个存储器芯片可以组装到堆栈中。
[0104] 集线器芯片640可以实现到互连链路612、622的任何技术上可行的内部通信拓扑,诸如交叉开关、环形、蝴蝶形、平面化蝴蝶形、Clos或一般网状网络。可以实现任何技术上可行的接纳控制和仲裁机制用于管理和仲裁入口(ingress)到出口(egress)流量。尽管MCM600在图6C中示出为包括四个GPC芯片610(0)-610(3)以及四个FB芯片620(0)-620(3),但是任何数目的GPC芯片和任何数目的FB芯片可以包括在MCM600内并且耦连到集线器芯片640。类似地,任何数目的存储器子系统可以包括在MCM600内。
[0105] 图6D示出根据一个实施例的、实现为MCM600的经网络连接的多芯片图形处理单元。如所示,互连614包括两个路由器芯片650,所述路由器芯片650彼此耦连并且耦连到相关联的GPC芯片610以及耦连到相关联的FB芯片620。在图6D示出的经网络连接的拓扑中,每个互连链路612、622表示到相应的路由器芯片650的连接。在一个实施例中,给定的互连链路612包括GRS收发器对。GRS收发器对的第一GRS收发器包括在GPC芯片610中,第二相应GRS收发器包括在相应的路由器芯片650中。制造在MCM封装190内的相关联的电气线路将第一GRS收发器耦连到第二GRS收发器以完成链路。在一个实施例中,系统功能芯片618通过互连链路616耦连到一个或多个路由器芯片650。
[0106] 在一个实施例中,每个FB芯片620通过存储器链路624耦连到存储器子系统(未示出)。在一个实施例中,每个存储器链路624包括GRS收发器对。GRS收发器对的第一GRS收发器包括在FB芯片620中,GRS收发器对的第二GRS收发器包括在组成相应的存储器子系统的芯片中。制 造在MCM封装190内的相关联的电气线路将第一GRS收发器耦连到第二GRS收发器以完成链路。如先前所描述的,存储器子系统可以包括至少一个存储器芯片诸如DRAM或高速缓存存储器芯片。该至少一个存储器芯片可以组装到堆栈中。
[0107] 在正常操作期间,路由器芯片650(0)可以从源设备接收数据包用于递送到目的设备。源设备和目的设备可以每个分开地包括GPC芯片610、FB芯片620、系统功能芯片618或任何其他技术上可行的目的设备。数据包可以包括读请求、写请求、对先前请求的确认、数据消息、命令或任何其他技术上可行的信息单位。路由器芯片650(0)配置为将数据包沿转发路径转发到目的设备。转发路径可以包括但不限于互连链路612、互连链路622、路由器间链路652或其任何技术上可行的组合。如果源设备和目的设备二者都直接耦连到路由器芯片650(0),那么路由器芯片650(0)可以将数据包从源设备直接转发到目的设备。如果目的设备作为替代直接耦连到路由器芯片650(1),那么路由器芯片650(0)通过路由器间链路652将数据包转发到路由器芯片650(1),所述路由器芯片650(1)然后将数据包转发到目的设备。在一个实施例中,路由器间链路652包括GRS收发器对。GRS收发器对的第一GRS收发器包括在路由器芯片650(0)中,GRS收发器对的第二GRS收发器包括在路由器芯片650(1)中。制造在MCM封装190内的相关联的电气线路将第一GRS收发器耦连到第二GRS收发器以完成链路。
[0108] 如所示,MCM600包括配置为形成二节点多跳网络的两个路由器芯片650(0)、650(1)。然而,MCM600可以包括任意数目的路由器芯片650,其通过GRS收发器的相应集合进行互连以形成任意多跳网络拓扑诸如网状、圆环(torus)、蝴蝶形、平面化蝴蝶形或Clos而不脱离本发明的实施例的范围和精神。
[0109] 源设备内的GRS收发器包括GRS传送器,所述GRS传送器配置为传送组成数据包的序列化数据,直到数据包被全部传送到准备转发数据包的互连芯片内或目的设备内的GRS接收器。GRS传送器可通过实现相应数目的GRS数据驱动器和恰当的计时电路来实现两个或更多个多路复用等级。GRS传送器可配置为实施方法560以生成组成序列化数据的各个位用于传送。图1A-5B示出的示例性GRS传送器实现2比1多路复用;然而, 本领域技术人员将理解的是,可以类似地实现任意等级的多路复用而不脱离本发明的实施例的范围和精神。目的设备可以对序列化位进行解序列化以构建访问请求。如果目的设备配置为用作桥或集线器,那么访问请求可以转发到目的设备用于处理。在某些实施例中,实施图5C的方法560来生成在一个或多个互连链路612、622、一个或多个路由器间链路652或其任何组合之上所传送的GRS信号。
[0110] 在一个实施例中,互连链路612、622和路由器间链路652包括MCM封装190内的电气线路。在某些实施例中,存储器链路624还包括MCM封装190内的电气线路。每个电气线路可包括附着到介电衬底诸如MCM封装190的有机衬底层的导电元件。每个电气线路可配置为展示受控的电阻抗。在一个实施例中,MCM封装190包括有机衬底、硅衬底或陶瓷衬底。
[0111] 在一个实施例中,数据包由源设备所生成用于传送到目的设备用于处理。某些数据包包括请求字段的集合,包括但不限于可以唯一地标识目的设备以及目的设备内的特定地址的地址字段。访问请求在GRS互连之上被传送到目的设备。
[0112] 在一个实施例中,非暂时性计算机可读介质配置为表示MCM封装190的详细设计,包括所有电气连接。这类电气连接包括设计为支持接地参考单端信号的电气线路,包括但不限于互连链路612、622、存储器链路624以及路由器间链路652。每个GRS互连可以包括连通性的抽象表示,诸如网表内所表示的连通性。各个线路可以表示为网表文件内的代码。本领域技术人员将理解的是,许多网表格式是可用的,并且配置为表示封装上系统600的任何技术上可行的非暂时性计算机可读介质均在本发明的范围和精神内。
[0113] 图6E示出根据一个实施例的、实现为MCM600的、具有附接帧缓冲区的存储器的经网络连接的多芯片图形处理单元。如所示,存储器子系统630通过相应的存储器链路624直接耦连到图6D的每个FB芯片620。每个存储器子系统630可以包括但不限于一个或多个DRAM芯片、一个或多个高速缓存存储器芯片、垫片接口芯片或其任何技术上可行的组合。
[0114] 在下文图6F示出的一个实施例中,给定的FB芯片620包括在芯片的垂直堆栈内,其包括相应的存储器子系统。在某些实施例中,FB芯片620 耦连到MCM封装190,并且组成存储器子系统的一个或多个存储器芯片耦连到FB芯片620形成芯片堆栈。
[0115] 图6F描绘根据一个实施例的、配置为实现包括FB芯片620和存储器子系统630的芯片堆栈670的MCM600的横截面。如所示,芯片堆栈670包括FB芯片620和存储器子系统630,FB芯片620诸如图6A、6B、6C、6D或6E的FB芯片620(0),存储器子系统630诸如图6E的存储器子系统630(0)。FB芯片620通过制作在MCM封装190内的互连链路622耦连到客户端芯片672。FB芯片620还通过芯片堆栈370内的存储器链路624耦连到组成存储器子系统630的一个或多个存储器芯片。
[0116] 在一个实施例中,客户端芯片672包括GPC芯片610,如图6B所示出的。在另一个实施例中,客户端芯片672包括图6C的集线器芯片640。在又一个实施例中,客户端芯片672包括图6D或6E的路由器芯片650。
[0117] 耦连到MCM封装190的一组焊料球660配置为将信号集耦连到主机系统(未示出)。信号集可以包括但不限于主机接口总线和一个或多个视频总线。焊料球还可以将与MCM600相关联的电力和接地网络耦连到由主机系统所提供的相应的电力和接地网络。
[0118] 在图6B示出的经直接连接的拓扑的一个实施例中,每个GPC芯片610被制造以在互连链路612内包括至少一个附加的信道,并且每个FB芯片620被制造以在互连链路622内包括至少一个附加的信道。在该实施例中,每个附加的信道大致是功能性的,但保持未连接到另一个设备。例如,图6B的GPC芯片610(0)-610(3)可制造为在互连链路612内包括五个信道;然而,五个信道中的一个不通过互连614耦连到相应的FB芯片620。在经直接连接的拓扑的第二实施例中,第五GPC芯片610与第五FB芯片620一起被有利地添加到MCM600。在这里,互连链路612内的附加的信道通过互连614耦连到互连622内的附加的信道。
[0119] 在某些实施例中,MCM600被设计以容纳与互连链路612内的信道数目相应的最大数目的GPC芯片610以及相应数目的FB芯片620,其配置为在互连链路622内包括相同数目的信道。在一个配置中,MCM600包括小于GPC芯片610的最大数目的某个数目的GPC芯片610和相应的FB芯片620。在不同的配置中,MCM600包括最大数目的GPC芯片610和相应的FB芯片620。以这种方式,总GPU性能可通过使较多或较少GPC 芯片610和FB芯片620占据在MCM600内来缩放。因为指定MCM600内的哪些覆盖面积(footprint)应以部件进行占据表现出比重新设计典型GPU芯片显著更少的工程工作量,所以缩放GPU性能的该方法产生超过现有技术的显著开发效率。在其他实施例中,MCM600基于现行的(prevailing)GPU要求可设计为容纳特定数目的GPC芯片610和FB芯片620。在这类实施例中,因为设计MCM封装表现出比设计不同配置的GPU显著更少的工程工作量,所以可以达到显著开发效率。
[0120] 在另一个实施例中,图6C的集线器芯片640被制造以包括最大数目的互连链路612和互连链路622。每个互连链路612可以耦连到GPC芯片610,而每个互连链路622可以耦连到FB芯片620。在这类实施例中,来自集线器芯片640的可用的互连链路612、622的数目确定最大数目的GPC芯片610和FB芯片620。在MCM600的一个配置中,小于最大数目的GPC芯片610与相应的FB芯片620一起包括在MCM600中。在第二配置中,最大数目的GPC芯片610和相应的FB芯片620包括在MCM600中。在这类实施例中,因为配置设计MCM封装表现出比设计GPU的不同配置显著更少的工程工作量,所以可以达到显著开发效率。
[0121] 在又一个实施例中,图6D的路由器芯片650制造为包括最大数目的互连链路612和互连链路622。每个互连链路612可以耦连到GPC芯片610,而每个互连链路622可以耦连到FB芯片620。在这类实施例中,MCM600内来自路由器芯片650的联合可用的互连链路612、622的数目确定最大数目的GPC芯片610和FB芯片620。在MCM600的一个配置中,小于最大数目的GPC芯片610与相应的FB芯片620一起包括在MCM600中。在第二配置中,最大数目的GPC芯片610和相应的FB芯片620包括在MCM600中。在这类实施例中,因为配置设计MCM封装表现出比设计GPU的不同配置显著更少的工程工作量,所以可以达到显著开发效率。
[0122] 在一个实施例中,MCM600配置为包括通用中央处理单元(CPU)。GPU可以耦连到互连614、一个或多个GPC芯片610、一个或多个FB芯片620、系统功能芯片618或其任何技术上可行的组合。
[0123] 图6G示出根据一个实施例的、配置为在MCM600内包括处理芯片675和系统功能芯片618的多芯片图形处理单元。如所示,MCM600配置为包括处理芯片675以及系统功能芯片618。处理芯片675包括GPC电路 611、FB电路621以及互连614。每个GPC电路611配置为实现图6A的GPC芯片610的处理功能性。每个FB电路621配置为实现FB芯片620的处理和接口功能性。系统功能芯片618耦连到处理芯片675。GPC电路611可通过互连链路612耦连到互连614,并且FB电路621可通过互连链路622耦连到互连614。在一个实施例中,与互连链路612和互连链路622相关联的电气线路制造在MCM600内。在一个实施例中,系统功能芯片618通过互连链路616耦连到处理芯片675。在某些实施例中,系统功能芯片618使用与处理芯片675不同的制作技术来制作。
[0124] 在一个实施例中,处理芯片675还包括一个或多个CPU核心(未示出)。一个或多个CPU核心可以耦连到互连614,并且配置为执行驻留在任何技术上可行的存储器系统内的编程指令,所述存储器系统诸如与主机相关联的系统存储器或者一个或多个存储器子系统。在可替代实施例中,MCM600包括耦连到处理芯片675的一个或多个CPU芯片(未示出)。
[0125] 图6H示出根据一个实施例的、配置为在MCM600内容纳附加的处理芯片的多芯片图形处理单元。如所示,MCM600配置为包括处理芯片677以及系统功能芯片618。MCM600还可以包括一个或多个附加的处理芯片,诸如GPC芯片610(0)和FB芯片620(0)。处理芯片677包括与图6G的处理芯片675相关联的功能和电路,以及添加了配置为将互连614连接到附加的处理芯片诸如GPC芯片610(0)或620(0)的一个或多个互连链路612、622。在一个实施例中,系统功能芯片618通过互连链路616耦连到处理芯片677。在某些实施例中,系统功能芯片618使用与处理芯片677不同的制作技术来制作。
[0126] 在一个实施例中,MCM600包括处理芯片677和系统功能芯片618。在另一个实施例中,MCM600包括处理芯片677、系统功能芯片618以及GPC芯片610(0)。在又一个实施例中,MCM600包括处理芯片677、系统功能芯片618、GPC芯片610(0)以及FB芯片620(0)。而在又一个实施例中,MCM600包括处理芯片677、系统功能芯片618以及FB芯片620(0)。在每个实施例中,MCM600还可以包括组成一个或多个存储器子系统的存储器芯片。
[0127] 图7示出在其中可实现各先前实施例的各架构和/或功能性的示例性系统700。如所示,提供了系统700,其包括至少一个连接到通信总线702 的中央处理器701。通信总线702可使用任何合适的协议来实现,诸如PCI(外围部件互连)、PCI-Express、AGP(加速图形端口)、超传输、或任何其他总线或点对点通信协议。系统700还包括主存储器704。控制逻辑(软件)和数据存储在可采取随机存取存储器(RAM)形式的主存储器704中。在一个实施例中,图形处理器706以及主存储器704的至少一部分包括图6A-6F的MCM600。
[0128] 系统700还包括输入设备712、图形处理器706以及显示器708,所述显示器708即常规CRT(阴极射线管)、LCD(液晶显示器)、LED(发光二极管)、等离子显示器等等。可从输入设备712例如键盘、鼠标、触摸板、扩音器等接收用户输入。在一个实施例中,图形处理器706可包括多个着色器模块、光栅化模块等。前述模块中的每一个实际上可布置于单个半导体平台上以形成图形处理单元(GPU)。
[0129] 在本描述中,单个半导体平台可以指单独一个的基于半导体的集成电路或芯片。应注意的是,术语单个半导体平台还可以指具有增强的连通性的多芯片模块,其仿真片上操作,并通过利用常规中央处理单元(CPU)和总线实现方案做出实质的改进。当然,各模块还可根据用户的期望分开地或以半导体平台的各种组合来布置。
[0130] 系统700还可包括二级存储710。二级存储710包括例如硬盘驱动器和/或表示软盘驱动器、磁带驱动器、压缩光盘驱动器、数字通用光盘(DVD)驱动器、记录设备、通用串行总线(USB)闪存的可移动存储驱动器。可移动存储驱动器以公知的方式从可移动存储单元读取和/或写入到可移动存储单元。计算机程序或计算机控制逻辑算法可存储在主存储器704和/或二级存储710中。这类计算机程序当被执行时使得系统700能够实施各种功能。主存储器704、存储710和/或任何其他存储是计算机可读介质的可能的示例。
[0131] 在一个实施例中,可在以下内容的上下文中实现各先前示图的架构和/或功能性:中央处理器701、图形处理器706、能够具有中央处理器701和图形处理器706二者的能力的至少一部分的集成电路(未示出)、芯片集(即设计为作为用于实施相关功能的单元来工作和出售的集成电路组等)和/或用于此的任何其他集成电路。
[0132] 还有就是,可在以下内容的上下文中实现各先前示图的架构和/或功能性:通用计算机系统、电路板系统、专用于娱乐目的的游戏机系统、特定于应用的系统和/或任何其他所期望的系统。例如,系统700可采取台式计算机、膝上型计算机、服务器、工作站、游戏机、嵌入式系统和/或任何其他类型的逻辑的形式。还有就是,系统700可采取各种其他设备的形式,包括但不限于个人数字助理(PDA)设备、移动电话设备、电视机等。
[0133] 进一步地,虽然未示出,但系统700可耦连到网络(例如电信网络、局域网(LAN)、无线网、诸如互联网的广域网(WAN)、对等网络、电缆网络等等)用于通信目的。
[0134] 在一个实施例中,总线702内的某些信号实现为GRS信号,如以上图1A-6F所描述的。
[0135] 虽然上文已描述了各实施例,但应理解的是它们通过仅示例而非限制的方式加以呈现。因此,优选实施例的宽度和范围不应被上文所述的示例性实施例中的任何一个所限制,而应仅根据下面的权利要求和其等同物来加以限定。本发明根据由DARPA所颁发的HR0011-10-9-0008号协议以及由DOE所颁发的LLNS转包B599861在政府的支持下做出。政府对本发明具有一定权利。