Conceptions

概念

CPU

  • 提高指令级并行能力

  • 在一个时钟周期内执行更多指令

  • 向量技术

  • 多核

  • 超线程

超线程技术

利用特殊硬件指令,把两个逻辑内核(CPU core)模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。

这种模拟的硬件基础是,双倍增加一些资源(PC和寄存器),减少线程的切换代价。但是执行单元只有一份,因此CPU峰值计算能力并没有提升。

可并行执行两个线程,能够在单个时针周期内在两个线程间切换。

并行(parallelism)

具有多个处理单元的系统上,通过将计算或数据划分为多个部分,将各个部分分配到不同的处理单元上,各处理单元相互协作,同时运行,已达到加快求解速度或者提高求解问题规模的目的。

并发(concurrency)

并发是指在一个处理单元上运行多个应用,各应用分时占用处理单元,是一种微观上串行、宏观上并行的模式,有时也称其为时间上串行、空间上并行。

代码性能优化

通过调整代码,使其生成的机器指令能够更高效地执行,通常高效是指执行时间更少、使用的存储器更少或能够计算更大规模的问题。

向量化

使用同一条指令同时操作多个数据。

多路

集成多个多核处理器。

指令级并行

同时对多条指令求值。

指令级并行能够利用处理器上的不同组件同时工作,如果程序具有类型丰富的运算,指令级并行能使处理器性能迅速提高。

其他

线程过多

  • 引起缓存命中率降低

  • 带来大量冗余计算和IO操作

最后更新于

这有帮助吗?