如果我只有32位机器,CPU如何计算双精度数?这个数字是 64 位宽。 FPU 如何处理它?
更普遍的问题是,如何计算比我的 alu 更宽的东西。不过我完全理解整数方式。您可以简单地split https://stackoverflow.com/questions/3072444/long-long-int-on-32-bit-machines他们起来。然而,对于浮点数,您有指数和尾数,应该以不同的方式处理它们。
并非“32 位机器”中的所有内容都必须是 32 位。 x87 风格的 FPU 从一开始就不是“32 位”的,这在 AMD64 创建之前已经有很长一段时间了。它始终能够对 80 位扩展双精度进行数学计算,并且它曾经是一个单独的芯片,因此根本没有机会使用主 ALU。
是的,它比 ALU 宽,但它不经过 ALU,浮点单元使用自己的电路,其宽度根据需要而定。这些circuits http://www.eng.utah.edu/~cs5830/Slides/FP-cktsx2.pdf也比整数电路复杂得多,并且它们的组件中并不真正与整数 ALU 重叠
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)