You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于uICA统计Haswell架构ret指令uop数与其他来源不符的疑问

uICA中Haswell架构ret指令微操作统计与其他资料不符的疑问

我发现uICA报告里x86指令集的ret指令微操作(uop)统计结果和其他资料存在不符。为验证问题,我测试了以下指令序列:

ret

    ret 4

    pop rcx
    jmp rcx

在Haswell架构上生成了对应的执行追踪数据,核心疑问点在于:为何ret和ret imm16的uop数远多于pop rcx + jmp rcx组合?

Stack Overflow相关内容指出pop+jmp与ret指令功能等价,我自己的基准测试也验证了这一点:使用ret和pop+jmp的代码版本耗时均约1.3G周期,性能完全一致。

uICA提供的Haswell架构无立即数ret指令的XML数据如下:

<architecture name="HSW">
[...]
    ports="6*p06+6*p15+2*p23+2*p237+3*p4" uops="20" uops_MITE="4" uops_MS="6" uops_retire_slots="2"/>

但Agner Fog指令表第250页显示,ret仅使用p237和p6端口,与pop+jmp的端口使用情况相近。此外uICA报告的ret指令端口使用还包含内存写操作,这显然不符合实际预期。

目前我未在uICA相关论文或源码中找到合理解释,想请教:是否存在导致这种统计差异的合理原因?

内容的提问来源于stack exchange,提问作者sarvel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 22:57:21