知识中心
探索基于 RISC-V 架构的突破性创新,从超越行业标杆的代码密度增强技术,到实现微秒级响应的中断实时性增强技术,我们致力于从底层核心实现极致性能优化。
技术背景与挑战
RISC-V 的双刃剑
RISC-V 指令集以精简闻名,但在处理相同任务时,相较于 ARM 往往需要执行更多条指令。这种特性导致了代码密度较低,进而要求更大的片上内存(Memory),最终导致芯片成本的增加。
普通 RISC-V
隼瞻方案
通过提高代码密度,显著减少对 Memory 的需求,降低 Memory 面积与成本。
四大技术手段
全栈式优化策略,从指令集到工具链
压缩指令
对 RISC-V 社区的 B 扩展、Zc 扩展、Zicond 等一系列标准扩展提供了有效支持,并进行了进一步优化。
Xwingc 扩展指令集
支持将自主研发的代码密度增强指令 Xwingc 扩展加入到处理器核中。
WingGCC 编译器
解决了 GCC 领域针对性不强的问题。完整匹配各种标准扩展指令和隼瞻自定义扩展指令,同时适配隼瞻专用高效微架构,充分发挥性能。
WingLib 基础库
- 提供标准C库和数学库,专为 code size 和速度优化,优于竞品 5%~20%。
- 提供优化的 DSP 库,结合 DSA 技术,性能达竞品数倍。
- 提供优化的第三方中间件。
极致的密度优化
我们的优化路径清晰可见。从基础 GCC 出发,叠加 Zc/Zicond 扩展,再引入 Wing 独有的代码密度增强技术,最终实现大幅度的空间节省。
基于 Wing-M130, Wing IDE v1.0, embench 测试案例
代码密度百分比 (数值越小越好)
通过自定义指令集优化压栈出栈,并行处理上下文切换,打破传统 RISC-V 中断响应瓶颈,实现微秒级确定性响应。
指令级优化
通过增强指令优化压栈和出栈,大幅加速中断响应速度
常规 RISC-V 处理
由于指令多,周期长2
3
4
5
csrr a1, mstatus sw a1, 3*4(sp)
csrr a2, mtval sw a2, 2*4(sp)
csrr a3, mepc sw a3, 1*4(sp)
addi sp, sp, -5*4
隼瞻增强技术
减少5条指令2
3
4
csr.push mstatus, -12
csr.push mtval, -8
csr.push mepc, -4
并行处理与硬件加速
在嵌套中断服务中,通过优化中断采样逻辑、优化中断接入逻辑,并创造性地实现并行处理上下文切换。
常规中断处理步骤
跳转时间
时间
时间
隼瞻增强技术步骤
跳转时间
时间
处理时间
绝对时间优势
中断响应周期大幅缩减