uOps与Pipeline Slots

uOps

micro-ops,micro-operations,微指令,是一种底层硬件操作,CPU前端负责获取体系结构指令中表示的程序代码,并将其解码为一个或多个uops。

Pipeline Slots

一个pipeline slot 表示处理一个uOp需要的硬件资源。

Top-Down分析方法假定对于每个CPU核,在每个时钟周期,有多个可用的pipeline slots。这些Pipeline Slots的数量被称为Pipeline Width。
在下文的示例中,是用4-wide的CPU将代码执行10个时钟周期。

在该示例中,包含40个Pipeline Slots(4 * 10)。如果一个Pipeline Slot没有retire,则表示认为有一个uOp产生阻塞(Stall)。
在下个示例中,有20个slots产生阻塞(没有使一个uOp达到Retire)。这表示从该微架构的角度来看,代码的执行效率只有50%:

以Pipeline Slots测得的Top-Down度量,如Front-End Bound和Back-End Bound,表示因各种原因(如Front-End问题和Back-End问题)导致的Pipeline Slots 阻塞的百分比。

参考原文:
https://software.intel.com/en-us/vtune-help-uops
https://software.intel.com/en-us/vtune-help-pipeline-slots
————————————————————

原创文章,转载请注明: 转载自孙希栋的博客

本文链接地址: 《uOps与Pipeline Slots》

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Scroll Up