汇编 – 为什么Intel x87寄存器是80位宽?

为什么使用如此“怪异”的寄存器大小?关于为什么不优选使用64或128位这些寄存器的任何文档?
Wikipedia page on the IEEE 754-1985 standard上有一个关于80位扩展格式的很好的解释:

“The standard also recommends extended format(s) to be used to perform
internal computations at a higher precision than that required for the
final result, to minimise round-off errors”

双精度浮点数以64位表示.您可能需要更多的位来获得更高的中间结果精度,但是当您在最终结果中只需要64位时,使用128位类型将是过度的.

80位是大于64位的合理偶数位.

考虑到建立这些标准时的数据总线是8位或16位,而不是今天的32位或64位.如果今天写入标准,则96位将是更合理的数字,或者即使所有这些位都不用于计算,数据也可能以128位传输.

相关文章
相关标签/搜索