首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

零基础Python到全栈-X86-64/32

我们下载软件的时候,大多数都会让我们选择X86-64位或者X86-32位,这到底是什么意思呢?

现在我就来详细讲解X86-64位或者X86-32位代表的含义。

Inter出厂的第一款CPU的型号叫8086,后来又出现了80285、80386等一系列型号。后来大家就把这种型号或者说这种架构的CPU统称之为X86架构。

前面我们也说了,代码最先是存在于硬盘之上的,代码运行的时候是会先加载到内存。在这之前计算机会做一件事情,就是把人类写的程序翻译成计算机能看的懂的指令,这叫做解码,然后CPU 从内存里取指令运行。

这里我们要明白一件事,由于计算机是基于电工作的,电有高电频和低电频这两种特性,所以对于计算机而言,它只能识别高电频和低电频这两种信号。在计算机内部高电频就人为的从逻辑层面被定义为1,低电频就人为的从逻辑层面被定义为0。所以计算机能识别的就只有0101这种高低电频表示的二进制。我们存储的数据其实也是存了一堆二进制。

64位代表的就是CPU每次从内存里取出64位指令运行,也就是每次从内存里取出64个二进制数作为一个指令。

32位就是CPU每次从内存里取出32位指令运行,也就是每次从内存里取出32个二进制数作为一个指令运行。

我们还要知道的就是,CPU具有向下兼容性。举个例子:现在你的CPU是64位的,你每次能接受的最大指令数是64个,然后你的内存里运行了一款程序叫快播。假设快播这个程序开发的时候就设计好了,它每次对外提供指令数就是64位,这个时候你的快播就肯定能够正常执行的,因为这个程序每次提供64位指令,而你的CPU每次也能够接收64位指令。

现在假设快播这款程序设计的时候定义了每次对外提供的指令数是32位,这就相当于你的车道是64条,可以同时容纳64辆车并排行驶,但是你每次跑的车只有32辆,这肯定是可以正常运行的。

现在我们调换一下,你的CPU是32位了,我们的软件仍然是每次对外提供64位二进制数,这时候你的CPU就处理不了。

向下兼容性也就是64位的CPU,能够运行64位程序,也能够运行32位的程序。

最后我们总结一下,X86就是CPU的型号,现在市面上的CPU基本上都是X86架构的,我们在网上下载程序的时候,看到上面写着X86-32位这就意味着这个程序所支持的CPU型号是X86架构的,它每次向外提供的是一条完整的不可分割的32位指令,作为一个整体交给CPU执行。也说明了这款程序能够运行在X86-32位的CPU上,也能够运行在X86-64位的CPU上。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230121A01YSX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券