计算机工程与科学 ›› 2025, Vol. 47 ›› Issue (5): 787-796.
张伟伟,陈虎
ZHANG Weiwei,CHEN Hu
摘要: 为满足控制低间隔加速部件的需求,提出了一种多线程无中断的RV32I微处理器(MIRV)结构和相关软件系统。MIRV采用六级流水线单发射顺序执行结构,结合数据重定向技术解决了线程内指令间的大部分数据冲突问题。硬件支持4个线程的寄存器组和程序计数器,采用粗粒度线程调度机制,能够在线程内数据冲突和控制冲突无法解决时实现零时间开销的线程切换。还提出了硬件与软件统一的信号机制,利用特定CSR寄存器实现线程对外部加速部件信号的等待和快速唤醒,通过软件信号处理实现多线程同步与互斥。MIRV综合后包含1 811个LUT,主频为210 MHz。与PicoRV32和DarkRISCV相比,MIRV主频较高且拥有较为优秀的性能。在MK7160FA开发板上使用C语言实现了基于生产者-消费者模型的流水灯控制测试案例,在该实验中,从硬件定时器发出信号到软件产生外部LED的控制信号仅需要10个时钟周期,验证了MIRV对外部硬件事件信号的低延迟响应能力。MIRV具备较低的硬件资源占用量、优异的性能和高级语言编程能力,可作为多种低间隔加速部件的控制器。