叨叨32位和64位的区别,其实不严谨。
32位/64位 指的可能是CPU,可能是操作系统,可能是安装的软件
多数情况说的计算机32位,64位指的就是CPU的区别, 操作系统也属于特殊的软件吧
32/64位CPU的区别
1.控制总线能力不同
32位CPU只能控制32根总线
64位CPU可以控制64根总线
2. CPU最大一次读入数据大小不同
由于总线个数不同,32位的CPU计算能力也是只能计算32位的数据,无法对64位的数据进行运算 (每根总线一次传输0或1 32根总线最大一次传输数据2^32)
32位CPU一次读入只能读取32bit的数据,同时32位的CPU只有32位的寄存器
2. 寻址能力不同
32位最大控制的总线为32根,最大寻址能力是4G,一次能传输最大字节数是4byte 32位
64位最大控制的总线为64根,最大寻址能力是256TB,一次能传输的最大字节数是8byte 64位
32/64位操作系统区别
1. 寻址范围不同
32位操作系统
指针大小 == 一次传输数据大小 == 4byte == 32位
最大地址寻址范围 0 ~ 4G 也就是说最大能利用的内存也就是4G
64位操作系统
指针大小 == 一次传输数据大小 == 8byte == 64位
最大寻址范围 0 ~ 256T
2. 指令不同
如果是 64 位操作系统,也就是操作系统中程序的指令都是 64 位指令,因此不能安装在 32 位机器上。
其实32位还是64位的能力,最先取决于CPU,其次是操作系统,最后是应用软件,从前到后采用向下兼容原则
如果一个32位的CPU,只能老老实实安装32位操作系统,运行32位软件
如果64位CPU,向下兼容,32/64位的操作系统都能兼容
综合起来,思考一个问题,32位电脑为什么卡?
1. 32位的CPU处理数据 每次最多4byte ,CPU的运算能力差
2. 32位CPU 对应的寻址范围是4G 也就是最多能用上4G内存,加内存条也没用 内存不够用自然会产生磁盘与内存频繁交换