说在前面
我们平时经常会听到诸如这个软件是64位的,那个操作系统是32位的等此类话语,之前一直处于无感的状态,直到有一次培训,我32位的excel无法安装上64位中文版水晶球插件,这就勾起了我想了解其中缘由的兴趣。
那么64位的究竟比32位区别在哪里?我们可以任何时候都义无反顾的选择64位吗?让我们带着疑问一起走近科学。
冯诺依曼模型
在冯诺依曼模型中,他提出了内存的存储单位是二进制进行运算,计算机内部存储器来保存运算程序,这两个方案大大加快了计算机的速度和运算效率。
内存:存储的数据单位是一个二进制位,单位为bit。存储的单位叫做字节,单位为byte,一个字节对应一个内存地址, 1 byte = 8 bit 。
除了操作系统和应用程序,cpu其实也是有位数的。大家都知道 cpu负责计算,32位cpu每次可以计算4个byte,64位cpu每次可以计算8个byte。
简单来算一下,一个byte是8bit,表示的范围就是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位系统上,需要一套兼容机制,不一定能兼容。
因为之前自己不是很了解,学习了以后分享给大家。
本文探讨了32位和64位计算机系统的主要区别,包括冯诺依曼模型中的内存和CPU位数概念。32位CPU最大支持4GB内存,而64位则能支持更大内存,且处理速度更快。虽然32位程序可以在64位系统上运行,反之则可能需要兼容机制。了解这些基础知识有助于我们更好地选择适合的硬件和软件配置。
779

被折叠的 条评论
为什么被折叠?



