一文解惑intel、amd和arm
由于最近想买macbook pro m1
对其进行了一个稍微深入的研究
我们知道m1芯片是基于arm架构的
那它与intel、amd有什么区别呢?
CPU架构
CPU的全称是“中央处理单元”,它是计算机的核心,计算都由它完成。不同的CPU架构有不同的指令集(汇编),彼此不通用这就导致运行在上面的软件不兼容,必须重新编译。如果没有做适配,一个架构下的软件就无法移植到另一个架构。
目前市面上的CPU架构为X86架构和arm架构。由于m1芯片是首次基于arm架构,采用了m1芯片的macbook,很多软件厂商都没有做适配,所以需要等待各大软件厂商进行适配再去入手比较合适。
按道理讲,将代码重新编译一下即可,但是由于CPU架构不同,如果说该代码中含有汇编代码而对应的arm没有对应的指令集,那么就无法编译成功。或者说在该代码中使用了第三方库,第三方库中不支持arm架构,那同样无法进行编译。
X86架构与ARM架构的区别与联系
intel 与 amd 厂商使用的是基于X86架构的CPU,X86架构使用的是复杂指令集即指令一步到位,而arm使用的是精简指令集即指令由几个指令完成。
X86架构性能好,但是耗电多、电压高,主要用于桌面合服务器。
然而ARM架构耗电少、电压低,但是单核性能不如X86,主要用于移动设备。
近几年来,X86架构发展迟缓,ARM架构进步显著,已经从移动设备向桌面电脑和服务器进军了,如m1芯片。
软件安装版本说明
我们通过go语言官方安装包和oracle java官方安装包来看看。
amd64 、X86_64 与X64
不同的公司称呼不一样,其实是一个东西,如amd64 与 X86_64 和 X64。
这个标准是amd公司制定的标准可以兼容32位,intel采用了这个标准,有时又称为intel64。
以Go官方安装包为例子
windows | linux | macos |
---|---|---|
windows-386(32位X86架构) | linux-386 (32位X86架构) | darwin-amd64 (64位 X86架构CPU) |
windows-amd64(64位X86架构) | linux-amd64(64位X86架构) | darwin-arm64(64位 ARM架构CPU) |
linux-arm64(64位ARM架构) |
苹果为什么要采用ARM架构
一个重大的原因是inter公司多年来创新乏力,产品没有突破,并且没有解决功率和散热的问题。
自从2010年开始,苹果手机就采用ARM架构自研芯片。
可以想象如果笔记本的整个 CPU 都由苹果自己设计,一定会有更多的功能集成进来。
苹果手机的安全特性、图形支持、视频处理、音频处理、加密解密、人工智能都可以放进桌面设备。苹果也能对它进行更好的优化,批量生产,降低成本
一旦苹果可以控制芯片、硬件、软件整个堆栈,就能让它们更好的协同,创造出更多多令人激动的新功能。
Mac 电脑采用 ARM 架构后,还能实现统一的 Apple 生态,而不是现在分隔开来的 Mac 生态和 iPhone/iPad 生态。不同设备都有同样的架构,运行同样的程序,差别只是外形尺寸与性能。
你可以在你的macbook m1上刷抖音等hhh。
m1主打的就是低功耗,续航,效率高。
其实也想早点入手m1,说不动咱能为此做点贡献呢(痴人说梦hhh)