RISC-v 调研
RISC-V 简介
-
(发音为“risk-five”)是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。 与大多数指令集相比,RISC-V指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V芯片和软件。虽然这不是第一个开源指令集,但它具有重要意义, 因为它是第一个被设计成可以根据具体场景、可以选择适合的指令集的指令集架构。基于RISC-V指令集架构可以设计服务器CPU,家用电器cpu,工控cpu和用在比指头小的传感器中的cpu。
-
对指令集使用,RISC-V基金会不收取高额的授权费。开源采用宽松的BSD协议,企业完全自由免费使用,同时也容许企业添加自有指令集拓展而不必开放共享以实现差异化发展
-
RISC-V基础指令集则只有40多条,加上其他的模块化扩展指令总共几十条指令。 RISC-V的规范文档仅有145页,而“特权架构文档”的篇幅也仅为91页。
-
RISC-V提供了特权级指令和用户级指令,同时提供了详细的RISC-V特权级指令规范和RISC-V用户级指令规范的详细信息,使开发者能非常方便的移植linux和unix系统到RISC-V平台。
基础指令集
所有需要的一些基本的指令集, 比如 add,sub,mov等
- CISC:复杂指令集:x86
- RISC:精简指令集:arm
延伸指令集
不同架构的CPU延伸出的扩展指令集会有所不同,为了特定条件下对CPU做的扩展指令,用于提升CPU的运算性能
优点
-
开源免费 🌟🌟🌟
在不同的领域当中所需要应用的一些算法需要专门的指令集来处理,而arm和x86闭源的指令集,如果要使用必须向其申请加入对应指令集才行。且更新缓慢。
拿M系列的来说,比如对8K视频的编解码就需要有硬件加速的处理,而M系列的芯片就有对应的8K视频编解码的硬件加速,可以保持低功耗运行编解码算法。如果要在mac笔记本上开发软件,就必须遵从它的开发标准 -
由于arm和x86,他其实也可以开源,由于使用者的顾客太多,需要考虑相融性的问题, 其次对其生态影响也很大
但是反观 RISC-V,也是最近五六年随着物联网兴起的一种开源指令集架构,使用者相对不多,由于特殊作用,使得普通消费者并没有感觉到其存在。 -
由于其指令集可修改,自定义的特性,其实可以做一套针对自己产品的一套 RISC-V 指令集架构, 并对其作出针对性的扩展。
-
同样的开源且指令集可修改的特性,导致它的处理器可以做到很小,比如可以集成在nvme盘中的控制器中,且功耗可以做到很低。
-
将RISC-V作为基础,加上自己的延伸指令形成自己的CPU核心。在将该CPU加上自己的GPU、FPGA、neural等形成一种特殊处理运算的处理器,可以做到功耗更低,面积更小
-
谷歌基于 RISC-V 研发的 TPU,比同时期的CPU和GPU,高出15-30的性能,高出30-80的执行效率。可以有效提高神经网络计算。
-
应用场景
- 物联网-微型传感器
- 机器学习
- 压缩图像,压缩文件等
- 密码学
- 多媒体:音频,视频
- 神经网络-并行计算
厂家
-
方寸微电子,数据安全方向
- T680: 数据安全方向,支持国产嵌入式系统 RT-thread
- T690:T690搭载完善的软件开发包(SDK)以供二次开发。SDK涵盖Linux和Baremetal两种软件开发形态,开发者可以按需选择部署Linux还是Baremetal,按需选择部署至主核还是从核,按需选择是否开启软件层面的异构双核(主核Linux从核Baremetal)等
- T630: 高速接口控制器
-
芯来科技, 成立2020年, 目前官网只能翻到测试板
- CM32M433R-START: 一款基于CM32M433R MCU的RISC-V生态开发板, 支持DSP和浮点运算指令
- Nuclei DDR200T: 搭配xilinx FPGA芯片 和 通用的RISC-V架构的GD32VF103 MCU的SOC
-
- GD32V系列, 单片机系列, 类比 STM32
-
安信可, 无线通信方向
- WI-FI 模组: AI-WB系列的、 ESP32系列、 ESP8266 系列、 蓝牙wifi通讯、 海思系列(Hi-12F可接入鸿蒙系统)等
- GPS 模组: GP-01/02 是一款高性能 BDS/GNSS 多模卫星导航接收机 SOC 模块, 支持多种卫星导航系统,包括中国的北斗卫星导航系统 BDS,美国的 GPS,俄罗斯的 GLONASS,可实现多系统联合定位
- 离线语音识别模组: VC系列, 采用了32bit RISC 架构内核,并加入了专门针对信号处理和语音识别所需要的 DSP 指令集,支持浮点运算的 FPU 运算单元,以及 FFT 加速器。支持最高150 条本地指令离线识别,支持 RTOS 轻量级系统,以及简单友好的客制化工具。
- NB-IoT模块: 集成射频收发机,PA,射频滤波器,天线开关以及电源管理, 各种无线环境下优异的通信性能和稳定性。支持更低功耗的表现.
- UWB模组: 利用纳秒级的非正弦波窄脉冲传输数据,数据传输速率可以达到几百兆比特每秒以上
- GSM/GPRS模组: 广泛应用于物联网/车载/电力环境检测等领域
-
WCH, 低功耗无线,网络通讯,传感器等
-
赛版科技, 用于相对复杂的场景, 工业控制, 机器学习,自动驾驶,虚拟现实等等
- 昉•天枢:64位,4核,支持缓存
- U 系列:64位内核, 9核, 性更高
- S 系列: 64位内核, 性能比U系列更高
- E 系列:32位核,工控, 穿戴设备
-
海思Hi3861, 应用物联网
- Hi3861: 2.4GHz 低功耗SoC WiFi芯片
- 从编译工具gcc-riscv看, 是RISC-V架构的芯片
-
平头哥, 智能语音、AI视觉、工业控制、车联网等领域。
-
玄铁RISC-V系列:智能语音, 视频视觉, 社区
-
8系列(不兼容RISC-V):
- E803/E802: 内存保护, 乘法器
- E804: SP引擎, 浮点引擎
- R807: TCM, 高速缓存,浮点引擎
- I805: 标量计算引擎,高速缓存,矢量计算引擎,浮点引擎,紧耦合内存
- C807: 浮点引擎, 高速缓存, 可运行Linux等操作系统
- C802: 抗物理攻击引擎,针对各类侵入式、非侵入式物理攻击提供近20项专用防护技术,适用于安全支付、智能卡等对系统安全有极高要求的应用领域
- C810: 矢量计算引擎,可运行linux操作系统, 可用于安防监控、人工智能等对处理器性能要求较高的应用领域
- C860: 多核二级缓存,可运行linux操作系统, 适用于智能监控、机器视觉、边缘计算等对处理器性能要求很高的应用领域
-
9系列(兼容RISC-V):
- E902: 乘法器, 权限模式
- E906: 高速缓存, 内存保护, 中断
- E907: 混合分支预测
- C906: 兼容RISC-V架构,标配内存管理单元,可运行Linux等操作系统
- C908: 64位, 适用于智能交互、多媒体终端、AR/VR、无线通讯等高能效要求应用场景。
- C910: 4核, 二级缓存, 适用于人工智能、5G、边缘服务器等对性能要求很高的应用领域
-
曳影1520: 四核玄铁C910 CPU,最高主频2.5GHz, 4TOPS@int8 AI 算力, 丰富的高速接口, 4K视频处理能力
含有丰富的异构计算和高速IO资源。性能指标对标广泛的中高性能应用场景 -
含光800(非RISCV架构): 4核, 人工智能芯片,
-
-
- MCU/MPU 主控处理器
- 用于信号处理的DSP/Vector处理器
- TD300: 面向端侧人工智能算法的Timesformer DSA处理器
- 离线智能语音,入门级智能
- 人脸/人形/姿势等,监测识别、物体/目标监测
- 多目标监测, 图像语义, vSLAM, 多模态交互
- TM500:
- 主控处理器, 操作系统RTOS
- 对标产品 Cortex M4/M7/R4
- TM600
- 主控处理器, 操作系统 RTOS
- E34/E906/Cortex M7/R4/RS
- TD100
- 语音,音频处理
- 对标: Corex M4F
- TD200
- 智能语音, 智能图像
- 对标: Tensilica HIFI4/Ceva XM4
-
泰凌微TLSR 9, 物联网
-
中科昊芯, 开发数学算法,
- 中科昊芯核心骨干脱胎于中国科学院,近10年来一直致力于数字信号处理器及通用处理器的研发,公司目前已经有HX2000系列的HXS320F28027和HXS320F28034两款芯片量产,基于RISC-V架构,增加了自己的多条DSP指令。
- HX2000系列: 基于 RISC-V 开放指令集架构H28x,是一款非常高效的C/C++ 引擎,不但能助用户以高级语言开发控制系统
-
启英泰伦CI1122, 主攻AI算法
- CI230X系列、CI131X系列、CI130X系列、CI100X系列等
- 支持离线NN加速运算,
- 支持声纹识别, 支持回声消除
- 音频通道采集, 常用外设接口等
- 1路12bit SAR ADC输入通道,采样频率可达1MHz,
- CPU主频可达220MHz/240MHz
- 环境工作温度:
-40℃ 到85℃
- CI230X系列、CI131X系列、CI130X系列、CI100X系列等
-
跃昉科技BF-2, 物联网
- BF系列:
高度集成的Wi-Fi芯片,用于超低成本和低功耗的物联网无线连接应用。 - NB系列:
高度集成的应用处理器,集成了专用的人工智能及音视频加速引擎,可用于边缘计算、机器学习、视觉和语音等多种应用场景。 - GF 系列: 高度集成的SoC芯片。
- BF系列:
-
香山, 诞生中..., 对标
Arm Cortex-A76
, 是其性能的三倍-
建立一个像Linux那样的开源RISC-V核主线,既能被工业界广泛应用,又能支持学术界试验创新想法, 逻辑语言使用
Chisel
-
2019 年,在中国科学院支持下,由 中国科学院计算技术研究所 牵头发起 “香山” 高性能开源 RISC-V 处理器项目,研发出目前国际上性能最高的开源高性能 RISC-V 处理器核 “香山”,在全球最大的开源项目托管平台 GitHub 上获得超过 2500 个星标(Star),形成超过 277 个分支(Fork),成为国际上最受关注的开源硬件项目之一
-
香山处理器第一版(雁栖湖架构) 支持 RV64GC 指令集,已在 2021 年 7 月投片,在 28nm 的工艺节点下达到 1.3GHz 的频率。2022 年 1 月,雁栖湖芯片回片并成功点亮,能够正确运行 Linux/Debian 等复杂操作系统,在 DDR4-1600 环境下初步实测 SPEC CPU2006 性能超过 7 分 @1GHz,更完整的 CPU 与 DDR 性能调优正在进行中。
-
香山处理器第二版(南湖架构) 支持 RV64GCBK 指令集,已在 2022 年 3 月完成 RTL 代码冻结,正在进行后端设计验证流程并将在 2022 年上半年完成投片,目标是在 14nm 工艺节点下频率达到 2GHz。
-
香山处理器第三版(昆明湖架构) 正在进行中
-
Chisel
- 一种硬件描述语言,可以理解为和verilog对等的关系,也可以理解为比verilog更高级一点的语言。最初是伯克利大学的一帮哥们实现RISC-V处理器的时候发明的东西。后来发展壮大,在处理器设计领域越来越流行。
特性
-
内嵌了scala语言,可以借用scala语言非常多的高级特性
-
是一种面向对象以及功能构建的语言
总的来说,是提高生产力的一门语言, 但是并没有说取代哪一门语言, 在其所在领域能够发挥其特长
软件开发
- RISC-V mcu 中文社区
- RISC-V基金会维护的github仓库, 支持Qemu, 提供交叉编译环境, 可在上面跑 linux, 国外源, 下载编译环境需FQ
总结
-
由于 RISCV 的开源性
- 导致指令集可裁剪,可修改
- 可以做到超低功耗
- 可对指定算法引擎做扩展
-
起步阶段
- 部分厂家内部用了自研RISC-V芯片并没有公布出来
- 生态差, 很多厂家的芯片都有自己一套开发体系软件和流程, 在生态这块目前就阿里平头哥做的最好,香山还处于起步阶段
- 由于开源, 各个厂家的技术支持还算不错
- 自定义指令集这块, 在算力这块非常有优势, 也有扩展出对应的硬件加速模块, DSP,浮点引擎,矢量引擎等
本文来自博客园踩坑狭,作者:韩若明瞳,转载请注明原文链接:https://www.cnblogs.com/han-guang-xue/p/17203652.html