CPU和GPU的本质区别

No replies
Demi
Demi 的头像
在线
Joined: 2017-03-07

CPU

CPU的目标是快速执行单一指令流;

CPU将其用于乱序执行、寄存器重命名、分支预测以及巨大的cache上,这些设计都是为了加速单一线程的执行速度;

CPU利用cache来降低内存访问延迟;

CPU通过大量的cache和分支预测来降低延迟,这些机制消耗了大量的晶体管的电能;

CPU每个核心支持1~2个线程;

CPU切换线程的代价是数百个时钟周期;

CPU通过SIMD(单指令多数据)来处理矢量数据;

GPU

GPU的目标是快速执行大量的并行指令流;

GPU将晶体管用于处理器阵列、多线程管理、共享内存、内存控制器;

这些设计并不着眼于提高单一线程的执行速度,而是为了使GPU可以同时执行成千上万的线程;

实现线程间通信,并提供极高的内存带宽;

GPU使用cache来放大内存带宽;

GPU通过同时运行上千个线程来隐藏延迟,等待内存访问的线程会被切换掉,GPU切换线程不耗时间;

GPU切换线程的代价是0,事实上GPU通常每个时钟周期都切换线程;

GPU则使用SIMT(单指令多线程),SIMT的好处是无需开发者费力把数据凑成合适的矢量长度,并且SIMT允许每个线程有不同的分支;

CPU的长项是整数计算,GPU的优势则是浮点计算。

对于整机性能而言,CPU和GPU都是性能的保障,合理的搭配才是重中之重,才能给用户带来最强的综合性能。

来源:http://blog.csdn.net/farmwang/article/details/50095863

--电子创新网--
粤ICP备12070055号