中国芯片吧 关注:899贴子:12,924
  • 1回复贴,共1

一、MIPS和ARM授权的异同  MIPS授权和ARM授权都

只看楼主收藏回复

一、MIPS和ARM授权的异同
  MIPS授权和ARM授权都分为处理器核授权和结构授权两类,核授权也称为IP授权,这又分为两类,即软核和硬核。可以把软核看作是电路原理图,硬核除了原理图之外,还有设计好的电路板和各元件的详细参数。比如最简单的照明电路就是由电源、导线、开关、电灯组成,这样一个电路图就像是软核,而室内装修安装电线、电灯等时,电线的直径、长度、走线的路径,电灯的种类、功率、安装的位置等等,就属于物理设计,也就是硬核。有了物理设计之后,才可以进行生产,CPU的生产过程被称为流片。
  软核授权是指RTL形式的IP(加密版),获得授权后需要自己做物理设计,再去流片测试,最后量产。厂商可以进一步对架构进行强化,但不得二次销售最佳化完成的处理器IP,但是可以任意营销其最终制品(包含芯片、开发样版、完整系统等等)。
  硬核授权则可以取得CPU核心的闸极电路图,并且也会一并提供抽象模拟测试以及相关的测试程序,获得授权后几乎可以直接生产和测试。
  结构授权就是指令集授权,指令集是CPU硬件与软件之间的接口描述,比如加法指令需要使用到哪些寄存器、支持哪些寻址模式、如何传入加数、从哪里得到结果,以及指令的各种格式对应的二进制操作码等。CPU核设计就是要自己设计电路按照指令集的规范去实现各个指令的功能。获得指令集授权后,需要自己完成后续的所有工作,难度最大。因为难度大,所以一般指令集授权还包含技术支持、各种测试程序、检测验证等工具。通过结构授权自行设计的IIP,MIPS允许设计者二次销售,ARM不允许,设计者只能销售最终制成品。虽然MIPS和ARM公司都在卖自己的IP,但MIPS创始人是学院派,因此规矩比较宽松,而ARM则不能容忍使用自己指令集的其它公司抢自己的生意。
  定义指令集本身没有技术难度,但由于指令是软件与硬件之间的接口规范,规范不同就会导致不同指令集的CPU不能相互兼容。比如老师发出“起立”这一个指令,所有学生都会站起来,就是因为大家都知道“起立”的意思,如果师与学生语言不通,那指令就无法理解了。针对不同指令集编译的软件,也就只有对应的CPU可以正确执行。比如Windows系统以前只有x86版,就不能在其它指令集的CPU上运行,后来增加了ARM版Windows 10,但各种软件都还是x86指令集的,在ARM CPU的Windows上也不能直接运行。这说明购买指令集授权,本质是购买兼容此指令集的软件的运行权,也就是获得软件生态。指令集的价值体现在软件生态上,而不是指令集本身。
  MIPS的定价策略是核授权很贵,而架构授权很便宜。有能力的公司都可以使用MIPS指令集开发自己的CPU,并且可以对指令集进行扩展,而不受限制。这种模式在短期内造成了百花齐放的效果,但从长期而言,由于允许自行扩充指令,导致生态碎片化,相互不兼容,从而影响了开发者和使用者的热情,这是MIPS没落的主要原因。
  与MIPS相反,ARM则是核授权很便宜,架构授权很贵(据说大约每5年1亿美元),以及每颗芯片卖出后的版税(约售价的1~2%)。这样即使没有能力自己开发CPU核的公司,也能通过购买核授权来快速推出CPU产品,即使有研发能力的公司,使用现成的 ARM IP 来集成CPU,也可以大幅度降低产品开发成本和缩短开发周期。ARM 的商业模式渐渐驱逐了MIPS,并开辟和占领了更多市场,毕竟低成本的快速的产品方案可以提高市场竞争力,MIPS因此举步维艰。
  由于MIPS生态碎片化的前车之鉴,ARM为了避免重蹈覆辙,对架构授权的限制就很严格,合作伙伴可以参于指令集的制定,但禁止私下修改。也就是可以向 ARM 贡献自己设计的新指令,但是否能添加到指令集中则由重要合作伙伴们及ARM协商决定,新增的指令会成为ARM指令集的一部分。某些企业宣称可以扩展ARM指令集,其实这话没问题,毕竟只要满足了扩展的条件,自然就可以扩展。或者私下添加了新指令,但只供专用的系统使用,不影响ARM生态,大概也是可以的。
以上内容转自龙芯吧,更多精彩见回复。


IP属地:湖北来自Android客户端1楼2020-02-12 00:02回复
    IP属地:湖北来自Android客户端2楼2020-02-12 00:03
    回复