啃书文库 > 科技 >
第一需要讲解CPU(Central Processing Unit)和GPU(Graphics Processing Unit)这两个缩写分别表示什么意思。CPU即中央处置器,GPU即图形处置器。第二,要讲解两者有什么区别,要先了解两者的相同之处:两者都有总线和外面联系,有我们的缓存体系,与数字和逻辑运算单元。一句话,两者都为了完成计算任务而设计。
先直观地上个示意图:
从图中大家可以看到,CPU和GPU均有我们的存储(橙色部分,实质的存储体系比图示更为复杂),控制逻辑(黄色部分)和运算单元(绿色部分),但不同是CPU的控制逻辑更复杂,而GPU的运算单元虽然较小但海量,GPU也可以提供更多的寄存器和程序猿可控的多级存储资源。
两者有什么区别在于存在于片内的缓存体系和数字逻辑运算单元的结构差异:CPU虽然有多核,但总数没超越两位数,每一个核都有足够大的缓存和足够多的数字和逻辑运算单元,并辅助有不少加速分支判断甚至更复杂的逻辑判断的硬件;GPU的核数远超CPU,被叫做众核(NVIDIA Fermi有512个核)。每一个核拥有些缓存大小相对小,数字逻辑运算单元也少而简单(GPU初始时在浮点计算上一直弱于CPU)。从结果上致使CPU善于处置具备复杂计算步骤和复杂数据依靠的计算任务,如分布式计算,数据压缩,AI,物理模拟,与其他不少不少计算任务等。
GPU因为历史缘由,是为了视频游戏而产生的(到今天其主要驱动力还是不断增长的视频游戏市场),在三维游戏中常常出现的一类操作是对大量数据进行相同的操作,如:对每个顶点进行同样的坐标变换,对每个顶点根据同样的光照模型计算颜色值。GPU的众核构造很合适把同样的指令流并行发送到众核上,使用不一样的输入数据实行。在2003-2004年左右,图形学以外的范围专家开始注意到GPU独一无二的计算能力,开始尝试把GPU用于通用计算(即GPGPU)。之后NVIDIA发布了CUDA,AMD和Apple等公司也发布了OpenCL,GPU开始在通用计算范围得到广泛应用,包含:数值剖析,大量数据处置(排序,Map-Reduce等),金融剖析等等。
简而言之,当技术员为CPU撰写程序时,他们倾向于借助复杂的逻辑结构优化算法从而降低计算任务的运行时间,即Latency。当技术员为GPU撰写程序时,则借助其处置大量数据的优势,通过提升总的数据吞吐量(Throughput)来掩盖Lantency。现在,CPU和GPU有什么区别正在渐渐缩小,由于GPU也在处置不规则任务和线程间通信方面有了长足的进步。另外,功耗问题对于GPU比CPU更紧急。
猜你喜欢
- 2024-02-17 6招培养孩子的逻辑思维能力
- 2024-01-14 苹果手机王者荣耀如何清理缓存
- 2023-12-23 怎么样清除缓存 手机怎么样清除缓存
- 2023-11-22 抖音短视频企业途径号定位逻辑
- 热点排行
- 热门推荐
- 热门tag