发布网友 发布时间:2022-04-19 12:56
共2个回答
懂视网 时间:2022-04-22 00:42
gpu和cpu的区别:CPU在电脑中起着控制计算机运行的作用,是电脑的中央处理器。GPU是一个附属型的处理器,主要处理计算机中与图形计算有关的工作,并将数据更好地呈现在显示器中。
CPU的英文全称是"Central Processor Unit",翻译成中文就是“中央处理器单元”,它一条一条镀金的材料做的。它在PC机中的作用可以说相当于大脑在人体中的作用。所有的电脑程序都是由它来运行的。(注意,千万不要触碰cpu上的金属条,不然会导致接触不良,开不了机)。主板又叫Mother Board(母板)。它其实就是一块电路板, 上面密密麻麻都是各种电路。它可以说是PC机的神经系统,CPU、内存、显示卡、声卡等等都是直接安装在主板上的,而硬盘、软驱等部件也需要通过接线和主板连接。CPU包括运算逻辑部件、寄存器部件和控制部件等,英文Logic components;运算逻辑部件,可以执行定点或浮点算术运算操作、移位操作以及逻辑操作,也可执行地址运算和转换。电脑(computer,又称计算机)是一种用于高速计算的电子计算机器,被称为“20世纪最先进的科学技术发明之一”。电脑由硬件系统和软件系统所组成,具有进行数值计算、逻辑计算和存储记忆等多项功能。它的应用领域从最初的军事科研应用扩展到社会的各个领域,带动了全球范围的技术进步。
热心网友 时间:2022-04-21 21:50
CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景
CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。
于是CPU和GPU就呈现出非常不同的架构
1、图片来自nVidia CUDA文档。其中绿色的是计算单元,橙红色的是存储单元,橙*的是控制单元。
2、GPU采用了数量众多的计算单元和超长的流水线,但只有非常简单的控制逻辑并省去了Cache。而CPU不仅被Cache占据了大量空间,而且还有有复杂的控制逻辑和诸多优化电路,相比之下计算能力只是CPU很小的一部分
3、Cache, local memory: CPU,GPU,Threads(线程数): GPU,CPU,Registers: GPU > CPU 多寄存器可以支持非常多的Thread,thread需要用到register,thread数目大,register也必须得跟着很大才行,SIMD Unit(单指令多数据流,以同步方式,在同一时间内执行同一条指令): GPU,CPU。
CPU 基于低延时的设计
1、CPU有强大的ALU(算术运算单元),它可以在很少的时钟周期内完成算术计算,当今的CPU可以达到64bit 双精度。执行双精度浮点源算的加法和乘法只需要1~3个时钟周期,CPU的时钟周期的频率是非常高的,达到1.532~3gigahertz(千兆HZ, 10的9次方)。
2、大的缓存也可以降低延时。保存很多的数据放在缓存里面,当需要访问的这些数据,只要在之前访问过的,如今直接在缓存里面取即可,复杂的逻辑控制单元。当程序含有多个分支的时候,它通过提供分支预测的能力来降低延时。
3、数据转发。 当一些指令依赖前面的指令结果时,数据转发的逻辑控制单元决定这些指令在pipeline中的位置并且尽可能快的转发一个指令的结果给后续的指令。这些动作需要很多的对比电路单元和转发电路单元。
什么类型的程序适合在GPU上运行
1、计算密集型的程序。所谓计算密集型(Compute-intensive)的程序,就是其大部分运行时间花在了寄存器运算上,寄存器的速度和处理器的速度相当,从寄存器读写数据几乎没有延时。可以做一下对比,读内存的延迟大概是几百个时钟周期;读硬盘的速度就不说了,即便是SSD, 也实在是太慢了。
2、易于并行的程序。GPU其实是一种SIMD(Single Instruction Multiple Data)架构, 他有成百上千个核,每一个核在同一时间最好能做同样的事情。