当前位置: 首页 > 专利查询>辉达公司专利>正文

基于寄存器的对纹理请求的排队制造技术

技术编号:2947169 阅读:210 留言:0更新日期:2012-04-11 18:40
一图形处理单元可对大量纹理请求进行排队以抵消纹理请求的可变性而无需使用一大的纹理请求缓冲器。一专用纹理请求缓冲器对相对小的纹理命令及参数进行排队。另外,对于每一排队的纹理命令而言,相关联的一组纹理自变量通常远远大于存储于一通用寄存器中的所述纹理命令。所述纹理单元从所述纹理请求缓冲器中检索纹理命令并随后从适当的通用寄存器中提取相关联的纹理自变量。所述纹理自变量可存储于被指定为由所述纹理单元所计算出的最终纹理值的目的地的通用寄存器中。由于在对纹理命令进行排队时必须为所述最终纹理值分配所述目的寄存器,因此将所述纹理自变量存储于此寄存器中并不耗用任何额外的寄存器。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机图形领域。
技术介绍
许多计算机图形图像是通过自给定视点对光与三维景物的相互作用进行数学建模而产生。此过程称作再现自所述给定视点产生所述景物的二维图像,且类似于拍摄一张现实景物照片。随着对计算机图形且特别是对实时计算机图形的需求的增加,具有适于使再现过程加速的图形处理子系统的计算机系统已变得很普遍。在这些计算机系统中,是在一计算机的通用中央处理器(CPU)与图形处理子系统之间划分再现过程。通常,CPU执行高级操作,例如确定一给定景物中物体的位置、运动及冲突。通过这些高级操作,CPU产生一组用于界定所期望再现的图像的再现命令及数据。例如,再现命令及数据可界定景物几何形状、照明度、着色、纹理、运动、及/或一景物的照相参数。图形处理子系统根据该组再现命令及数据产生一个或多个再现图像。典型的图形处理子系统包括一具有一个或多个执行单元及一个或多个纹理单元的图形处理单元。除其它任务外,,执行单元尤其负责处理几何形状及照明度信息。纹理单元通过从存储于存储器中的纹理映射图中检索纹素数据来实施对景物几何形状的纹理映射。将纹素数据与由执行单元所产生的像素数据相组合以确定所再现图像的像素的颜色值。为使性能达到最佳,执行单元及纹理单元通常要克服不同的障碍。执行单元通常具有一深的基本固定的处理管线,从而使典型执行单元的管线中断在性能方面的代价非常高昂。为了减少管线中断,常将再现应用程序划分成许多独立的执行线程,以使执行单元的利用率最大化。与此相反,纹理单元的主要性能瓶颈是因检索纹素数据而引起的存储器等待时间。此瓶颈因执行单元倾向于同时发出成批的纹理命令而不是随着时间分发纹理命令而加剧。因在多个执行单元上运行多个线程,纹理命令的不规则定时可使纹理单元的性能严重劣化。为了使纹理命令的猝发(bursts)变得平滑,可使用一缓冲器(例如一先进先出缓冲器(FIFO))来对发送至纹理单元的纹理命令进行排队。然而,纹理命令常常包括大量的相关联数据。例如,一典型的纹理命令及其关联数据可远远超过100位数据。一具有此宽度的FIFO会消耗一图形处理单元中的大量电路面积,从而减少可供用于其它器件的面积量。因此,需要一种有效地对纹理命令进行排队而不必使用大的FIFO的图形处理系统。进一步,需要在与多个执行单元一起使用时可有效地进行按比例缩放的纹理排队机构。
技术实现思路
本专利技术使一图形处理单元能够对大量纹理请求进行排队以抵消纹理请求的可变性而无需使用大的纹理请求缓冲器。在一实施例中,一专用纹理请求缓冲器对相对小的纹理命令及参数进行排队。另外,对于每一排队的纹理命令,均在一通用寄存器中存储相关联的一组纹理自变量,所述纹理自变量通常远远大于所述纹理命令。所述纹理单元从所述纹理请求缓冲器中检索纹理命令并随后从适当的通用寄存器中提取所述相关联的纹理自变量。在另一实施例中,将所述纹理自变量存储于被指定作为所述纹理单元所计算出的最终纹理值的目的地的通用寄存器中。由于在对纹理命令进行排队时必须为所述最终纹理值分配目的寄存器,因此将所述纹理自变量存储于此寄存器中并不耗用任何额外的寄存器。在一实施例中,一图形处理子系统包括一执行单元,所述执行单元包含一纹理请求缓冲器及一寄存器队列。所述寄存器队列包括复数个通用寄存器。所述执行单元适于向所述纹理请求缓冲器发出一纹理命令并将一纹理自变量存储于所述寄存器队列中。一纹理单元适于从所述纹理请求缓冲器中读取所述纹理命令并从所述寄存器队列中检索所述纹理自变量。所述纹理单元进一步适于响应于所述纹理命令而检索一纹理映射图的一部分。所述纹理单元根据所述纹理映射图的所述部分计算出一最终纹理值并将所述最终纹理值存储于所述寄存器队列的一目的寄存器中。在另一实施例中,所述执行单元适于将所述纹理自变量存储于所述复数个寄存器中的所述目的寄存器中,以使所述纹理单元适于在存储所述最终纹理值时覆盖所述纹理自变量。在一替代实施例中,所述执行单元将所述纹理自变量存储于一与所述目的寄存器相分离的源寄存器中。在另一实施例中,所述纹理命令包括一纹理参数。所述纹理命令也可指定一纹理映射类型及/或一纹理映射图。在再一实施例中,所述纹理单元根据所述纹理参数确定存储所述纹理自变量的源寄存器。所述纹理参数还指定所述复数个寄存器的所述目的寄存器也为所述复数个寄存器的所述源寄存器。在再一实施例中,所述执行单元进一步适于响应于发出一纹理命令而锁定所述目的寄存器以防止改动所述纹理自变量。所述执行单元适于响应于所述纹理单元将所述最终纹理值存储于所述目的寄存器中而将所述目的寄存器解锁。在另一实施例中,一第二执行单元包括一第二纹理请求缓冲器及一第二寄存器队列。所述第二寄存器队列包括复数个通用寄存器。所述第二执行单元适于向所述第二纹理请求缓冲器发出一第二纹理命令并将一第二纹理自变量存储于所述第二寄存器队列中。所述纹理单元进一步适于从所述第二纹理请求缓冲器中读取所述第二纹理命令、从所述第二寄存器队列中检索所述第二纹理自变量、响应于所述第二纹理命令而从所述纹理存储器中检索一第二纹理映射图的一部分、根据所述纹理映射图的所述部分计算出一第二最终纹理值、并将所述第二最终纹理值存储于所述第二寄存器队列中所述复数个寄存器的一目的寄存器中。附图说明下文将参照图式来阐述本专利技术,在图式中图1图解说明一适于实施本专利技术一实施例的计算机系统;图2图解说明一根据本专利技术一实施例的图形处理单元的一纹理排队机构;图3图解说明一根据本专利技术一实施例具有多个执行单元的图形处理单元的一纹理排队机构;及图4图解说明一根据本专利技术一实施例的图形处理单元的一加载及存储命令排队机构。具体实施例方式图1为一计算机系统100(例如个人计算机、视频游戏控制台、个人数字助理、移动电话或适于实施本专利技术一实施例的其它数字装置)的一方块图。计算机系统100包括一用于运行软件应用程序及视需要一操作系统的中央处理器(CPU)105。在一实施例中,CPU105实际上为数个并行操作的独立的中央处理器。存储器110存储供CPU105使用的应用程序及数据。存储器115为应用程序及数据提供非易失性存储并可包括固定式磁盘驱动器、可抽换式磁盘驱动器、闪存存储器或其它固态装置、及CD-ROM、DVD-ROM、或其它光学存储装置。用户输入装置120将来自一个或多个用户的用户输入传送至计算机系统100并可包括键盘、鼠标、操纵杆、触摸屏、及/或麦克风。网络接口125使计算机系统100能够通过一电子通信网络与其它计算机系统进行通信,并可包括通过局域网及广域网(例如因特网)进行的有线或无线通信。计算机系统100的组件—包括CPU105、存储器110、数据存储装置105、用户输入装置120及网络接口125—经由一个或多个数据总线160相连接。数据总线的实例包括ISA、PCI、AGP、PCI、PCI-X(也称作3GIO)及HyperTransport数据总线。一图形子系统130进一步与数据总线160及计算机系统100的组件连接。图形子系统130包括一图形处理单元(GPU)135及图形存储器。所述图形存储器包括一用于存储一输出图像中每一像素的像素数据的显示存储器140(例如一帧缓冲器)。像素数据可直接自CPU105提供至显示存储器140。或者,CPU105为GPU本文档来自技高网
...

【技术保护点】
一种将一像素纹理化的方法,所述方法包括:    将一纹理自变量存储于一寄存器队列中的一通用寄存器中;    向一纹理请求缓冲器发出一纹理命令,其中所述纹理命令与所述纹理自变量相关联;    自所述纹理请求缓冲器接收所述纹理命令;    从所述通用寄存器中检索所述纹理自变量;    执行所述纹理命令以产生一最终纹理值;及    将所述最终纹理值存储于所述寄存器队列中。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:约翰埃里克林霍尔姆约翰R尼克科尔斯西蒙S莫伊布雷特W库恩
申请(专利权)人:辉达公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1