RISCV技术分析吴建明wujianming

32位地址与整数指令支持32个通用寄存器

RV32E

草稿

RV32I的子集支持16个通用寄存器

RV64I

59

64位地址与整数指令集及部分32位整数指令支持32个通用寄存器

RV128I

71

128位地址与整数指令集及部分64位和32位整数指令支持32个通用寄存器

扩展指令集

M

8

乘法(Multiplication)与除法指令

A

11

存储器原子(Automic)操作指令

F

26

单精度(32bit)浮点(Float)运算指令

D

双精度(64bit)浮点(Double)运算指令

C

46

压缩(Compressed)指令,指令长度位16bit

Zicsr

6

控制和状态寄存器访问指令

寄存器名称

ABI名称

说明

存储者

x0

zero

读取时总为0,写入时不起任何效果

N/A

x1

ra

程序返回地址

Caller

x2

sp

栈空间指针

callee

x3

gp

全局变量指针(基地址)

/

x4

tp

线程变量指针(基地址)

x5~x7

t0~t2

临时寄存器

x8

s0/fp

保存寄存器/帧指针(配合栈指针界定函数栈)

Callee

x9

s1

保存寄存器(被调用函数使用时需备份并在退出时恢复)

x10,x11

a0,a1

函数参数寄存器(用于函数参数/返回值)

x12~x17

a2~a7

函数参数寄存器(用于函数参数)

x18~x27

s2~s11

x28~x31

t3~t6

图1.1调用与被调用函数图示

等级(Level)

编码(Encoding)

名称(Name)

缩写(Abbreviation)

0

00

用户/应用模式(User/Application)

U

1

01

管理员模式(Supervisor)

S

2

10

Reserved

-

3

机器模式(Machine)

模式数量

支持模式

目标应用

简单嵌入式系统

M,U

安全嵌入式系统

M,S,U

支持Unix、Linux、Windows等操作系统

1.2RISC-V处理器及Roadmap

1.2.1自研RISC-V处理器

Core

支持指令

流水线

特权模式

中断嵌套

硬件压栈

免表中断

整数除法周期

内存保护

V2A

RV32EC

2级

2路

V3A

RV32IMAC

3级

M+U

4路

17

V4A

RV标准PMU

V4B

9

V4C

5

V4F

RV32IMAFC

8级

1.2.2RISC-V系列MCU

图1.2增强版MCU+系列产品图示

图1.3RISC-V系列MCURoadmap

1.3工业级互联型MCUCH32V307

图1.4RISC-VMCUCH32V307详细参数

基本指令集的名称后缀都是I,表示Integer,任何一款采用RISC-V架构的处理器都要实现一个基本指令集,根据需要,可以实现多种扩展指令集,例如:如果实现了RV32IM,表示实现了32位基本指令集和乘法除法扩展指令集。如果实现了RV32IMAFD,那么可以使用RV32G来表示,表示实现了通用标量处理器指令集。这里只介绍RV32I的基本情况。

图1.5RISC-V的指令集编码格式

图1.6表示RISC-V指令实现流程与性能参数特性。

图1.6RISC-V指令实现流程与性能参数特性

UCB的研究人员设计的一款采用RISC-V指令集架构的开源处理器Rocket,并且已经成功流片了11次,其中采用台积电40nm工艺时的性能与采用同样工艺的,都是标量处理器的ARMCortex-A5的性能对比如表3所示。可见Rocket占用更小的面积,使用更小的功耗,但是性能却更优。

1.4.RISC-V详细介绍

图1.7x86指令集自诞生依赖,指令数量的增长

图1.8四个RV32I指令

解释说明:四种基础指令格式R/I/S/U

1.4.3RISC-V之乘除法指令

为了正确地得到一个有符号或无符号的64位积,RISC-V中带有四个乘法指令。要得到整数32位乘积(64位中的低32位),就用mul指令。要得到高32位,如果操作数都是有符号数,就用mulh指令;如果操作数都是无符号数,就用mulhu指令;如果一个有符号一个无符号,可以用mulhsu指令。在一条指令中,完成把64位积写入两个32位寄存器的操作,会使硬件设计变得复杂,所以RV32M需要两条乘法指令,才能得到一个完整的64位积。

图1.9:RV32M中用乘法来实现除以常数操作的代码。要证明该算法适用于任何除数,通过详细的数值分析,而对于奇特除数,其中的修正步骤更为复杂。

RV64F和RV64D添加了整数双字转换指令,并称它们为长整数,以避免与双精度浮点数据混淆:fcvt.l.s,fcvt.l.d,fcvt.lu.s,fcvt.lu.d,fcvt.s.l,fcvt.s.lu,fcvt.d.l,fcvt.d.lu。由于整数x寄存器现在是64位宽,它们现在可以保存双精度浮点数据,因此RV64D增加了两个浮点指令:fmv.x.w和fmv.w.x。这里暂时不讲解压缩指令。

图1.10VMULPS指令示意图

图1.11阿里HanGuang芯片

图1.12阿里HanGuang软件架构

图1.13阿里HanGuang软件架构优化编译

2.1预处理(Pre-Processing)

行开始

数据长度

地址

数据类型

数据

校验

BB

AAAA

TT

D……D

CC

1字节

2字节

n字节

2、ld链接脚本的主要内容

通过上一节ld文件分析:

2、堆栈的作用

278:01271063bnea4,s2,278#不相等就跳转至0x278的位置,即还是本条语句的位置,

volatileuint8_tflag_interrupt=0;

RISC-VMCU将常量定义到指定的Flash地址--以CH32V103为例

sections.flash_test_address段中以4字节对齐,其余3字节补0。

2.2定义连续的多个单字节常量

二进制bin文件0x1000地址信息如下;

这样指定的方式会造成中间段有56个字节的flash无法分配内容,浪费了,不建议这样指定,如果实在要这样做,需要严格把控,可根据间隔的大小,指定编译后小于该间隔的函数存储到该flash块。

THE END
1.4分钟分析!一分快?3预测大小双单软件分析软件一分快?3预测大小双单软件分析软件【老师:1804762【網:9 9 1 X S ●CC】【罔 XS15 . v i p 】 没有那么多天赋异禀,优秀的人总是努力的翻山越岭,要么不做,要做就做第一!没有做不到的事只有你愿不愿意做,做的人已经上岸了,若你还是不敢做只能https://www.sohu.com/a/830766909_122131184
2.排列五单双大小奇偶走势图软件排列五排列五单双大小奇偶走势图软件,今天小编给大家介绍一下体育彩票排列五的更多玩法及专家资讯推荐方案,如果你也对此感兴趣的可以跟着小编一起来了解个所以然。https://www.vipc.cn/tags/pailiewudanshuangdaxiaoqiouzoushituruanjian
3.足球走地大小球预测之理性分析软件开发及逻辑相比小球,热爱大球玩法的更多。走地大小球,预测进球数简单明了。无论比赛双方哪一方进球,对于您而言,都是欢喜的。只要进球数量达到了,您就妥妥的了。 3.走地大球玩法之挑赛事 那么有些赛事疯狂进球,有些赛事又常常零蛋,那么多的赛事该如何挑选好的赛事呢? https://blog.csdn.net/m0_46416667/article/details/120841016
4.四核白刃战!AMD45nm羿龙全方位评测SuperPI这种纯计算软件完全由架构和主频来左右测试结果,由于这是一款测试单核效能的软件,多核及缓存大小意义不太,测试结果可以表明,Intel依然是比较出色,然而Phenom II这次并没有让我们失望,相比上代Phenom 9950提升相当明显,即便是同频率下也领先不少,新工艺带动新架构AMD Phenom II单核效能已有长足进步。 https://www.pcpop.com/article/361573_all.shtml
5.A1讯飞输入法下载联想A1讯飞输入法14.0.1免费下载3、无障碍模式适配新增手势操作,双指滑动切换候选并支持阅读4、拓展表情发送功能,适配QQ国际版和QQ极速版讯飞输入法手机版 9.1.9696 中的新功能本次更新1、新增支持导入QQ收藏的表情,秀出你的珍藏表情2、优化候选字大小调节,更适配你的手机分辨率3、自动记忆单手键盘上一次左右手的调节位置近期更新1、升级Emoji表情https://sj.zol.com.cn/lenovomobile/lephonea1/detail_19929.shtml
6.18LLM4SE革命性技术揭秘:大型语言模型LLM在软件工程SE领域的全景6.5 LLM如何用于软件质量保证?How are LLMs used in software quality assurance? 测试生成 漏洞检测 测试自动化 验证 错误定位 诱导失败的测试识别 不靠谱的测试预测 6.6 LLM在软件维护中的应用How are LLMs used in software maintenance? 自动程序修复 (APR) https://blog.51cto.com/u_16651779/10476273
7.Origin丨图形可视化和数据分析软件正版价格,函数绘图软件版本语言简体中文版软件类型数据分析软件 版本号2022系统平台要求Windows 7 SP1,Windows 8,Windows 8.1,Windows 10 系统硬件要求4GB版权正版 展开 产品介绍Product introduction Origin是美国OriginLab公司(其前身为Microcal公司)开发的图形可视化和数据分析软件,是科研人员和工程师常用的***数据分析和制图工具。 https://www.china.cn/xingyezhuanyongruanj/4316147690.html
8.我无意间发现一个赚钱的软件购买骰子大小单双是快三之前已经输了你好,我无意间发现一个赚钱的软件购买骰子大小单双,是快三,之前已经输了4000多,但是我想把我的这个钱劳回来,不想越玩越大,现在都进去1万多了,一个朋友说我这个属于赌博,我现在应该咋样处理!立即止损,https://m.66law.cn/question/20608609.aspx
9.发现一个赌博软件,以压筛子大小单双为盈利赌资挺大的?你好:及时保存相关证据,必要时报警 配合警方的调查处理。https://www.64365.com/ask/7335100.aspx
10.灵信视觉单双色AU系列控制卡简易教程⑩ 不知名错误导致,解决方法:软件左上角-文件—新建后,重新设置; 显示屏通电后无任何显示(提示)黑屏? ① 控制卡是否供电正常 ② 控制卡上信号灯是否正常(一般电源灯红灯常亮,数据灯绿灯闪烁) ③ 检查转接板是否使用错误,对于单双色而言基本可以理解室外屏采用 https://www.meipian.cn/jt833m5
11.分分彩大小和单双倍投方案稳赚百科/知乎分分彩大小和单双倍投方案 稳赚《網0 1 2 8 5 5 , v i p 》【企鹅4 0 4 7 0 1 6】如果你没有过硬的基础,看不懂走势,老是亏损,没有盈利!可以找我,我具有专业知识和经验,可以教你技巧和走势怎么看!用我们真诚的微笑,换取您对我们的满意。同样即时设计的AI工具即时AI是一种全新的AIGC工具,可以通https://www.bilibili.com/read/cv32376043/