基于RISC-V的SweRV核心到底是什么?能扛起RISC-V的大旗吗?

2019年05月22日 作者:xuanboo

本文介绍基于RISC-V的SweRV内核,该内核基于经典的五级RISC-V流水线,每个时钟周期最多允许两条指令。

自RISC-V指令集架构(2015)和RISC-V基金会建立(2016)以来,我们看到了一系列活动:许多开源硬件项目,许多企业采用架构,快速增长的RISC-V成员和快速增长的开源RISC-V软件活动。

所有这些项目的“核心”是RISC-V CPU(中央处理单元)核心 - 执行RISC-V编译器二进制文件的硬件引擎。所有社区利益相关者都可以从开源软件中受益,包括可以在这些核心上执行的通用编译器,工具链和操作系统。

开发的一些RISC-V内核是专有的(或可用于IP许可),但在开源域中可用的更多。开源RISC-V内核的可用性支持大量完全开源的硬件项目,包括教育目的和前所未有的硬件级协作和创新,否则将无法实现。

开源RISC-V核心

开源RISC-V核心是什么意思?“开放”在ASIC的IP核环境中意味着什么?

ASIC代表专用集成电路。它是一种具有特定用途的“芯片”,例如冰箱,微波炉或硬盘驱动器中的微控制器。IP核指的是知识产权核心并且表示通常是可用于许可的黑盒子的电路,但是该IP的接口是已知的并且被描述。

过去,CPU核心通常要么用于许可,要么用于开源。如果用于开源,那些开源的应用程序基本来自各种大学和研究机构,从未有过标准化的指令集。这意味着编译器和其他软件工具要么不可用,要么质量低,因为从来没有共享软件项目。

RISC-V的标准化不仅可以共享软件工具链,还可以实现内核的共享,并改进可用的开源设计。核心通常使用硬件描述语言(如Verilog,System Verilog或VHDL)设计,或者从高级综合语言(如Chisel)合成。在任何情况下,这个代码都可以作为开源获得,通常在BSD或Apache v2许可下。

SweRV核心

SweRV™内核填补了开源RISC-V内核的重要空白(参见下图)。对于嵌入式应用程序,单线程代码执行非常重要,因为有许多传统固件实现作为单个线程实现,在某些情况下,RTOS和多线程可能不实用,或者太昂贵。在这些情况下,可以以尽可能高的性能运行单个线程的核心变得非常重要。

开源RISC-V内核。请注意,此图表并非详尽无遗,并且未显示许多开源核心

那么,SweRV核心有何不同?它每个时钟周期发出最多两条指令,一条带有四个执行单元的九级流水线,一个加载/存储单元,一个双周期乘法器和一个34周期外循环分频器单元。

下图显示了经典的五级RISC流水线(下图左所示)和SweRV核心(下图右所示)的架构方框图。

经典5级RISC-V流水线和SweRV核心的方框图比较

1 2

相关文章

tracer