专利名称:电脑系统的控制芯片组及控制方法
技术领域:
本发明涉及电脑系统的控制芯片组及控制方法,特别涉及具有3D绘图加速器的几何引擎的控制芯片组,藉以降低绘图加速器的成本,并提高电脑系统的绘图性能。
背景技术:
图1为一般电脑系统的方块图。如该图所示,控制芯片组103主要是控制中央处理单元(Central Processing Unit,CPU)101、系统存储器(Sys tem Memory)102、3D绘图加速器(Graphics accelerator)104、以及其他I/O装置105之间的数据流动。即,中央处理单元101要存取主存储器102的数据时,或送绘图指令给3D绘图加速器104时,均要经过控制芯片组103的控制。因此,如图2所示,一般的控制芯片组103都会包括有许多的接口控制器(Interface Controller),例如主控制器(HostController)200、DRAM控制器201、AGP/PCI控制器202、以及其他I/O接口控制器203等。其中数据是经由不同的总线(Bus)而传输,例如CPU是经由主总线(Host Bus)与存储总线(Memory Bus)来存取数据。由于各种新的总线被指定作各种不同的应用,例如USB、1394等接口,从而使得控制芯片组的衬垫(pad)数目变大。虽然总线的控制电路只占很小的面积,且半导体制造技术持续快速发展,但是控制芯片组的面积却因衬垫的数量增加而无法以相同速度减小,此种现象称之为衬垫限制(Pad-Limited)。
另一方面,因3D绘图的需求,也使得绘图加速器的功能提高,使得芯片面积变得非常大。图3所示为一般电脑系统中的3D绘图加速器104的结构方块图。如该图所示,一般3D绘图加速器40包括有一几何引擎(Geometry Engine)300和一描绘引擎(Rendering Engine)310。几何引擎300执行转换(transform)和打光(lighting)的操作,而描绘引擎310执行设定(setup)和描绘(rendering)的操作。
在此之前,几何引擎300的工作是由电脑内部的软件所执行。也就是说,中央处理单元需执行几何引擎300的转换和和打光的工作。而描绘引擎310则是在一个专用集成电路(Application SpecifiedIntegrated Circuit,以下简称ASIC)内执行。近来亦有将几何引擎300配置于ASIC内执行,并与描绘引擎310合并于一个单芯片内,以提高3D绘图的功能。同时,多重流水线(Multiple Pipelines)被广范使用于描绘操作上,以获得更高的描绘速度。换言之,有更多的逻辑门(Logic gates)被配置于绘图加速器内,而提高了绘图加速器的成本。所以虽然半导体的制造技术提高了,但是绘图加速器的成本却无法随之下降。
图4为电脑系统中另外一种3D绘图加速器的设计结构方块图,其中一部分的局部动态随机存取存储器(Local DRAM)106被用来作为几何引擎300的缓冲器(Buffer),以防止因为在某些时候几何引擎300与描绘引擎310的处理速度不匹配,而造成几何引擎300或描绘引擎310处于空闲状态(Idle)。然而,因为描绘引擎310需要足够的存储器带宽(MemoryBandwidth),而图4的设计可能导致存储器带宽减少,使描绘引擎310的性能受到影响。
发明内容
有鉴于上述问题,本发明的目的是提供一种电脑系统的控制芯片组及控制方法,藉由将3D绘图加速器的几何引擎配置于控制芯片组,而提高系统的3D绘图性能,并降低3D绘图加速器的成本。
为实现上述目的,本发明电脑系统的控制芯片组包括一主控制器,用以连接CPU,作指令传输操作;一DRAM控制器,用以连接系统存储器与主控制器,以进行数据的存取;一接口控制器,用以连接主控制器和其他输入及输出单元,作接口间的控制操作;一AGP/PCI总线控制器,进行AGP/PCI总线的控制;一3D引擎,与AGP/PCI总线控制器连接,并具有3D绘图的部分功能,以辅助所连接的3D绘图加速器的指令执行;以及一控制电路,用以控制3D绘图指令于3D引擎的传输。
再者,根据本发明的电脑系统的控制芯片组的控制方法,在一电脑绘图系统中的控制芯片组具有与所连接的3D绘图加速器的几何引擎的功能时,用来控制绘图指令的分配,该控制方法包括下列步骤检测存储器存取状态,藉以判别系统存储器与绘图加速器的局部存储器的忙碌状态;若系统存储器较局部存储器忙碌时,则关闭控制芯片组的几何引擎功能,并启动绘图加速器的几何引擎功能;以及,若局部存储器较前系统存储器忙碌时,则启动控制芯片组的几何引擎功能,并关闭绘图加速器的几何引擎功能。
由于本发明将3D绘图加速器的几何引擎配置于控制芯片组内,不但可降低3D绘图加速器的成本,同时亦可提高电脑系统的3D绘图性能。
本发明是关于电脑系统的控制芯片组及控制方法,其将位于3D绘图加速器上的几何引擎,装置于控制芯片组中。如此,不但可降低绘图加速器的成本,而且不会降低3D绘图的性能及增加控制芯片组的成本。而且除了几何引擎之外,其他3D绘图的功能,亦可在控制芯片组中执行。
图1表示一已知电脑的系统方块图。
图2表示一已知的控制芯片组的方块图。
图3表示一电脑系统中,已知的3D绘图加速器的结构方块图。
图4表示一电脑系统中,另外一种已知的3D绘图加速器的设计结构方块图。
图5表示本发明第一实施例的控制芯片组的方块图。
图6表示本发明第二实施例的控制芯片组的方块图。
图7为本发明的控制芯片组其一般实施例的结构方块图。
图8为本发明的平衡系统存储存取与局部存储存取的方法图。
具体实施例方式
以下参考
本发明电脑系统的控制芯片组的实施例。
图5所示为本发明控制芯片组第一实施例的方块图。如该图所示,控制芯片组50与已知控制芯片组大致相同,亦包括一主控制器200、一DRAM控制器201、一AGP/PCI控制器202、以及其它I/O接口控制器203。控制器200、201、202、以及203与已知控制芯片组的相对控制器的功能相同,不再重复说明。本发明的控制芯片组50除了具备上述各种控制器外,还包括一几何引擎(Geometry Engine)51、以及控制该几何引擎51的控制单元52。
如图5所示,几何引擎51包括一转换和打光控制单元511、一去复用器512、以及一多路复用器513。该转换与打光控制单元511是接收从去复用器512输出的绘图指令,并加以执行后输出至多路复用器513。而去复用器512与多路复用器513是由控制单元52的控制信号521与522所控制,藉以将主控制器200的绘图指令送至转换和打光控制单元511执行,或直接经由AGP/PCI控制器202送到AGP/PCI总线。因此,3D绘图指令可先经过转换和打光控制单元511执行,使得所连接的3D绘图加速器可不必具备该转换和打光控制单元,而降低成本。另外,控制单元52用来控制3D指令的流向,其中控制单元52具有两个控制信号521、522,分别控制去复用器512及多路复用器513选择操作。该控制单元52可使用暂存器来储存控制信号。
由于控制芯片组50内的几何引擎51的转换和打光控制单元511已将绘图指令中需要转换和打光控制的操作事先执行,因此CPU就不必以软件执行转换和打光控制的操作。同时,几何引擎的结构亦可由3D绘图加速器上移除,以降低3D绘图加速器的成本,且不会降低电脑系统的3D绘图性能。因控制芯片组50受到衬垫限制(Pad-limited),具有多余的逻辑门可使用。所以虽然配置几何引擎51与控制单元52的控制逻辑门,但不需增加控制芯片组50的面积。也就是说,控制芯片组50的成本不会增加。
图6所示为本发明控制芯片组第二实施例的方块图。如该图所示,本发明第二实施例的控制芯片组60亦包括几何引擎61与控制单元62。但是该几何引擎61除了包括转换和打光控制单元611、一第一去复用器612、以及第一多路复用器613外,还包括一数据流向控制单元614。该数据流向控制单元614是受到控制单元62的控制,且接收转换和打光控制单元611所输出的数据,并藉由控制单元62的控制信号623的控制,将该数据经由DRAM控制器201储存至系统存储器,或直接输出至第一多路复用器613,或藉由控制单元62的控制信号624的控制,将储存在系统存储器的数据经由DRAM控制器201输出至第一多路复用器613。数据流向控制单元614可由去复用器615与多路复用器616所构成。而控制单元62的四个控制信号621、622、623与624,分别控制该去复用器612、多路复用器613、去复用器615及多路复用器616。
由于第二实施例将转换和打光控制单元611所输出的数据经由DRAM控制器201储存在系统存储器,且需要数据时,将储存在系统存储器的数据经由DRAM控制器201输出。因此,不但可解决该转换和打光控制单元611与所连接的3D加速器的速度不匹配的问题,亦不会影响3D加速器的存储器带宽。
再者,几何引擎51、61除了具有转换和打光控制单元511、611的3D绘图功能外,亦可包括其他3D绘图功能,例如基本元素排序器(Primitives Sorter)。3D基本元素排序器是根据图形的Z轴深度,将3D基本元素再分级(Re-Order),并清除被完全覆盖着的三角图形,因此只有看得见的基本元素才会被存取及通过到下一阶段。所以,本实施例中,不可视的基本元素已事先被过滤,因此可提高所连接的3D绘图加速器的性能。
图7为本发明控制芯片组使用系统存储器的结构方块图。如该图所示,系统存储器已分配一存储器区域801给芯片组的几何引擎。因此,在第二实施例中,转换和打光控制单元611的数据可经由DRAM控制器暂存至系统存储器中。
其次,在一电脑绘图系统中,当控制芯片组内与3D绘图加速器内,皆各具有一个相同功能的几何引擎时,可藉由控制方法平衡控制芯片组内的系统存储器的存取与绘图加速器的局部存储器的存取操作,以提高3D指令的最高执行效率。图8所示为本发明的控制方法的流程图。其控制步骤如下步骤S801检测存储器存取状态,亦即分别检测系统存储器与绘图加速器的局部存储器的存取状态,且每一个图框或每一个场景检测一次;步骤S802若系统存储器较局部存储器忙碌,则执行步骤S803,否则跳至步骤S804;步骤S803关闭控制芯片组的几何引擎功能,并开启绘图加速器的几何引擎功能,跳至步骤S801;步骤S804若局部存储器较系统存储器忙碌,则执行步骤S805,否则跳至步骤S801;步骤S805开启控制芯片组的几何引擎功能,并关闭绘图加速器的几何引擎功能,跳至步骤S801。
在发明详细说明中所提出的具体的实施态样或实施例仅为了易于说明本发明的技术内容,而并非将本发明狭义地限制于该实施例,在不超出本发明的精神及以下的权利要求的情况,可作种种变化实施。
权利要求
1.一种电脑系统的控制芯片组,包括有一主控制器,用以连接CPU,进行指令传输操作;一DRAM控制器,用以连接系统存储器与所述主控制器,以进行数据的存取;一接口控制器,用以连接所述主控制器和其他输入及输出单元,作接口间的控制操作;一AGP/PCI总线控制器,进行AGP/PCI总线的控制;其特征是还包括有一3D引擎,与所述AGP/PCI总线控制器连接,并具有3D绘图的部分功能,以辅助所连接的3D绘图加速器的指令执行;和一控制电路,用以控制3D绘图指令在所述3D引擎的传输。
2.如权利要求1所述的电脑系统的控制芯片组,其中所述3D引擎包括一第一去复用器,接收自该控制芯片组的主控制器的绘图指令,并接受所述控制电路的控制信号的控制;一转换与打光控制单元,接收所述第一去复用器的绘图指令,并执行转换与打光控制操作;以及一第一多路复用器,接收所述第一去复用器以及所述转换与打光控制单元的信号,并接受所述控制电路的控制信号的控制将选择的信号输出至所述AGP/PCI总线控制器。
3.如权利要求2所述的电脑系统的控制芯片组,其中所述3D引擎还包括一数据流向控制单元,接收所述转换与打光控制单元所输出的数据,并藉由所述控制电路的控制信号的控制,将该数据经由所述DRAM控制器储存至所述系统存储器,或直接输出至所述第一多路复用器,或藉由所述控制电路的控制信号的控制将储存在所述系统存储器的数据经由所述DRAM控制器输出至所述第一多路复用器。
4.如权利要求3所述的电脑系统的控制芯片组,其中所述3D引擎还包括一基本元素排序单元,该基本元素排序单元接收所述第一去复用器的输出信号,并将排序后的数据经由所述DRAM控制器储存至所述系统存储器,而所述转换与打光控制单元则经由所述DRAM控制器读取储存在所述系统存储器的数据。
5.一种电脑系统的控制芯片组的控制方法,在一电脑绘图系统中的控制芯片组具有与所连接的3D绘图加速器的几何引擎的功能时,用来控制绘图指令的分配,该控制方法包括下列步骤检测存储器存取状态,藉以判别系统存储器与所述绘图加速器的局部存储器的忙碌状态;若所述系统存储器较所述局部存储器忙碌时,则关闭所述控制芯片组的几何引擎功能,并启动所述绘图加速器的几何引擎功能;以及,若所述局部存储器较前系统存储器忙碌时,则启动所述控制芯片组的几何引擎功能,并关闭所述绘图加速器的几何引擎功能。
全文摘要
本发明是关于电脑系统的控制芯片组及平衡存储器存取的方法。该控制芯片组包括一几何引擎、及一控制电路,藉以将3D绘图卡的部分功能移至控制芯片组处理,而简化3D绘图卡的设计。几何引擎具有3D绘图的部分功能,如空间转换、照明和排序等功能。而控制电路是用来控制3D绘图指令的流向,以有效运用该几何引擎。因此,不但可降低绘图加速器的成本,而且不会降低3D绘图的性能及增加控制芯片组的成本。另外,本发明的平衡存储器存取的方法,可平衡控制芯片组内的系统存储器的存取与绘图加速器的局部存储器的存取,以提高3D绘图指令的最高通过功率。
文档编号G06F12/00GK1421821SQ0114244
公开日2003年6月4日 申请日期2001年11月28日 优先权日2001年11月28日
发明者李润容, 萧见忠, 梅林天, 白宏达 申请人:矽统科技股份有限公司