基于RISC-V架构的开源处理器及SoC研究综述(一)
RISC-V是加州大学伯克利分校(University of California at Berkeley,以下简称UCB)设计并发布的一种开源指令集架构,其目标是成为指令集架构领域的Linux,应用覆盖IoT(Internet of Things)设备、桌面计算机、高性能计算机等众多领域。其产生是因为UCB的研究人员在研究指令集架构的过程中,发现当前指令集架构存在如下问题[1]。
(1)绝大多数指令集架构都是受专利保护的,比如:x86、MIPS、Alpha,使用这些架构需要授权,限制了竞争的同时也扼制了创新。
(2)当前的指令集架构都比较复杂,不适合学术研究,而且很多复杂性是因为一些糟糕的设计或者背负历史包袱所带来的。
(3)当前的指令集架构都是针对某一领域的,比如:x86主要是面向服务器、ARM主要是面向移动终端,为此对应的指令集架构针对该领域做了大量的领域特定优化,缺乏一个统一的架构可以适用多个领域。
(4)商业的指令集架构容易受企业发展状况的影响,比如:Alpha架构就随着DEC公司的被收购而几近消失。
(5)当前已有的各种指令集架构不便于针对特定的应用进行自定义扩展。
为此,UCB的研究人员Krste Asanovic、Andrew Waterman、Yunsup Lee决定设计一种新的指令级架构,并决定以BSD授权的方式开源,希望借此可以有更多创新的处理器产生、有更多的处理器开源,并以此降低电子产品成本[2]。
RISC-V自2014年正式发布以来,受到了包括谷歌、IBM、Oracle等在内的众多企业以及包括剑桥大学、苏黎世联邦理工大学、印度理工学院、中国科学院在内的众多知名学府与研究机构的关注和参与,围绕RISC-V的生态环境逐渐完善,并涌现了众多开源处理器及SoC采用RISC-V架构,这些处理器既有标量处理器,也有超标量处理器,既有单核处理器,也有多核处理器,本文接下来将简单介绍RISC-V架构的基本设计,随后将详细描述目前采用RISC-V架构的开源处理器与SoC。
1 RISC-V简介
1.1 RISC-V的基本设计
RISC-V是一个典型三操作数、加载-存储形式的RISC架构,包括三个基本指令集和6个扩展指令集,如表1所示,其中RV32E是RV32I的子集,不单独计算。
基本指令集的名称后缀都是I,表示Integer,任何一款采用RISC-V架构的处理器都要实现一个基本指令集,根据需要,可以实现多种扩展指令集,例如:如果实现了RV32IM,表示实现了32位基本指令集和乘法除法扩展指令集。如果实现了RV32IMAFD,那么可以使用RV32G来表示,表示实现了通用标量处理器指令集。本文只介绍RV32I的基本情况。
RV32I指令集有47条指令,能够满足现代操作系统运行的基本要求,47条指令按照功能可以分为如下几类。
(1)整数运算指令:实现算术、逻辑、比较等运算。
(2)分支转移指令:实现条件转移、无条件转移等运算,并且没有延迟槽。
(3)加载存储指令:实现字节、半字、字的加载、存储操作,采用的都是寄存器相对寻址方式。
(4)控制与状态寄存器访问指令:实现对系统控制与状态寄存器的原子读-写、原子读-修改、原子读-清零等操作。
(5)系统调用指令:实现系统调用、调试等功能。
1.2 RISC-V的优势
1.2.1 与开源指令集架构比较
在RISC-V发布之前,实际上已经有几种开源指令级架构,包括SPARC V8、OpenRISC,其中SUN发布的开源多核多线程处理器OpenSparcT1、OpenSparcT2,以及欧空局的LEON3采用的就是SPARC V8,OpenRISC也有同名的开源处理器,在[2]中介绍了RISC-V与前两者的比较,如表2所示。此外,OpenRISC的许可证为GPL,这意味着所有的指令集改动都必须开源。而RISC-V的许可证是较为宽松的BSD License授权。
1.2.2 与商业指令集架构比较
UCB的研究人员设计了一款采用RISC-V指令集架构的开源处理器Rocket,并且已经成功流片了11次,其中采用台积电40nm工艺时的性能与采用同样工艺的,都是标量处理器的ARM Cortex-A5的性能对比如表3所示。可见Rocket占用更小的面积,使用更小的功耗,但是性能却更优。
(未完待续)
基于RISC-V架构的开源处理器及SoC研究综述(一)相关推荐
- 基于RISC-V架构的开源处理器及SoC研究综述
RISC-V是加州大学伯克利分校(University of California at Berkeley,以下简称UCB)设计并发布的一种开源指令集架构,其目标是成为指令集架构领域的Linux,应用 ...
- RISC-V架构的开源处理器分析
摘要:RISC-V架构本身面积小.性能较高,最为关键的是这一架构本身功耗较低且作为全新的开源精简指令集,无论是技术还是产品都得到了迅速的发展,效果突出.基于此,本文深入研究RISC-V架构开源处理器内 ...
- saas系统的微服务器,基于微服务架构的SaaS服务应用的研究与实践
摘要: SaaS(Software as a Service)应用作为一种新型的软件服务模式,在日常生产生活中越来越重要.在SaaS应用的落地过程中传统的的单体架构不能满足SaaS应用的需求,于是微服 ...
- 论文研读——基于深度强化学习的自动驾驶汽车运动规划研究综述
论文研读--Survey of Deep Reinforcement Learning for Motion Planning of Autonomous V ehicles 此篇文章为论文的学习笔记 ...
- 【Journal of Computer-Aided Design Computer Graphics】基于生成对抗网络的行人重识别方法研究综述
文章目录 引言 数据集介绍 基于GAN的行人重识别方法分类 2.1基于风格转换的方法 2.2基于数据增强的方法 2.3基于不变性特征学习的方法 3 基于GAN的方法性能对比分析 总结 引言 对于行人检 ...
- RISC V (RV32+RV64) 架构 整体介绍
文章目录 riscv 市场 芯片介绍 软件介绍 开发板介绍 PC介绍 riscv 架构 编程模型(指令集/寄存器/ABI/SBI) 运行状态 指令集 寄存器 riscv32和riscv64两者的区别 ...
- 【RED-V】基于 RISC-V 架构的开源开发板
板卡介绍 RED-V RedBoard 是 SparkFun 出品的开源开发板,主控芯片是基于 RISC-V 架构的 SoC SiFive FE310.FE310 是全球第一款基于 RISC-V 架构 ...
- 基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门(TI达芬奇双核开发资料 [
基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门 一.简介 TI的达芬奇架构嵌入式应用处理器使用DSP与ARM结合的非对称多核结构,当然现在也有管脚全兼容的单核.本文要介绍的 ...
- 【每日新闻】桥水达里奥:人工智能造成贫富差距 | 国产x86处理器开始生产:基于AMD Zen架构...
点击关注中国软件网 最新鲜的企业级干货聚集地 趋势洞察 坚持是种信念,努力是种精神! 2018中国软件生态大会 趋势洞察 桥水达里奥:人工智能造成贫富差距 桥水基金创始人雷·达里奥--美国对冲基金教父 ...
最新文章
- 逆生长!小鼠「逆龄疗法」登Nature子刊,有望用于人类
- React native 浏览器调试
- Spark的三种伪分布式方式
- python 基础语法学习笔记(2019年4月第二周学习笔记)
- python实现一个简单的【图像中物体坐标】标注小工具
- opencv 重用代码块记录
- 需求与商业模式分析-3-设计
- 安防监控系统的几个基础小知识
- 百度BAE上能装什么pHp框架,百度Bae云平台安装dedecms图文教程
- Java 年龄与疾病
- 弧齿锥齿轮零件图_弧齿锥齿轮画法类别
- 交互式shell脚本实操
- html 字体模糊,详解css3使用transform出现字体模糊的解决办法
- sun java 考试_Sun Java认证考试科目
- 用于图片文本识别的Tesseract-OCR的安装说明(windows10)
- TensorFlow实现自定义Op
- 将word文件中的文本转成字符串
- 红米k40pro开启来电闪光灯步骤分享(2021教程)
- pdd暑期实习生机试3
- 《告别失控》读书笔记
热门文章
- shell编程——Shell条件判断之字符串判断
- 软件分享 目前最友好的开源远程桌面软件,完美替代 TeamViewer 和 AnyDesk
- 浙江农林大学第二十二届程序设计竞赛部分题解
- TextView文本尾部添加标签,支持自动换行
- Qt LineEdit设置为不可编辑状态:
- Android 应用详情查看
- 三极管常用封装的引脚排列
- efm8bb1 烧录器_EFM8BB1_DataSheet-CN.pdf
- 从零开始的树莓派生活(树莓派4B的组装与系统安装)
- NLP-生成模型-2018:Vanilla Transformer【将长文本序列划截断为多个固定长度的段;段与段之间没有上下文依赖性;无法建模字符之间超过固定长度的依赖,关系导致上下文碎片化】