0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

64位和32位芯片的区别

微云疏影 来源:一起聊IT 作者:一起聊IT 2022-04-11 15:29 次阅读

自从苹果在iPhone 5s上使用了64位的A7处理器后,手机处理器的位数也就自然而然的成为了人们关注的焦点,那到底64位处理器和32位处理器有什么区别呢?本文将重点介绍一番。

CPU的位是指一次性可处理的数据量是多少,1字节=8位,32位处理器可以一次性处理4个字节的数据量。依次类推,64位处理器可以一次性处理8个字节的数据量,比32位处理器的处理速率加快一倍。

为什么64位会比32位的快,那是因为如果一个机器指令是32位的,那么寄存器是64位就可以一次取两个指令,也就相当于一个小孩和一个大人抢东西吃,小孩一次只能拿四个,而大人则可以拿8个。

换一种说法,32位跟64位就好比四车道和八车道的区别,只有你堵成晚高峰的北京才能感受得到。你要是四车道都没开满,上了八车道也感觉不到区别。一般来说跑计算密集型并且为64位优化过的程序才能感受到区别。

如果说频率的提升是把一条4车道高速公路的时速限制从120公里提升到了360公里的话,那么从32位到64位的提升就是将这条提升了3倍时速限制的高速公路从4车道拓宽到了8车道,也就是说,这条公路的运力提升了一倍,这可是质的飞跃。

不过计算机内部表示的数值是有范围的,决定性因素在于CPU的寄存器。它是计算机处理数值的最小单元,如果寄存器是32位的,那么他所能表示的数的范围最大是2的32次方,即表示的范围是32个0到32个1,(这里不计较原码还是补码或是移码),如果寄存器是64位的话,显而易见,表示的范围是64个0到64个。

数的表示范围大了,那么其计算的精确度就提高了。当然这要操作系统的支持才行,就像有辆跑车能跑300公里每小时,但是驾驶员只会开低档,好的资源被浪费了。

另外,相信大家都知道32位系统只能识别4g内存而64位系统可以识别4g以上内存。那是因为内存是由很多小的单元组成,为了能取得内存里面的数据,需要给把每个单元编号,就像家庭住址一样。而作为内存的单元编号是有专门的寄存器存储(专业名词是mar)的,32位系统可以表示的最大地址是2的32次方,一般来说一个单元是8位的,也就是一个字节。合起来就是4g的存储空间,同样的64位系统可以表示的单元地址的总数是2的64方。

64位操作系统跟32位操作系统又有什么区别?

操作系统其实也是程序,64位的操作系统使用的是64位的指令,不能安装在32位机器上。两者最大的区别在于:

1、设计初衷不同

64位操作系统的设计初衷是为了满足需要大量内存和复杂浮点数运算的需求,一般用在科学计算、人工智能、平面设计、视频处理、3D动画和游戏数据库以及各种网络服务器等领域中。

2、安装环境不同

64位操作系统只能安装在64位CPU的机器上,同时需要配合64位的程序才能发挥最佳性能,32位操作系统既可以安装在32位CPU的机器上,也可以安装在64位CPU的机器上,但没啥意义,64位的性能会被大打折扣。

3、寻址能力不同

32位操作系统最多可以寻址2的32次方即4,294,967,296字节,约4GB内存,4GB的内存就现在而言在很多服务端程序上都是不够用的,而64位操作系统理论上可以寻址2的64次方即18,446,744,073,709,551,616字节超过1亿GB内存,但这只是理论上,由于不同架构的CPU设计不同,所以寻址能力也有错差别。

32位操作系统和64位操作系统下数据类型对应的字节大小也是不同的,正常数据类型对应的字节数应该是CPU位数决定的,但实际上貌似是由编译器决定的,看下表:

image.png

小结

32位处理器的优点唯一值得一提就是它可以与20世纪末和21世纪初开发的所有旧程序兼容。64位处理器可以提升程序的性能,更好的利用64位操作系统的特性。64位的处理器有256TB的虚拟内存,其中128TB分配给了用户空间,另外128TB分配给了内核空间(不同架构的CPU虚拟内存的设计大小不同,AMD的x86-64架构的CPU只有最低48位才会在地址转换时被使用,所以总的虚拟地址空间为2的48次方即256TB,这里涉及到多级页表中的四级页表,后续程序喵会介绍)。

要实现真正意义上的64位计算,光有64位的处理器是不行的,还必须得有64位的操作系统以及64位的应用软件才行,三者缺一不可,缺少其中任何一种要素都是无法实现64位计算的。在64位处理器方面,Intel和AMD两大处理器厂商都发布了多个系列多种规格的64位处理器。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    452

    文章

    50117

    浏览量

    420326
  • 寄存器
    +关注

    关注

    31

    文章

    5281

    浏览量

    119746
  • 操作系统
    +关注

    关注

    37

    文章

    6651

    浏览量

    123097
收藏 人收藏

    评论

    相关推荐

    RV6464地址指令

    一、导言 图 1 至 4 是 RV32G 指令集的 64 版本 RV64G 指令集的图示。由图可见,要切换到 64 ISA,ISA 只
    发表于 09-04 15:15

    MPU进入64时代,Microchip推出PIC64系列产品

    ,MCU和MPU之间的界限也越来越小,以适应更多新的应用。Microchip作为嵌入式解决方案的领导者,近日推出了全新的PIC64GX MPU,这也是Microchip推出的首款64MPU产品
    的头像 发表于 07-24 00:12 3449次阅读

    请问STM8能处理64的数据吗?

    IAR for stm8 中给64数据变量赋值时出现integer constant is too large的错误。 问下STM8能处理64的数据吗?
    发表于 05-14 08:13

    8,16,32单片机编程有哪些区别?注意哪些事项?

    8,16,32单片机编程有哪些区别?应注意哪些事项?
    发表于 05-11 06:53

    ICman液检测芯片在加湿器中的应用

    ICman液检测芯片能够很好地实现加湿器液检测提醒方案,解决液检测不准确不灵敏的问题
    的头像 发表于 04-28 13:45 287次阅读
    ICman液<b class='flag-5'>位</b>检测<b class='flag-5'>芯片</b>在加湿器中的应用

    用STM32F7通过SPI接口向一个芯片发送64信号遇到的疑问求解

    项目中STM32F7 通过SPI 接口向一个芯片发送64信号。用SPI发送4次完成。 SPI设置如下 Mode: Transmit Only Master Hardware NSS Signal
    发表于 04-23 08:15

    ICMAN多点液检测

    检测
    ICman
    发布于 :2024年04月02日 09:31:20

    SC01B液检测#芯片方案

    芯片检测
    ICman
    发布于 :2024年02月23日 17:23:57

    请问8mcu和32mcu的区别

    8mcu和32mcu的区别
    发表于 02-01 06:49

    关于32/64Altium Designer与Access数据库兼容的问题

    Database Libraries(Dblib)是一个功能强大的元器件管理方案,但对于3264版本的Altium Designer在使用Microsoft Access作为后端数据库时是有
    的头像 发表于 01-24 14:40 1810次阅读

    ICMAN液检测芯片大盘点

    一文了解ICMAN液检测芯片
    的头像 发表于 01-19 11:18 741次阅读
    ICMAN液<b class='flag-5'>位</b>检测<b class='flag-5'>芯片</b>大盘点

    8和32单片机的区别

    要搞懂这个问题,首先要搞明白8或32说的是单片机的哪一个部件。
    发表于 11-30 09:48 867次阅读
    8<b class='flag-5'>位</b>和32<b class='flag-5'>位</b>单片机的<b class='flag-5'>区别</b>

    python32与62区别

    32 64 之间的区别和影响。 内存限制: 在 32 系统中,每个进程可以使用的最大内存是 4GB。这是由于 32
    的头像 发表于 11-23 16:44 1626次阅读

    现在3264mcu主要有哪些?哪种性价比高呢?

    现在3264mcu主要有哪些?哪种性价比高?
    发表于 11-08 08:26