64 位系统究竟牛在哪里?
The following article is from 程序喵大人 Author 程序喵大人
第一时间收到文章更新
来源 | 程序喵大人
作者 | 程序喵大人
想必大家都遇到过这样的问题:安装某个软件的时候,出现提示选择 32 位版本还是 64 位版本?我们也可以查看自己的电脑是 32 位还是 64 位系统。
Windows
Linux
大家可能知道所谓的 32 位和 64 位是和系统有关,但其实 32 vs 64 可以有多重含义。
CPU、程序、操作系统。
今天我来给大家一一介绍下!
→_→CPU
计算机中的位数指的是 CPU 一次能处理的最大位数。在 Intel 由 16 位的 286 升级到 386 的时候,为了和 16 位系统兼容,它先推出的是 386SX,这种 CPU 内部预算为 32 位,外部数据传输为 16 位。直到 386DX 以后,所有的 CPU 在内部和外部都是32位的了。
有些人往往会弄不清在计算机中出现的“位”和 Byte,KB,MB 等有何关系,8 位等于一字节 Byte,即 8bit=1B。32 位处理器每次最多处理 4Byte(32bit),同理,64 位处理器每次最多处理 8Byte(64bit) 。
CPU 的位数越大,可以计算的数值就越大,64 位 CPU 可以执行更大数字的运算,但这个优势在普通应用上不太明显,普通应用也没必要进行太大数字的运算,但是对于数值计算较多的应用就非常明显。同时 64 位 CPU 有更大的寻址空间。
运算速度不同:64 位 CPU 的通用寄存器数据宽度是 64 位,处理器依次可以读取 64 位数据,比 32 位多一倍,运算速度理论上会提升一倍。像两个不同的打工人一样,打工人 A 一次性可以搬 32 块砖,打工人 B 一次性可以搬 64 块砖,谁搬砖的速度快,自然你更喜欢用谁。由于运算速度提升,64 位 CPU 可以在多任务中运行顺畅,来回切换也不会卡顿,玩游戏都顺畅多了。
→_→程序
这个指的是 32 位程序和 64 位程序。
→_→操作系统
操作系统其实也是程序,64 位的操作系统使用的是 64 位的指令,不能安装在 32 位机器上。
64 位操作系统的设计初衷是为了满足需要大量内存和复杂浮点数运算的需求,一般用在科学计算、人工智能、平面设计、视频处理、3D 动画和游戏数据库以及各种网络服务器等领域中。
安装环境不同
64 位操作系统只能安装在 64 位 CPU 的机器上,同时需要配合 64 位的程序才能发挥最佳性能,32 位操作系统既可以安装在 32 位 CPU 的机器上,也可以安装在 64 位 CPU 的机器上,但没啥意义,64 位的性能会被大打折扣。
寻址能力不同
32 位操作系统最多可以寻址 2 的 32 次方即 4,294,967,296 字节,约 4GB 内存,4GB 的内存就现在而言在很多服务端程序上都是不够用的,而 64 位操作系统理论上可以寻址 2 的 64 次方即 18,446,744,073,709,551,616 字节,超过 1亿GB 内存,但这只是理论上,由于不同架构的 CPU 设计不同,所以寻址能力也有差别。
32 位操作系统和 64 位操作系统下数据类型对应的字节大小也是不同的,正常数据类型对应的字节数应该是 CPU 位数决定的,但实际上貌似是由编译器决定的,看下表:
总结
32 位处理器的优点唯一值得一提就是它可以与 20 世纪末和 21 世纪初开发的所有旧程序兼容。64 位处理器可以提升程序的性能,更好地利用 64 位操作系统的特性。64 位的处理器有 256TB 的虚拟内存,其中 128TB 分配给了用户空间,另外 128TB 分配给了内核空间(不同架构的 CPU 虚拟内存的设计大小不同,AMD 的 x86-64 架构的 CPU 只有最低 48 位才会在地址转换时被使用,所以总的虚拟地址空间为 2 的 48 次方即 256TB)。
要实现真正意义上的 64 位计算,光有 64 位的处理器是不行的,还必须得有 64 位的操作系统以及 64 位的应用软件才行,三者缺一不可,缺少其中任何一种要素都是无法实现 64 位计算的。在 64 位处理器方面,Intel 和 AMD 两大处理器厂商都发布了多个系列多种规格的 64 位处理器。
https://blog.51cto.com/zliang90/1282301 https://www.zhihu.com/question/19862280 https://blog.csdn.net/qing101hua/article/details/80763764 https://www.geeksforgeeks.org/difference-32-bit-64-bit-operating-systems/ https://www.guru99.com/32-bit-vs-64-bit-operating-systems.html https://www.werecoverdata.com/blog/whats-better-64-bit-vs-32-bit/ https://www.educba.com/32-bit-vs-64-bit-operating-system/
程序员专属T恤