• 2025年第36卷第9期文章目次
    全 选
    显示方式: |
    • 基于RISC-V VLIW架构的混合指令调度算法

      2025, 36(9):0-0. DOI: 10.13328/j.cnki.jos.007357

      摘要 (216) HTML (0) PDF 1.24 M (200) 评论 (0) 收藏

      摘要:指令级并行是处理器体系结构研究的经典难题。VLIW架构是数字信号处理器领域中提升指令级并行的一种常用架构。VLIW架构的指令发射顺序是由编译器决定的,因此其指令级并行的性能强依赖于编译器的指令调度。为了探索RISC-V VLIW架构的扩展潜力,丰富RISC-V生态,本文研究RISC-V VLIW架构的指令调度算法优化。针对单个调度区域,整数线性规划调度算法能够得到调度最优解但复杂度较高,表调度算法复杂度较低但无法得到调度最优解。为了结合两种调度算法的优点,本文提出了一种IPC理论模型指导的混合指令调度算法,即通过IPC理论模型定位到表调度未达最优解的调度区域,再对该调度区域进一步实施整数线性规划调度算法。该理论模型基于数据流分析技术协同考虑指令依赖和硬件资源,能够以线性复杂度给出IPC的理论上界。混合调度的核心在于IPC理论模型的准确性,本文理论模型准确率为95.74%。在给定的测评基准上,本文提出的理论模型应用于混合指令调度时,能够平均认定94.62%的调度区域在表调度下已达最优解,因此仅有5.38%的调度区域需再进行整数线性规划调度。该混合调度算法能够以接近表调度的复杂度达到整数线性规划调度的调度效果。

    • Spike-FlexiCAS:支持缓存架构灵活配置的RISC-V处理器模拟器

      2025, 36(9):0-0. DOI: 10.13328/j.cnki.jos.007358

      摘要 (134) HTML (0) PDF 1.52 M (169) 评论 (0) 收藏

      摘要:缓存模拟器在缓存架构探索和缓存侧信道研究中起着不可或缺的作用. Spike作为RISC-V指令集的标准实现为基于RISC-V的缓存研究提供了完整的运行环境. 但Spike的缓存模型存在仿真粒度低, 与真实处理器的缓存结构差异大等诸多问题. 为此, 本文修改和扩展Spike的缓存模型并取名为FlexiCAS (Flexible Cache Architectural Simulator), 修改后的Spike称为Spike-FlexiCAS. FlexiCAS能支持多种缓存架构, 具有灵活配置、易扩展等特点并且可以对缓存特性(如一致性协议以及实现方式)进行任意的组合. 此外, FlexiCAS还能不依赖Spike单独地对缓存的行为进行模拟. 性能测试的结果表明, FlexiCAS对比当前最快的执行驱动型模拟器 ZSim的缓存模型具有明显的性能优势.

    • RISC-V架构下的懒惰影子页表模型

      2025, 36(9):0-0. DOI: 10.13328/j.cnki.jos.007359

      摘要 (98) HTML (0) PDF 1.28 M (148) 评论 (0) 收藏

      摘要:内存虚拟化作为虚拟化技术的核心组成部分,直接影响虚拟机的整体性能.目前,主流的内存虚拟化方法在两维地址翻译开销与页表同步开销之间面临权衡.传统的影子页表模型通过一套由软件维护的页表,实现了与原生(Native)环境相当的地址翻译性能.然而,由于影子页表的同步依赖于基于写保护的机制,频繁的虚拟机退出(VM-exit)会严重影响系统性能.相对而言,嵌套页表模型依靠硬件辅助虚拟化,允许虚拟机的客户页表直接加载到内存管理单元中,从而避免了页表同步的开销.然而,这种方法的两维页表遍历却显著降低了地址翻译效率.基于RISC-V架构下的特权级模型和虚拟化硬件特性,本文提出了一种懒惰影子页表模型LSP(Lazy Shadow Paging),在保留影子页表的地址翻译高效性的同时降低了页表同步开销.懒惰影子页表模型深入分析了客户机对页表页的访问模式,将页表同步与转址旁路缓存(Translation Lookaside Buffer, TLB)刷新操作绑定以降低虚拟机退出的数量.然后,利用RISC-V架构中对TLB的细粒度刷新且可拦截的特性,无效化需同步的影子页表项,将页表同步的软件开销推迟到了首次访问该页面的时刻.此外,懒惰影子页表模型利用RISC-V架构中全新的特权级模型,设计了TLB拦截的快速路径,进一步减少了虚拟机退出带来的软件开销.实验表明,在基础RISC-V架构下,懒惰影子页表相对于传统影子页表在微基准测试中降低了最多50%的虚拟机退出数量.在支持RISC-V的虚拟化扩展架构下,懒惰影子页表对SPEC06基准测试中的典型应用相较于传统影子页表降低了最多25%的虚拟机退出数量,并且相较于嵌套页表每次TLB缺失降低了12次访存.

    • 面向RISC-V向量扩展的高性能算法库优化方法

      2025, 36(9):0-0. DOI: 10.13328/j.cnki.jos.007360

      摘要 (262) HTML (0) PDF 1.27 M (225) 评论 (0) 收藏

      摘要:高性能算法库可以通过向量化的方式高效地利用单指令多数据(SIMD)硬件的能力,从而提升其在CPU上的执行性能.其中,向量化的实现需要使用目标 SIMD 硬件的特定编程方法,而不同SIMD扩展的编程模型和编程方法均存在较大差异.为了避免优化算法在不同平台上的重复实现,提高算法库的可维护性,在高性能算法库的开发过程中通常需要引入硬件抽象层.由于目前主流SIMD扩展指令集均被设计为具有固定长度的向量寄存器,多数硬件抽象层也是基于定长向量的硬件特性而设计,无法包含RISC-V向量扩展所引入的可变向量寄存器长度的硬件特性.而若将RISC-V向量扩展视作定长向量扩展引入现有硬件抽象层设计中,会产生不必要的开销,造成性能损失.为此,本文提出了一种面向可变长向量扩展平台和固定长度SIMD扩展平台的硬件抽象层设计方法.基于此方法,本文重新设计和优化了OpenCV算法库中的通用内建函数,使其在兼容现有SIMD平台的基础上,更好地支持RISC-V向量扩展设备.将采用本文优化方法的OpenCV算法库与原版算法库进行性能比较,实验结果表明,运用本方法设计的通用内建函数能够将RISC-V向量扩展高效地融入算法库的硬件抽象层优化框架中,并在核心模块中获得3.93倍的性能提升,显著优化了高性能算法库在RISC-V设备上的执行性能,从而验证了该方法的有效性.此外,本文工作已经开源并被OpenCV社区集成到其源代码之中,证明了本文方法的实用性和应用价值.

    • RISC-V内存模型的同地址顺序一致性定理证明

      2025, 36(9):1-18. DOI: 10.13328/j.cnki.jos.007292

      摘要 (133) HTML (0) PDF 7.66 M (165) 评论 (0) 收藏

      摘要:内存一致性模型定义了并行程序在多核系统中的访存序约束, 是软硬件共同遵守的架构规范. 同地址顺序一致性是内存一致性模型的经典公理之一, 它规定了多核系统中对于相同地址的所有访存操作遵循顺序一致性, 被广泛应用于X86/TSO, Power, ARM等经典架构的内存一致性模型中, 在芯片内存一致性验证, 系统软件和并行程序开发中发挥着重要作用. RISC-V作为开源的架构规范, 其内存模型由全局访存序, 保留程序序以及三条公理(加载值公理, 原子性公理与进度保证公理)定义, 并未将同地址顺序一致性直接作为公理, 这对已有的内存模型验证工具和系统软件开发带来了挑战. 本文面向RISC-V内存模型, 基于已定义的公理和规则, 将同地址顺序一致性作为定理, 通过将任意同地址访存序列的构建抽象为确定有限状态自动机进行归纳证明. 本研究是对RISC-V内存一致性相关形式化方法的一个理论补充.


2025第36卷9

文章目录

过刊浏览

年份

刊期

联系方式
  • 《软件学报 》
  • 主办单位:中国科学院软件研究所
                     中国计算机学会
  • 邮编:100190
  • 电话:010-62562563
  • 电子邮箱:jos@iscas.ac.cn
  • 网址:https://www.jos.org.cn
  • 刊号:ISSN 1000-9825
  •           CN 11-2560/TP
  • 国内定价:70元
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号