实例
在以下系统中,int类型占几个字节,指针占几个字节,操作系统可以使用的最大内存空间是多大:( )
A.32位下:4,4,2^32 64位下:8,8,2^64
B.32位下:4,4,不限制 64位下:4,8,不限制
C.32位下:4,4,2^32 64位下:4,8,2^64
D.32位下:4,4,2^32 64位下:4,4,2^64
解析:
32位系统下:
int占4个字节,指针表示地址空间个数,总共有2^32个,故占4个字节
64位系统下:
int占4个字节,指针表示地址空间个数,总共有2^64个,故占8个字节
32位和64位分别指的是什么?
从程序上说:32位与64位程序,是指经过语言汇编后的可执行程序,比如C语言编写的程序就需要区分的32位的还是64位。
从系统和硬件上讲:CPU一次处理数据的能力是32位还是64位,关系着系统需要安装32位还是64位的系统。
32位和64位中的“位”,也叫字长,是CPU通用寄存器的数据宽度,是数据传递和处理的基本单位。字长是CPU的主体技术指标之一,指的是CPU一次能并行处理的二进制位数,字长总是8的整数倍。
32操作系统针对的32位的CPU设计。CPU内部寄存器和寻址总线是32位,指令集可以运行32位数据指令,也就是说一次可以提取32位数据(4个字节,32bit=4Byte)。32位CPU有4G的内存寻址空间。
64位操作系统是指特别为64位架构计算机系统而设计的操作系统,在计算机架构中,64位整数、内存地址或者其他数据单元,是指它们最高达到64位(8字节)宽。此外,64位CPU和算术逻辑单元架构是以寄存器、内存总线或者数据总线的大小为基准。64位CPU在1960年代,便已经存在于超级计算机,且早在1990年代,就有以RISC为基础的工作站和服务器。2003年才以x86、x64和64位PowerPC处理器架构的形式引入到(在此之前是32位)个人计算机领域的主流。
64位CPU和32位CPU有哪些优缺点?
64位CPU和32位CPU的指令集合、操作数位数、寄存器名称和个数等都不相同。
64位CPU理论上的数据处理能力更强。64位CPU通用寄存器的位宽增加一倍,可以一次性处理64bit的整形数据。
64位CPU的内存寻址能力更强。32位CPU地址总线不超过32,它所能达到的寻址范围,理论上只能使用约4GB,即不超过2的32次方字节;64位CPU,理论上寻址范围可以达到上亿GB(2的64次方字节)。
32位CPU的地址总线不一定是32位的,也可能是48位的,64位的CPU地址总线也不一定是64位,也可能是48位。
但普遍来说,32位CPU只能支持4G内存,而64位CPU可支持更大内存。
64位操作系统和32位操作系统有哪些优缺点?
32位系统在32位CPU和64位CPU上均可运行,64位系统只能在64位CPU上运行。不过,如果用64位的CPU运行32位的系统,就是杀鸡用牛刀,大马拉小车,并不能很好的发挥出64位CPU的能力。