操作系统位数 的 概念(转)
指令集:
X86 是由Intel推出的一种复杂指令集,用于控制芯片的运行的程序CISC指令集(complex)
ARM 是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。全称为Advanced RISC Machine。
(ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。)
关于32位与64位:
首先,需要明确一个概念,32位指的是CPU的地址总线数目为32条,也就是所谓的32位。
而操作系统的32位的概念为假设CPU的地址总线数目为32条。也就是说,我们一般说的32位操作系统以及64位操作系统都是假定的CPU的地址总线数目为32位或者64位。
首先,需要明确一个概念,32位指的是CPU的地址总线数目为32条,也就是所谓的32位。而操作系统的32位的概念为假设CPU的地址总线数目为32条。也就是说,我们一般说的32位操作系统以及64位操作系统都是假定的CPU的地址总线数目为32位或者64位。
第二,地址总线是干嘛的?地址总线简单地说就像身份证号码一样,是用一串数字来标记一个存储位的地址。就像身份证号码一样,用一串数字来标定一个人,即使别人与你重名或者其他信息相同都不要紧,只要这串数字是唯一的就好。
第三,地址总线是如何来运行使用的?通过以上描述,我们可以看出,地址总线是用来标定一个存储区的位置的,那么32位究竟能标定多少位置呢?在电脑的运算中都是以二进制来计算的,也就是说一条地址总线就只能表示0跟1两个数字,
那么,运用排列组合的方式,32条地址总线总共可以组合出2的32次方个数字,也就是4294967296个数字。那么每个数字又对应着一个存储位,一般来说,一个存储为的大小一般为1Bit,也就是说4294967296个存储为共有4294967296Bit大小的空间,
也就是4294967296/1024KB=4194304/1024MB=4GB。说到这里你可能会很好奇,明明32位可以完全支持4G,为什么系统只能识别到3.25GB呢?这是由于32条地址总线并不是全部用来控制CPU与内存之间的通信的,而是还要控制CPU与显卡之间,
CPU与硬盘等等设备之间的通信,也就是说,如果加入这些设备,实际上可以用来控制CPU与内存之间通信的地址线也就不足32条了,这也就解释了为什么系统无法完全识别到4GB内存的原因了
详解为什么32位系统只能用4G内存