程序性能优化理论与方法
[toc]
处理器架构
单核处理器
提高每个时钟周期内的执行效率的方式之一: 采用并行计算
,分为指令级并行和数据级并行,
-
指令级并行
: 处理器同时执行多条指令 -
数据级并行
: 对程序中的多个数据进行相同操作
即单指令多数据SIMD, 面向SIMD扩展部件生成的对应程序称作
向量程序
串行程序改为向量程序的方法一般有两种:
- 借助
自动向量化技术
- 利用提供的扩展内嵌接口进行
改写
, 面向特定平台
多核处理器
多个线程可以在多个处理器核上同时执行
除指令级并行,数据级并行外,还可以开发核间的任务并行
众核处理器
具有代表性的有图形处理GPU
处理计算密度高, 逻辑分支简单的大规模的数据并行任务
异构处理器
异构多核
:将功能或性能相异的处理器通过一定的互连结构连接起来
比如用于加速信号处理的DSP处理核心, 用来加速AI处理的NPU处理核心
专用处理器
将硬件架构进行定制,并使其具备特定领域应用特征
不能解决,将CPU处理效率低下。