(共53页)
●CPU和GPU的设计方向决定了计算能力
在过去的30年中,尽管Intel,IBM,SUN,AMD和Fujitsu生产的通用CPU取得了长足进步,但性能提升的速度却无法与1980年代末和1990年代初相提并论。单线程处理性能在很大程度上受到限制。一方面,这些限制来自通用计算程序中的指令级并行度太低;另一方面,它们来自“电源墙”-集成电路功耗的物理限制。
GPU的用途已远远超出了运行游戏的范围。我们购买的图形卡实际上是高性能的。尤其是现在,NVIDIA和AMD的图形卡产品已经展示出极高的浮点运算能力,并且双精度浮点运算的衰减越来越小。
例如,在Folding @ home项目中,中端图形卡可以一天24小时计算大约10个大分子蛋白质折叠,而Core 2 Duo E7200处理器的一个核心可以在24小时内完成一个折叠。小分子包装的计算任务非常困难。我相信每个人都已经很清楚在高密度多线程浮点运算中CPU和GPU之间的成本性能差异。在本节中,我们将重点分析GPU相对于CPU的体系结构优势。
CPU和GPU的体系结构非常不同。 CPU的功能模块很多,可以适应复杂的计算环境。 GPU的结构相对简单。目前,流处理器和视频存储控制器占据了大多数晶体管。 CPU中的大多数晶体管主要用于构造控制电路(例如分支预测等)和Cache,只有很少的晶体管完成实际的计算工作。


CPU和GPU逻辑架构的比较
GPU的控制相对简单,对Cache的需求很小,因此大多数晶体管可以由各种特殊电路和多个流水线组成,这使得GPU的计算速度有了突破性的飞跃,并且具有惊人的加工浮法。点计算能力。现在,CPU的技术进步比摩尔定律慢,而GPU(视频卡上的图形处理器)的运行速度比摩尔定律快,每6个月将其性能提高一倍。
CPU的体系结构是有助于X86指令集的串行体系结构。 CPU旨在尽快完成任务。对于GPU,其任务是在屏幕上显示数百万个像素。图像(即同时具有数百万个任务)需要并行处理,因此GPU旨在并行处理许多任务,而不是像CPU那样完成单个任务。


CPU内部架构
当今的CPU仅在前端部分非常复杂,指令解码,分支预测和其他部分消耗了大量的晶体管。 CPU的设计目标不仅是要具有高吞吐量,而且还要与应用程序环境具有良好的兼容性。 CPU必须面对的应用程序区域远远超过了GPU。 CPU设计用于处理常见任务,例如处理,处理,计算和系统核心控制。 CPU中包含的最基本的组件是算术逻辑单元和控制单元。 CPU微体系结构经过优化,可有效处理与数据相关的计算以及繁琐而繁琐的非计算任务。目的是处理日常任务。轻松处理复杂的任务。
GPU设计的目的是实现图形加速,现在最重要的是实现3D图形加速,因此其设计基本上针对3D图形加速相关的操作进行了优化,例如z缓冲消隐,纹理映射(纹理贴图),图形坐标位置变换和光照计算(变换和光照)等。这种类型的计算对象用于大量并行数据,并且要计算的数据量很大。但是,GPU面临的数据类型相对单一,并且单精度浮点数占处理的绝大多数数据。直到GTX200和HD 4800系列图形卡提供对双精度操作的支持。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-371745-1.html
权威