RISC-V MCU中文社区

RISC能否反超CISC,重新定义芯片指令集概念?

分享于 2020-07-14 08:54:26
0
3677
以下文章源于中国科学院青岛EDA中心

CISC(Complex Instruction Set Computers,复杂指令集计算机)和RISC(Reduced Instruction Set Computers,精简指令集计算机)是主流CPU的两种架构,其中CISC以Intel、AMD的X86 CPU为代表,而RISC以ARM、IBM Power为代表。


长期以来,通过增加硬件的复杂性而获得计算机性能的提高。随着集成电路技术的迅速发展,硬件工程师不断增加可实现复杂功能的指令和多种灵活的编址方式,以达到软件编程方便和提高程序的运行速度的效果,却使得硬件越来越复杂,造价越来越高。各种指令的使用率也存在很大差异,研究发现:一个典型程序的运算过程所使用的80%指令,只占一个处理器指令系统的20%,事实上最频繁使用的指令是取、存和加这些最简单的指令。

 

针对CISC这些弊病,RISC应运而生。RISC起源于80年代的MIPS主机,其设计初衷是针对采用CISC指令系统CPU复杂的弊端,提出了精简指令的设想,即指令系统应当只包含那些使用频率很高的少量指令,并提供一些必要的指令以支持操作系统和高级语言,选择一些可以在单个CPU周期完成的指令,以降低CPU的复杂度,转而将复杂性交给编译器。

 
CISC和RISC两种架构各有千秋。CISC指令丰富,功能强大,寻址方式灵活,以微程序控制器为核心,性能强大;相较而言RISC指令数较少,寻址方式不够灵活,功能也不及CISC强大。但CISC指令使用率不均衡,不利于采用先进结构提高性能,结构复杂也不利于VLSI实现。相比之下,RISC结构简单、易于设计;指令精简,使用率均衡;程序执行效率高,更胜一筹。
 
2010 年,加州大学伯克利分校的研究团队分析了 ARM 、 MIPS 、 SPARC 、 X86 等多种指令集,发现这些指令集不仅复杂度不断提升,且还存在知识产权风险,而处理器架构种类和处理能力并无直接关联。针对以上问题,该小组设计并推出了一套基于 BSD 协议许可的免费开放的指令集架构 RISC-V ,其原型芯片也于 2013 年 1 月成功流片。
 
RISC-V 指令集具有性能优越,彻底免费开放两大特征。RSIC-V 的设计目标是能够满足从微控制器到超级计算机等各种复杂程度的处理器需求,支持从 FPGA 、 ASIC 乃至未来器件等多种实现方式,同时能够高效地实现各种微结构,支持大量定制与加速功能,并与现有软件及编程语言可良好适配。其主要优势在于:

Part 1
完全开源

对指令集的使用,RISC-V基金会不收取高额的授权费。开源采用宽松的BSD协议,企业完全自由免费使用,同时也容许企业添加自有指令集拓展而不必开放共享,以实现差异化发展。

Part 2
架构简单

CISC为了保持架构向后兼容性,保留许多过时定义,指令繁多冗余,文档数量庞大。而RISC-V架构从一开始就秉承简单的设计哲学,完全抛弃这一包袱,借助计算机体系结构经过多年的发展已经成为比较成熟的技术优势,从轻上路。RISC-V基础指令集只有40多条,加上其他的模块化扩展指令总共几十条指令,其规范文档仅有145页,特权架构文档的篇幅也仅有91页,相比CISC架构可谓是轻装上阵。

Part 3
易于移植

现代操作系统都做了特权级指令和用户级指令的分离,特权指令只能操作系统调用,而用户级指令才能在用户模式调用,保障操作系统的稳定。RISC-V除了提供特权级指令和用户级指令,还提供了详细的RISC特权级指令规范和用户级指令规范的详细信息,使开发者能非常方便的移植linux和unix系统到RISC-V平台。

Part4
模块化设计

RISC架构不仅短小精悍,其不同的部分还能以模块化的方式组织在一起,从而试图通过一套统一的架构满足各种不同的应用场景。用户能够灵活选择不同的模块组合,来实现自己定制化设备的需要,比如针对于小面积低功耗嵌入式场景,用户可以选择RV32IC组合的指令集,仅使用Machine Mode(机器模式);而高性能应用操作系统场景则可以选择譬如RV32IMFDC的指令集,使用Machine Mode(机器模式)与User Mode(用户模式)两种模式。

Part 5

完整工具链支持


在CPU设计中,工具链的开发是一个需要巨大工作量的工作。如果用RISC-V来设计芯片,芯片设计公司不再担心工具链问题,只需专注于芯片设计,RISC-V社区已经提供了完整的工具链,并且RISC-V基金会持续维护该工具链。当前RISC-V的支持已经合并到主要的工具中,比如编译工具链gcc、仿真工具qemu等。


RISC架构秉承着“大道至简”、“Less is more”的设计哲学,目前已经发展到第五代指令集。随着科技的发展,RISC架构能否反超传统CISC,重新定义芯片指令集概念,不妨拭目以待。



中关村科学城开源芯片源码创新中心(Beijing Open Source Silicon Innovation Center, BOSSIC)由海淀区政府、北京市科委、微芯研究院等单位共同发起,旨在聚焦芯片研发源头创新,布局全球标准,打造高质量国际开源平台,助力芯片人才培养,营造海淀区“硬核”创新氛围,推动国家芯片产业创新发展。


长按识别二维码关注北京开源芯片源码创新中心

联系我们:comms@baec.org.cn



*免责声明:以上内容仅供交和流学习之用。如有任何疑问或异议,请留言与我们联系。
3677 0

你的回应
oomdy

oomdy 实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板