本发明专利技术涉及具有多线程执行单元的绘图处理装置及其存储器存取方法。于本发明专利技术的实施例中,绘图处理单元包括用以处理可编程着色器的操作的执行单元,此执行单元可用以处理多个管线的操作。绘图处理单元还包括可形成暂存器文件的存储器,此暂存器文件可用以调节执行单元中所有管线的暂存器操作。此存储器可规划为多个存储库,其中多个第一存储库配置给多个第一线程,而多个第二存储库配置给其他线程。此外绘图处理单元还包括地址转译单元,用以将逻辑暂存器识别符转换为物理暂存器地址。
【技术实现步骤摘要】
本专利技术涉及。本专利技术利用共同暂存器文件来调节执行单元所执行的所有线程的暂存器操作,此共同暂存器文件规划为多个存储库,一部分的存储库对应至偶数线程,另一部分的存储库对应至奇数线程。当线程产生暂存器要求时,对应的逻辑暂存器识别符被转译为物理存储器位置,使线程可存取对应的存储库。
技术介绍
众所皆知,三维计算机绘图技术着重于将三维(3D)物体以二维(2D)影像的方式呈现出来,并显示于诸如阴极线真空管(CRT)屏幕或液晶屏幕(LCD)之类的显示装置上。此三维物体可以是简单的几何基元(primitive),例如点、线段、三角形或是多边形 (polygon)。较为复杂的物体则是以一系列相连的平面多边形的方式呈现在显示装置上,例如一连串的平面三角形。所有的图形基元都可以单一顶点或一组顶点的方式来表示,例如以座标(X,Y,Z)来定义一个点,或是线段的某一端点,或是多边形的某一个顶点。为了产生用来代表三维物体的二维投影数据使物体可呈现在显示装置上,图形基元的顶点需要经过一连串的操作,以及绘图显像管线的多个阶段来处理。一般的管线是由一连串相连的处理单元或阶段所组成,上一阶段的输出可做为下一阶段的输入。对于绘图处理单元而言,管线阶段包括以下逐一顶点操作,基元合成操作,像素操作,像素合成操作,光栅扫描(rasterization)操作以及碎型(fragment)操作等等。在典型的绘图显示系统中,可利用影像数据库来储存场景中物体的叙述符。物体可以多个小多边形来表示,这些小多边形是涵盖物体表面的多边形,如同墙面上的磁砖。每一个多边形又可以顶点座标清单以及表面材质特性来表示,甚或再包括每一顶点相对于表面的法线向量。顶点座标清单可以是模型空间的XYZ座标,表面材质特性可包括颜色,纹理或亮度等。对于具有复杂曲面的三维物体,通常是以三角形或四边形来表示,而四边形又可拆解为一对三角形。当使用者决定了观看的角度,转换引擎单元便将物体座标转换至相对于观赏角度。此外,使用者可以指定视野范围,所产生的影像的大小,以及可见物体的后方是否包含某一背景或是将背景删除。当视野区域选定之后,裁剪单元将位于视野区域之外的多边形剔除,并且将部份位于视野区域之外部份位于视野区域之内的多边形加以裁剪。裁减后的多边形对应至原多边形位于视野区域之内的部份,其裁减后的边缘对应至视野区域的边界。接着多边形的顶点会传递到下一个管线阶段,包含每一顶点在视野区域的座标(XY)以及其相对的深度值 (Z)。之后一般的绘图处理系统会进行光源模型处理,再将多边形以及其颜色值传递至光栅扫描器。对每一个多边形而言,光栅扫描器会判断哪些像素位在此多边形,并将其对应的颜色值和深度值写入帧缓冲器(frame buffer)。光栅扫描器会比较目前处理的多边形其像素的深度值与原先储存在帧缓冲器相对应位置的像素的深度值,如果多边形像素的深度值较小,表示其位于帧缓冲器所储存的像素的前方,则以多边形像素的深度值取代原帧缓冲器的深度值,因为目前处理的多边形会遮蔽原先储存于帧缓冲器内的多边形。上述步骤会持续重复直到所有的多边形都已显像处理过。之后,影像控制器会将帧缓冲器的内容以逐一扫描线的方式呈现在显示装置上。在了解过上述相关
技术介绍
后,请参见图1所绘示的计算机系统的绘图管线的部份元件的功能方块图,此实施例仅为说明之便,绘图管线的元件可因系统差异有所变化,并以其他方式表示。图1的主控计算机10可通过命令串流处理器(command stream processor) 12产生命令清单,主控计算机10可以是计算机系统所执行的绘图应用程序界面。命令清单包含一系列的绘图命令以及将一环境显像在显示装置所需的数据。绘图管线中的元件可以对命令清单中的命令和数据执行操作,以绘制影像至显示装置上。为达到上述目的,解析器(parser) 14从命令串流处理器12接收命令,并通过数据解析来转译命令,以及将定义绘图基元的数据沿着绘图管线传递。绘图基元可藉由位置数据来定义,例如XYZ和W座标,还有亮度和纹理数据。解析器14会从命令串流处理器12接收每一个基元的所有信息,并且传递至顶点着色器(vertex shader)160顶点着色器16可以对从命令清单所接收的绘图数据作各种转换,例如从世界座标转换至视野座标,再到投影座标,最后是屏幕座标。顶点着色器16可执行的各项功能为本领域的技术人员已知,在此不加以叙述。经过上述处理后,绘图数据传递至光栅扫描器18,其操作亦如上已述。接续对图形基元的每一个像素作深度测试,如上所述,深度测试是将目前基元的像素的深度值与对应的像素位置所储存的深度值做比较,所储存的深度值是先前绘制的基元的像素位置的深度值。如果目前基元的深度值比所储存的深度值更为接近观看者,则以目前基元的深度值取代所储存的深度值,而目前基元的颜色信息也会取代帧缓冲器中对应位置先前所储存的颜色信息(于像素着色器(pixel shader)22执行)。如果目前基元的深度值没有比所储存的深度值更接近观看者,则所储存的深度值与帧缓冲器都不会被更新取代,因为先前绘制的基元是位在目前基元的前面。对于被判定为较先前绘制的基元更接近观看者的目前基元,其相关信息都会传送至像素着色器22,以决定其颜色信息。为了达到最佳化绘图管线的效能的目的,必须取得与管线耗能相关的信息。绘图数据的数量与复杂度可反映出管线的耗能、延迟以及瓶颈,进而影响效能。因此,确认管线与数据流程的问题来源有助于增进管线效能
技术实现思路
本专利技术是关于在绘图处理单元中执行暂存器存取与操作的方法和系统。本专利技术实施例提供一个绘图处理单元,其包含执行单元、存储器单元与地址转译单元。执行单元用以执行可编程的着色器操作,以实现多个管线的操作处理。存储器单元用以形成暂存器文件来调节执行单元所执行的所有线程的暂存器操作。存储器单元包含多个存储库,其中多个第一存储库是分配给多个第一线程,多个第二存储库是分配给多个第二线程。地址转译单元用以将逻辑暂存器识别符转译为物理存储器地址。本专利技术另一实施例提供另一绘图处理单元,其包含执行单元、存储器单元与线程控制器。执行单元用以执行可编程的着色器操作,以实现多个管线的操作处理。存储器单元用以形成暂存器文件来调节执行单元所执行的所有线程的暂存器操作。存储器单元包含多个存储库,其中多个第一存储库配置给多个第一线程,多个第二存储库配置给多个第二线程。线程控制器用以管理线程对暂存器的存取,以减少延迟。本专利技术的又一实施例提供一种多线程的执行单元的操作方法, 此操作方法包含以下步骤首先接收对应于一逻辑暂存器存取的逻辑暂存器要求,以实现指定线程的处理操作。接着产生一逻辑暂存器识别符,此逻辑暂存器识别符是根据该逻辑暂存器与指定线程的识别符的相关信息而产生。根据逻辑暂存器要求将逻辑暂存器识别符转译为物理存储器地址,再根据物理存储器地址存取存储器单元的一物理地址,以实现对应于逻辑暂存器识别符的暂存器相关的处理操作,该指定线程可通过逻辑暂存器识别符来存取存储器单元的物理地址。附图说明图1为现有技术的计算机系统的绘图管线的部份元件的功能方块图。图2为本专利技术一实施例的绘图处理管线的部分元件方块图。图3为本专利技术一实施例的绘图处理器的方块图。图4为本专利技术一实施例的计算核心单元的内部方块本文档来自技高网...
【技术保护点】
1.一种具有多线程执行单元的绘图处理装置,包含:一执行单元,用以执行可编程着色器操作,该执行单元可执行多个线程的处理操作;一存储器单元,用以形成一暂存器文件来调节该多个线程的暂存器操作,该存储器单元包含多个存储库,其中多个第一存储库分配给多个第一线程,多个第二存储库分配给多个第二线程;一线程控制器,用以对应于该多个线程所发出的一逻辑暂存器要求,配置和释放该存储器单元的该多个存储库;以及一地址转译单元,用以将对应于该逻辑暂存器要求的一逻辑暂存器识别符转译为该存储器单元的一物理存储器地址;其中该逻辑暂存器识别符包含一线程识别符和一暂存器索引,该线程识别符用以识别该执行单元内的一线程,该暂存器索引用以识别该存储器单元的一存储库。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:焦阳,
申请(专利权)人:威盛电子股份有限公司,
类型:发明
国别省市:71
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。