【问题标题】:How many XMM registers are available on an x86 processor supporting SSE?支持 SSE 的 x86 处理器上有多少个 XMM 寄存器可用?
【发布时间】:2012-04-19 00:02:24
【问题描述】:

如何在支持 SSE 的处理器上找出 XMM 寄存器的数量?

例如在 Intel X5550 上。

【问题讨论】:

    标签: x86 sse cpu-registers processor


    【解决方案1】:

    XMM 寄存器的数量在所有支持 SSE 的处理器中都是固定的。如果 CPU 处于 32 位模式,则可以使用 8 个寄存器,从 xmm0xmm7,而如果处于 64 位模式,则可以寻址 16 个寄存器,从 xmm0 开始直到 xmm15 .这要归功于使用 REX.W 前缀。

    【讨论】:

    • 是这样吗?当前Wikipedia 表示并且此扩展在 Intel 64 架构中重复。
    • @ssice 我不完全理解你的问题。你能改写一下吗?
    • 我引用的 SSE 文章的版本似乎是说在 AMD64 (x86-64) 中你最多有 xmm15,而这个数字在 Intel 中是 double 64,所以 Intel 64 最多有xmm31?我们如何检查 xmm31 是否可用? (还是我理解错了?)
    • 你一定误解了上下文。 Duplicated 也必须引用 Intel 64 架构上可用的新指令。我在英特尔文档中没有看到任何提及 32 个xmm 寄存器。
    • 再次阅读 wiki,它清楚地表明 Intel64 有 xmm0 到 xmm7,amd64 有 0 到 15
    猜你喜欢
    • 2017-05-07
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    相关资源
    最近更新 更多