CN1132121C - 图形处理器和应用该处理器的数据处理系统 - Google Patents
图形处理器和应用该处理器的数据处理系统 Download PDFInfo
- Publication number
- CN1132121C CN1132121C CN95115915A CN95115915A CN1132121C CN 1132121 C CN1132121 C CN 1132121C CN 95115915 A CN95115915 A CN 95115915A CN 95115915 A CN95115915 A CN 95115915A CN 1132121 C CN1132121 C CN 1132121C
- Authority
- CN
- China
- Prior art keywords
- data
- bus
- frame buffer
- memory
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
- Memory System (AREA)
Abstract
一种图形处理器,它连接于系统总线,该系统总线将产生与图像处理有关的图形命令的处理器连接于一主存储器,该主存储器存有命令和原始图像数据,并根据所述处理器产生的所述图形命令在帧缓冲器中进行绘图,其中,所述图形处理器具有一数据总线转换单元,该转换单元将所述系统总线连接到连接于保存所述图形命令和所述原始图像数据的图形数据存储器的第一数据总线,或将所述第一数据总线连接到保存要显示数据的帧缓冲器。
Description
技术领域
本发明涉及如个人计算机、工作站、传真机、打印机和图形装置等领域中处理分配给存储器的图像、文本和图形数据的图像数据处理系统,尤其涉及与时钟同步高速访问存储器的高速图像数据处理系统。
背景技术
迄今,已知的图形系统连接于一处理器总线,其中,图像数据按照处理器的指令绘图在帧缓冲器上并显示在CRT上。
如“像素”(NO.129,第26-34页中)杂志中揭示的一种用于图形站需高速运行的传统的图像数据处理系统,使用一种大容量处理器和一种作为大容量存储器的VRAM(带有串行口的动态存储器)。
进而开发了一种同步DRAM来代替昂贵的VRAM,并在“电子技术”杂志(1993年第10期第24-28页)中已揭示了一种采用低速图形装置的系统。
按照1986年公开号为261969的日本专利所揭示,一种至今已应用于传真机、打印机和图形装置的图像处理系统,采用了一种参照周围像素用于本地处理的高速SRAM(静态存储器)和作为大容量存储器的DRAM(动态存储器)用于存储代码数据和字型数据。
在图形处理器连接于如处理器的系统总线的传统图形系统中,由于总线速度低而不允许执行高速三维显示所必须的纹理映射。
在传统的高速图像数据处理系统中,还必须用专门的存储器来维持系统的高性能,这样从提供成本低廉的装置这个角度来看就产生大的问题。而且在这种系统中,存在不能将两种存储器结合在一起的情况,从实现装置小型化和LSI形式来看,在结构上存在严重的瓶颈。
发明内容
本发明的目的在于以低成本提供一种图形处理器,该图形处理器高速处理和绘图处理存贮在存储器中的图像数据并读出和显示该数据。
对于构成处理器的系统而言,还必须交替进行整体和分布处理以实现用最少的硬件完成最高的吞吐量(throughput),为此目的,本发明人已研究出一种用于将处理器和存储器联在一起的安排存储器总线的方法。
对于存储器控制系统,还必须将高速处理存储器和大容量存储器结合成一体以实现高速大容量存储器访问和降低成本。具体来说,使用一个SDRAM(同步DRAM)作为一种具有与时钟同步锁存地址、数据和控制信号功能的存贮器来构成系统。
由于使用SDRAM,要访问的地址被发送给存储器后才指定一个用来产生如读数据的时钟时间,这样能够在读处理完成之前发送下一个地址。
但是,能连续发送的地址限制于相同的行地址(line adddresses)。为了访问相同存储体的不同行地址,则需要有如预充电处理等未命中(miss-hit)处理。
本发明另一目的在于提供一种配置各处理器的方法和控制各存储器的方法,尤其提供了能实现以低成本高速度进行未命中处理的组成。
依照本发明的一个方面,提供了一种图形处理器,它与一系统总线、一图形数据存储器和一帧缓冲器相连,所述图形数据存储器用于存储与图像处理相关的图形命令以及原始图像数据,所述帧缓冲器用于存储要显示的数据。所述图形处理器包括:数据控制单元,用于将通过所述系统总线输入的所述图形命令和原始图像数据传送给所述图形数据存储器;第一数据总线,它与所述图形数据存储器相连;第二数据总线,它与所述帧缓冲器相连;总线控制单元,它具有一总线开关,用于在所述数据控制单元与所述第一数据总线的连接和所述第一数据总线与所述第二数据总线的连接之间切换;象素运算单元,用于读取存储在所述图形数据存储器中的所述图形命令和所述原始图像数据,并在所述帧缓冲器上绘图。
依照本发明的另一方面,提供了一种数据处理系统,它包含:处理器,用于产生与图像处理有关的图形命令;主存储器,用于存储程序、所述图形命令和原始图像数据;系统总线,用于连接所述处理器和所述主存储器;系统控制器,它与所述系统总线相连,所述系统控制器是DMA控制器;图形数据存储器,用于存储所述图形命令和所述原始图像数据;帧缓冲器,用于存储要显示的数据;和图形处理器,它与所述系统控制器、所述图形数据存储器和所述帧缓冲器相连。其中,所述图形处理器包括:数据控制单元,用于将通过所述系统控制器输入的所述图形命令和所述原始图像数据传送给所述图形数据存储器;第一数据总线,它与所述图形数据存储器相连;第二数据总线,它与所述帧缓冲器相连;总线控制单元,它具有一总线开关,用于在所述数据控制单元与所述第一数据总线的连接和所述第一数据总线与所述第二数据总线的连接之间切换;象素运算单元,用于读取存储在所述图形数据存储器中的所述图形命令和所述原始图像数据,并在所述帧缓冲器上绘图。
这就是说设置了一个总线开关,它用来转换两条数据总线,一条数据总线用于将命令和原始图像数据从处理器传送到本地存储器,另一条数据总线从本地存储器读出数据并将该数据绘图到帧缓冲器中,以便通过将不同于帧存贮器的本地存贮器直接连接到图形处理器实现高速处理,和实现本地存储器暂时存储来自处理器的命令和原始图像数据。
处理器是通过直接存储器存取(DMA)控制来取命令,由侧边运算单元(a side operation unit)、直线运算单元(a straight line operationunit)和像素运算单元构成。数据控制单元、侧边运算单元和直线运算单元通过流水线方式(pipeline)进行处理。
在本发明的一实施例中,侧边运算单元由11个以上的主要执行减法的运算单元DDA(数字微分分析器)构成,而直线运算单元由5个以上的DDAs构成。
由于使用多个SDRAMs,因此可通过一种在读命令和原始图像数据期间同时执行处理和写图像数据的流水线式处理实现最高吞吐量。也可用三个独立存储器总线将各处理器和各存储器相连,命令和输入数据存入第一存储器,而第二和第三存储器用来代替缓冲器,在绘图处理中,写入数据时通过显示处理,由该缓冲器读出不同存贮器。
此外,绘图(draw)处理器和显示处理器的处理方式是不同的,在访问存储器时,一次从存储器中读出的数据组的长度是可以改变的。具体来说,绘图处理器使用数据组长度为1而显示处理器使用数据组长度为8。
进而用下述装置构成一系统,即:用绘图处理器中的写地址和地址产生装置在读地址中检测到未命中(miss-hit)的地址获取行地址(line address)的装置;存贮用于各存贮器访问的上述行地址的装置;比较被存储的上述行地址和当前行地址的装置;和当比较结果不同时将未命中通知总线控制单元的装置,由此总线控制单元更新存贮器的列地址(row address),也即进行预充电处理和起动列地址,且当在写地址或读地址之一中检测到未命中时就执行双未中(double miss-hit)处理以便保存图像处理流水线。
本地存储器能够在处理绘图时使用独占总线(exclusive bus)高速度从该本地存储器读取数据,因此,与命令通过连接到处理器系统总线上进行传送相比时能实现高速处理。
处理器由数据控制单元所取的命令、侧边运算单元、直线运算单元和像素运算单元构成。数据控制单元、侧边运算单元和直线运算单元通过流水线(pipeline)运算,且边运算单元由11个以上的DDAs构成,而直线运算单元由5个以上DDAs构成,以便在最少硬件基础上用最少的处理完成最大吞吐量。
通过使用多个存储器总线流水线处理数据,能够在处理器中不用缓冲存储器实现低成本高速度处理。
通过按照绘图处理和显示处理来改变数据组长度,能使显示中的未命中最小化,缩短处理时间,和降低电力消耗。
在写绘图数据过程中,能预先检测到写地址中的未命中,因此在减少硬件数量情况下可支持图像数据处理的流水线。
附图说明
下面参照附图描述本发明的一实施例。
图1是表明本发明一实施例的框图;
图2为一同步DRAM的存储器图;
图3为同步DRAMs之间的数据流说明图;
图4表示一绘图处理器的流水线运算图;
图5是为说明纹理映射的概示图;
图6为纹理映射中定义参数的说明图;
图7为侧边运算算法说明图;
图8为直线运算算法说明图;
图9为像素运算算法说明图;
图10为纹理映射示例说明图;
图11为说明上色的概示图;
图12为侧边上色算法说明图;
图13为直线上色算法说明图;
图14为侧边运算单元的方框图;
图15为直线运算单元的框图;
图16为像素运算单元的框图;
图17为未命中处理的时序图;
图18为总线控制单元的框图;
图19为总线开关的框图;
图20为显示单元的框图;
图21为概略说明已有技术图形系统的框图;
图22为概略说明本发明图形系统的框图;
图23为本发明实施例的框图。
图24为总线仲裁(arbitration)控制的框图。
具体实施方式
图21为概略说明已有图形系统的结构图,其中,CPU101通过使用主存储器102中的指令和数据向图形处理器103发送绘图处理(a draw processing)。图形处理器103响应该指令将图像绘图到帧缓冲器104。显示单元105从帧缓冲器104读取表示绘图已经完成的数据,并将它显示在CRT106上。如果将显示用的带有并-串变换器的DRAM(VRAM)用作帧缓冲器104,则图像的绘图及其显示可同时执行,但是VRAM是如此昂贵,以致在一个低成本系统中,一般用DRAM构成帧缓冲器104,以分时方式(time-shared manner)使用图形处理器103和帧缓冲器之间的总线来绘图图像和读被显示的数据,并将图形处理器103来的数据显示到CRT106上。
在这种已有图形系统中,图形处理器是连接到如CPU的系统总线上的,但是,总线速度是相当低的以致三维显示所需的纹理映射(texture mapping)不能高速执行。
另外,在已有的高速图像数据处理系统中,需用一个专门的存储器来保持高性能,从而产生增加装置费用的问题。
另外,在已有的图像处理系统中,由于不能将上述两种存储器结合在一起,从而在装置小型化和实现LSI形式方面存在着结构上的瓶颈。
图22为概略说明能解决上述问题的本发明实施例的框图。这就是说,通过将不同于帧缓冲器104的本地存储器(local memory)3直接连接到图形处理器1用以暂时存储来自CPU101的命令和图像数据,来实现高速处理。
为此,设置一包含总线开关162的第一总线控制单元16,对传送CPU101的命令和图像数据给本地存储器3的数据总线和将图像绘图到帧缓冲器104同时从本地存储器3读取数据的数据总线进行转接。由于设置本地存储器3,所以能实现高速处理,这是因为与系统总线连接于CPU101以传送命令时相比,能够在绘图处理期间用专用总线从本地存储器3高速读取数据的缘故。
下面参照图1的框图根据数据流描述本发明的一实施例。通过使用主存储器102,CPU101为图形处理器1准备了一指令表,并用系统控制器2经数据控制单元11将命令和要处理的输入数据传送给同步DRAM3。系统控制器2是一种DMA控制器,它根据CPU的指令将主存储器102中的数据传送给图形处理器1。之后,该系统控制器2向图形处理器1发出一个执行起动命令(execution startcommand)。图形处理器1中的数据控制单元11根据收到执行起动命令,从同步DRAM3中取出一命令,将所需参数传送给侧边运算单元12、直线运算单元13和像素运算单元14,并驱动侧边运算单元12。
侧边运算单元12计算输入数据存入的坐标和用端点单位计算绘图坐标,并驱动直线运算单元13。直线运算单元13计算输入数据存储处的坐标并用点作单位计算绘图坐标,并给处理数据的像素运算单元14一个指令。像素运算单元14从同步DRAM3取出输入数据、处理该数据并经第二总线控制单元17和转换开关19将图像要么绘图在同步DRAM4上要么绘图在同步DRAM5上。图像应先绘在它们的哪一个上是由复位后的状态确定。在同步DRAM4和同步DRAM5中,未绘图像的存储器经过第三总线控制单元18和转换开关19从显示单元15读数据,并经显示输出总线60把该数据传送给显示合成(synthesizing)LSI6。
在该实施例中,图形处理器1制作在一单独的半导体基板上,即以这种单片LSI的结构来降低成本。该LSI有连接系统控制器2的总线20,连接第一同步DRAM3的总线30,连接第二同步DRAM4的总线40,连接第三同步DRAM5的总线50,和连接显示合成LSI6的总线60。该LSI可封装在一个具有168脚的扁平的组件中。这种结构限定总线宽度为16位(bit)。
图23是一方框图,描述了本发明根据某一控制流程的实施例。
系统控制器2发出的控制信号经数据控制单元11访问第一总线控制单元16。另一方面,像素运算单元14请求从第一总线控制单元16读取像素数据。由一总线仲裁器109判断这些运算的优先级。即,数据控制单元11和像素运算单元14两者都向总线仲裁器109发出总线请求,而总线仲裁器109要判断它们的优先级,并仅向其中之一发出总线说明许可信号(bus specification permit signal)。
为了连续不断地写数据,第一和第二总线控制单元16和17要更新行地址,即共享未命中(miss-hit)数据,以检测因未命中引起的数据延迟。由此,即使当一侧边数据延迟时,另一侧边的数据也会等候着执行所述处理,而不会损坏图像处理中的流水线(pipeline)。
转换开关19是根据显示单元的垂直同步信号VSYNC来控制的,但也可以根据中央处理器的指令来控制。
图24是一方框图,更详细地描述了总线仲裁控制。在图23中,为了便于说明,总线控制单元11是用单个方框表示的。但实际上,数据控制单元11具有CPU接口单元111和图形控制单元112两个功能。CPU接口单元111的功能是把指令和图像数据的输入从外部系统控制器2写入第一同步DRAM3,或者把数据从第一同步DRAM3写入并传送给系统控制器2。图形控制单元112为那些诸如侧边运算单元12、直线运算单元13和像素运算单元14等从第一同步DRAM3读取指令并执行绘图处理的处理单元设置参数。CPU接口单元111、图形控制单元112和像素运算单元14独自向总线仲裁器109发出请求总线说明许可的信号。三个单元中只有最高优先级的单元被选中,并为转换第一总线控制单元16中的开关建立一数据通道。
图2描绘了存储在同步DRAM3中的数据。诸如指令表311和312的多条指令存储在一指令区31中。指令表的内容包括一指令码3112、一链路指针3113、一方式标志3114、一表指针3115、一输入数据指针3116和一绘图坐标指针3117。指令码3112表示指令的类型。链路指针3113中存储有一指令起始地址,该地址表示当正在处理的指令完成时下一次应该执行的指令。方式标志3114中描述了一种属性,表示象素运算单元14中所执行的图像处理的类型。表指针3115存储着表331的首地址,该地址表示辉度(glow shading)和其他用于图像处理的属性,并且该首地址在开始处理之前从同步DRAM3装入内部处理表。输入数据指针3116表示一地址,该地址中存储着输入数据,即先前处理的图像数据321。绘图坐标指针3117表示与处理数据的绘图位置有关的坐标值。
图3说明了一种利用同步DRAM4和同步DRAM5的方法。从同步DRAM3读出的数据经过第一总线控制单元16,通过像素运算单元14处理,再经过第二总线控制单元17,然后经转换开关19中的某一开关191转换,最后访问同步DRAM4或者同步DRAM5。在图3中,数据通过存储器总线40与同步DRAM4相连。同步DRAM5中存储已经画好的图象,并且通过存储器总线50、开关192和第三总线控制单元18把数据馈送给显示单元15。
图4描绘了绘图处理器(draw processor)7的流水线运算。数据控制单元11读取指令并设置参数。设完参数后,将一侧边运算起始信号发送给侧边运算单元12,开始计算行复制处理中的终点坐标。当收到该信号时,侧边运算单元12开始算术运算。解译指令后,执行第一行复制的侧边运算,并把数据设置给直线运算单元13。完成第一行复制的侧边运算之后,把一直线运算起始信号发送给直线运算单元13,然后开始下一行复制的侧边运算和用于存储侧边运算结构的运算,侧边运算单元12可以在直线运算单元13结束一次行复制的运算前算出下一行复制的起点和终点。
一收到直线运算起始信号,直线运算单元13就开始直线运算,并执行一个周期中某一像素的直线运算。直线运算单元13将一进位信号输出给像素运算单元14,该进位信号是每一个周期DDA的运算结果。同时,将一主存取起始信号输出给像素运算单元14。
一收到存储器存取起始信号,像素运算单元14就开始访问诸同步DRAM。处理完绘图指令的最后一个像素后,将一最后像素处理结束的信号发送给数据控制单元11,以结束处理绘图指令。根据该结束信号,绘图指令读取单元开始读取下一个绘图指令。
在解释方框之前,将先描述绘图指令调用的纹理映射(texturemapping)。
纹理映射是用来放大、缩小和翻转图像的一种基本图像运算。如图5(a)所示,通常把纹理映射定义为一种把矩形的源图像ABCD绘制成任何四边形A′B′C′D′的功能。
本发明的数据处理器基于一种通过多次执行行复制来实现纹理映射的系统。行复制是基本的图像运算,如图5(b)所示,根据这种运算,可在一指定的空间将行像素序列P0(Xp0、Yp0)-P1(Xp1,Yp1)绘成任意直线Q0(Xq0,Yq0)-Q1(Xq1,Yq1)。
依照本发明的数据处理器,使用七个DDA可以实现上述纹理映射。在七个DDA中,五个DDA用来寻找行复制的起点Q0和终点Q1,而另两个DDA用来寻找连接Q0和Q1的直线。在本发明的数据处理器中,前者的算术运算定义为侧边运算,而后面的算术运算定义为直线运算。
现在将参照图6描述七个DDA所起的作用,其中图6表示目的图像大于源图像的情况,即图像被放大。目的图像小于源图像的情况称为缩小。
第一个DDA用来进行侧边运算,即计算源图象在Y方向上像素间的距离Sy和一分量MAXEDGE(图6中的Dry),该分量MAXEDGE是目的图象左右侧X方向分量Drx,Dlx间或Y方向分量Dry,Dly间的最大像素间距。该DDA根据两个像素间距中较长的一个(图6中为Dry)进行计算。
第二个DDA进行侧边运算,即计算MAXEDGE和目的图像右侧的具有最大像素间距的X方向分量Drx或Y方向分量Dry(图6中的Dry)。该DDA根据MAXEDGE进行运算。
第三个DDA用于进行侧边运算,即计算MAXEDGE和目的图像左侧的具有最大像素间距的X方向分量Dlx或Y方向分量Dly(图6中的Dly)。该DDA根据MAXEDGE进行运算。
第四个DDA根据8耦合像素的方法(8-coupled pixel method)进行右侧运算,即计算目的图像右侧的X方向分量Drx和Y方向分量Dry,该DDA根据两像素间距中较长的一个(图6中为Dry)进行运算。
第五个DDA根据8耦合像素的方法进行左侧运算,即计算目的图像左侧的X方向分量Dlx和Y方向分量Dly。该DDA根据两个像素间距中较长的一个(图6中为Dly)进行运算。
第六个DDA用来进行直线运算,即计算源图像X方向的像素间距Sx和具有某一直线X方向分量Lx和Y方向分量Ly间最大像素间距的分量MAXLINE(图6中为Lx),其中所述直线连接由侧边运算获得的目的图象的起点Q0和终点Q1。该DDA根据两个像素间距中较长的一个(图6中为Lx)进行运算。
第七个DDA根据4耦合像素的方法进行线性运算,即计算连接起点Q0和终点Q1的直线的X方向分量Lx和Y方向分量Ly。该DDA根据两个像素间距中较长的一个(图6中为Lx)进行运算。
这里,数字微分分析方法DDA将找到由依赖于整数运算的两个变量a和b构成的直线的坐标。现在假设有两个变量a和b,其位移量为n和m,其中n<m。再假设,a的位移与a相对b之位移的真位移dn(实数)之差为一误差e。在这种情况下,当变量b位移了1时,dn变为0≤dn≤1。每次当b位移1时,都将真位移dn加至误差e。于是,误差e会大于1,并发生进位。这时,认为a位移了1。DDA重复上述运算,并检测a相对于b之位移的位移量。
以下描述本发明数据处理器纹理映射绘图算法(texture mappingdraw algorithm)的结构。
依照本发明的数据处理器,可按功能将纹理映射绘图算法分为三类,即侧边运算算法、直线运算算法和像素复制算法。
侧边运算算法用于计算目的图像的左侧和右侧的坐标。也就是说,按照图7中所示的流程图执行第一至第五DDA,以求出行复制的起点Q0和终点Q1的坐标。
直线运算算法用于计算连接目的图像左边一定点和右边相应一定点的直线的坐标。该运算通过依照图8的流程图执行第六和第七DDA来实现,以根据侧边运算求得的起点和终点求出行复制的坐标。
像素复制算法用于把源图像的某一像素复制到目的图像的一个像素上。这要对一套源像素和由侧边运算和直线运算求出的目的像素执行存储器存取。
图10描绘了当本发明数据处理器执行纹理映射绘图算法时的轨迹。当要放大图像时,按放大率将源图像的一个像素复制若干次。当要缩小图像时,则按缩小率以减少的次数复制源图像。
上色(shading)是一种立体表示图象的方便方法,即是一种用来平滑改变图像色调和亮度的基本图像运算。在本发明的数据处理器中,上色是一种平滑改变色调的功能。
本发明数据处理器的上色把上色颜色(shading color)(ΔR,ΔG,ΔB)按颜色成分加至目的图像像素的颜色(R,G,B)上,从而获得新的目的图像像素的颜色(R+ΔR,G+ΔG,B+ΔB)。依照本发明,数据处理器对目的图像的任意四边形进行上色,当正在进行纹理映射时,该目的图像是纹理映射的结果。根据目的图像上任意四边形ABCD四个顶角被选定的上色颜色(Ra,Ga,Ba)、(Rb,Gb,Bb)、(Rc,Gc,Bc)、(Rd,Gd,Bd)计算任意四边形中像素的上色颜色。
在纹理映射的同时执行上色是一先决条件。通过侧边运算求出目的图像右侧和左侧像素的上色颜色,并通过线性运算求出行复制像素的上色颜色。当复制像素时,将目的图像的像素与求得的上色颜色加在一起。
这里,颜色数据应该是红色、绿色和兰色等颜色成分的绝对值。
依照本发明的数据处理器,用九个DDA实现上述上色。在九个DDA中,六个DDA用于求得行复制起点Q0和终点Q1的上色颜色,而另三个DDA用于求出连接Q0和Q1的直线的上色颜色。在本发明的数据处理器中,前者运算称为侧边上色颜色运算,而后者运算称为直线上色颜色运算。
现在将参照图11描述九个DDA起的作用。
第八个DDA用于计算右侧边红的上色颜色,即计算顶角B和C之间红的上色色差ΔRr和具有目的图像右侧边X方向分量或Y方向分量中最大像素间距的分量MAXEDGER。该DDA根据ΔRr或像素间距MAXEDGER中较大的一个进行运算。
第九个DDA用于计算右侧边绿的上色颜色,即计算顶角B和C间绿的上色色差ΔGr和MAXEDGER。该DDA根据ΔGr或MAXEDGER中较大的一个进行运算。
第十个DDA用于计算右侧边蓝的上色颜色,即计算顶角B和C之间蓝的上色色差ΔBr和MAXEDGER。该DDA根据ΔBr或MAXEDGER中较大的一个进行运算。
第十一个DDA用于计算左侧边红的上色颜色,即计算顶角A和D之间红的上色色差ΔR1和具有目的图像左侧边X方向分量或Y方向分量中最大像素间距的分量MAXEDGEL。该DDA根据ΔR1或像素间距MAXEDGEL中较大的一个进行运算。
第十二个DDA用于计算左侧边绿的上色颜色,即计算顶角A和D间绿的上色色差ΔG1和MAXEDGEL。该DDA根据ΔG1或MAXEDGEL中较大的一个进行运算。
第十三个DDA用于计算左侧边蓝的上色颜色,即计算顶角A和D之间蓝的上色色差ΔB1和MAXEDGEL。该DDA根据ΔB1或MAXEDGEL中较大的一个进行运算。
第十四个DDA用于计算直线的红色上色颜色,即计算红的上色色差ΔRq和分量MAXLINE,其中红的上色色差ΔRq是由侧边运算求得的目的图像起点Q0和终点Q1之间红的上色颜色的差别,而分量MAXLINE具有起点Q0和终点Q1间直线的X方向分量或Y方向分量中最大的像素间距。该DDA根据ΔRq或MAXLINE中较长的一个进行运算。
第十五个DDA用于计算直线的绿色上色颜色,即计算起点Q0和终点Q1间绿的上色色差ΔGq和MAXLINE。该DDA根据ΔGq或MAXLINE中较长的一个进行运算。
第十六个DDA用于计算直线的蓝色上色颜色,即计算起点Q0和终点Q1间蓝的上色色差ΔBq和MAXLINE。该DDA根据ΔBq或MAXLINE中较长的一个进行运算。
下面将描述本发明数据处理器上色绘图算法的构成。
依照本发明的数据处理器,按功能可把上色绘图算法分为三种,即侧边上色颜色运算算法、直线上色颜色运算算法和上色颜色添加算法(shading color addition algorithm)。
侧边上色颜色运算算法用于计算目的图像左侧边和右侧边的上色颜色。该计算通过按图12的流程图执行上述第八至第十三DDA来完成,以求出行复制起点Q0和终点Q1的上色颜色。
直线上色颜色运算算法用于计算连接目的图像左侧边某一给定点和右侧边一相应点的直线的上色颜色。该计算通过按图13的流程图执行第十四至第十六DDA来完成,以按照由侧边运算求得的起点Q0和终点Q1,求出行复制像素的上色颜色。
上色颜色添加算法是把上面获得的上色颜色添加到像素上。该过程通过按图9所示的流程图对目的图像添加上色颜色来完成。
下面描述用于实现上述纹理映射绘图算法的单元。绘图处理器7由一数据控制单元11、一侧边运算单元12、一直线运算单元13和一像素运算单元14组成。
数据控制单元11是一从绘图源数据/绘图指令SDRAM中读取绘图指令和绘图参数的模块。读取的指令和参数被存储在侧边运算单元12和像素运算单元14的内部寄存器中。
侧边运算单元12是一执行侧边绘图算法的模块,而且解释绘图指令,按绘图指令执行侧边运算并把侧边运算的结果存储在直线运算单元13的内部存储器中。其中,为了求出源坐标P0和P1、目的坐标Q0和Q1以及目的坐标Q0和Q1的上色颜色(R0,G0,B0)和(R1,G1,B1),侧边运算执行第一至第五DDA和第八至第十三DDA总共十一个DDA。
参看图14,侧边运算单元12由两个专用读写总线的13位运算器、一个为这两个运算器(AU)所共用的13位寄存器和每个运算器AU专有的13位寄存器组成。两个运算器AU分别用AUa和AUb表示。为了有效地使用这两个运算器AU,在两种状态下运行这两个运算器,即同步运行和独立运行。
同步运行时,用相同的时序控制两个运算器。这两个运算器具有一个共用的寄存器,并且AUa运行以后得到的结果为AUb所用,而AUb运算以后得到的结果为AUa所用。在该运行状态下,对绘图指令进行解释,并运行第一和第三DDA。
独立运行时,用分立的时序控制两个运算器。两个运算器有它们自己各自专用的寄存器,AUa运行以后的结果不能为AUb所用,且AUb运行以后的结果也不能为AUa所用。第四和第五DDA以及第八至第十三DDA在该运行状态下运行。第四DDA和第八至第十DDA,第五DDA和第十一至第十三DDA分别由AUa和AUb并行运行。
直线运算单元13是一执行直线绘图算法的模块,并根据侧边运算单元12所存储的侧边运算的结果执行直线运算。总共有五个DDA来执行直线运算,即第六和第七DDA以及第十四至第十六DDA。DDA运行结果在像素运算单元进行的像素运算期间被用作一增加信号。
参看图15,直线运算单元13由五个执行一个周期内DDA运行的DDA硬件单元和一组13位寄存器组成。13位寄存器组存储侧边运算单元所发送的行复制起点和终点处的参数。按照参数,五个DDA硬件单元运行第六和第七,以及第十四至第十六DDA。它们并行运行,以执行一个周期中一个像素的DDA运行。
像素运算单元14是一执行像素复制算法的模块,并根据直线运算的结果对每个SDRAM进行地址和数据的像素运行,对绘图源数据/绘图指令用的SDRAM进行源数据读访问,进行像素运算,并对像素运算结果的帧缓冲器SDRAM进行写访问。像素运算将求出行复制上一像素的源坐标P、目的坐标Q和目的坐标Q的上色颜色(R,G,B),其可通过对初值增值来求得。
参看图16,像素运算单元14由一源存储器地址计数器144、一目的存储器地址计数器145、与红、绿和蓝的上色颜色对应的5位计数器141、142、143,以及具有专用读和写总线的5位运算器146、147和148。源存储器地址计数器144和目的存储器地址计数器145对应于第六和第七DDA。当这些DDA运行的结果产生一进位时,地址计数增加。三个五位计数器对应于第十四至第十六DDA。当这些DDA运行产生一进位时,上色颜色数据的计数增加。三个5位运算器分别将5位计数器形成的红、绿和蓝的上色颜色添加至源数据红色、绿色和蓝色之上。
图17是一张总线控制单元的时序图。图17(a)示出了一在读取期间未命中的例子。将像素运算单元14在T1状态发出的读地址RDADR送至第一总线控制单元16,第一总线控制单元16在T2状态将定序器的状态RDBST变成读第一数据(first data read)R1。然后,从同步DRAM3将数据DR1输入T3。通过像素运算单元14处理DR1并转换成数据DW1。写地址WRADR转换成一个通过未画出的延迟单元延迟的WRADR3,并且在T4状态将第二总线控制单元17定序器的状态WRBST变成写第一数据(first datawriting)W1。
这里,当下一个将要读出的读地址RDADR的R2不同于R1的行地址时,有必要进行未命中处理以再次对行地址预先充电并激励行地址。当T2状态下把R2作为RDADR发送时,第一总线控制单元16中未示出的未命中检测单元将其与R1的行地址作比较。当它们不同时,发出未命中信号RDMHT。根据该信号,在T4至T6的时间间隔内不更新诸如RDADR、WRADR和WRADR3等地址,保持先前的地址,并保持像素运算单元14不工作。当开始读时发生未命中,则写数据就不会继续有效,从而在T5至T7期间内写总线控制单元闲置。
图17(b)示出了开始写时发生未命中的例子。现假设,T2状态从像素运算单元发送出的写地址WRADR未命中。如果在写数据时检测到未命中的写地址,那么未命中会在T4状态被判明。因此,如果在T5状态中止了地址,则按顺序馈送写地址并且写地址和数据消失。因此,与读地址一样,以相同的定时检测写地址的未命中,并且为了给处理未写中留一段时间,允许写地址在处理读时保持闲置。
图18示出了第一总线控制单元16内部的部件。转换单元162和163切换来自数据控制单元11的数据总线SD和地址总线SA,以及来自像素运算单元14的数据总线MD和地址总线RDADR,以形成通往同步DRAM3的数据总线VDAT和地址总线VADR。存储器控制单元164由一定序器166和寄存器165和167组成,该存储器控制单元164控制转换单元162和163。定序器166通过参考来自显示单元15的存储器控制信号MCTR和类似信号来控制。定序器166的输出经过寄存器167,作为存储器控制信号VCNT馈送给同步DRAM3。第二和第三总线控制单元17和18也具有类似的结构,但输入总线数目和输入/输出方向不同,这里不再描述。
图19示出了转换开关19的结构。在开关方框191中的开关192和193转换第二总线控制单元17的输出179和第三总线控制单元18的输出189。该过程通过响应显示单元15的存储器转换信号MSYNC来完成。根据显示单元的垂直同步信号VSYNC形成存储器转换信号。通过每帧都转换绘图存储器和显示存储器来实现最大的信息吞吐量(throughput)。
图20是显示单元的方框图。控制单元154由一定序器156和寄存器155、157组成,而且定序器156响应于外部单元的垂直同步信号VSYNC和类似信号产生一控制信号。这里面包括一存储器转换信号MSYNC。数据转换单元151根据方式处理从转换开关19所选定的同步DRAM4或5中读取的数据181,并通过总线60将数据传递给一外部显示合成器LSI6。
如上所述,通过利用多个同步DRAM,可以在流水线处理(执行处理并在读取指令和原始图样数据的同时写绘图数据)中实现最大吞吐量,从而降低成本,获得高性能的数据处理系统。
Claims (7)
1.一种图形处理器,它与一系统总线、一图形数据存储器和一帧缓冲器相连,所述图形数据存储器用于存储与图像处理相关的图形命令以及原始图像数据,所述帧缓冲器用于存储要显示的数据,其特征在于,所述图形处理器包括:
数据控制单元,用于将通过所述系统总线输入的所述图形命令和原始图像数据传送给所述图形数据存储器;
第一数据总线,它与所述图形数据存储器相连;
第二数据总线,它与所述帧缓冲器相连;
总线控制单元,它具有一总线开关,用于在所述数据控制单元与所述第一数据总线的连接和所述第一数据总线与所述第二数据总线的连接之间切换;
象素运算单元,用于读取存储在所述图形数据存储器中的所述图形命令和所述原始图像数据,并在所述帧缓冲器上绘图。
2.如权利要求1所述的图形处理器,其特征在于,所述图形数据存储器是一同步存储器,用于与时钟信号同步地输入地址,输入输出数据,以及输入控制信号。
3.如权利要求1所述的图形处理器,其特征在于,所述帧缓冲器包含第一帧缓冲器和第二帧缓冲器,它们交替进行绘图时的写处理和显示时的读处理,并所述绘图写处理和所述显示处理是由所述图形处理器转换的。
4.一种数据处理系统,其特征在于,包含:
处理器,用于产生与图像处理有关的图形命令;
主存储器,用于存储程序、所述图形命令和原始图像数据;
系统总线,用于连接所述处理器和所述主存储器;
系统控制器,它与所述系统总线相连,所述系统控制器是DMA控制器;
图形数据存储器,用于存储所述图形命令和所述原始图像数据;
帧缓冲器,用于存储要显示的数据;
图形处理器,它与所述系统控制器、所述图形数据存储器和所述帧缓冲器相连,并且包括:
数据控制单元,用于将通过所述系统控制器输入的所述图
形命令和所述原始图像数据传送给所述图形数据存储器;
第一数据总线,它与所述图形数据存储器相连;
第二数据总线,它与所述帧缓冲器相连;
总线控制单元,它具有一总线开关,用于在所述数据控制
单元与所述第一数据总线的连接和所述第一数据总线与所述
第二数据总线的连接之间切换;
象素运算单元,用于读取存储在所述图形数据存储器中的
所述图形命令和所述原始图像数据,并在所述帧缓冲器上绘
图。
5.如权利要求4所述的数据处理系统,其特征在于,所述图形处理器和所述图形数据存储器在单个半导体基板上构成。
6.如权利要求4所述的数据处理系统,其特征在于,所述图形数据存储器是一同步存储器,用于与时钟信号同步地输入地址,输入输出数据,以及输入控制信号。
7.如权利要求4所述的数据处理系统,其特征在于,所述帧缓冲器包含第一帧缓冲器和第二帧缓冲器,它们交替进行绘图时的写处理和显示时的读处理,并所述绘图写处理和所述显示处理是由所述图形处理器转换的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP209523/1994 | 1994-09-02 | ||
JP209523/94 | 1994-09-02 | ||
JP06209523A JP3106872B2 (ja) | 1994-09-02 | 1994-09-02 | 画像処理プロセッサ及びそれを用いたデータ処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1147117A CN1147117A (zh) | 1997-04-09 |
CN1132121C true CN1132121C (zh) | 2003-12-24 |
Family
ID=16574206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN95115915A Expired - Fee Related CN1132121C (zh) | 1994-09-02 | 1995-09-01 | 图形处理器和应用该处理器的数据处理系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6091863A (zh) |
JP (1) | JP3106872B2 (zh) |
KR (1) | KR960011658A (zh) |
CN (1) | CN1132121C (zh) |
TW (1) | TW473692B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999654A (en) * | 1996-07-17 | 1999-12-07 | Matsushita Electric Industrial Co., Ltd. | Image processor capable of transferring image data from an input buffer to memory at a high rate of speed |
US6323867B1 (en) * | 1999-04-26 | 2001-11-27 | Mediaq Inc. | Parsing graphics data structure into command and data queues |
US20020145610A1 (en) * | 1999-07-16 | 2002-10-10 | Steve Barilovits | Video processing engine overlay filter scaler |
US7196710B1 (en) * | 2000-08-23 | 2007-03-27 | Nintendo Co., Ltd. | Method and apparatus for buffering graphics data in a graphics system |
JP2002202881A (ja) * | 2000-10-26 | 2002-07-19 | Matsushita Electric Ind Co Ltd | 画像表示装置 |
JP2004126646A (ja) * | 2002-09-30 | 2004-04-22 | Canon Inc | バス制御方法 |
FI115006B (fi) * | 2003-06-13 | 2005-02-15 | Nokia Corp | Menetelmä ja järjestely parannellun näyttölaiterajapinnan sovittamiseksi näyttölaitteen ja prosessorin välille |
JP4069078B2 (ja) * | 2004-01-07 | 2008-03-26 | 松下電器産業株式会社 | Dram制御装置およびdram制御方法 |
JP2007183377A (ja) * | 2006-01-06 | 2007-07-19 | Hitachi Kokusai Electric Inc | 表示制御装置 |
JP2008249977A (ja) * | 2007-03-30 | 2008-10-16 | Seiko Epson Corp | 電気光学表示装置の描画回路、電気光学表示装置の描画方法、電気光学表示装置及び電子機器 |
KR101616650B1 (ko) | 2011-06-07 | 2016-04-28 | 미쓰비시덴키 가부시키가이샤 | 묘화 장치 |
US9261939B2 (en) | 2013-05-09 | 2016-02-16 | Apple Inc. | Memory power savings in idle display case |
CN107169917B (zh) * | 2017-04-21 | 2020-06-16 | 图芯芯片技术(上海)有限公司 | 矢量图形处理器不通过ddr完成图形图像实时绘制的装置 |
CN112258287A (zh) * | 2020-10-28 | 2021-01-22 | 上海今井实业有限公司 | 一种绕线画线上交易方法、终端及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4694351A (en) * | 1985-05-15 | 1987-09-15 | Hitachi, Ltd. | Picture signal processing apparatus |
US5046023A (en) * | 1987-10-06 | 1991-09-03 | Hitachi, Ltd. | Graphic processing system having bus connection control capable of high-speed parallel drawing processing in a frame buffer and a system memory |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4654804A (en) * | 1984-07-23 | 1987-03-31 | Texas Instruments Incorporated | Video system with XY addressing capabilities |
JPH0762794B2 (ja) * | 1985-09-13 | 1995-07-05 | 株式会社日立製作所 | グラフイツク表示装置 |
EP0389175A3 (en) * | 1989-03-15 | 1992-11-19 | Fujitsu Limited | Data prefetch system |
US5369744A (en) * | 1989-10-16 | 1994-11-29 | Hitachi, Ltd. | Address-translatable graphic processor, data processor and drawing method with employment of the same |
US5469398A (en) * | 1991-09-10 | 1995-11-21 | Silicon Systems, Inc. | Selectable width, brustable FIFO |
US5548740A (en) * | 1992-02-10 | 1996-08-20 | Sharp Kabushiki Kaisha | Information processor efficiently using a plurality of storage devices having different access speeds and a method of operation thereof |
-
1994
- 1994-09-02 JP JP06209523A patent/JP3106872B2/ja not_active Expired - Lifetime
-
1995
- 1995-08-08 TW TW084108255A patent/TW473692B/zh not_active IP Right Cessation
- 1995-08-29 KR KR1019950027088A patent/KR960011658A/ko not_active Application Discontinuation
- 1995-09-01 CN CN95115915A patent/CN1132121C/zh not_active Expired - Fee Related
- 1995-09-01 US US08/523,509 patent/US6091863A/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4694351A (en) * | 1985-05-15 | 1987-09-15 | Hitachi, Ltd. | Picture signal processing apparatus |
US5046023A (en) * | 1987-10-06 | 1991-09-03 | Hitachi, Ltd. | Graphic processing system having bus connection control capable of high-speed parallel drawing processing in a frame buffer and a system memory |
Also Published As
Publication number | Publication date |
---|---|
JP3106872B2 (ja) | 2000-11-06 |
JPH0877366A (ja) | 1996-03-22 |
TW473692B (en) | 2002-01-21 |
CN1147117A (zh) | 1997-04-09 |
US6091863A (en) | 2000-07-18 |
KR960011658A (ko) | 1996-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1132121C (zh) | 图形处理器和应用该处理器的数据处理系统 | |
TWI437507B (zh) | 具有多線程執行單元之繪圖處理裝置及其記憶體存取方法 | |
US6985150B2 (en) | Accelerator control unit configured to manage multiple hardware contexts | |
TW209288B (zh) | ||
CN1950878A (zh) | 对系统存储器的gpu渲染 | |
CN1255765C (zh) | 数据通信系统和方法 | |
CN103136721A (zh) | 内联图像旋转 | |
CN1893564A (zh) | 图像特效设备、图形处理器和记录介质 | |
JP2003517649A (ja) | 機械視覚システムにおける画像データ等の論理的に近接したデータサンプル用データ処理システム | |
GB2298111A (en) | Improvements relating to computer 3d rendering systems | |
US10733956B2 (en) | Macro I/O unit for image processor | |
AU2013273768A1 (en) | Parallel rendering of region-based graphics representations | |
JPH0239378A (ja) | 画像処理システム | |
EP1532582B1 (en) | Method and apparatus for image data processing using image strips and circular addressing arrangement | |
JPH05282199A (ja) | 画像メモリ装置 | |
JPS6217236B2 (zh) | ||
KR900002631B1 (ko) | 화상데이터의 처리방법 및 장치 | |
CN1151471C (zh) | 图像处理装置和图像显示装置 | |
US20230297270A1 (en) | Data processing device, integrated circuit chip, device, and implementation method therefor | |
CN117934532A (zh) | 一种图像边缘检测并行优化方法及系统 | |
CN115984098A (zh) | 一种基于cuda加速的超大三维图像形变方法 | |
JPS61223986A (ja) | 画像の処理方法 | |
US20160275700A1 (en) | Method, apparatus and system for rendering regions of an image | |
JPS5969866A (ja) | 2次元画像デ−タ高速処理装置 | |
CN1128382A (zh) | 单色三角形显示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |