64位体系结构的32位操作系统

时间:2011-10-30 19:43:11

标签: 32bit-64bit

我在64位x86处理器(英特尔)上运行32位ubuntu。我知道在这种情况下字大小是64位但我对32位操作系统感到困惑。 因此,在计算内存带宽时,我是否应该假设将使用64行的数据总线宽度,它将表现出与64位操作系统相同的性能? IOW,我想更好地理解体系结构宽度上OS宽度之间的关系。

例如,可以使用64位宽的内存总线单次读取64位操作数。这需要64位操作系统的支持吗?对于32位操作系统,它会进行两次读取(每次32位)来读取64位操作数吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

你不应该担心这个。 OS 32位与64位仅在内存寻址时有所不同。在64位中你可以添加更多。

从内存加载数据独立于操作系统 - 它取决于处理器架构。 更好的处理器可能在一个内存负载下加载128位,256位。

这是最短的解释,在此操作系统上运行的99.9%的程序中应该是真的。 如果为程序保留,则为0.1%,在访问数据时不关心内存对齐。但是这个问题可以通过处理器缓存在接下来的99.9%中解决。

总结 - 如果您的操作系统有足够的内存来运行所有程序,您不必担心。

答案 1 :(得分:0)

为32位操作系统编译的应用程序甚至不知道总线是64位大,它们总是只使用前32位。

由于处理器不是以64位模式运行,因此您的64位数据将存储在两个不同的寄存器中(例如EAX:EDX),使用总线的前32位读取相同数字的两个不同部分。