社区首页
技术讨论创新帖
全部新帖
资料区
社区活动
联系管理员
★ 社区积分制度
★ 新手必读
★ 申请版主★
首页
|
电子技术
|
嵌入式
模拟电子
单片机
电源管理
传感器
半导体
电子应用
|
工业控制
物联网
汽车电子
网络通信
医疗电子
手机便携
测试测量
安防电子
家用电子
机器人
新能源
电子头条
|
社区
|
论坛
测评
博客
大学堂
|
下载
|
下载中心
电路图
精品文集
电路图
|
参考设计
|
Datasheet
|
活动
|
直播
datasheet
datasheet
文章
搜索
登录
注册
中文
En
论坛
切换旧版
电子工程世界-论坛
»
论坛
›
电子技术交流
›
嵌入式系统
›
《RISC-V开放架构设计之道》浮点指令与原子指令
返回列表
发新帖
回复
阅
867
|
回
0
ew2024
当前离线
一粒金砂(中级)
最后登录
2025-3-16
在线时间
5 小时
威望
77分
芯积分
90分
(兑换)
E金币
0枚
(兑换)
(兑换)
好友
0
ew2024
24
帖子
0
TA的资源
一粒金砂(中级)
+ 好友
私信
发表于2025-3-7 01:22
显示全部楼层
《RISC-V开放架构设计之道》浮点指令与原子指令
[复制链接]
本帖最后由 ew2024 于 2025-3-7 01:22 编辑
# RV32F/RV32D 单双精度浮点数 RV32F 和RV32D 使用**32 个独立的f 寄存器**,而非x 寄存器(整数寄存器),与x寄存器完全分离。 > 处理器能在不增加RISC-V 指令格式中寄存器字段所占空间的情况下,**将寄存器容量和带宽翻倍**,从而提升处理器性能(例如,浮点运算和整数运算可以并行访问各自的寄存器组,减少资源争用。)。这会导致,必须分别添加用于f 寄存器与内存,以及f 寄存器和x 寄存器之间传送数据的指令。 --- ARM-32和MIPS-32虽然也有32个单精度浮点寄存器,但双精度寄存器仅16个,需将两个单精度寄存器拼接使用;而RISC-V的32个f寄存器直接支持双精度(每个寄存器占64位,单精度使用低32位)。而x86-32早期通过浮点堆栈实现浮点运算(如80位扩展精度),而RISC-V的独立寄存器设计更接近现代处理器的性能需求,简化了数据操作。 >RV32D必须依赖RV32F,双精度架构天然兼容单精度操作(如FCVT.D.S指令实现单双精度转换),简化了指令集的同时确保数据精度灵活性。 --- 指令后缀`(.S/.D)`强制声明精度,避免隐式转换导致的歧义,例如`FADD.S`与`FADD.D`分别对应单双精度加法,增强代码可读性和安全性。 同时这个会带来一个问题: 单双精度混合计算需显式类型转换(如`FCVT.S.D`),可能**引入额外指令和延迟**。 因此应尽量统一函数内部精度,减少频繁转换。频繁转换需占用更多寄存器资源(如保存中间结果)或内存带宽,可能成为性能瓶颈 ## 融合乘加指令(FMA) FMA是为了提升精度所规定的,传统的两次舍入会导致**误差累计**,进而精度损失。在精度敏感的减法中,当 a × b 与 c 的量级接近但符号相反时,两者相加会因“减法抵消”导致大部分高位有效位被消除,仅保留低位尾数。此时FMA 会**跳过中间舍入**,保留更多低位尾数,最终结果更接近数学上的真实值。而传统方法的乘法结果的中间舍入可能导致低位尾数被截断,最终结果误差较大。 RISC-V的R4格式指令就是为了支持FMA而设立的,R4 格式是 R 格式的变种,无需大幅改动硬件解码逻辑即可支持更多操作数,体现了指令集架构在平衡精度、性能和硬件成本时的核心设计思想。 # RV32A 原子指令 原子指令是支持多线程/多核并发编程的关键机制,其核心在于确保某一操作(如读写内存)的不可分割性,避免数据竞争。 RV32A的原子操作分为两种,两者分别针对不同场景设计,共同支撑多线程、多核环境下的数据一致性。 ## 原子内存操作(atomic memory operation,AMO) 对内存中的操作数执行一次原子操作,并将原内存值写入目的寄存器。“原子” 表示内存读写之间既不会发生中断,也不会被其他处理器修改内存值。 **核心机制** AMO指令通过单条指令完成“读-改-写”操作,硬件保证原子性(总线锁定或缓存一致性协议)。 ** 特点与适用场景** 高效性:单指令完成复杂操作,减少指令数和总线锁竞争。 硬件支持:无需软件模拟,直接通过总线锁定或缓存一致性协议实现原子性。 适用场景: 1. 多核计数器累加(如`AMOADD`); 2. I/O设备驱动中的原子读写(如寄存器操作); 3. 归约操作(如多核并行求和)。 **内存顺序控制** AMO指令可通过`aq`(acquire)和`rl`(release)标志位控制内存访问顺序: 1. **aq=1**:确保后续内存访问在AMO操作完成后执行; 2. **rl=1**:确保先前内存访问在AMO操作前完成。 ## 预订取数/条件存数(load reserved / store conditional) - **LR指令**:从内存地址加载数据到寄存器,并标记该地址为“保留”(reservation set),声明当前处理器(hart)的独占访问权。 - **SC指令**:尝试将新值写入内存前,检查目标地址的保留标记是否仍有效: - **有效**:写入成功,返回0; - **失效**(如其他处理器修改了该地址):写入失败,返回非0值,并清除所有保留标记。 ** 特点与适用场景** - 灵活性:支持实现任意复杂的原子操作(如CAS,Compare-and-Swap),适用于自定义同步原语(如自旋锁)。 - 限制: 1. LR与SC之间最多允许16条基础整数指令,且不能包含内存访问或跳转指令,否则原子性无法保证。 2. 在多核竞争激烈时,总线锁可能导致性能下降。 ##两种机制对比 | **特性** | **LR/SC** | **AMO** | | --------- | -------------- | ------------ | | **灵活性** | 支持任意原子操作(如CAS) | 仅支持预定义的原子操作| | **性能** | 多核竞争时可能低效 | 单指令高效,总线锁时间短 | | **硬件复杂度** | 依赖保留标记机制,实现复杂| 直接硬件支持,实现简单| | **适用场景**| 复杂同步原语(如锁) | 简单原子操作(如累加)| RV32A通过**LR/SC**和**AMO**两种机制平衡了灵活性与效率: - **LR/SC**:提供通用性,适合复杂同步需求; - **AMO**:以硬件直接支持高频原子操作,提升性能。 这种设计体现了RISC-V模块化理念,既满足嵌入式系统的轻量化需求,又支持高性能多核场景的扩展性。
此帖出自
嵌入式系统论坛
回复
分享
扫一扫,分享给好友
复制链接分享
链接复制成功,分享给好友
举报
提升卡
变色卡
千斤顶
返回列表
发新帖
回复
您需要登录后才可以回帖
登录
|
注册
发表回复
回帖后跳转到最后一页
活动
更多>>
嵌入式Rust修炼营第一场直播:Rust入门基础知识和三个动手实战Rust任务解析
Vicor 白皮书下载有礼 | 在48V架构中使用高密度功率转换器构建更好的机器人
有奖直播报名中| TI 面向楼宇和工厂自动化行业的毫米波雷达解决方案
TI 有奖直播 | 使用 MSPM0 MCU 生态系统和 Zero Code Studio 加快产品上市速度
PI 有奖直播|电机开发很复杂?MotorXpert™助您事半功倍!
2025 英飞凌消费、计算与通讯创新大会(北京站)重磅来袭!
中星联华&ADI直播:大咖面对面,轻松玩转高速 ADC 性能测试
立即报名 | 2025 瑞萨电子工业以太网技术日 即将开启!(3月12日-4月18日)
开源项目
更多>>
【训练营_进阶班】基于stm32f1的物联通讯板
用于平板显示器的 20W、2 通道、D 类音频功率放大器
MCP1501T-30E/CHY 3.000V 负参考电压的典型应用电路
【涂鸦智能】基于STC8G2K64S4的温湿度传感器
基于STC15F2K60S2的光立方设计
使用 Cypress Semiconductor 的 MB39A108 的参考设计
使用 ROHM Semiconductor 的 BU4910 的参考设计
DC1414B-B,使用 LTM4601AHV 5 至 28Vin、12A 降压稳压器的演示板
来自 24V 壁式适配器和铅酸电池的 LTC3126EUFD 3.3V/2.5A 电源的典型应用电路
随便看看
《RISC-V开放架构设计之道》RISC-V浮点指令集的技术解析【学习笔记3】
#《RISC-V开放架构设计之道》RISC-V浮点指令集的技术解析【学习笔记3】###一、引言:浮点运算的现代需求与RISC-V响应在现代计算领域,浮点运算的需求无处不在。无论是在高性能计算、精密科学模拟,还是在复杂数据分析中,浮点运算都是不可或缺的基础。RISC-V ...
# 《RISC-V开放架构设计之道》RV32M:RISC-V中的乘法与除法指令初步解析【学习笔记2】
#《RISC-V开放架构设计之道》RV32M:RISC-V中的乘法与除法指令初步解析【学习笔记2】在深入RISC-V的世界中,RV32M这一重要扩展不可忽视。它为RISC-V指令集带来了整数乘法和除法运算的能力,极大地增强了处理器在处理计算密集型任务方面的能力。本篇将详细解析 ...
收到板子了,先晒下板子
[attach]897527[/attach][attach]897528[/attach]
【STM32N6570-DK评测】#1 开箱
【Thingy:91X】测评开箱
TMP275温度传感器的程序
【群蜂团队】【每日英语】20121105
电气设备内部干扰的抑制
跪求!求助protues高手帮忙啊
【菜鸟FPGA VHDL学习帖】第5帖 按键操作
查找数据手册?
搜索
EEWorld Datasheet 技术支持
热门标签
源代码
单片机
放大器
TI
ST
电源
分立器件
传感器
测试测量
模拟
autosar软件开发
linux常用命令
Flash存储器
autosar架构
密码锁
Digi-Key
STC-ISP
CC2530
bosch
OTN
相关文章
更多>>
黄仁勋:光芯片可靠性低,铜导线仍是当前 AI 芯片首选
3 月 20 日消息,路透社昨日(3 月 19 日)发布博文,报道称英伟达首席执行官黄仁勋在 GTC 2025 大会上,表示尽管共封装光学能显著提升 AI 芯片能效,但因当前可靠性不足,暂不会用于旗
美国康奈尔大学研发AI智能戒指:可利用微型声纳技术识别手语拼写
当地时间 17 日,美国康奈尔大学发布新闻稿披露,该学校研究团队开发了一款人工智能戒指 SpellRing。其结合了微型声纳技术,能够实时追踪美国手语(ASL)中的手指拼写。 目前,SpellRin
软银宣布65亿美元全现金收购美国芯片设计公司Ampere以加速AI创新
3月20日消息,软银集团刚刚宣布与美国芯片设计公司Ampere达成协议,软银集团将通过子公司以65亿美元(现汇率约合469.97亿元人民币)全现金方式收购Ampere的全部股权。 根据协议条款,Am
虚拟轨道+AI调度:英伟达专利揭示未来自动驾驶交通蓝图
Predibase发布全球首个端到端强化微调平台并开源
AI设计PCB靠谱吗?
比亚迪说的汽车1000V系统,到底是个啥?
OpenAI星际之门首个项目曝光:可配备40万颗英伟达AI芯片
高良率(95%)车规级磁存储芯片MRAM研究进展
挪威科学家研发新型电动汽车电池:可自修复,有望提升续航、充电时间、寿命
新帖速递
STM32和无源蜂鸣器播放声音的问题
车规级AECQ200介绍,混合铝电解电容器的选择
嵌入式教程_DSP技术_DSP实验箱操作教程:2-28 搭建轻量级WEB服务器实验
OPA847IDBVR运放器国产替代
AG32VF407测试UART
【得捷电子Follow Me第二期】第一章 收到货物的分享
请问这个红外接收头是什么型号?能用哪个型号代替?谢谢
出售全新未拆封ZYNQ 7Z020 FPGA核心板
用在锂电池供电的水表设置上的LORA模块,当有100块水表集中安装在一个楼道内时,节能
请问一下,当某个端口被设置为 RX0后,这个端口的输入输出方向还有必要设置吗
今年怎么这么难,比疫情时还难,三十了面临失业好迷茫
请教稳压管测试问题
【小华HC32F448测评】关于小华半导体的UART中断发送和PRINTF构造和重定向
【BIGTREETECH PI开发板】 HDMI输出测试
【BIGTREETECH PI开发板】+08.音频测试(zmj)
有奖直播报名| TI 面向楼宇和工厂自动化行业的毫米波雷达解决方案
【内容简介】TI 60GHz IWRL6432和 IWRL1432毫米波雷达传感器如何帮助解决楼宇和工厂自动化应用中的感应难题
【直播时间】5月28日(周三)上午10:00
【直播礼品】小米双肩包、contigo水杯、胶囊伞、安克充电器
查看 »
ADI 有奖直播报名中~
直播时间:3月27日(周四) 上午10:00-11:30
直播主题:易于驱动SAR型ADC的原理、优点及应用介绍
好礼等你拿~
查看 »
【有奖直播】电机开发很复杂?MotorXpert™助您事半功倍!
直播时间:4月8日(周二)上午10:00
直播奖励:京东卡等您拿!
查看 »
中星联华&ADI直播报名最后一周!
直播主题:大咖面对面,轻松玩转高速ADC性能测试
直播时间:3月25日(周二)14:00
活动奖励:京东卡、双肩包
查看 »
立即报名 | 2025 瑞萨电子工业以太网技术日即将开启!
3月-4月 深圳、广州、北京、苏州、西安、上海 走进全国6城
2025瑞萨电子工业以太网技术巡回沙龙聚焦工业4.0核心需求,为工程师与企业决策者提供实时通信技术最佳解决方案。
预报从速,好礼等您拿~
查看 »
ADI 探索季,邀您在活动帖跟帖,ADI资深工程师将与您一道寻求解决之道!
春晚,最出圈当属穿着棉马甲跳秧歌的机器人”秧Bot”。
转手绢、飞手绢、变换队形,精准度和稳定性甚至超越人类,这背后少不了电机控制技术。
查看 »
ADI 中国30周年,与你一起走过的那些精彩瞬间!
即日起-4月30日,阅读资料,您可以参与ADI真爱粉大考验,同时为ADI中国30周年送上祝福!我们将从参与者中随机抽取精美礼品送出!
查看 »
有奖活动 | PI PowiGaN技术学习中心,全方位解读PI 1700V GaN: InnoMux-2 EP技术精髓 ...
活动时间:即日起-2025年3月23日
1、进入 PI PowiGaN技术学习中心,点击任意视频 ,填写并提交表单即可观看(只需提交1次表单);
2、活动结束后,将随机抽取30名幸运者派送50元京东卡!
查看 »
电源解决方案和技术 | DigiKey 应用探索站
当月好物、电源技术资源、特色活动、DigiKey在线实用工具,干货多多~
查看 »
Microchip 直播|利用motorBench开发套件高效开发电机磁场定向控制方案 报名中!
直播主题:利用motorBench开发套件高效开发电机磁场定向控制方案
直播时间:2025年3月25日(星期二)上午10:30-11:30
快来报名!
查看 »
关闭
站长推荐
1
/10
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
电信业务审批[2006]字第258号函
京公网安备 11010802033920号
Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复
返回顶部
返回列表
论坛首页
版块列表
专业技术中心
TI技术论坛
DigiKey得捷技术专区
ST传感器与低功耗无线技术论坛
ADI工业技术论坛
电子技术交流
边缘AI
嵌入式系统
单片机
国产芯片交流
电机控制
FPGA/CPLD
模拟电子
电源技术
无线连接
传感器
PCB设计
综合技术交流
下载中心专版
大学堂专版
测评中心专版
行业应用
汽车电子
机器人开发
工业自动化与控制
能源基础设施
医疗电子
消费电子
创意与实践
电子竞赛
DIY/开源硬件专区
淘e淘
创意市集
休息一下
聊聊、笑笑、闹闹
工作这点儿事
为我们提意见&公告
EEWorld颁奖专区
信息发布
最新帖子
最新帖子
最新回复
精华
消灭零回复
测评中心
活动中心
积分兑换
E金币兑换
芯积分
厂商专区
TI技术论坛
DigiKey得捷技术专区
ST传感器与低功耗无线技术论坛
ADI工业技术论坛