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

基于RISC-V架构的开源处理器及SoC研究综述(三)

[复制链接]

  离线 

  • TA的每日心情
    奋斗
    2021-1-15 13:53
  • 签到天数: 26 天

    [LV.4]

    发表于 2020-8-9 15:19:04 | 显示全部楼层 |阅读模式

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

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

    x
    3 基于RISC-V的开源SoC研究现状
    3.1 Rocket-Chip

      UCB为了方便用户学习,同时也为了便于重复使用已设计好的硬件模块,在GitHub上建立了Rocket-Chip Generator的项目,其中包括了Chisel、GCC、Rocket处理器,以及围绕Rocket的一系列总线单元、外设、缓存等,并且采用了参数化的配置方法,从而可以方便的创建不同性能要求的基于Rocket处理器的SoC。采用Chisel编写,主要的子模块如下。


    • Chisel:UCB设计的开源硬件编程语言。
    • Hardfloat:参数可配置的、兼容IEEE 754-2008标准的浮点单元。
    • Riscv-tools:开发工具,包括GCC、Newlib,以及移植的Linux。
    • Rocket:Rocket处理器,包括L1 Cache。
    • Uncore:实现了需要与Rocket紧密连接的功能单元,比如L2 Cache、L1 Coherence Hub等。
    • Juntions:实现了不同协议的接口之间的转换。
    • Rocketchip:顶层模块,同时也实现了内部总线TileLink向外部总线AXI或者AHB的转换。


      前文介绍的BOOM、Z-scale都可以通过配置Rocket-Chip的不同参数得到。


    3.2 LowRISC

      LowRISC是由剑桥大学为主的一些研发人员成立的非营利性组织,主要是设计发布基于RISC-V指令集的64位开源SoC,其成员有树莓派的合作者,所以其目标是希望将设计的SoC做成类似于树莓派那样价格便宜、功能丰富、拥有大量用户的开源硬件。LowRISC发布的SoC的名称也是LowRISC,是在Rocket-Chip的基础上改进开发的,采用System Verilog编写改进部分的代码。主要特点是:


      (1)Tagged Memory:给每一个存储位置都增加了一个Tag,目前是双字(64bit)对应一个Tag(4bit),目的是防止控制流劫持攻击,同时也有其他的一些用处,比如:垃圾回收、设置watchpoint等。为了实现Tagged Memory,LowRISC为RISC-V增加了两条指令用来读写Tag。2015年4月发布的0.1版本中具有该功能。


      (2)Untethered:早期的Rocket-Chip需要依赖于一个通用处理器的协助才能够启动,才能够访问串口、网口、SD卡等外设,Untethered LowRISC通过实现(Memory mapping I/O)、片上NASTI interconnect等功能,解决了上述问题。2015年11月发布的0.2版本中具有该功能。


      (3)Trace Debugging:引入了Open SoC Debug,支持Trace Debugging,可以收集指令执行记录,便于离线或者在线分析。2016年7月发布的0.3版本中具有该功能。


    3.3 PULPino

      PULPino是苏黎世联邦理工大学和波罗尼亚大学联合发布的基于RISC-V的开源处理器,其处理器核RI5CY在前文已述,苏黎世联邦理工大学和波罗尼亚大学本来设计的项目是PULP,这是一个多核SoC项目,考虑到这个项目太复杂,有许多IP、自定义工具集,不方便开源,所以开发者决定先开源一个单核SoC项目,即PULPino。PULPino直接使用了PULP项目的许多IP。


      PULPino具有一个AXI互连总线,另外还有一个APB总线,用来连接低速外设,比如:GPIO、UART、I2C控制器、SPI Master控制器等。调试模块支持Advanced Debug Unit。PULPino包括一个Boot ROM,其中可以写入BootLoader,从而实现在启动的时候从外部Flash读入程序并执行。



    3.4 RISC-V VHDL

      RISC-V VHDL是俄罗斯的GNSS Sensor公司发布的基于Rocket的开源SoC,其前身是莫斯科物理技术学院的一个项目。


    该项目的处理器核直接就用的是Rocket,可以配置为只有L1Cache,也可以配置为包括L2Cache,在此基础上,提供了大量的IP核,采用类似LEON3的GRLIB库的方式,所有的IP核都是即插即用,RISC-V VHDL提供了一个AXI总线,IP核都挂载在该总线上。


    IP核包括:UART、GPIO、中断控制器、以太网控制器,此外还支持DSU(Debug Support Unit),均采用VHDL编写代码。


      RISC-V VHDL中大多数IP核都是开源的,唯一商业的是GNSSLIB,这是一个与定位导航有关的库,也是RISC-V VHDL的特色。



    结语

      RISC-V的发展十分迅速,除了前文已述的基于RISC-V的开源处理器、开源SoC大量涌现,还有很多的商用处理器也计划采用RISC-V指令集架构,比如PulSAR[8],采用的是一个异构多处理器结构,其中包括2个标量处理器Rocket,还包括两个超标量乱序执行处理器BOOM。


      RISC-V的发展一方面得益于自身设计吸取了RISC接近40年的经验教训,使得架构设计更加合理,另一方面得益于日渐成熟的软件生态,UCB提供了针对RISC-V的开源编译器GCC、LLVM,还提供了开源仿真器Spike、QEMU,社区还移植了FreeBSD、Debian、Gentoo、Yocto、Genode等操作系统。


      在第4届RISC-V专题研讨会上宣布成立了RISC-V基金会,吸纳了众多实力雄厚的商业公司和知名研究机构,其中包括中国科学院,可以预见RISC-V即将进入一个快速发展的阶段,应该会在以下几个方面有突破进展。


      (1)有若干成熟的、可商业化的、采用RISC-V架构的芯片问世,并得到大规模应用。


      (2)性能逼近主流桌面处理器。


      (3)主流处理器与采用RISC-V架构的开源处理器组成的异构系统。


      (4)移植到RISC-V架构的操作系统更加稳定可靠。


      (5)采用上百个简单RISC-V核的多核并行计算。


      (6)计算机教学中采用RISC-V作为范例教学。


      (7)调试功能得到进一步加强。


      对于国内而言,RISC-V提供了一个很好的参考,也是一个很好地机遇,有很多可借鉴的地方,用来实现自主可控的处理器。


    参考文献

    [1]Waterman, A. et al. The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Version 2.1[S], 2016

    [2]Krste Asanovic, David Patterson, The Case for Open Instruction Sets[J], MICROPROCESSOR report, 2014, 8: 1-7 .

    [3]Celio, Christopher and Patterson, David A. and Asanović, Krste, The Berkeley Out-of-Order Machine (BOOM): An Industry-Competitive, Synthesizable, Parameterized RISC-V Processor[R], EECS Department, University of California, Berkeley, June 2015.

    [4]N. Gala, A. Menon, R. Bodduna, G. S. Madhusudan, V. Kamakoti, SHAKTI Processors: An Open-Source Hardware Initiative[C], 29th International Conference on VLSI Design and 2016 15th International Conference on Embedded Systems (VLSID), Kolkata, India, January, 2016

    [5]PULPino User Manul[EB/OL], http://www.pulp-platform.org/documentation/, 2016-8

    [6]Michael Zimmer, David Broman, Chris Shaver, Edward A. Lee, FlexPRET: A Processor Platform for Mixed-Criticality Systems[C], Proceedings of the 20th IEEE Real-Time and Embedded Technology and Application Symposium (RTAS), April, 2014.

    [7]PEYRET Thomas, VENTROUX Nicolas, OLIVIER Thomas, HETEROGENEOUS MULTICORE BASED ON RISC-V PROCESSORS AND FD-SOI SILICON PLATFORM[C], 4th RISC-V Workshop Proceedings, July, 2016.







    上一篇:基于RISC-V架构的开源处理器及SoC研究综述(二)
    下一篇:RISC-V的魅力究竟何在?SiFive引发了一场开源芯片设计革命
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

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



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

    GMT+8, 2024-4-16 14:11 , Processed in 6.072165 second(s), 45 queries .

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