查看: 2958|回复: 0
收起左侧

CISC和RISC之争,为什么MIPS是龙芯唯一选择?

[复制链接]

  离线 

  • TA的每日心情
    拍拍
    2022-6-27 11:09
  • 签到天数: 25 天

    [LV.4]

    发表于 2021-3-26 10:20:40 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 sky 于 2021-3-26 10:25 编辑

    国外芯片技术交流-CISC和RISC之争,为什么MIPS是龙芯唯一选择?risc-v单片机中文社区(1)
    精简指令集计算机(RISC)是一种执行较少类型计算机指令的微处理器。这样一来,它能够以更快的速度执行操作。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。

    复杂指令集计算机(CISC)除了RISC,任何全指令集计算机都使用的是复杂指令集计算(CISC)。

    目前常见使用RISC的处理器包括DEC Alpha、ARC、ARM、MIPS、PowerPC、SPARC和SuperH等,常见使用CISC的处理器主要有X86。

    纽约约克镇IBM研究中心的John Cocke证明,计算机中约20%的指令承担了80%的工作,他于1974年提出了RISC的概念。那么,RISC和CISC主要区别在哪里呢?

    • (1)指令系统:RISC 设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来完成。因此,在RISC 机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。而CISC 计算机的指令系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。
    • (2)存储器操作:RISC 对存储器操作有限制,使控制简单化;而CISC 机器的存储器操作指令多,操作直接。
    • (3)程序:RISC 汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计;而CISC 汇编语言程序编程相对简单,科学计算及复杂操作的程序设计相对容易,效率较高。
    • (4)中断:RISC 机器在一条指令执行的适当地方可以响应中断;而CISC 机器是在一条指令执行结束后响应中断。
    • (5)CPU芯片电路:RISC CPU 包含有较少的单元电路,因而面积小、功耗低;而CISC CPU 包含有丰富的电路单元,因而功能强、面积大、功耗大。
    • (6)设计周期:RISC 微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术;CISC 微处理器结构复杂,设计周期长。
    • (7)用户使用:RISC 微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。
    • (8)应用范围:由于RISC 指令系统的确定与特定的应用领域有关,故RISC 机器更适合于专用机;而CISC 机器则更适合于通用机。

    当今处理器共有三个最强大的架构,一是以Intel和AMD为代表的x86架构,另一个是智能终端处理器所使用的ARM架构,第三个便是我国龙芯处理器所选择的MIPS架构。这三大处理器架构中,X86和ARM是商业化进程最为优秀的两大架构。要说最经典的RISC处理器,那么非MIPS莫属,就连它的竞争对手,也不得不承认它的优雅,它被作为处理器教科书的典范。

    国外芯片技术交流-CISC和RISC之争,为什么MIPS是龙芯唯一选择?risc-v单片机中文社区(2)


    一、MIPS的前世今生

    MIPS是世界上很流行的一种RISC处理器。MIPS (Microprocessor Without Interlocked Piped Stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福(Stanford)大学Hennessy教授领 导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算 机系统。

    MIPS技术公司是美国著名的芯片设计公司,它采用精简指令系统计算结构(RISC)来设计芯片。和英特尔采用的复杂指令系统计算结构(CISC)相比, RISC具有设计更简单、设计周期更短等优点,并可以应用更多先进的技术,开发更快的下一代处理器。MIPS是出现最早的商业RISC架构芯片之一,新的 架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。

    1986年推出R2000处理器,1988年推出R3000处理器,1991年推出第一款64位商用微处理器R4000。之后,又陆续推出R8000 (1994年)、R10000 (1996年)和R12000 (1997年)等型号。1999年,MIPS公司发布MIPS 32和MIPS 64架构标准。2000年,MIPS公司发布了针对MIPS 32 4Kc的新版本以及未来64位MIPS 64 20Kc处理器内核。

    在MIPS芯片的发展过程中,SGI公司在1992年收购了MIPS计算机公司。

    1998年,MIPS公司又脱离了SGI,成为MIPS技术公司; MIPS32 4KcTM 处理器是采用MIPS技术特定为片上系统(SoC)而设计的高性能MIPS RISC 内核。采用MIPS32TM体系结构,使得这个处理器与目前嵌入式领域广泛应用的 R3000和R4000系列(32位)微处理器完全兼容。

    新的 64 位 MIPS 处理器是RM9000x2,从“x2”这个标记判断,它包含了不是一个而是两个均具有集成二级高速缓存的64位处理器。

    MIPS处理器是80年代中期RISC CPU设计的一大热点。MIPS是卖的最好的RISC CPU,可以从任何地方,如Sony, Nintendo的游戏机,Cisco的路由器和SGI超级计算机,看见MIPS产品在销售。

    目前随着RISC体系结构遭到x86芯片的竞争,MIPS有可能是起初RISC CPU设计中唯一的一个在本世纪盈利的。和英特尔相比,MIPS的授权费用比较低,也就为除英特尔外的大多数芯片厂商所采用。

    MIPS的系统结构及设计理念比较先进,其指令系统经过通用处理器指令体系MIPS I、MIPS II、MIPS III、MIPS IV到MIPS V,嵌入式指令体系MIPS16、MIPS32到MIPS64的发展已经十分成熟。在设计理念上MIPS强调软硬件协同提高性能,同时简化硬件设计。

    中国龙芯2和前代产品采用的都是64位MIPS指令架构,它与大家平常所知道的X86指令架构互不兼容,MIPS指令架构由MIPS公司所创,属于RISC体系。过去,MIPS架构的产品多见于工作站领域,龙芯2也属于这个阵营,在软件方面也完全兼容。

    MIPS 技术公司则是一家设计制造高性能、高档次及嵌入式32位和64位处理器的厂商。在通用方面,MIPS R系列微处理器用于构建SGI的高性能工作站、服务器和超级计算机系统。在嵌入式方面,MIPS K系列微处理器是目前仅次于ARM的用得最多的处理器之一(1999年以前MIPS是世界上用得最多的处理器),其应用领域覆盖游戏机、路由器、激光打印 机、掌上电脑等各个方面。

    由于服务器RISC处理器市场的激烈竞争结果导致HP 公司放弃它的PA-RISC和“私生子”Alpha 两种类型服务器处理器,而“Alpha技术”则被Intel和AMD吸收应用到他们自身的处理器中; MIPS处理器应用范围则较广,对于作为服务器RISC处理器来说,主要是应用于专门的图形服务器上。


    二、MIPS和ARM强势对比

    以RISC技术为基础,再加上MIPS架构中的可扩展硬软件设计,使得MIPS的解决方案比ARM的同类解决方案性能更高、功耗更低且面积更小。MIPS科技原来主要瞄准高性能工作站与服务器,而ARM最初针对低端移动系统开发基本内核。MIPS充分利用它在高性能设计方面的经验,向主流嵌入式系统市场转型。ARM则继续沿用其原有性能有限的架构,相比MIPS,它处于不利地位。

    MIPS32 4K处理器内核系列包括MIPS32 M4K内核,其应用程序执行速度超过同类ARM Cortex-M系列内核。这一优势部分可归功于更高效的MIPS指令集架构和优化软件工具,但主要原因还是在于MIPS架构具有众多专为更高的性能级和应用效率而设计的特性:

    • MIPS 内核包含32个通用寄存器,而ARM内核只有16个GPR。这意味着寄存器溢出更少,从而性能更高。
    • MIPS内核包含有影子寄存器组,而ARM内核没有。使用映像寄存器可加速中断处理保存/恢复功能,减少上下文切换和中断延迟中所需要的周期。
    • MIPS架构主要执行单一操作指令,而ARM指令在写入GPR之前执行多个操作(如移位操作、算术操作、条件校验位等等),故MIPS更容易达到更高的时钟频率。
    • MIPS架构采用比ARM更简单的存储器寻址模式工作,故更容易达到更高的时钟工作频率。
    • MIPS架构的预测执行较少,这大大降低了其逻辑复杂性,并使MIPS内核能够达到更高的频率。
    • M4K与M14K具有5级流水线结构,故无需预测分支方向。而ARM内核采用了复杂的分支预测和分支推测逻辑。
    • MIPS架构实现了带延迟的分支,而ARM结构不这样;这意味着,利用MIPS,在短流水设计时可获得更高效率。
    • MIPS同时提供32位和64位架构,MIPS64架构具有后向兼容性和更高的性能。ARM只有32位架构,而且并非所有版本都后向兼容。


    三、为何龙芯对MIPS架构情有独钟?

    在自MIPS中国看来,龙芯处理器的架构选择并没有错误,相反的如果龙芯要想得到更好的发展,选择MIPS才是最为正确的道路。这又是为何呢?
    X86架构的拥有者Intel可以算作是技术合作上最抠门儿的一位,在推出X86架构之后,Intel就只将这一架构授权给过AMD和VIA等几个芯片公司。而在VIA退出X86架构处理器竞争之后,Intel便不再给任何公司X86架构授权。所以从X86架构上入手,龙芯处理器显然是行不通的。Intel的X86架构行不通,那么ARM架构是否就能行得通呢?答案当然也是否定的。

    X86被Intel独占几十年,奉行的是肥水不流外人田的政策。ARM公司是一家非常优秀的芯片设计公司,但自身并不生产处理器,而是将自身的设计Licensing卖给需要处理器的公司,而后交给他们生产或者是找人代工。也许有人要问了,既然ARM向外卖出架构设计,那么为何龙芯不去选择ARM架构呢?

    其实不然,ARM之所以能够发展成为一家非常成功的商业性公司,靠的就是芯片的架构设计,倘若架构设计被别人夺走了,那么自己就丢掉了赖以生存的饭碗。所以ARM虽然对外进行Licensing授权,却不允许购买者进行任何对ARM架构有更改的设计。倘若个更改了设计,那么这便违反了合作协定。

    自身虽然强大,但因考虑到市场发展的问题ARM也对外妥协过。目前高通,苹果、华为和NVIDIA这三家公司便是ARM体系中较为特殊的几个。因为这四家公司在芯片设计领域的特殊地位,ARM为了能够拉拢他们站立在自己的阵营中,对这四家公司开出了特别通行证(架构授权)。

    在其他芯片公司只能使用Licensing去生产芯片的时候,高通,苹果、华为和NVIDIA却能够自行设计基于ARM架构的处理器。也正是拉拢到了高通,苹果、华为和NVIDIA等,才使得ARM拥有了更多的支持者。

    但即便这样,我们也不得不佩服ARM的老狐狸作风,在给出架构授权后,ARM依然会通过升级下一代架构为由让高通,苹果和NVIDIA再掏一回钱购买架构授权。这样ARM就可以再赚一把。相信看到这里您应该了解到龙芯不选择ARM的原因了。

    那么是什么本领让MIPS最终成为了我国龙芯处理器的设计架构呢?答案非常简单,那就是架构授权。也许有人又问了,ARM不也是给授权吗?那为什么还选MIPS呢?面对这样的问题,MIPS和ARM虽然都是对外进行架构授权的公司,但意义完全不同。

    ARM对外出售的是设计方案授权(Licensing),与ARM的商业化相比,MIPS倒像是学院派的公司。MIPS的架构授权,并不限制任何对MIPS架构的更改。换句话说,就是MIPS公司给授权者一张白纸,而白纸上仅仅写着一行字,MIPS公司同意你设计生产MIPS架构处理器,至于你设计成什么样,性能有多高,经过多少代更改,MIPS一概不管,只要你不把架构彻底改变就行了。

    与ARM相比,MIPS是一个完全开放的架构,对龙芯未来的发展没有任何的限制,这与Intel给AMD X86架构授权,而不是给设计图纸的道理是完全一样的。在加上MIPS本身经过几十年的发展,已经拥有了众多的应用软件,综合考虑来看,MIPS是最为适合龙芯处理器发展的架构选择。






    上一篇:详解FPGA四大设计要点
    下一篇:一文最全科普FPGA技术知识
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条



    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-4-24 19:40 , Processed in 0.875305 second(s), 47 queries .

    快速回复 返回顶部 返回列表