TMA
由 Intel 提出,经典论文: (PDF) A Top-Down method for performance analysis and counters architecture 作者在论文中提到,这个方式已经被 vTune 采纳了。
Top-Down性能分析方法(原理篇):揭秘代码运行瓶颈面对性能分析一筹莫展?不清楚该关注哪些性能指标或事件?借助Top - 掘金 这篇文章对论文进行了讲解,很细致。
最重要最重要的需要时刻记在心里的图,就是论文中的 Figure 2: The Top-Down Analysis Hierarchy:
iCache miss 和 iTLB miss 都归在 Frontend Bound 上,dTLB miss 和 dCache miss 归在 Backend Bound 上。
- iTLB miss:处理器根据 PC 寄存器中的虚拟内存地址进行内存中代码获取,但是 TLB 中没有对应虚拟内存地址翻译到物理内存地址的页表项,所以我们必须要从内存中的页表来拿,这就是 iTLB miss;
- iCache miss:处理器通过翻译得到了 PC 寄存器中的虚拟内存地址对应的物理内存地址后,去内存中拿数据,但是 Cache 中没有,只能从内存中去拿,这就是 iCache miss。
- dTLB miss 和 dCache miss 就是我们平时一般说的两种 miss,不需要过多解释。
处理器前端和后端 / Front-end and Back-end in Microarchitecture
前端和后端的分界线应该是微指令队列。前端生成的微指令会经由这里被送到后端。
CPU 设计的前端和后端是指 CPU 的两个主要部分,分别负责指令的解析和执行。
所谓的前端主要是由指令拾取(Instruction Fetch)、指令解码(Instruction Decode)、分支预测(branch predict)组成。
读取指令,解码指令,预测分支,转换指令为微操作。
后端负责执行 CPU 指令并更新寄存器状态。
🗞️ Recent Posts