我知道这个问题似乎很明显,但我没有设法找到精确答案。
如果在我的笔记本电脑上写的是#34; Windows 8 64 bit",那么" 64 bit" 完全是指? (我知道" Windows 8"只是操作系统的名称和版本)。
我有一些解释,但没有一个让我完全满意:
进程的虚拟地址空间大小为2 ^ 64个单位(单位尺寸较小)。这个定义并不让我高兴,因为即使有光盘存储,我的电脑总存储量远低于此。所以我永远无法在程序中初始化一个大小为2 ^ 64的数组。
内存中的寄存器容量为64位。这也不会让我感到高兴,因为我的机器可以 64位和32位位寄存器,也许是较小尺寸的寄存器。
寄存器的最大容量为64位。这个定义可能是明智的,但看起来" iffy"。
那么有人可以给我一个明确的定义,或者至少告诉上述其中一个是正确的吗?
答案 0 :(得分:0)
" Windows 64 bit"表示操作系统支持64位寻址。
反过来,这意味着 CPU 也支持64位寻址。
操作系统和CPU是两个完全不同的东西。
运行时二进制文件(Windows的.exes和.dll)是另一个"不同的东西"。 32位和64位.exe具有不同的二进制格式,由OS加载不同,并使用不同的运行时资源。
您无法在32位CPU上运行64位操作系统。但是可以在64位CPU上运行32位操作系统。同样,您无法在32位操作系统上使用64位共享库或可执行程序。
" 64-bit"的关键方面是64位寻址:CPU和正在运行的程序都可以处理最多2 ^ 64字节的虚拟内存:
实际上,正在运行的程序可能只能处理该地址空间的一部分。
您可以在此处阅读更多内容:
https://en.wikipedia.org/wiki/64-bit_computing
PS:
是:CPU寄存器有各种不同的尺寸。例如,ah是8位,ax 16位,eax 32位,rax是64位。此外,不同的寄存器会做不同的事情"。对于" 64位计算",我们主要对那些从虚拟内存加载和存储的寄存器感兴趣。