要确定与负载相关的L1D填充缓冲区占用率,可以使用L1D_PEND_MISS
事件,尤其是L1D_PEND_MISS.PENDING
事件,其记录如下:
计算未完成的L1D未命中的持续时间,即每个周期的 需求读取所需的未完成填充缓冲区(FB)。 FB要么是 由需求负载保持,或者由非需求负载保持并受到打击 至少按需求一次。有效未完成间隔已定义 直到通过以下其中一种方式重新分配FB:从FB开始 分配,如果FB是根据需求从需求命中FB分配的,则为 由硬件或软件预取分配。注意:在L1D中, 需求读取包含可缓存或不可缓存的需求负载,包括 由于页面走行导致高速缓存行拆分和读取的那些 来自任何请求类型。
解析本段的第二部分有些困难,但是关键的方面似乎是此事件仅在每个周期中计算需求加载以某种方式所需的已占用填充缓冲区的数量。
例如,在商店没有负载的情况下,是否有任何方法可以确定L1填充缓冲区的占用率?