指令级并行主义(ILP)是提高现代CPU性能的关键因素,它涉及同时执行多个指令以最大限度地实现吞吐量. 分析和改进ILP需要了解处理器架构,并找出限制并行执行的瓶颈.

分析指令层面的平行性

分析ILP, 使用性能计数器和剖析软件等工具。 这些工具测量了指令吞吐量、管道摊位和缓存漏失等计量标准。 识别这些计量标准中的模式有助于确定平行性有限的阶段。

检查指令依赖性至关重要。数据危险,如读后写(RAW),可以防止指令并行执行。控制危险,来自分支指令,也可以通过引入摊位影响 ILP 。

改进国际劳工法规的战略

几种技术可以在现代CPU中增强ILP. 订单外执行允许在资源到位时处理指令,减少依赖性造成的摊位. 投机性执行预测分支结果以保持管道的充电.

编译器优化也起到作用,重新排序指令,尽量减少依赖,不滚动循环可以增加并行性. 寄存器重命名等硬件特性有助于消除虚假依赖,进一步改善ILP.

优化的关键技术

  • 指令重排:[] 重新排列指令以减少危险.
  • 循环解卷:[] 扩展循环以曝光更多平行指令.
  • 注册人Renamining:[] 使用额外的注册,以避免虚假的依赖关系.
  • 弯曲预测:[] 预估分支结果以尽量减少摊位.
  • 命令外执行: 资源到位时执行指示.