(转)32位和64位的区别

一.简介

32位CPU:计算机中的位数指的是CPU一次能处理的最大位数。32位计算机的CPU一次最多能处理32位数据,例如它的EAX寄存器就是32位的,当然32位计算机通常也可以处理16位和8位数据。在Intel由16位的286升级到386的时候,为了和16位系统兼容,它先推出的是386SX,这种CPU内部预算为32位,外部数据传输为16位。直到386DX以后,所有的CPU在内部和外部都是32位的了。有些人往往会弄不清在计算机中出现的“位”和Byte,KB,MB等有何关系,而它们的关系是,8位等于一字节,即8bit=1B 。32位处理器每次处理 4Byte(32bit),同理,64位处理器每次处理 8Byte(64bit) 。32位cpu支持内存2的32次方 = 4294967296bit = 4G左右

64位CPU:这个位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。要实现真正意义上的64位计算,光有64位的处理器是不行的,还必须得有64位的操作系统以及64位的应用软件才行,三者缺一不可,缺少其中任何一种要素都是无法实现64位计算的。2的64次方 = 16G左右

二.区别

64位的CPU,相比较32位的CPU来说,64位CPU最为明显的变化就是增加了8个64位的通用寄存器,内存寻址能力提高到64位,以及寄存器和指令指针升级到64位等。而且64位的CPU要比32位的CPU占更大的内存,原因是64位的CPU一次性可处理64个字节,也就是占用内存最小单位就是64字节,和32位处理器相比会有比较大的资源浪费。但是运算速率高。同时也支持更大的内存。

64位操作系统与32操作系统

32位操作系统:32位操作系统是针对32位CPU设计的,32位系统必须要至少32位以上的CPU可以兼容,但是64位处理器是可以向下兼容的

64位操作系统:64位操作系统针对的64位的CPU设计。64位系统能必须是64位CPU才能装上。

操作系统只是硬件和应用软件中间的一个平台。现在大多数的软件是32位系统下的,但是64位的系同样支持,只是运行的速率并没有明显的提高,如果想加快运行和处理速率,要在64位的操作系统及64位的CPU上用64的应用软件。

64位操作系统与32位操作系统的识别


Windosws系统下的判别:开始→运行→CMD回车→输入systeminfo

查看对应信息,信息辨别如下:

X86是32位 
X64是64位

例如:此操作系统为32位,cpu为32位。

Linux系统下的判别:# getconf LONG_BIT→回车 
32

 
(说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit) 
# cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l → 回车 
8

 
(结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit)
--------------------- 
作者:duff620 
来源:CSDN 
原文:https://blog.csdn.net/duff620/article/details/6166036 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/LJH_Gemini/article/details/83240940