首先,一个处理器芯片包含了三个层次:指令集(ISA)、微结构设计、产品。
指令集(ISA),是规范标准(Specification),常用一本书或几张纸来记录描述;
微结构设计,也常被称为处理器实现(Implementation),是对具体实现,对应的是一种设计方法及其源代码;
产品,是微架构设计的实例化,比如华为基于ARM指令集和Cotex-A76微架构,设计了麒麟990这款芯片。
严格意义上来讲,“开源”,是“开放源代码”的缩写,而指令集只是几张纸,是没有源代码的。我们通常提到的开源处理器,是指的微架构设计的代码开源。
如图2,进一步将指令集标准与架构设计都分为三类:开放免费(Open & Free)、可授权(Licensiable)、封闭(Closed)。于是,我们可以看到,Intel就属于封闭指令集+封闭设计,ARM属于可授权指令集+可授权设计,但要获得授权价格不菲,往往需要上百万甚至数千万美元 [5]。
RISC-V为全世界提供了开放免费指令集+开放免费设计的选择。根据图2的第一行,我们可以知道只有先有了开源开放的指令集,才有可能有开源开放的微架构设计,即绿色格子。需要强调的是RISC-V本身是一种标准规范,和C/C++语言规范、POSIX系统调用等这些标准是一样的。本身是开放的,谁都可以基于这些标准来实现自己的处理器。但有一点需要厘清的是,即使都是基于开源开放指令集(比如RISC-V),也存在三种不同的商业模式,分析图3第一行,开放免费的指令集(RISC-V)包含了三种模式的微架构设计[5]:
开源模式,Berkeley的Rocket Chip、剑桥大学的lowRISC、蜂鸟E203等RISC-V核将RTL级源码也开源,这些设计可归到绿色格子;
授权模式,SiFive公司、晶心科技Andes、阿里平头哥的RISC-V核是可以被授权给第三方使用,但不开源RTL级源码,属于黄色格子;
封闭模式,Google、NVIDIA等企业在内部大量使用RISC-V核作为MCU,但他们不对外开放IP以及源代码,这就属于红色格子。
综上,指令集是开源开放免费的,但是微架构设计既可以选择开源给大家(开源模式);也可以选择收费后授权给其它公司去生产(授权模式);也可以不往外授权,自己拿去生产(封闭模式)。RISC-V提供给了大家完全自由开放的选择。而这里开源模式的绿色格子,便是我们经常说的基于RISC-V的开源处理器设计。 |