术语 | 英文单词 | 术语描述 |
内存屏障 | memory barriers | 是一组处理器指令,用于实现对内存操作的顺序限制 |
缓冲行 | cache line | CPU 高速缓存中可以分配的最小存储单元。处理器填写缓存行时会加载整个缓存行,现代CPU需要执行几百次CPU执行 |
原子操作 | atomic operations | 不可中断的一个或者一系列操作 |
缓存行填充 | cache line fill | 当处理器识别到从内存中读取操作数是可缓存的,处理器读取整个高速缓存行到适当的缓存(L1,L2,L3 的或所有) |
缓存命中 | cache hit | 如果进行高速缓存行填充操作的内存位置仍然是下次处理器访问的地址时,处理器从缓存中读取操作数,而不是从内存中读取。 |
写命中 | write hit | 当处理器讲操作数写回到一个内存缓存的区域时,它首先会检查这个缓存的内存地址是否存在缓存行中,如果存在一个有效的缓存行,则处理器将这个操作数写回到缓存,而不是写回到内存,这个操作被称为写命中 |
写缺失 | write misses the cache | 一个有效的缓存行被写入到不存在的内存区域 |
比较并交换 | Compare and swap | CAS 操作需要输入两个值,一个旧值(期望操作前的值)和一个新值,在操作期间先比较旧值有没有发生变化,如果没有发生变化,才交换成新值,发生了变化则不交换。 |
Cpu 流水线 | CPU pipeline | 在CPU中由5-6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成 5-6 步后再由这些电路单元分别执行,实现在一个CPU时钟周期完成一条指令。 |
内存顺序冲突 | Memory order violation | 由假共享引起,多个CPU同时修改同一个缓存行的不同部分而引起其中一个CPU的操作无效。出现时,必须清空流水线。 |