Hardware and its habits
Hardware and its habits
硬件发展
Pipelined CPUs
- 流水线+超标量+乱序执行+分支预测
- 分支预测失败将导致预取的指令全部丢弃
- 不同线程共享一个CPU核心,指令分解的微操作流水线失效
Memory References
- 直接访问内存的成本过高
- 现代计算机会增加三级缓存尽可能减小成本
Atomic Operation
- 现代计算机改进原子操作
- 识别具有原子操作的所有缓存行,所有缓存行由单个CPU所有
- 非原子操作进行
store
可以使用store buffer
而非cacheline
- 为维护多个数据的同步,CPU提供了
memory barrier
Memory Barriers
- 内存屏障,实现多个数据的同步
Thermal Throttling
- CPU功耗升高,温度也会升高;受限于冷却设备,可能会自主截断功耗继续升高
Cache Misses
- 缓存未命中,会取下一级缓存或者内存中取,这实际上增加了开销
I/O Operations
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LZY的Code生活!