64位CPU为什么叫amd64,而不是intel64?
在安装软件的时候,我们总是碰到疑惑:为什么64位软件包总是称为amd64而不是intel64呢?
如下所示的两款软件(Python的第三方库文件):
- TA_Lib-0.4.19-cp37-cp37m-win32.whl
- TA_Lib-0.4.19-cp37-cp37m-win_amd64.whl
你能分清楚那个对应32位机子,那个对应64位机子吗?此时很多人可能会有疑惑:虽然能知道win32是做什么的,但是amd64不太清楚。
1、AMD公司
AMD,即美国超威半导体公司,成立于1969年,AMD公司专门为计算机、通信和消费电子行业设计和制造各种创新的微处理器(CPU、GPU、主板芯片组、电视卡芯片等),以及提供闪存和低功率处理器解决方案。在创办初期,AMD的主要业务是为Intel公司重新设计产品,提高它们的速度和效率,并以"第二供应商"的方式向市场提供这些产品。64位CPU架构是AMD公司提出的,这个指令集是AMD设计的,Intel是从AMD获得授权才能生产,所以通常人们称为amd64,而非intel64。
2、win32
win32是指微软的Windows操作系统+Intel的32位CPU。
CPU位数是什么? CPU位数 = CPU中寄存器的位数 = CPU能够一次并行处理的数据宽度(位数)=数据总线宽度。32位CPU一次只能处理32位,也就是4个字节的数据;而64位CPU一次就能处理64位即8个字节的数据。
3、X86架构
CPU有两大架构:ARM和X86。前者适用于低功耗处理器,而后者适用于超高性能的台式机和服务器。X86架构(The X86 architecture)是Intel微处理器执行的计算机语言指令集,括16位和32位。
1978年6月8日,Intel发布了新款16位微处理器“8086”,也同时开创了一个新时代:x86架构诞生了。在40年的发展史中,x86家族不断壮大,从桌面转战笔记本、服务器、超级计算机等,CPU内部的计算能力也从16位跨越到32位。
但是,Intel并没有开发64位版本的x86指令集。64位的指令集名为x86-64(有时简称为x64),实际上是AMD设计开发的。Intel想做64位CPU,它知道如果从自己的32位x86架构进化出64位架构,新架构效率会很低,于是它搞了一个新64位处理器项目名为IA64。同时,AMD知道自己造不出能与IA64兼容的处理器,于是它把x86扩展一下,加入了64位寻址和64位寄存器。最终出来的架构,就是AMD64,成为了64位版本的x86处理器的标准。IA64项目并不算得上成功,现如今基本被放弃了。Intel最终采用了AMD64。
4、amd64
因为64位CPU架构是AMD公司提出的,这个指令集是AMD设计的,Intel是从AMD获得授权才能生产。