什么决定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寄存器和总线的数据宽度的主要内容,如果未能解决你的问题,请参考以下文章

内存管理:虚拟地址空间以及编译模式

地址总线数据总线寻址能力字长及cpu位数等概念之间的关系

8080、8088、80286、80386CPU的数据总线分别为16跟,20根,24根,32根,为

汇编 学习笔记2

汇编语言基础总结

汇编语言总结