1. GPU在处理能力和存储带宽上比CPU更优势,这是由于GPU芯片更多的面积(也就是更多的晶体管)用于计算和存储,而不是控制(复杂控制单元和缓存)。
2. 指令级并行-->线程级并行-->处理器级并行-->节点级并行
3. 指令级并行办法:超标量,乱序执行,超流水,超长指令字,SIMD,分支预测。超长指令字可以减少访存。
4. 超长流水线会带来效率问题,需要更精准的预测功能和更大规模的缓存。
5. CPU的多核架构的新挑战:存储器壁垒,芯片,板级,系统级的均衡设计以及可移植性问题。(OpenMP,TBB)
6. CPU和GPU一般经过北桥通过AGP或者PCI-E总线连接。有各自独立的外部存储器。
7. GPU是轻量级线程。切换代价小。
8. 主流CPU有2~8个核心,每个核心有3~6条流水线。
9. CUDA是利用多个流处理器之间的粗粒度任务并行和数据级并行,以及流处理器内部的细粒度数据并行。
10. 显存的工作频率比内存的工作频率更高,这是因为GDDR是直接焊接在PCB板上的,而内存是通过插槽和主板连接的,信号的完整性相对来说更差点。
11. 显存中存在多套存储器控制单元,而内存控制器通常采用双通道或者三通道技术。GPU同时可访问的存储颗粒比CPU更多。
12. GPU中没有复杂的缓存体系和替换机制。GPU缓存只读,所以不用考虑一致性问题。
13. GPU缓存的目标不是降低访存延迟,而是节约显存带宽。
14. GPU的目标是以大量的线程面向吞吐量高的数据并行计算,适合计算密度高,逻辑分支简单的大规模数据并行任务。