CPU | uOps与Pipeline Slots

[uOps] 

Metric Description

uOp, or micro-op, is a low-level hardware operation. The CPU Front-End is responsible for fetching the program code represented in architectural instructions and decoding them into one or more uOps.

 

uOps

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

 

 

Pipeline Slots 

Metric Description

A pipeline slot represents hardware resources needed to process one uOp.

The Top-Down Characterization assumes that for each CPU core, on each clock cycle, there are several pipeline slots available. This number is called Pipeline Width.

In the example below, there is a 4-wide CPU that executes code for 10 clock cycles:

In this example, there are 40 Pipeline Slots (4 * 10). If a Pipeline Slot does not retire, a uOp is attributed to a Stall.

In the next example, 20 out of 40 slots are stalled (did not retire a uOp). This means that the code efficiency from the microarchitecture perspective is only 50%:

 

The Top-Down metrics measured in Pipeline Slots, for example, Front-End Bound and Back-End Bound, measure a percentage of Pipeline Slots stalled due to the reason specified by the metrics such as Front-End issues and Back-End issues.

 

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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值