计算机研究与发展

北大核心,JST,Pж(AJ),EI,CSCD

国内刊号:11-1777/TP

国际刊号:1000-1239

计算机研究与发展杂志2025年第5期:面向LoongArch边界检查访存指令的GCC优化

发布日期:

作者:舒燕君,郑翔宇,徐成华,黄沛,王永琪,周凡,张展,左德承,

关键词:编译器优化, LoongArch, GCC, 边界检查访存, 龙芯CPU, 异常处理, 内存安全,

为了减少内存安全检查的开销,LoongArch指令集架构引入了边界检查访存类指令.然而,作为一种新的内存访问指令,目前GCC(GNUcompilercollection)编译器不支持该类指令,LoongArch硬件能力不能得到充分利用.针对此LoongArch边界检查访存指令改进了GCC编译器,实现利用该类指令优化程序的内存安全检查.具体而言,完成了3个方面的工作:1)设计实现了针对边界检查访存指令的内建函数;2)改进GCCRTL(registertransferlanguage)阶段的优化器,使其能够识别无异常处理和带异常处理2种情况的边界检查访存语义,并自动优化;3)面向LoongArch边界检查访存指令触发的边界检查异常(boundcheckexception,BCE),设计了新的Linux内核异常信号SIGBCE和相应的运行时库glibc(GNUClibrary)的信号处理函数,实现了BCE处理.通过在GCC12.2.0和龙芯3C5000L服务器进行实验,验证了改进后的编译器不仅能正确使用新引入的边界检查访存指令,而且在某些安全函数中带来接近20%的性能提升.完善了LoongArch生态,推进了LoongArch指令集发展,对此类特定指令编译器优化工作有一定的借鉴意义.

来源:2025年第5期

《计算机研究与发展》期刊编辑部

查看计算机研究与发展杂志2025年第5期

声明

严正声明:本站非期刊官网,非中介代理。

本站仅提供学术规范服务:快速预审、润色编辑服务、中英文查重、降重、去重服务、推荐合适的期刊投稿等学术规范服务。 如需提供学术规范服务请联系在线编辑。

联系我们

  • 地址:北京中关村科学院南路6号
  • 电话:(010)62620696
  • E-mail:crad@ict.ac.cn

咨询工作人员