正文
指令集,架构,软核,硬核的简单学习
前言
最近一直研究国产化信创知识.
之前的很多总结都比较底层.
今天想着从稍微高一点的角度,尤其是CPU厂商的角度进行分析.
看了很多知乎大神,比如guee等的知识,很有感触.
也想借着周末的时间,学习与总结一下.
国产化的脉络
国产计算机其实从上世纪五十年代就开始了. 103机,104机就是典型.
当时其实是电子管的计算机.
也没有具体的CPU,内存之类的划分.
但是是模仿苏联的计算机进行的国产化.
美国的计算机大部分是冯诺依曼,或者是哈佛架构进行的发展.
改革开放之后 国产计算机的发展一度中断.
在96年台海危机之后,以及新的瓦森纳协定以及实体名单的影响
第三代领导人核心才家吗继续发展国产计算机
其中国产CPU就是其中最关键和核心的一环.
国产化的分类
1. 购买指令集架构授权.
龙芯和申威为代表, 龙芯购买的MIPS的指令集. 申威购买的Alpha
两家企业MIPS和DEC都已经破产了. 只剩下国内还在继续发展.
2. 购买软硬核授权
飞腾,鲲鹏,阿里倚天.等等都是这个套路.
怀疑鲲鹏可能是软核心授权. 飞腾自己使用火星架构.但是感觉甚至比公版还要差.
3. 合资公司授权生产
海光,兆芯,津逮 都是这个套路.
4. RSIC-V开源指令集
阿里的平头哥的部分产品,以及一些做RAID主控,或者是U盘主盘的厂商.
指令集
其实指令集不是最复杂的部分.
世界上也有非常多的指令集出现和发展过.
但是其实指令集也并非最重要的.
生态,兼容性,性能才是最重要的.
Intel的4004最初是给打印机等设备使用的.
但是随着IBM-PC技术的发展.才慢慢占据主流.
Intel本身是做存储出生, 他的大部分CPU都是向前兼容的.
除了IA64. 已经失败了.
MIPS 就是指令集授权比较多.
但是这样很容易导致出现生态碎片化.
MIPS是学院派的人创建的指令集. 他们的指令集授权较为便宜. 但是软核和硬核的价格比较高.
也就导致了 MIPS的发展百花齐放. 不同 厂商的CPU不完全兼容.
架构
指令集在网上就是架构.
架构可以理解为是实现了指令集的设计内容.
架构会有一些特性的复杂指令组合.
比如Intel的AVX512和AMD的 3DNOW!以及ARM的ASIMD等指令集.
前面也总结过, 像是飞腾就是ARMv8.0, 鲲鹏的920就是ARMv8.2
阿里倚天的就是ARMv9.0
不同的架构实现的指令也不一样.
比如最新的ARMv9 应该也实现了类似于BF16的数据类型来进行ML和DL
在AI领域能够实现更好的算法与性能.
BF16是 8位整数长度, 7位精度, 一位符号位的总计16位长浮点类型.
BF16是 针对FP16的有效补充, 因为FP16仅有5未整数位,很容易就会溢出.
所以可以看到,越新的架构, 实现的特性越多, 对新服务,新技术的适应性越好.
软核和硬核
核授权也称为IP授权,
这又分为两类,即软核和硬核。
可以把软核看作是电路原理图,
硬核除了原理图之外,还有设计好的电路板和各元件的详细参数。
比如最简单的照明电路就是由电源、导线、开关、电灯组成,这样一个电路图就像是软核,
而室内装修安装电线、电灯等时,电线的直径、长度、走线的路径,电灯的种类、功率、安装的位置等等,
就属于物理设计,也就是硬核。有了物理设计之后,才可以进行生产,CPU的生产过程被称为流片。
软核授权一般是指VHDL形式的IP(加密版),获得授权后需要自己做物理设计,再去流片测试,最后量产。
厂商可以进一步对微架构进行强化,但不得二次销售最佳化完成的处理器IP,
但是可以任意营销其最终制品(包含芯片、开发样版、完整系统等等)。
https://zhuanlan.zhihu.com/p/99807721
区别
MIPS的定价策略是核授权很贵,而架构授权很便宜。
有能力的公司都可以使用MIPS指令集开发自己的CPU,并且可以对指令集进行扩展,而不受限制。
这种模式在短期内造成了百花齐放的效果,但从长期而言,由于允许自行扩充指令,
导致生态碎片化,相互不兼容,从而影响了开发者和使用者的热情,这是MIPS没落的主要原因。
与MIPS相反,ARM则是核授权很便宜,架构授权很贵(据说大约每5年1亿美元),
以及每颗芯片卖出后的版税(约售价的1~2%)。
这样即使没有能力自己开发CPU核的公司,也能通过购买核授权来快速推出CPU产品,即使有研发能力的公司,
使用现成的 ARM IP 来集成CPU,也可以大幅度降低产品开发成本和缩短开发周期。
ARM 的商业模式渐渐驱逐了MIPS,并开辟和占领了更多市场,毕竟低成本的快速的产品方案可以提高市场竞争力,MIPS因此举步维艰。
人类社会都是趋利避害的. 能赚快钱一定会比老实本分来的直接与迅速.
苹果与安卓的区别
苹果的A系处理器仅获取了ARM的指令集授权,而核心架构由它自行研发;
安卓芯片则采用了ARM的公版核心,可以说安卓芯片都是拿ARM的公版核心组装的芯片,
由于ARM自身的实力所限,公版核心性能向来落后于苹果的A系处理器,可以说高通芯片落后苹果两代。
苹果、高通、MTK、华为等获得了 安卓的架构授权.
飞腾应该也有架构授权,但是自己的改进能力比较有限, 基础也比大厂薄弱一些
苹果收购了多个苹果创业公司, 并且最近几年弄做出来了M1的甚至M2的Desktop级别的CPU
性能非常卓越, 一方面苹果有CPU和GPU共享的内存结构. 比x86架构必须走共享才能够互相方位又要优秀一到两代
并且因为内存也进行了统一封装, 访存的延迟和带宽也比x86更加优秀. 性能比较好.
并且苹果自己掌握mac和ios的生态,可以定性优化. 所以不仅仅比大部分ARM厂商要好,甚至已经超越了Intel的部分产品.
CPU的市场占有率