用于图形存储器集线器的装置、系统和方法转让专利

申请号 : CN200610066357.5

文献号 : CN1983329B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 约瑟夫·戴维·格雷科乔纳·M·阿尔本巴里·A·瓦格纳安东尼·迈克尔·塔马西

申请人 : 辉达公司

摘要 :

一种存储器集线器允许一图形处理器访问随机存取存储器,例如动态随机存取存储器(DRAM)。在一个实施方案中,所述存储器集线器允许通过集合两个或两个以上存储器的存储来增加有效存储器带宽。在另一实施方案中,所述存储器集线器允许一图形处理器将存储器访问接口连接操作卸载到所述存储器集线器。

权利要求 :

1.一种用于一图形系统的存储器集线器,其包含:

一动态随机存取存储器接口,其操作以访问复数个不同类型的动态随机存取存储器,所述复数个不同类型的动态随机存取存储器每一个均要求不同的动态随机存取存储器协议;

一集线器接口,其用于经由输入/输出总线访问所述存储器集线器;和逻辑,其用于在所述集线器接口与所述动态随机存取存储器接口之间桥接信号并执行所述集线器接口与所述动态随机存取存储器接口之间的信号转换;

所述存储器集线器利用所述集线器接口访问两个或两个以上动态随机存取存储器来对一图形处理单元操作;

其中,所述集线器总线接口利用一分组化高速总线协议,且所述动态随机存取存储器输入/输出总线接口利用一非分组化协议,所述分组化高速总线协议具有比所述非分组化协议至少快两倍的传送率,从而使所述存储器集线器减少所述图形处理单元上的输入/输出插脚数。

2.根据权利要求1所述的存储器集线器,其中所述集线器接口支持一集线器总线,所述集线器总线具有一对应于两个或两个以上所述动态随机存取存储器输入/输出总线接口的带宽。

3.根据权利要求2所述的存储器集线器,其中所述集线器总线为一高速总线,其具有比所述动态随机存取存储器输入/输出总线接口大两倍的数据速率。

4.根据权利要求1所述的存储器集线器,其中所述至少一个动态随机存取存储器访问接口连接操作从所述图形处理单元卸载到所述存储器集线器。

5.根据权利要求4所述的存储器集线器,其中一动态随机存取存储器初始化序列被卸载到所述存储器集线器。

6.根据权利要求4所述的存储器集线器,其中一模式寄存器命令序列被卸载到所述存储器集线器。

7.根据权利要求4所述的存储器集线器,其中所述动态随机存取存储器接口支持在一时钟的上升沿和下降沿上将数据传输到动态随机存取存储器。

8.根据权利要求4所述的存储器集线器,其中所述动态随机存取存储器接口支持在一时钟的一下降沿上将一数据遮罩供应到动态随机存取存储器。

9.根据权利要求4所述的存储器集线器,其中用于存储并检索动态随机存取存储器单元内容的一动态随机存取存储器协议被卸载到所述存储器集线器。

10.根据权利要求9所述的存储器集线器,其中所述动态随机存取存储器协议包括从由一读取命令、一写入命令、一刷新命令、一排/行命令和一预充电命令组成的组中选择的至少一个协议。

11.根据权利要求1所述的存储器集线器,其中所述动态随机存取存储器接口支持来自由SDR SDRAM、DDR SDRAM、DDR2 SDRAM、GDDRSGRAM、GDDR2 SGRAM、GDDR3 SGRAM和GDDR4 SGRAM组成的组的至少一个动态随机存取存储器协议。

12.根据权利要求1所述的存储器集线器,其中所述存储器集线器进一步包含一光栅操作模块,以用于代表所述图形处理单元执行至少一个光栅操作。

13.一种图形处理系统,其包含:

一图形处理单元,所述图形处理单元包括:

一存储器控制器;和

一存储器集线器接口,其用于经由一输入/输出总线访问一存储器集线器,其中所述输入/输出总线为分组化高速总线; 所述图形处理单元操作以经由所述存储器集线器访问复数个动态随机存取存储器,每个动态随机存取存储器均利用非分组化输入/输出总线;

其中,所述分组化高速总线具有比所述非分组化输入/输出总线至少快两倍的传送率,从而使所述图形处理单元操作以利用所述存储器集线器集合两个或两个以上动态随机存取存储器,以用减少的插脚数增加存储器带宽。

14.根据权利要求14所述的图形处理系统,其中所述图形处理单元将动态随机存取存储器接口连接卸载到所述存储器集线器。

15.根据权利要求14所述的图形处理系统,其中所述图形处理单元将复数个动态随机存取存储器访问协议卸载到所述存储器集线器,以支持复数个不同类型的动态随机存取存储器。

16.根据权利要求14所述的图形处理系统,其中所述分组化高速总线为一外围组件互连高速版总线。

17.一种图形系统,其包含:

一图形处理单元,其包括一存储器控制器和一第一存储器集线器接口;和一存储器集线器,其包含:一动态随机存取存储器接口,其操作以利用至少一个动态随机存取存储器协议访问复数个动态随机存取存储器,每个动态随机存取存储器均利用非分组化输入/输出总线;

一第二存储器集线器接口;和

用于在所述第二集线器接口与所述动态随机存取存储器接口之间桥接信号的逻辑,并且其用来执行所述第二存储器集线器接口与所述动态随机存取存储器接口之间的信号转换;

所述图形处理单元经由一耦合所述第一存储器集线器接口与所述第二存储器集线器接口的输入/输出总线来通信地耦合到所述存储器集线器,其中所述输入/输出总线为分组化高速总线;

所述图形处理单元经由所述存储器集线器访问复数个动态随机存取存储器,并将至少一个动态随机存取存储器接口连接操作卸载到所 述存储器集线器;

其中,所述分组化高速总线具有比所述非分组化输入/输出总线至少快两倍的传送率,从而使所述图形处理单元操作以利用所述存储器集线器集合两个或两个以上动态随机存取存储器,以用减少的插脚数增加存储器带宽。

说明书 :

用于图形存储器集线器的装置、系统和方法

技术领域

[0001] 本发明通常涉及将存储器耦合到图形处理单元的技术。更确切地说,本发明针对于增加图形处理系统中的存储器带宽的技术。

背景技术

[0002] 图1说明常规图形处理系统100。为了说明的目的,省略某些常规组件。图形处理单元(GPU)110包括一存储器控制器112,其经由DRAM总线115耦合到动态随机存取存储器(DRAM)120。DRAM具有特定接口协议。因此,GPU 110要求DRAM存储器总线接口125与DRAM存储器兼容。
[0003] 图形处理系统100的一个缺点在于存储器带宽可能小于所需存储器带宽。总的存储器带宽与可同时由GPU 110利用的DRAM存储器120的数目成比例。可耦合到GPU 100的DRAM 110的数目受几个因素限制。一个因素在于GPU 100中的输入/输出(I/O)接口的总数目有限。举例来说,在球-栅阵列封装方案中,可制造每单位面积中存在有限数目的球以提供对存储器的访问。因此,就给定GPU芯片面积而言,可分配有限数目的球来为DRAM存储器服务。
[0004] 图形处理系统100的另一缺点在于要求GPU 110具有与不同版本的DRAM存储器兼容的DRAM接口125。双倍数据速率(DDR)存储器(例如)具有几个不同协议,例如DDR和DDR2。将GPU 110设计为与不同DRAM存储器协议兼容增加了GPU 110的成本和复杂性。
[0005] 图形处理系统100的另一缺点涉及潜在的专利许可使用费。很多存储器协议由标准设定团体设定。所述标准设定团体通常要求标准设定团体中的参与者许可所需要的必要专利以在合理且无歧视基础(RAND)上实践所述标准。此外,第三方可能也持有与实施所述标准的优选技术相关的专利。因此,设计一能够支持若干不同存储器协议的GPU110增加了GPU 110上的潜在专利许可使用费。
[0006] 考虑到上文所述的问题,开发了本发明的装置、系统和方法。

发明内容

[0007] 一图形系统包括一存储器集线器。所述存储器集线器由一图形处理单元用来访问多个存储器,例如DRAM存储器。存储器集线器执行存储器访问过程。本发明的存储器集线器的应用包括增加图形系统的存储器带宽;从图形处理单元卸载存储器访问过程;和提供适用功能性以使不同类型的存储器与图形处理单元兼容。
[0008] 本发明的一个实施例为存储器集线器。所述存储器集线器具有一动态随机存取存储器(DRAM)接口,可操作其以利用至少一个DRAM协议访问多个DRAM存储器。存储器集线器包括用于访问图形处理单元的集线器接口。包括用来桥接集线器接口与DRAM接口之间的信号并执行集线器接口与DRAM接口之间信号转换的逻辑。存储器集线器以利用集线器接口访问两个或两个以上DRAM的方式来为图形处理单元操作。

附图说明

[0009] 结合考虑以下的详细描述并连同附图,会更全面地了解本发明,在所述附图中:
[0010] 图1是直接耦合到随机存取存储器的现有技术图像处理单元的方框图;
[0011] 图2是根据本发明一个实施例的包括存储器集线器的图形系统的方框图;和[0012] 图3是根据本发明一个实施例的包括光栅操作模块的存储器集线器的方框图。
[0013] 相同的附图标记在附图的几个视图中始终指代相对应的部分。

具体实施方式

[0014] 图2说明根据本发明一个实施例的图形系统200。图形系统200包括中央处理单元(CPU)205、将CPU 205耦合到图像处理单元(GPU)220的接口210(例如,一个或一个以上桥接器和相关总线)、经由集线器总线240耦合到GPU 220的存储器集线器230、和经由存储器输入/输出(I/O)总线260耦合到存储器集线器230的随机存取存储器(RAM)250。
[0015] 存储器集线器230包括用于访问GPU 220的GPU连接部233和用于访问RAM存储器的RAM连接部239。集线器逻辑235执行RAM连接部239与GPU连接部233之间的信号桥接和任何必要的信号转换。
[0016] 预期存储器集线器230可用于多种不同的RAM存储器结构。然而动态随机存取存储器(DRAM)通常用于图形系统,因此在以下论述中,在示范性实施例中RAM存储器被描述为DRAM。在图形技术中熟知的是,存在可用于实施图形系统的存储器的若干不同DRAM协议。因此应了解,存储器集线器230可适用于支持一个或一个以上不同DRAM协议,包括尤其适用于图形系统的DRAM的各种变体。举例来说,DRAM存储器250可为单倍数据速率(SDR)同步动态随机存取存储器(SDRAM)或双倍数据速率(DDR)SDRAM,例如DDR和DDR2存储器。还可使用特别适用于图形系统的SDRAM的变体来实施DRAM存储器250,例如图形双倍数据速率(GDDR)型存储器。GDDR型存储器的实例包括GDDR、GDDR2、GDDR3和GDDR4。GDDR存储器可进一步为同步图形随机存取存储器(SGRAM)存储器(例如,GDDR SGRAM、GDDR2 SGRAM、GDDR3 SGRAM和GDDR4 SGRAM)。然而,应了解,本发明的存储器集线器230可适用于支持除上文所述的那些之外的DRAM标准和实施。
[0017] 根据实施方案的情况,存储器集线器230可用于提供几个不同的益处(单独或组合)。在一集合实施方案中,存储器集线器230用于集合两个或两个以上DRAM存储器250,以改进GPU 220上每个数目的I/O连接(例如球栅阵列封装中的物理插脚或球)的存储器带宽。存储器集线器230还可用于将DRAM存储器访问协议从GPU 220卸载到存储器集线器230。在适应实施方案中,在存储器集线器230中实施足够的DRAM接口连接,以使用存储器集线器230使GPU 220与不同类型的DRAM存储器250相兼容。
[0018] 在一个实施例中,存储器集线器总线240为高速总线,例如在数据分组中传送数据和存储器请求的总线(“分组化”总线)。举例来说,可使用低电压差动信号技术和接口逻辑来构建高速I/O总线,以支持分组协议将数据作为数据分组来传输和接收。在一个实施例中,GPU 220包括集线器接口227和集线器I/O模块229,且存储器集线器230包括集线器I/O模块231和集线器接口232。举例来说,集线器I/O模块231和229可包括硬件和用以支持I/O总线的相关I/O插脚,而集线器接口232和229包括接口连接逻辑以支持总线协议。然而,应了解,I/O硬件的功能性和接口逻辑的功能性均可组合到单个集线器接口227和232中。
[0019] 作为一个实例,可使用专有总线技术(例如高速差动总线)构建集线器总线240。或者,可使用高速总线标准,例如外设组件互连高速版(Peripheral Component InterconnectExpress)(PCI-E)总线标准规范。外设组件互连专业组(PCI-SIG)颁布了“PCI-E基本规范(PCI-E Base Specification)”,其内容以引用的方式并入本文中。使用高速集线器总线240的优势在于其允许减少插脚数。常规DRAM存储器250利用比较缓慢的非分组化I/O总线260。因此,通过使用比较小数目的专用于存储器访问的GPU I/O插脚或球(图2中未展示),可使用单个高速集线器总线240访问几个常规DRAM存储器250。
此允许针对给定数目的专用于存储器访问的GPU 220的I/O插脚/球增加总存储器带宽。
或者,换句话说,对于给定的存储器带宽,GPU 220上所需的球/插脚数目减少。GPU 220上的I/O插脚/球数的减少将与集线器总线240的总线速度对DRAM I/O总线260的总线速度的比率成比例。作为一说明性实例,如果集线器总线240提供比常规DRAM I/O总线快近似两倍(每插脚/球)的传送率,那么使用集线器总线240将使GPU 220上访问DRAM存储器所需的插脚数减少两倍。然而,预期存储器集线器230还可用于将具有宽(但每插脚较慢)集线器总线240的GPU 220耦合到快速差动存储器(未图示)。
[0020] GPU 220包括图形流水线222。图形流水线222的一个级(例如光栅操作(ROP)级224)要求从DRAM存储器250存取数据。GPU 220包括存储器控制器226,其代表图形客户(例如ROP级224)发出存储器读取和存储器写入请求。存储器控制器耦合到集线器接口228。集线器接口228利用集线器总线240向DRAM 250发送存储器读取/写入请求并接收返回的数据。
[0021] 存储器集线器230包括DRAM I/O模块238以支持经由I/O总线260与DRAM 250的输入/输出操作。如存储器技术中所熟知,每一类型的DRAM存储器通常具有其自己的特定信号协议和总线终端,例如SDRAM的低电压晶体管到晶体管逻辑(LVTTL)和DDR存储器的支持低电压差动信号(low voltage differential signaling)的残余连续终结逻辑(SSTL)。DRAM接口236支持DRAM存储器访问接口过程。可由DRAM接口236支持的示范性DRAM存储器访问接口过程包括:动态随机存取存储器(DRAM)初始化序列;模式寄存器命令序列;对在时钟的上升沿和下降沿上将数据传输到动态随机存取存储器的支持;对在时钟的下降沿上将数据遮罩提供到动态随机存取存储器的支持;和用于存储和检索DRAM单元内容(例如,读取命令、写入命令、刷新命令、排/行命令和预充电命令)的DRAM协议。更一般地说,DRAM存储器接口236可用于卸载存储器标准所要求的DRAM接口过程。所述存储器标准例如SDR SDRAM存储器、GDDRSGRAM存储器、DDR存储器(即,由联合工程设备工程委员会(JEDEC)创设的DDR和DDR2标准)所要求的那些标准,或其它前述DRAM标准中的任何一者。
[0022] 存储器集线器230还包括逻辑235以支持集线器接口232与DRAM接口236之间的信号桥接和任何必要的转换。此可包括(例如)逻辑以支持几个DRAM存储器的集合并执行所要的任何转换,以解决DRAM接口236的协议与集线器接口232的协议之间的差异。
[0023] 存储器集线器230优选设计为增加预选等待时间预算内的总存储器等待时间。举例来说,常规DRAM存储器通常可具有约20个时钟周期的等待时间。存储器集线器230可设计为将小数目的附加时钟周期的等待时间添加到常规DRAM存储器等待时间中。在执行图形数据的平行处理的GPU 220中,存储器等待时间中的较小增加通常不会显著降低总的性能。其原因部分地在于高性能的GPU 220可具有上百个或上千个平行处理线程,其划分所执行的工作以处理图形帧。结果,存储器等待时间中的较小增加不会显著减少整体平行GPU结构中的性能。相反,具有小数目的处理线程(例如,一个线程)的GPU 250的性能决定性地取决于较小等待时间以防止无处理被执行的空闲时钟周期。
[0024] 图3说明存储器集线器330的实施例,其中ROP级224包括在存储器集线器330中。将ROP级224放置在更接近于物理存储器可为等待时间敏感的ROP过程提供性能优势。此外,将ROP级224放置在更接近于物理存储器可能对非整体平行的GPU有用。因此,作为设计低等待时间存储器集线器的替代方案,ROP级224的部分或所有功能性可转移到存储器集线器330中。
[0025] 本发明的一个应用是增加图形处理器220的存储器带宽。存储器集线器230允许增加存储器的数目,所述存储器可通过使用固定数目的GPU I/O连接(例如球-栅-阵列封装中的GPU的球)耦合到GPU 220。本发明的另一应用是提供适应功能。存储器集线器230可设计为使GPU 220与几种不同类型的存储器兼容。本发明的另一应用是将一个或一个以上存储器访问协议卸载到存储器集线器230。存储器访问协议可从属于由标准设定组织设定的合理且无歧视(RAND)的许可规定。通过将存储器存取协议的功能性放置在存储器集线器230中,与存储器存取协议相关的许可总费用便在于相对低成本的存储器集线器
230,而不是高价的GPU 220。此外,可制造不同版本的存储器集线器230,以对于拟以不同类型的存储器制造的图形系统200而言最小化需要特定许可证的单元的数目。举例来说,一个版本的存储器集线器230可支持DDR2,另一个版本的存储器集线器230可支持GDDR SGRAM。存储器集线器230可(例如)设计为最小化必须购买的许可证的数目、最小化需要许可证的单元的数目或最小化从中计算许可证使用费的单元的价值。
[0026] 为了达到阐释的目的,前文的描述使用特定术语来提供对本发明的详尽理解。然而,所属领域的技术人员将明了,不需要特定细节以实践本发明。因此,本发明的特定实施例的前文描述是为了说明和描述的目的而呈现。不希望它们为无遗漏的或将本发明限制于所揭示的精确形式;显然,鉴于上文的教示,很多修改和改变成为可能。选择并描述所述实施例以最好地阐释本发明的原理和其实际应用,因此它们使所属领域中的其它技术人员能够最好地利用本发明和各种实施例,各种修改适合于所预期的特定使用。希望所附权利要求书和其等效物界定本发明范畴。