CPU相关术语及缩略语¶
本文更新于 2018.12.02
- ALU
- Arithmetic Logical Unit, 算术运算单元
- BTB
- Branch Target Buffer
- DSB
- Decoded I-Cache, 缓存解码后的micro-ops
- Front-End
- CPU可以根据功能分为几个大块, 其中位于处理流程上游的部分称为front-end, 其中包括分支预测, 取指令, 指令解码, 微指令cache等子模板.
- hazard
- XXX
- TLB
- Translation Lookaside Buffer, 现代处理器使用虚拟地址和分页机制, 物理内存被映射到多个固定大小的内存页中, 处理器通过多级页表来完成映射工作, 这些页表也储存在内存中. 为了提升寻址性能, 处理器把部分页表缓存在特殊的cache中, 此cache称为TLB.
- LSD
- Loop Stream Detector
- macro-fusion
- 即”宏融合”, 一种硬件优化, 特定情形下会将两条指令合并成一条micro-ops.
- micro-fusion
- 某些单条指令会被解码为多个micro-ops, 这称为micro-fusion(微融合). 使用这样的指令可以更好地利用取指带宽(fetch bandwidth).
- MOB
- XXX
- pipeline
- 流水线. 现代处理器处理指令的过程被分成了若干个步骤(stage), 例如Pentium 4分为20个步骤, 理论上这些步骤可以同时执行各自的工作而不受干扰, 每个步骤完成自已的工作后将结果交给下一步骤即可. 这个过程就像工厂车间里的流水线一样, 因此被称为pipeline.
- register file
- XXX
- rename
- XXX
- retire / retirement
- 当一个uop执行完成并写完结果时, 它就被retired. retirement单元负责从execution core接收并处理执行结果, 并根据原始顺序更新architectural状态. 另外, retirement单元还追踪分支状态, 并把更新后的branch target信息送回到BTB, 然后BTB就可以清除那些不需要的pre-fetched traces.
- ROB
- ReOrder Buffer. the unit in the processor which buffers completed micro-ops, updates the architectural state in order, and manages the ordering of exceptions.
- RS
- Reservation Station
- self-modifying code
- XXX
- SIMD
Single-Instruction, Multiple-Data. 单指令多数据. 多数据指以特定宽度为一个数据单元, 多单元数据独立操作; 而单指令指对于这样的多单元数据集, 一个指令操作作用到每个数据单元. 可以把SIMD理解为向量化的操作方式.
SIMD指令操作的寄存器比通用寄存器位宽更大, 例如128bit的XMM寄存器和256bit的YMM寄存器. MMX, SSE, AVX等都是SIMD指令集.
- stall
- XXX
- superscalar
- 超标量, 指现代处理器有多个计算单元, 可以将多条指令派发到这些计算单元并发执行.
- uop
- 程序代码被现代CPU的解码模块解码后, 生成的操作码称为micro-operation, 或称μop, 它可以直接被执行单元执行.