基本概念:
GPU: Graphic Processing Unit;图形处理单元;
GPGPU: General Purpose computations on GPU;通用计算图形处理单元;
CPU与GPU的相同点:
(1)都是计算机体系结构中的重要组成部分;
(2)都是超大规模集成电路元件;
(3)都能够完成浮点运能功能;
CPU与GPU的不同之处:
(1)GPU的设计目的与CPU不同;CPU的微架构是按照兼顾“指令并行执行”和“数据并行运算”的思路而设计,其大部分晶体管主要用于构建控制电路和Cache,并且其内部有大约%5是ALU,控制电路则更为复杂;二GPU的控制电路则相对简单的对,而且对Cache的需求较小,所以可以把大部分的晶体管都用于计算单元。GPU的40%都是ALU;
(2)延迟不同,CPU的内存延迟是GPU的1/10;
(3)内存带宽不同;GPGPU的内存带宽是CPU的10倍;
(4)GPGPU具有更大的执行单元;
(5)线程轻重程度不同;CPU线程是软件管理的粗粒度重线程,当 CPU 线程被中断或者由于等待资源就绪状态就变为等待状态,操作系统就需要保存当前线程的上下文,并装载另外一个线程的上下文。这种机制使得CPU切换线程的代价十分高昂,通常需要数百个时钟周期。而GPU线程是硬件管理的细粒度轻线程,可以实现零开销的线程切换。当一个线程因为访问片外存储器或者同步指令开始等待以后,可以立即切换到另外一个处于就绪状态的线程,用计算来隐藏延迟,并且线程数目越多,隐藏延迟的效果越好。
(6)CPU属于“多核”,而GPU则属于“众核”;CPU 的每个核心具有取指和调度单元构成的完整前端,因而其核心是多指令