32位和64位有什么区别?

说在前面

我们平时经常会听到诸如这个软件是64位的,那个操作系统是32位的等此类话语,之前一直处于无感的状态,直到有一次培训,我32位的excel无法安装上64位中文版水晶球插件,这就勾起了我想了解其中缘由的兴趣。

那么64位的究竟比32位区别在哪里?我们可以任何时候都义无反顾的选择64位吗?让我们带着疑问一起走近科学。

冯诺依曼模型

在冯诺依曼模型中,他提出了内存的存储单位是二进制进行运算,计算机内部存储器来保存运算程序,这两个方案大大加快了计算机的速度和运算效率。

内存:存储的数据单位是一个二进制位,单位为bit。存储的单位叫做字节,单位为byte,一个字节对应一个内存地址, 1 byte = 8 bit 。

除了操作系统和应用程序,cpu其实也是有位数的。大家都知道 cpu负责计算,32位cpu每次可以计算4个byte,64位cpu每次可以计算8个byte。

简单来算一下,一个byte8bit,表示的范围就是0~255,按照这个范围来说,单讲计算能力,其实32位已经可以满足现实生活中绝大部分需求了。

总线

CPU和内存以及其他设备之间,需要通信,此时就需要总线的参与。那数据是如何通过线路来传递呢?答案是电压,低电压是0,高电压是1。

想像一下,如果想传递8这个数据,需要发送 1000,如果总线有4条一次就可以发送过去,如果总线有1条,则需要发送4次,我们现在可以达成一个共识,总线越多,处理大数据传递的速度越快。 如果我们电脑CPU是32位,那么就代表着有32条总线,2^32 = 4 * 2^30(byte) = 4GB,好的,现在我们又知道了,32位的cpu对应32位的操作系统(软件),只能支持4GB的内存,反之,64位的则可以支持更大的内存。

结论

如果32位cpu配了8G的内存会怎么样呢?答案是和4G内存一个样,完全不会有速度的提升。

32位的cpu可以读入64位的数字吗?可以!通过一些算法,可以将64位的数字分两次读入,但是涉及到读入两次以及相关的计算,速度会慢一些。

32位的程序可以装在64位的机器上吗?可以兼容。反过来呢,64位的程序装在32位系统上,需要一套兼容机制,不一定能兼容。

因为之前自己不是很了解,学习了以后分享给大家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值