|
|
| | -文章搜索 - 最新文章 - | |
激烈的平台之争GPU垂涎CPU的地盘 |
| 发布时间:2006年2月13日 点击次数:549 |
| 来源:EDN电子设计技术 作者:Brian Dipert,EDN高级技术编辑 |
处理器供应商赚钱的关键是销售功能日益增强的处理器的能力。而图形处理器供应商则用升级来保持成功。这些升级将越来越偷偷地依赖于CPU曾经运用过的功能。 在2005年7月中旬 IEEE Hot Chips 会议(www.hotchips.org)上,Nvidia 公司首席科学家 David Kirk 作了一个令公众吃惊的主题演讲,他证实,图形行业的发展已经走上了业界观察家们一直暗示的一条道路。Kirk 陈述说:“由于像素/顶点/三角数量增长的放缓与稳定...”(参考文献 1)。这句话翻译过来就是:日益复杂的 3D 应用 GUI(图形用户界面)的单调工作正在失去动力,不过 Kirk 马上也指出了其他降低性能的图形因素也是增长呆滞的部分原因,如每像素的颜色采样数(抗锯齿)以及每个像素和每个顶点的计算数量。 那么,哪些因素会使图形的复杂性减速?除了 Windows XP 媒体中心编辑系统以及在起居室和书房中限于 HDTV 显示的计算机以外,大多数 Mac 和 PC 均使用 17 英寸和更小对角尺寸的显示器(参考文献 2、3)。也许是因为现在 Windows 操作系统中图标、光标、文字和其它 GDI (图形显示界面)元素都是用光栅实现,所以我们很少遇到分辨率高于 1024×768 像素的情况。(Windows OS 不同于 Max OS X 等更先进的基于矢量的图形显示方案,它无法实现与设备无关的高质量显示定标。)多显示器的 PC配置 还没有广泛应用。并且,虽然提高图像质量要求晶体管运行在更高的频率上,并且其数量会呈指数增长,而驱动这些晶体管的软件的复杂性也会呈指数增长,但这些改进很少为用户所知。这种情况对那些第一人称射击游戏和其它快速运动的游戏尤其如此。
● 渲染模式不断出现; ● 内存数据路径支持反复计算; ● 现在已能实现数据更好地出入 CPU; ● 数据放大支持现有技术,如几何着色; ● 高级渲染语言正发展到能支持新的功能与抽象。 随着 API(应用编程接口)的发展,使操作系统和设备的能力按照确定的进度得以实现,GPU 正在变为更通用的协处理器。当这些转变继续下去时,GPU 将有可能夺取当前 CPU 上软件所实现的其他功能。但是,CPU 供应商正在非常积极努力地保持自己升级工作的平稳运转,不会让 GPU 供应商轻易得逞(见附文“CPU 展望”)。同时,其他专用功能处理器也期望自己成为焦点,而将 CPU 和 GPU 均看作竞争对手。这场拉锯战并不限于 PC 领域,在任何有显示功能的系统中都可能发生。
打开大门迎接变化 CPU 和 GPU 都在近些年得到了发展,并倾向于减小两者之间的差异,重新定义它们的相互关系,使它们朝着冲突的方向前进。随着 SIMD(单指令、多数据)指令集的出现,如 Intel公司 的 MMX(多媒体扩展)及随后迭代的 SSE(流 SIMD 扩展)和 AMD公司 的 3DNow!、PowerPC公司 的 AltiVec,CPU 已经可以用一个普通指令同时处理多个数据(参考文献 7)。接下来出现了超标量 CPU,它可以并行地处理多个独立指令。Intel公司 的超线程(Hyper Threading)特性将并行机制提升到了一个新水平,实现了多个指令线程的有限并行执行,而现在多家供应商新推出的多内核 CPU 则用一种更普遍的形式将此能力进一步外推(图 2)。那么图形加速器在做什么?引用一段 Kirk 为创新的图形参考指南 GPU Gems 所写的介绍:“我们已经进入了可编程 GPU 时代。图形硬件管线过去 20 年没有显著变化,现在它打破了构成的硬连接元素,重新构建出可编程的并行管线处理器。在硬连线管线中,三角形顶角被改变并显示,三角形被光栅化,而像素则用扩散光照、镜面取幂、走光融合和帧缓冲融合进行着色。” 点击看原图
Kirk 继续说:“在可编程管线中,每一个这类操作都抽象为其内存存取和算术运算。程序员仍编写计算与硬连线管线相同结果的程序......但出现的机会却多得多”(参考文献 8)。除了 CPU 和 GPU 的发展以外,平台变换的另一个关键之处是互连它们的总线的改进。以今天的术语,多个竞争性外设要共享 PCI 带宽,它的速度慢得像糖浆流动一样,对于1.05Gbps的单向峰值带宽而言为32b和33MHz。专为图形而定制的 AGP(图形加速端口)总线的最高速度扩展可达 16.8 Gbps 峰值带宽(8 x 型),但这只是单向速度,即从 CPU 至 GPU。经过AGP 总线从 GPU 返回 CPU 的数据流动要慢得多,峰值速度只有 1 x AGP(2.1 Gbps,或 PCI 的两倍),上行的 AGP 信息量也因相干性和所用的 PCI 设备而经受窥探。 第一次转换 起初,DVD 播放软件不得不着重于对图形子系统的检查,看用的是哪种 GPU,然后采用众多的 GPU专用例程来反映每种芯片的硬件加速功能。例如,早期 Nvidia 芯片在 MPEG-2 性能方面要低于 ATI 技术公司相对应产品。(但是,这个差距近些年已经减小了。如 Nvidia GeForce 6xxx 和 7xxx 芯片包括分别用于 MPEG-2、运动补偿和视频处理的三个专用的视频引擎。它们还将芯片的着色处理器的优点用于视频功能。)内核逻辑芯片组中集成的图形内核性能也低于独立的 GPU。微软公司在 2000 年底推出 DirectX VA(视频加速)帮助摆脱了这种发展与保持的困境。对视频解码功能的 API 支持是微软操作系统继续领先于苹果 Mac OS X 的领域之一。(鉴于 Mac 在多媒体方面有史以来的优势,这种领先令人惊讶。)唯一一种涉及系统图形芯片视频解码应用程序的是苹果公司自己的 DVD Player 程序。所以,现在要在 Mac 机上实现高分辨率 MPEG-2 和 MPEG-4 的全帧尺寸不丢帧回放,需要一套高档的双 CPU G5 Power Mac Apple 系统。另一方面,今天市售的几乎所有 Windows 系统都可以平滑地播放高分辨率 MPEG-2 视频流。 随着ATI、Nvidia 和其它竞争者最新一代 GPU 的出现,以及他们从硬连线解码管线扩展至更普通的着色处理器的创新,对视频格式的支持已经超出了 MPEG-2 的范围。首先是 WMV9(Windows Media Video 9),或按 SMPTE(运动图像与电视工程师协会)的术语叫 VC-1。最新迭代的 DirectX VA 具有支持的硅片和驱动器,在回放高分辨率 WMV9 剪辑时极大地减少了 CPU 的负担(图 3)。吸引图形供应商注意力的最新格式是 MPEG-4 AVC(先进视频编码,或 MPEG-4 Part 10 和 H.264)。ATI 公司在2005年9月底的 Avivo 上宣布,公司未来的 Radeon X1300、X1600 和 X1800 GPU 将能够以 GPU 加速方法,同时对 MPEG-4(支持到 AVC)、WMV9、 MPEG-2 和 DivX 格式的视频进行解码和编码。视频编码加速采用了 DirectShow API,如 MPEG-2 编码器芯片驱动器所做的一样。Nvidia公司 在2005年6月推出了它的 GeForce 7800 GTX,作为这一发布的一部分,它也公开表示希望能与伙伴公司 CyberLink公司 和 InterVideo公司合作,在2005年底假期购买季时能得到MPEG-4 AVC支持。
下一个前沿 2003 年 5 月,Creative Labs 推出了一种基于附属 3Dlabs VP500SE GPU 的梦幻图形卡:Graphics Blaster Picture Perfect,该卡通常与梦幻产品一起打包的,但该卡在市场上并未取得特别成功。根据供应商的介绍,该卡带有一套来自 ArcSoft 公司的软件。软件中包括 PhotoImpression,它有许多先进的图像编辑功能和特殊效果滤波器,可以直接运行在 Graphics Blaster Picture Perfect 上。另外,它还含有 Panorama Maker,能将水平、垂直或拼接式的一组图像组合成全景图片。Panorama Maker 采用 Graphics Blaster Picture Perfect 上的 VPU(虚拟处理单元)来提高图片间的粘合速度。最后,该套件中还有 PhotoPrinter,它可以将多个图像打印在一张纸上,以及同时打印多页等(参考文献 10)。 Graphics Blaster Picture Perfect 缺乏先进的图像编辑程序的支持,如 Adobe Photoshop。基本上只有专门的 ArcSoft 程序可以利用 Graphics Blaster 的加速功能。如要被业界更广泛的采纳,就需要 Windows 操作系统中的 API 支持,对此功能,微软还未提供。关于API 支持 GPU 上的静止图像与视频影像编辑加速,Blythe 称:“我们对这些事非常非常感兴趣。它们看来是很自然的事。一旦有了一个可编程的像素处理管线,视频与静止图像就只不过是像素块而已,这不很好吗?我认为它们只是另一个阶段的事,至少是在视频解码道路上。当我制作了这些经过程序分块、缩放、颜色校正等处理过程的图像后,我就能对它们作进一步的处理,它只是一个像素的缓冲,实际上,你可以把它看成是一个 3D 图像的纹理贴图。并且你可以随便对它做任何像素着色处理。” 苹果公司提供核心图像库,但微软则不同,迄今为止还没有提供可以相比的东西。Blythe 说:“我们一直专注于高级编程语言,它能够用可编程着色语言表述这类运算,而不提供任何种类打包的运算套件。但我们当然也在关注这种技术。我们认为,这是将 GPU 扩大用于除视频解码和游戏以外其他应用的一个机会。”正如 Blythe 所指出的,虽然苹果可能缺乏像微软那样的 GPU 上进行视频解码的第三方 API,但苹果公司已经在最新的 OS 10.4 Tiger 操作系统发布时推出了一个图像编辑 API:Core Image,它已于2005年4月底开始交付。根据苹果公司产品系列高级经理 Wiley Hodges 的说法,已经有约 30 个应用支持 Core Image。苹果公司还提供 Core Video API。Hodges 解释说:“在 Tiger 中,Core Video 是用于一组连续画面的基本 Core Image。因此,它们本质上没有什么不同。” 根据苹果公司网站上对 Core Image 部分的说法,Tiger 中捆绑了 100 个 Core Image 单元,另外还捆绑有 Core Image Funhouse,这是一个前端验证程序。硬件加速需要一个基于像素着色的 GPU,但Apple 网站解释说,对于没有可编程 GPU 的计算机,Core Image 也可以对 CPU 作动态优化,自动地调整 Verlocity Engine(速度引擎,即 AlitiVec 支持)以及多处理器(参考文献 11)。Hodges 说:“对开发者来说,Core Image 能够让不太精于图像处理的人在自己的应用中增加这一功能,免得成本过高或难于实用。而对有这方面技术的人来说,这是一种使用效果和滤波器标准组件的好办法。”Hodges 称效果是用高级语言写成的,该高级语言是基于 OpenGL 着色语言的一个子集,而苹果公司将在应用程序执行的目标硬件上提供对效果的即时编译功能。 Hodges 认为:“效果在 CPU 或 GPU 上都可以运行,有意思的是,虽然 GPU 有强大的并行能力,但它们一般不善于做各种效果或转换。这样我们可以看需要什么,并在最合适的地方优化执行这些运算。”在进行 Core Image 编译时,苹果公司是否在 Mac 的 ATI GPU 上考虑了对 24 b 浮点运算的支持?而最近三代的 Nvidia 芯片(5xxx、6xxx 和 7xxx)则具备 32 b 浮点能力。Hodges 说:“是这样,但这对最终结果没有影响。就是说,在相同质量等级下,你也许不会在 ATI 上获得与 Nvidia 相同的性能。现在我们确实看到了复杂的 Core Image 在高端 Nvidia 卡上的效果。” 即使没有 Windows API 的支持,GPU 加速的优点也促使一些视频软件开发商下决心尽早投入,实现某种程度的支持。Adobe 公司高级产品经理 Giles Baker 说:“无论现在与将来,Adobe 图像编辑与视频产品所关注的一个主要领域就是利用 GPU 处理器功能不断增强的优势。”他表示,由于 GPU 功能的增长速度继续保持快于主 CPU,越来越多的 Adobe 用户只通过简单地升级图形卡来提高系统的整体性能。这是迄今保持系统具有更好性价比的一种方法。 Baker 称:“在 Adobe Premiere Pro(以及 Premiere Elements)中,我们都直接用 GPU 提供各种加速效果,只要你的图形卡有此功能就可以实现。”他补充说,今天的大多数图形卡都支持这些效果,因此大多数人都能从该功能中获益。“随着 HD 产品越来越普及,GPU 成为一项关键技术,我们用它来帮助移动建立 HD 分辨率视频节目所需海量数据。随着操作系统的发展,它们能够提供对 GPU 的更底层访问,这样我们可以达到以前只有专用硬件才能实现的性能水平。”至于 Photoshop 中的 GPU 支持,Baker 说现在随 Photoshop 出售的插件都没有 GPU 加速功能。然而他补充说:“我们认为在今后所有的产品中,利用 GPU 加速的优势都是一个现实的机会。”仔细体会一下这里的话外之音吧。 当然,视频编辑并不只涉及视频问题。录像师也会经常把 2D 和 3D 图像场景转换、文本以及“eye candy”在烧录到 DVD 或其他可存档和播放的格式之前添加到剪辑中。由于图像子系统是在计算机显示器上显示图像信息,采用同一个 GPU 来做图像效果的渲染就是顺理成章的事。这些效果与视频内容在系统 RAM 和硬驱上结合,因此它们也能从 PCI Express提供的上行大带宽获得好处。据 Adobe 公司的 Baker 说,Adobe After Effects 6.5 用 OpenGL 加快制作过程中运动图像目标的屏幕回放。他说:“我们将某些处理工作直接卸载给 GPU,从而减少等待,获得更快响应的性能。这样可以鼓励制作者的尝试,做出更富创意的设计结果。” Baker 继续说:“由于 Adobe 的产品都与创造性的内容制作有关,因此这对我们的用户是一个巨大的优势。OpenGL 是一个发展中的标准,我们计划利用 OpenGL 的新功能作为技术开发项目。” After Effects 的 Mac OS 补足软件,苹果的Motion,也通过 OpenGL 来利用 GPU。按苹果网站的解释,Motion 是第一款带 GPU 加速、32 b 浮点渲染真实影片质量的运动图像软件。其文档还指出,它的 32 b 浮点渲染能产生精细的色彩精确度,消除手工制作赝象,甚至能提高渲染成 8 b 格式时的质量。最后文档声称,你可以得到随新一代 GPU 自动增减的最多细节、最好的质量和色彩范围(参考文献 12)。Hodges 所言以及苹果网站证实,安装最新版的 Motion 2软件需要一个基于着色的 GPU。 超越图形的游戏
参考文献
附文:CPU 展望 当与 PC 微处理器供应商 AMD公司 和 Intel公司 谈论即将来临的 GPU(图形处理设备)竞争威胁时,得到的回答是不相同的。AMD公司 微处理器业务部门负责服务器与工作站业务的产品经理 Steve Demski 在2005年7月初于洛杉矶召开的 Siggraph 研讨会上说:“我在有 TCP/IP 卸载硬件的服务器上看到了同样的事情。我认为这是件好事。只要 GPU 可以做得更好、更快、更便宜,当然是件好事。这样能够让通用 CPU 腾出手来做更多的其他工作。” 但是,将一些功能从 CPU 转移到 GPU 上是否会对 AMD 未来的 CPU 业务造成负面影响呢?Demski 的回答是:“要看操作系统。现在的操作系统是多线程的。它们在一个双核 CPU 上会运行得更好。”他指出,我们仍然有多个应用:后台任务、弹出窗口阻挡软件、防护病毒感染等等。他补充说:“大量应用都请求 CPU 资源,哪怕是双核 CPU。如果能够将更多图形密集工作卸载给 GPU,整个系统的速度就会加快。” AMD 公司的公关经理 Scott Carroll 插话说:“我们企业关注的是客户需求以及最终用户的体验,如果它意味要与更好的图形卡以及与图形卡公司打交道,那我们就会去做。”他补充说:“我们不会与那些怪人竞争,我们的竞争对手是 Intel。”Carroll 指出 AMD 会尽可能地消除系统瓶颈,如公司在 Opteron 上采用的直接连接架构。 Intel公司 对 GPU 的角色持何种观点呢?就 Intel 在内核逻辑芯片组中支持 MPEG-2 以外视频格式的问题,公司的图形架构师 Patrick Smith 说:“某种程度上,我们需要实现更多的解码结构,主要是支持新兴的使用模型。”Smith 说的这个“新兴使用模型”是指 VIIV 品牌的数码家庭,它包含一个中心集线器、数字服务器,以及散落在家居各处的相对较“傻瓜”的媒体回放设备。那么 Intel 如何协调好越来越多的专用视频解码电路需求,以及Intel路线图上功能日益强大的 CPU?他说:“光靠 CPU 马力是不够的,不管你投入多少内核来解决问题。” 但 Smith 认为对专用物理处理器的需求不太乐观。他暗示:“今天我们在 CPU方面正进行物理现象的探求,发现 有着充裕的计算能力。我不认为我们需要将任务卸载给其他设备,这样会给系统增加更多成本负担。”他还指出了系统中增加另一个大功率处理器的问题:发热。Smith 认为现在的情况是,主流应用并没有对系统和 CPU 施加很大的压力,使我们足以得出硬件需要更换的判断。他也承认图形芯片公司既是竞争对手也是合作伙伴。例如,作为合作伙伴,他们有助于共同定义 PCI-Express。在比较 AMD 与 Intel 的不同观点时,应记住 Intel 在其某些核心逻辑芯片组方面提供图形内核,而 AMD 在核心逻辑与图形支持方面则依靠半导体伙伴。 尽管未来的 GPU 可能会夺走一些现在由 CPU 完成的功能,但会不会出现相反的情况?CPU 可不可能重新夺回现在由 GPU 处理的任务?让我们从大处着眼,先看一下 AMD公司 和 Intel 公布的十年 CPU 路线图,CPU 的能力将有相当程度的提升。处理器厂商能够投入的营销预算要远远高于 GPU 供应商,足以使客户信服而购买他们的 CPU。 其次,让我们将注意力集中在视频解码上。虽然前几代以 Windows MCE(媒体中心版)为基础的PC 含有强大的 CPU 和 GPU,但它们仍要专用的 MPEG-2解码 芯片来完成 PVR(个人录像机)功能。微软希望今后一定的时间内 MCE 系统无论如何变化,消费者都不会遇到视频帧丢失问题,或者其他录像电视问题。但在2005年8月中旬,CyberLink 公司宣布它用于 Windows XP MCE 2005 的 MPEG-2 软件解码插件获得了微软的认可,并称它在录制具有 MPEG-2 音、视频质量的电视节目时可以避免依赖硬件芯片组,从而可为调谐卡制造商显著降低成本(参考文献 A)。 最后,我们来看看图形卡。回忆一下,在 1996 年 3dfx 公司的 Voodoo 1 芯片和所有重要的 Quake 游戏使用它之前,3D 图形加速仅限于范围很窄的高端工作站上使用,还有像飞行模拟器这类虚拟现实专业应用场合使用。在那时少量的主流 3D 软件中,CPU 上运行的软件要完成图像原素至像素的全部渲染,然后再传递给 2D 图形芯片,或者,如果 CPU 能处理 2D 渲染,则传给 RAMDAC。鉴于 Intel 公司现在的 945G 芯片组中的图形内核是基于着色的,其硬件加速功能只是像素着色运作。(有时候工程师们把这些运作叫做片断着色运作 。)顶点着色代码是在 CPU 上的仿真软件。如果 3D 图形不超出狂热但很小的游戏范围,如果 Kirk 对于游戏界像素、顶点和三角形缓慢增长的预言成真,那么是否会由于严酷的物料清单紧缩压力而将处理负担转回到 CPU 身上? 乍看来这种预测似显古怪。但考虑以下事实,虽然 Nvidia 和 Sony 都对谣言不作评论,但业界消息灵通人士认为Sony后阶段的开发决策是要在 Playstation 3 中使用 Nvidia 的 GPU(很可能是 GeForce 7800 GTX 的一种近亲版)。据业界传闻,在Sony 最初构思 Playstation 3 时,曾准备完全用自己的 Cell 处理器承担图形运作。如果这个故事是真的,那么Sony的工程师是过于乐观了。但是,他们针对图形认真考虑纯 CPU 的事实说明了很多问题,即今后几年 CPU 与 GPU 将如何展开一场激烈的竞争。 参考文献: |
|
|
|
|
[DSP数字信号处理] 相关文章: 一种基于DSP的逆变电源并联运行控制系统简介:
随着社会经济和科学技术的迅猛发展,人们对电源系统的供电质量和可靠性提出了越来越高的要求。采用模块化的逆变器并联运行而构成的电源系统,由于具有高可靠性、大容量的特点,不仅有良好的可维护性和通用性,还可以灵活地组建各种功率容量的系统;而且模块化便于生产的规模化和降低成本,因此其应用前景也越来越广泛。 在多个逆变器的并联运行控制中,不仅需要对每个逆变器的运行参数(如输入电压、中间变量、输出电压和电流等)进行大量的数据采集和实时处理,还要在各逆变器之...... JPEG2000小波提升在DSP上的缓存管理
赛灵思收购AccelChip,提供独特的DSP技术组合
基于Blackfin533的H.264编码
PC微机与松下FPIPLC远程通信的与实现
多处理器系统中Nios II软核处理器启动方案的设计
基于MC9S12DP256的轿车ABS/ASR集成控制系统
XILINX收购ACCELCHIP 目标20亿美元高性能DSP市场
英特尔承认:市场份额又被AMD蚕食1个百分点
TI模拟视频信号处理器具有全面I2C可编程性 |
|
|
|