CPU与GPU
中央处理器(Central Processing Unit)的缩写,是一个计算系统的大脑,它通过计算机程序执行作为指令的“计算”。因此,只有当你有一个“可编程”的计算系统(以便它可以执行指令)时,拥有一个CPU才是有意义的,我们应该注意到CPU是“中央”处理单元,控制计算系统的其他单元/部件的单元。在今天的背景下,CPU通常位于一个硅芯片中,也就是微处理器。另一方面,GPU是图形处理单元(Graphics Processing Unit)的首字母缩略词,它的设计目的是减轻CPU的计算密集型图形处理任务。这些任务的最终目标是将图形投影到显示器等显示单元上。鉴于这些任务是众所周知的和具体的,它们基本上不需要编程,此外,由于显示单元的性质,这些任务本质上是并行的。同样,在当前的背景下,虽然性能较差的GPU通常位于同一个硅芯片中,在那里您可以找到CPU(这种设置称为集成GPU)其他处理器,但功能更强、功能更强大的GPU则位于它们自己的硅芯片中,通常位于单独的PCB(印刷电路板)上。
什么是CPU?
CPU一词在计算机系统中使用已有五十多年的历史,在“其他”处理单元(如GPU)被引入以补充其处理能力之前,它是早期计算机中唯一的处理单元。CPU的两个主要部件是它的算术逻辑单元(又名ALU)和控制单元(aka CU)。CPU的ALU负责计算系统的算术和逻辑运算,而CU负责从存储器中获取指令程序,对其进行解码,并指示其他单元(如ALU)执行指令。因此,CPU的控制单元负责为CPU成为“中央”处理单元带来荣耀。因此,程序也被称为“存储在存储器中的指令”。很明显,CU不会执行指令,但会通过与正确的单元(如ALU)通信来促进指令的执行。
什么是GPU(又名VPU)?
图形处理单元(GPU)这个术语是由一家GPU**公司NVIDIA在90年代末引入的,该公司声称在1999年销售了世界上第一个GPU(GeForce256)。根据维基百科的说法,在GeForce256的时候,NVIDIA对GPU的定义如下:“集成了变换、照明、三角形设置/裁剪和渲染引擎的单片处理器,能够每秒处理至少1000万个多边形”。几年后,NVIDIA的竞争对手,另一家类似的公司,发布了一款类似的处理器(Radeon300),其术语为视频处理单元VPU。然而,很明显,GPU这个词比VPU更受欢迎。
今天,gpu被部署在任何地方,比如嵌入式系统、移动电话、个人电脑和笔记本电脑以及游戏机。现代gpu在处理图形方面非常强大,而且它们是可编程的,因此可以适应不同的情况和应用程序。然而,即使是现在,典型的gpu都是在工厂通过所谓的固件编程的。一般来说,对于并行处理大数据块的算法,gpu比cpu更有效。这是意料之中的,因为gpu被设计用来操作计算机图形,而计算机图形在本质上是极其并行的。
还有一个新的概念被称为GPGPU(GPU上的通用计算),它利用GPU来开发某些应用(如生物信息学)中可用的数据并行性,从而在GPU中执行非图形处理。但是,在这个比较中没有考虑它们。
CPU和GPU有什么区别?•虽然部署CPU背后的理由是充当计算系统的大脑,但GPU被引入作为一个补充处理单元,处理计算密集型图形处理和将图形投影到显示单元的任务所需的处理。•本质上,图形处理是固有的并行,因此,可以很容易地并行化和加速。•在多核系统的时代,CPU的设计只有几个核心,可以处理几个软件线程,这些线程可以在应用程序中使用(指令和线程级并行)。gpu设计了数百个核心,以利用现有的并行性。 |