细心的小伙伴会发现,有的硬件设备上会标识x86和x64字样,在这里,x86和x64一般指的是硬件,而不是操作系统。
x86最初是针对16位处理器(8086和8088处理器)的16位指令集,之后扩展为针对32位处理器(80386和80486)的32位指令集。
x64是针对x86再扩充之后所拥有的64位指令集。
简单的说,x86指令集是x64指令集的子集,通常我们所说的32位、64位已成为x86和x64的代名词。
x64指令集包含x86指令集
例如小编的电脑,它是64位操作系统,基于x64的处理器:
小编的电脑
x64的起源
x64于1999年由AMD设计,首次公开64位集以扩展给x86,称为“AMD64”
架构特色
在x86-64出现以前,英特尔与惠普联合设计出IA-64架构;惟IA-64并不与x86兼容,且市场反应较冷淡,同时受制于多个专利权,使其他厂商不能模仿。与此同时,兼容x86的AMD64架构应运而生,支持64位通用寄存器、64位整数及逻辑运算、以及64位虚拟地址。
也是在这时期,Intel失去了x64的主导权。
有了以上的铺垫,我们进入正题,聊聊它们的区别。
区别
最大的不同在于它们可以访问不同数量的RAM(此指电脑内存)。
32位最大支持4GB,若是安装超过4GB,多出的部分不会识别利用,相当于浪费掉了。
64位根据操作系统的不同所支持的内存容量也不同,具体小编整理如下
不同版本的操作系统所支持的最大内存容量表
在大多数情况下,处理大量数据时,64位处理器比32位处理器工作效率更高。如果使用的是64位Windows 系统的电脑,在C驱动器上会有一个名为 Program Files(x86)的文件夹。该文件夹存储32位应用程序,而已安装的所有64位应用程序都存储在 Program Files 文件夹中。
那么为什么32位不支持4GB以上的内存呢?
这里引入一个新名词 – 最大寻址空间
32位系统使用32位地址线的最大寻址空间为2的32次方Bytes(字节),计算后即4294967296 Bytes,也就是我们常说的4096MB(兆字节),32位地址线的寻址空间封顶即为4GB。
但是,虽然系统能够识别4096MB,我们还是不能完全使用它,这是因为还有内存映像输入/输出(Memory-Mapped Input Output)作怪,我们的系统中除了CPU和内存占据寻址空间外,还有显卡也需占用寻址空间,这就是为什么32位系统不能全部调用内存的原因。
*注 – Windows系统因为人为限制,只能支持到最大4GB内存,但是,像Linux这类操作系统在32位CPU使用36位地址线的最大寻址空间为2的36次方Bytes,也就是64GB(吉字节)。
但是我们使用32位Windows就没办法使用大内存了吗?
否
启用PAE(Physical Address Extension),如此一来,32位 Windows 就可以使用超过4GB的内存,比如Windows Server 2003/2008 Enterprise/Datacenter X86(32bit)可以支持最大64GB内存。
一般的, Windows 通过 ReadyFor4G 直接修改Windows内核(使用36位地址线)以使用最大64GB内存。不过,这个方法也有很多限制,32位Windows的每个进程最大可用内存被限制在4GB之内,一些不规范的驱动程序不能支持大于4G的内存,会导致系统崩溃,喜欢尝试的小伙伴要慎重呀,资料无价。
CPU位数是什么?
最准确的定义是CPU内部通用寄存器的位宽。
例如:
8086,16位通用寄存器,16位数据线,20位地址线,它是16位CPU;
8088,16位通用寄存器,8位数据线,20位地址线,它是16位CPU。
再说个题外话,2018年9月之后的消费级硬件基本上都是支持x64的,若是小伙伴硬件买的早,想知道系统及硬件情况,往下看。
如何查看Windows的版本
这里提供几个方法,各位观众老爷不妨换着来:
方案一:
①. 右键 < 此电脑 > —— < 属性 >
方案二:
①. 打开 < 设置 >(快捷键:Win + I)
②. 点击 < 系统 >
③. 左边栏滚动至低端,单击 < 关于 >
方案三:
②. 查看 < System Type >
Win + R
Win + S
②. 查看 < System Type >
如上所示
感谢您的阅读,拙笔劣文,内容若有纰漏还请指教二三,欢迎在下方留言。
本文来自网络转载,仅供学习参考!不代表稿定蓝屏立场,本站不拥有所有权,不承担相关法律责任。如发现本站有抄袭侵权/违规的内容,请发送邮件至kbs773@qq.com进行反馈,一经查实,本站将立刻删除。