Measuring Reorder Buffer Capacity
7 months ago
- #benchmarking
- #microarchitecture
- #performance
- 乱序处理器虽然不按程序顺序执行指令,但必须保持按序执行的外观效果。
- 重排序缓冲区(ROB)追踪指令窗口中指令的状态,确保它们按程序顺序提交。
- ROB的容量限制了处理器能超前搜索独立指令以并行执行的范围。
- 通过使用缓存缺失加载和NOP指令的微基准测试,可以观察内存访问重叠或串行化的情况来测量ROB大小。
- 超线程技术仅在两个线程都活跃时,才会在线程间静态分配ROB资源。
- 物理寄存器文件(PRF)架构可能因重命名寄存器耗尽而限制指令窗口大小。
- 该微基准测试同样可用于测量PRF架构中可用的推测寄存器数量。
- x86清零指令(如XOR reg, reg)和寄存器移动操作可能被优化为不占用物理寄存器。
- 混合整数与SSE/AVX指令能暴露某些微架构中的共享资源限制。
- 这种微基准测试是测量ROB大小、PRF容量及优化行为等微架构细节的强大工具。