处理器,操作系统,程序的位数,指针的长度

人们熟知的操作系统有X86(32位)和X64(64位)之分,而且X86的系统能识别的内存是没法超过4G的。

 

1.处理器位数

其实处理器也有X86,X64之分。

X86处理器是8086,80286,80386和80486等等处理器的一个总称。

在此之前,英特尔公司已经发布过4004,8008,8080,8085等处理器,然而之前这些处理器都是8位的。

从8086和80286开始就是16位的CPU,80386和80486是32位CPU;80486还多了数学辅助处理器,增强了复杂的数学运算能力。

其后的系列就改称奔腾了,也就是人们熟悉的单核时代,一直到酷睿2双核时代的部分处理器都是32位的,

而之后的I5,I7系列现在大家装机基本上也就是这些处理器,基本上也都是64位的处理器了。

32位的处理器是不能装64位系统的,不过不用担心,现在常用的个人PC的处理器基本上都是64位的,现在要找一个32位的处理器出来还真有点不好找。

 

如何查看自己电脑的CPU和系统是多少位的:

在开始-运行-cmd

输入命令:systeminfo回车

如图1:


          图1  这个电脑上面装的是X86(32位)的系统和X64(64位)的处理器

如图2:


这个电脑上面装的是X64(64位)的系统和X64(64位)的处理器


 2.操作系统位数

32位的处理器只搭配32位的系统,

32位的处理器的地址总线是32根,

2的32次方=4294967296,4294967296/1024/1024/1024=4G

所以32位处理器搭配32位的系统只有4G内存可被识别

同理64位处理器虽然能用32位系统但也只能访问4G内存虚拟模式

总结:

64位处理器+64位系统 可以

64位处理器+32位系统 可以

32位处理器+64位系统 不可以

32位处理器+32位系统 可以

 

3.而应用程序也有X86和X64之分

平常我们在VC6.0和VS上面编写的程序,默认配置是X86(32位)程序,然而我们的X64系统却能运行,因为是向下兼容的,如果在X86系统上运行X64程序就是会报错的:


总结:

64位系统能运行64位和32位程序

32位系统不能运行64位程序

 

4.关于指针长度

总的来说,首先CPU的位数限定了指针的长度上限,不过现在一般都是64位CPU。

所以接着看操作系统的位数限定了指针的长度上限,

32位系统跑32位程序是4字节指针,但跑不了64位程序。

64位系统可以跑64位程序8字节指针,也可以跑32位程序4字节指针。

当然实际上一句话概括,当前指针大小由当前CPU运行模式的寻址位数决定。这句话很准确,但却是一句正确的废话,所以建议自己罗列一下各种情况才能更清楚一点。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值