64位系统究竟牛在哪里?
本文转载自微信公众号「程序喵大人」,作者程序喵大人。转载本文请联系程序喵大人公众号。
想必大家都遇到过这样的问题:安装某个软件的时候,出现提示选择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) 。
32位架构的CPU数据总线宽度是32位,每次可以传输32位数据,可以计算4个字节。64位架构的CPU数据总线宽度是64位,每次可以传输64位数据,可以计算8个字节。
数据总线
数据总线是CPU与内存或其它器件之间的数据传输的通道,数据总线的宽度决定了CPU和外界的数据传输速度,每根线可以传输1位二进制数据,32根线每次就可以传输32位数据,64根线每次就可以传输64位数据。除了数据总线外还有地址总线和控制总线。
地址总线
CPU通过地址总线来指定存储单元,地址总线的宽度决定了CPU所能访问的最大内存空间大小,1根地址线能访问的内存空间是1bit,32根线访问的最大内存空间是4G,64根线...太大了。
控制总线
CPU通过控制总线对外部器件进行控制,主要通过控制总线来传输控制信号和时序信号,控制总线是各种信号线的集合,是计算机各部件之间传送数据、地址和控制信息的公共通道,控制总线的宽度决定了CPU对外部器件的控制能力。
总体来说,CPU作为总线的主控,通过控制总线向各个外部器件发送控制信号,通过地址总线访问内存地址,通过数据总线传输数据。
CPU的位数越大,可以计算的数值就越大,64位CPU可以执行更大数字的运算,但这个优势在普通应用上不太明显,普通应用也没必要进行太大数字的运算,但是对于数值计算较多的应用就非常明显。同时64位CPU有更大的寻址空间。
运算速度不同:64位CPU的通用寄存器数据宽度是64位,处理器依次可以读取64位数据,比32位多一倍,运算速度理论上会提升一倍。像两个不同的打工人一样,打工人A一次性可以搬32块砖,打工人B一次性可以搬64块砖,谁搬砖的速度快,自然你更喜欢用谁。由于运算速度提升,64位CPU可以在多任务中运行顺畅,来回切换也不会卡顿,王者荣耀都顺畅多了。
那么有朋友要问了,既然位数越高处理器运算速度越快,为什么不用128位、256位的CPU?因为位数越高,处理器芯片的设计也就越复杂,当前的科技水平还无法制造这么复杂的CPU。
→_→程序
指的是32位程序和64位程序。
32位指令的程序一般来说可以在64位机器上运行,可以兼容。64位指令的程序不可以在32位机器上运行,因为32位的寄存器存不下64位的指令。注意其实还有16位的程序,但16位的程序不能运行在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设计不同,所以寻址能力也有错差别。
20世纪和21世纪早期制造的计算机大多都是32位的机器,现如今大多都是64位的机器了,但为了兼容32位机器,一般编程都会开发出两个版本,例如打包一个Android SDK,SDK内部一般都会包含32位和64位的动态链接库,iOS的Framework内部也会有32位和64位的静态链接库。
总结
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/

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
万豪酒店因数据泄露被罚款近1.6亿元,这还是从轻处理的结果
英国信息专员办公室(UK Information Commissioner's Office,简称’ICO”)对美国酒店集团万豪(Marriott)进行了1840万英镑(约1.6亿元)的罚款,原因是该公司的数据泄露事件影响了全球数百万客户。 ICO的调查发现,万豪没有按照通用数据保护条例(GDPR)的要求,采取适当的技术或组织措施来保护其系统上的个人数据。 据悉,此次罚款金额其实比最初计划的要少,因为监管机构考虑了万豪的陈述、万豪为减轻事件影响所采取的措施,以及疫情对其业务的经济影响,然后才制定了最终的处罚。 此次数据泄露主要和喜达屋有关,万豪于2016年收购了喜达屋,但违规行为直到2018年11月才公布。 2016年,万豪国际斥资130亿美元收购了喜达屋环球酒店和度假村。该品牌包括圣里吉斯、喜来登酒店及度假村、W酒店、威斯汀酒店及度假村、雅高酒店、贡品组合、元素酒店、勒梅里登酒店及度假村、豪华精选等。 2018年11月,万豪宣布,疑似受2014年发生的安全漏洞影响,其旗下的喜达屋酒店多达5亿客人的数据遭到泄露风险。这是历史上最大的数据泄露事件之一,也是万豪酒店业遭受最严重的的一次。 ...
- 下一篇
使用ACK和NAS快速搭建弹性NGINX网站
场景介绍 本文介绍如何在半小时内,通过阿里云容器ACK服务和文件存储NAS服务搭建一个简单的弹性、高可用NGINX网站。在完成本文的所有操作后,您将获得一个单网页的网站,用户的请求将会被打散到多个容器节点上,并且根据业务负载自动扩缩容,即使某个容器节点宕机也不会影响用户访问。另外您还可以将本地编辑的网页快速更新到网站上。 背景知识 本教程使用到的云产品如下: 云服务器ECS 云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。 文件存储NAS 阿里云文件存储(Network Attached Storage,简称 NAS)是面向阿里云 ECS 实例、E-HPC 和容器服务等计算节点的文件存储服务。NAS 提供了简单的可扩展文件存储以供与...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8编译安装MySQL8.0.19
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题