账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
挑战CPU地位的绘图晶片
 

【作者: Gandalf】2004年01月15日 星期四

浏览人次:【7822】

自电脑有了显示功能以后,其功能就愈来愈复杂。从最简单的文字阵列显示,进一步能显示图形,接着能处理平面2D的绘图指令。发展到了今天,就算最入门的阳春机种,都会搭配能处理3D绘图指令的显示卡。大家对于nVidia、ATi等研发绘图晶片大厂的名字耳熟能详,但对于绘图晶片中的功能、架构和发展过程,也许就有些陌生了。借这个机会,我们来好好谈谈绘图晶片吧。


显示晶片和绘图晶片

这两个名词,过去到现在都没有一个很明确的定义,只是习惯性的称过去显示卡上的晶片为「显示晶片」。现在的显示卡不仅能显示影像,也有了绘图的功能,所以也被称做「绘图卡」。卡上所使用的晶片也被称为「绘图晶片」,或结合以上两项功能,叫做「绘图显示晶片」。


绘图和显示到底有什么差别?过去的显示卡所用晶片,并不能叫做「绘图晶片」,充其量只能叫做「显示晶片」。因为其功能只是单纯地把显示记忆体中的资料,转换成显示器的讯号,让显示器可以显示出来而已。使用这类显示卡在做影像或图形处理工作时,图形或影像的内容都要由CPU处理完成,再把处理后的资料放到显示记忆体中,让显示晶片上的RAMDAC(Random Access Memory Digital -to-Analog Converter)对显示记忆体做一次由上到下的扫描,把这些数位资料一行一行的转换成显示器的类比讯号。


绘图晶片除了有上述显示晶片的功能外,本身就有能力可以处理图形和影像。换言之,CPU可以不用费神在处理图型和影像上,只需要指挥绘图晶片做事,绘图晶片便会把这些事情处理好,把结果放到显示记忆体上。剩下的动作和一般显示晶片并无二致,由RAMDAC把图形资料输出给显示器便完成了。那些工作是可以由绘图晶片代理,不需要CPU亲自处理呢?这些工作包括了影像处理、解压缩、影像资料搬移及2D的绘图指令等。当然,现在最重要的就是要能处理3D的绘图指令,如(图一)所示。


《图一 显示适配器和绘图卡》
《图一 显示适配器和绘图卡》

因为CPU不需要处理这些繁杂,运算量又大的工作。大可以多花点时间去处理磁碟存取、使用者介面(User Interface;UI)上,将现今多媒体的系统效能大幅的提高。


更强大的影像处理功能

影像处理是现在绘图晶片必备的功能,但因为每家厂商做出来的功能皆大同小异,一般人很少特别去注意。现在的绘图晶片都能进行MPEG的即时解压缩,用最简单的话来说,就是能放映电影、动画、VCD及DVD等等。这些影像资料都是以压缩的方式存放在磁碟或光碟当中,当我们想要放映时就要做一个解压缩的运算,还原压缩前的影像才能放映出来。演算大量的影像资料当然不是轻松的工作,以前的CPU运算速度不够,无法顺畅的播放,所以那时会外接一张解压缩卡来做这工作。现在则是把这个工作内建在绘图晶片中。另外,有的绘图晶片还能对显示出来的画面做反锯齿(Anti Alias​​ing)、清晰(Sharp)、模糊(Blur)及色调的处理等,让显示出来的结果可以更加的美观,符合显示器及观众的需要。


3D处理能力

3D资料我们可以概略的分成两个部份,一是图形资料,另一个是材质资料。一张3D显示卡处理的不外乎就是这些资料,所以一张3D显示卡的性能如何,就看处理这些资料的能力了。


图形资料

3D的图形资料就是许多不同的立体几何形状。实际上在处理时,会被拆解成许多的三角形。绘图晶片要做的事,用讲的很简单。把这些三角形按光线情况和角度等资料一一上色,转换成我们萤幕的平面座标,就可以显示出来了。这些工作又可以简单的分成两个部份,座标转换(Transform)及上色(Lighting)。座标转换及上色通常被合称为T&L。因为T&L运算量庞大,需要大量电路来完成,所以早期的3D绘图晶片并不实做这个部份,仍旧交给CPU来处理。但随着现今对此运算速度的要求愈来愈高,于是大部份的绘图卡都将此功能由硬体电路实做,内建在绘图晶片中,如(图二)所示。


《图二 绘图数据处理流程简图》
《图二 绘图数据处理流程简图》

座标转换

想像你的手中有一片三角形的纸板,试着转动它并观察每一个角度的变化。我们可以发现随着三角形面向的位置不同,投影到我们眼中的形状也不一样。在电脑的3D处理中,也有类似的动作。因为萤幕是平面的,3D的世界就要透过投影(Project)的动作,才能显示在萤幕上。就像我们用眼睛观察真实世界,最后投影在我们的视网膜上成像一样。只不过眼睛看东西可以靠光投影的物理法则自然完成,但电脑在处理这些座标转换的动作时,却要使用着大量的数学运算。此外,3D虚拟世界中的物体在移动或转弯时,也需要对应的数学运算来处理。一颗3D绘图晶片每秒钟要能处理数以千万计的三角形,才能让3D游戏动作顺畅。每秒钟能画多少三角形便成了绘图晶片的性能指标之一。请参照(图三)。


《图三 三角型角度和投影的关系》
《图三 三角型角度和投影的关系》

上色

一张色纸在一般情况下,怎么转动都会是同一种颜色。但若考虑灯光的效果时,就复杂得多了。例如色纸面光的角度不同,色纸的颜色就会有明暗的变化;如果还要考虑灯光的颜色不同,那就更复杂了。在3D虚拟世界中,电脑透过一连串模拟光学的公式,来运算出最后的颜色。


在萤幕上我们最后画出的三角形,也是由一个一个的点构成。这些点依其所在位置不同,颜色也有可能会不一样。座标转换后的三角形,绘图晶片会把上面每个点的颜色再一一计算出来,构成萤幕上最后色彩缤纷的图案。


材质资料

很多时候运算出来的颜色并不能很好的表现真实的世界。很多真实世界的物体有其独特的花纹。以一只黑白相间的斑马为例,若只用全黑或全白的三角形去拼组它,都不会有很好的效果。当然,若这些全黑或全白的三角形十分细小,那么可以拼组出我们想要的图,却会造成运算量的大幅增加。最理想的办法,是把斑马全身上下的斑纹全部照像拍下来,然后再贴到我们用三角形拼组出来的马身上,就可以做出逼真的斑马了。这些照片,就是我们所称的材质(Texture)。


使用材质最大的问题就出在于这些材质影像体积都不小,每次要绘图时再存取相当耗时间,所以都尽可能存在绘图卡上的记忆体中,以便随时存取。以前绘图卡上的记忆体不大,若是要使用的材质不在绘图卡的记忆体中,就要想办法把原先占用绘图卡记忆体中不重要的材质先移出去,清出空间来放现在要用的材质。这些搬过来移过去的动作,占用了大量记忆体的频宽,令绘图效能大打折扣。为了处理这个问题,AGP(Accelerated Graphics Port)这个规格便诞生了。 AGP可以让绘图晶片用很快的速度直接读取系统记忆体上的材质,而不需要经由原来PCI的方式搬移材质,让绘图的速度变快。这个规格现在有了2x、4x、8x等等版本,一代比一代快。现今新的绘图卡几乎都支援AGP 8x,解决读写材质时的频宽问题。


在记忆体便宜了以后,稍微好一点的绘图卡都配有128MB其至更高的记忆体,从根本解决材质记忆体不够的问题,对3D游戏来说,实在是绰绰有余了。


除了材质的移动外,绘图晶片每画一个点,都要到材质记忆体中存取对应的材质像素(Texel)。所以就算没有材质搬来搬去,在绘图的过程中,还是需要不断地存取材质记忆体。解决的方法就是换用更好更快的记忆体,及加大记忆体的频宽。有时同样的绘图晶片规格,却有着相当大的价格差异时,多留意一下记忆体的规格,相信会有些线索。


《图四 材质数据图标》
《图四 材质数据图标》

绘图晶片革命性功能 - 着色器

在Microsoft推出了DirectX 8.0以后,绘图晶片可以说是跨入了另一个纪元。因为从那以后,绘图晶片除了固定的绘图管线(Rendering Pipeline)外,也可以用自订的程式取代这些绘图管线,做出以往很难达成的效果。这些自订的程式,称做着色器(Shader),请参考(图五)。


《图五 着色器与绘图管线》
《图五 着色器与绘图管线》

着色器依其在绘图管线的位置和功能,又分为顶点着色器(Vertex Shader)及像素着色器(Pixel Shader)。顶点着色器可以取代原先T&L部份的功能,影响3D物体的形状、位置及颜色;而像素着色器则可以针对三角上的每个点做运算,改变每个点绘出的效果。这两个技术已经广泛的被运用,而且已经有游戏的厂商使用这些技术设计游戏特效,画面效果亦远比以往的游戏更精致;同样的技术也已经应用在电影特效上,做出更逼真的特效片段。


因为绘图晶片日新月异的强大功能,着色器也延伸出了另类的用法,反客为主地抢了CPU的工作,进行一些大量的数据分析运算,应用在天气预报等等需要庞大复杂运算的事情上。


除了DirectX 8以外,3D绘图介面的另一大老OpenGL也有对应的动作,推出了Vertex Program及Fragment Program分别对应DirectX的顶点着色器及像素着色器,收录在1.5版的规格文件中。 OpenGL在Fragment Program的要求较Pixel Shader来得高,于是支援DirectX 8 Pixel Shader的绘图晶片未必支援OpenGL的Fragment Program。


在Vertex Program及Fragment Program之后,绘图晶片的元老之一3DLabs又订定了一套新的Shader语言,称为GLSL(GL Shading Language)。本来要用在OpenGL 2.0上,但目前已经提前纳入了1.5版的规格书中。 GLSL的要求更高,几乎可以把绘图晶片拿来当CPU使用。目前除了3DLabs自家的顶级卡之外,还没有发现有其他厂商支援。


展望未来

绘图卡的未来并不难预见,因为很多规格已经是摆在眼前的事实,以下列举几项。


高阶着色器

目前着色器的写作语法,还是类似组合语言一般。但在nVidia提出的CG及3DLabs提出的GLSL等,都有偏向高阶语言的趋势。也就是说,将来我们可以用像C甚至C++的语言来写作着色器。绘图晶片的资源及功能也将更丰富,才能执行这样高阶的著色器。


PCI Express

AGP已经到了8x的规格,已经快到了极限的边缘,而且一台主机只能有一个AGP更是麻烦。为了因应将来更广泛的需求,更庞大的资料量,肯定需要一个更快的汇流排来承载这些资料。现今PC上的卡的界面,几乎都是以PCI Bus来做沟通。大家也都很明白,PCI的频宽已经不敷现在的要求,更别提将来更庞大的资料量。所以Intel提出了PCI Express做为将来的改善方向。


PCI Express在速度上有比AGP更大的发展潜力,也不需要在主机板上拉出密密麻麻的资料线,甚至连结的对象不必在同一张机板上。这表示以后绘图晶片可能直接内建在显示器上,而且可以连接超过一台以上的显示器及绘图晶片。同时这也代表了显示器的厂商可以直接为绘图晶片做最佳化,以后绘图晶片的设定会更为简单方便。


整合型绘图晶片

许多的绘图晶片是设计给独立型的绘图卡(Standalone Graphics Card),讲求速度快,功能齐全,不太在乎耗电及高热的问题。但办公型及可携式的电脑就不能这样做,省电、省钱及低发热都是重点问题;前面也提到绘图晶片有着大量存取记忆体的需要,所以把绘图晶片和控制记忆体的北桥晶片(North Bridge)做在一起,显然是个不错的主意。所以Intel、威盛、SiS、nVidia等等都推出了这样的产品,既可以压低成本,又能兼顾不错的效能表现。


IA家电

Microsoft急于发展Xbox,入军游戏机的市场,引用了PC上成功的经验来发展游戏机,其中很重要一点就是使用和个人电脑相近的绘图晶片。 PC的游戏市场早已不输给电视游乐器,功能更是有过之而无不及。但不能马上开机就马上玩这点,直到今天还是PC的痛。但PC的技术成熟也是无庸置疑的,所以把PC发展成功的部份移往家电,是可行的方式。游戏机只是一个开始,笔者相信将来还会有内建绘图晶片的数位电视,或3D图型操作界面的冰箱、微波炉等等。


结语

绘图晶片在电脑中是个异数,古早的电脑中并没有它的存在,现在却几乎成了电脑的第二颗心脏。在其发展史中,有一点很特别地是没有能常久独占市场的厂商出现,执牛耳的厂商一直不断轮替或并购,其原因主要也是在于绘图晶片发展的未来动向不好掌握,一个决策上的小失误,就可能失去市场先机。


这两年来情况有了改变,主要还是因为Microsoft介入,统合了软体业者及相关规格,让所有人有可以依循的方向,未来发展的方向不再难以捉摸。但绘图晶片的应用方向和范围已经展开了,以往在PC上的主战场现在被分散到各个层面,成为另一个变数。跳出现有的范围再想想,也许还有很多绘图晶片的应用方向,是现今还没想到的呢。


<作者为电子产业研发工程师>


延 伸 阅 读
Shader技术提供了绘图系统或游戏厂商一个标准,按这样的标准就可以设计出一个绘图系
统的「机器语言」。在不同的绘图卡上执行时,就不需要考虑相容的问题,也能更贴近硬体层面,彻
底的利用CPU的每一分效能
,相关介绍请见「绘图晶片的指令集」一文。
从NVIDIA 所推出的一系列产品当中,我们可以知道其产品开发是根据应用产品的效能需求
来做相应的产品规划,从传统PC类产品所需的绘图晶片开始,到以包含大量图形处理运算的非PC类应
用产品,如Xbox等电视游乐器所需的绘图处理器(Graphic Processor ​​Unit;简称为GPU)产品;透
过更完备的图形处理功能的提升,来大幅增加产品本身的附加价值
,你可在「绘图卡产业之概况」一文中得到进一步的介绍。
绘图处理器GPU的技术性定义为:整合了转换、光效、三角构图与著色引擎的单晶片处理器
,每秒可处理高1千万个多边形。简单地说,GPU改变了您在电脑上所见过或是经验过的所有事物。这
篇文章带读者进入3D的幻想世界
,在「第二代绘图处理器颠覆传统3D效能」一文为你做了相关的评析。
相关组织网站
3D GPU的新闻网站
nVidia技术官方网站
Intel AGP技术网站
相关文章
机器视觉与电脑视觉技术的不同应用
NVIDIA人工智慧专家看2024年
AI助攻晶片制造
新兴处理核心 定义未来运算新面貌
[新闻十日谈]NVIDIA GTC 2021是科幻,还是未来世界?
comments powered by Disqus
相关讨论
  相关新闻
» 印尼科技领导者与NVIDIA合作推出国家人工智慧Sahabat-AI
» 豪威集团推出用於存在检测、人脸辨识和常开功能的超小尺寸感测器
» ST推广智慧感测器与碳化矽发展 强化於AI与能源应用价值
» ST:AI两大挑战在於耗能及部署便利性 两者直接影响AI普及速度
» 慧荣获ISO 26262 ASIL B Ready与ASPICE CL2认证 提供车用级安全储存方案


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.2048.18.219.207.11
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw