什么决定CPU寄存器和总线的数据宽度
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么决定CPU寄存器和总线的数据宽度相关的知识,希望对你有一定的参考价值。
参考技术A CPU中包含的整数寄存器的宽度与浮点数寄存器的宽度一样,是错误的详细可看 csapp 第三章 浮点代码,我这里做个简单的陈述。
理论依据
x86-64,浮点寄存器 YMM 寄存器一共有 16 个,YMM 寄存器大小为 256 位。
对 float double 这类浮点数操作占用低 128 位的 XMM。
现实依据
这几行代码应该看的懂,gcc -c -Og 编译后,用 objdump -d 看一下
看到这一行 subsd %xmm1, %xmm0
正如 csapp 所言,double 用的是低 128 位的 XMM,入参按顺序使用寄存器,0 号寄存器作为返回值。
以上是关于什么决定CPU寄存器和总线的数据宽度的主要内容,如果未能解决你的问题,请参考以下文章