我们经常能见到一些人攻击华为的麒麟芯片,认为麒麟芯片并非自研芯片,理由是麒麟芯片仍然基于ARMv8/v9的架构来设计,依然使用ARM的指令集,然而,问他们什么是指令集和架构的时候,他们就哑口无言了,本文带你了解为什么麒麟芯片基于ARMv8/v9架构,仍然使用ARM指令集,但是依旧是“自研芯片”。
ARM指令集,本质上是一种RISC指令集,即“精简指令集”,为了使移动端处理器用低功耗实现高性能,区别于X86指令集,ARM指令集已经在移动端得到了广泛的应用,主要原因是ARM公司主导的IP授权以及ARM公司不断更新的架构,使得ARM指令集成为了移动端最为常用的指令集,学习过计算机组成原理的人就会知道,指令集是很底层的东西,任何芯片的设计都需要有一定的指令集去支持设计,当然,任何公司理论上都可以开发自己的指令集,但是无法使用任何现有的软件,因为底层逻辑发生了变化,现有的软件无法识别。目前移动端的处理器均使用了ARM的指令集。包括苹果,华为,高通。
再来看架构,arm目前最新的架构为ARMv9架构,基于ARMv9架构,推出了一系列的“公版”核心,比如Cortex-X4等等,如果取得了ARM的IP授权,那么芯片设计商就可以直接使用ARM提供的公版核心,或者基于ARM指令集修改公版核心,也就是所谓的“魔改”,甚至自己做一个新的核心,高通新的CPU,GPU以及APPLE的Soc核心都为自己设计的,华为麒麟9000S的超大核和大核也是用的是自己的核心,归根结底,他们都是使用ARM指令集的,虽然使用的核心不同,但是都避免不了使用ARM指令集。
最后,再来说说华为为什么不使用自己的指令集,归根结底,还是因为生态问题,龙芯虽然使用自己的指令集,但是要想使用市面上的软件,需要使用二进制翻译这些软件,然后跑在基于龙芯指令集的平台上,损失的性能很大,华为使用ARM的指令集也不需要担心被断供的风险,那么,既然如此,为什么还要费时费力自己去开发一套新的指令集呢?ARM指令集都是固定的,所有人都可以去使用,但是核心是需要自己去设计或者直接使用公版核心的,使用公版核心会有被断供的风险,不过华为已经有了ARMv9的授权。
可以说,未来很长一段时间内,国内新出的Soc,都会使用ARM指令集,无论华为,小米,OPPO,vivo,都无法避免,难道就因为使用了ARM指令集就说华为的麒麟芯片不是自研的吗?太可笑了。
还有一些人认为做芯片很简单,只需要拿到ARM的公版核心然后让台积电代工出来就好了,只能说这些人对芯片一无所知,如果真是这样,高通岂不是早就失业了?如果想了解芯片设计的部分,点赞留言,下期介绍!点赞越快,更新越快!