随着 RISC-V 架构从物联网向高性能计算、数据中心及边缘 AI 领域演进,RISC-V 向量扩展(RVV)已成为释放算力的关键引擎。相较于受限于单次操作宽度的标量模式,向量扩展凭借数据级并行能力,能显著提升数据吞吐量。
GLIBC(GNU C Library)作为 Linux 系统最底层的 C 运行库,其性能直接决定上层应用效率。充分利用向量扩展对 GLIBC 内存函数进行深度优化,是打通 RISC-V 硬件潜力至应用性能的关键路径。然而,当前 RISC-V 生态中的内存操作函数仍以标量模式为主,未能充分释放向量扩展优势。
近期,中兴针对 RISC-V 架构下的 GLIBC 进行了深度向量优化重构,在多项核心内存操作上实现性能翻倍,部分指标已超越 ARM 基准。
挖掘向量规范特性,深化三大技术实现
无论是视频解码、图像处理,还是数据库检索与网页浏览,底层均频繁调用 memcpy(内存拷贝)、memset(内存设置)、memcmp(内存比较)等基础函数。在标量模式下,处理器仅能以字节或字为单位循环搬运,面对大数据块时,密集的循环指令与分支预测开销成为严重瓶颈。引入向量扩展后,利用数据级并行特性,单条指令即可处理多个数据块,大幅减少指令数与循环次数,实现性能飞跃。
中兴在优化过程中充分挖掘了 RISC-V 向量扩展规范的特性:
- 自适应循环:通过 vsetvli 按剩余数据量动态设置向量长度,一套代码即可适配不同向量寄存器位宽,逼近平台峰值吞吐。
- 高效尾部处理:借助长度自适应机制,结合掩码与尾策略处理不足向量长度的数据段,有效减少传统标量实现中的分支判断与小循环开销。
- 提升内存带宽利用:采用高效的向量加载与存储组合,降低循环迭代次数与指令开销,提升流水线利用率,使内存操作更接近子系统带宽上限。
实测数据验证,核心函数性能全面跃升
为直观验证优化效果,中兴在同等配置的高性能 RISC-V 与 ARM 处理器平台上,针对 GLIBC 核心内存函数进行了严苛的跨架构 Benchmark 测试。测试以 ARM 平台性能为基准(1.0),对比 RISC-V 优化前后的表现。
数据显示,优化后的 RISC-V 性能不仅抹平了原有差距,更在多个关键函数上大幅反超 ARM 基准:
拷贝与移动性能显著提升
memmove 优化前得分仅 0.37,向量优化后飙升至 0.97,性能提升达 2.54 倍,显著降低数据搬迁与缓存整理引起的停顿。memcpy-default 作为调用最频繁的函数,得分从 0.53 跃升至 1.0(约 1.87 倍提升),明显改善文件读写与网络数据包拷贝的系统级吞吐效率。
查找与比较能力超越基准
memcmp 从优化前的 0.47 提升至 0.99,实现 2.08 倍性能翻番,直接缩短数据库索引查找与字符串匹配的延迟。memrchr 和 memchr 优化后得分分别达到 1.32 和 1.23,不仅远超优化前水平,更突破 1.0 的 ARM 基准线,展现出 RISC-V 在日志反向检索与文本解析场景中卓越的并发比对能力。
内存初始化效率大幅优化
memset 系列在默认大小、大数据块及清零操作中均实现显著超越,其中 memset-default-zero 提升幅度达 1.83 倍。这加速了服务器内存池初始化、虚拟机内存分配清零等操作,证明了向量扩展在处理批量数据初始化时极高的带宽利用率。
结语
基础软件库的进步是上层应用繁荣的基石。此次 GLIBC 内存操作的向量优化,成功将 RISC-V 芯片的理论算力转化为实际的软件执行效率。这意味着搭载 RISC-V 芯片的设备将拥有更快的启动速度,其运行的数据库、AI 推理及多媒体应用将获得更高吞吐量,同时在同等负载下有效降低功耗。
未来,中兴将继续深耕 RISC-V 底层生态,推动向量扩展在编译器、数学库及更多核心中间件中的落地,助力 RISC-V 加速迈向高性能计算与数据中心核心场景。

