基于RISC-V的内存管理单元设计与实现
作者机构:北京大学软件与微电子学院
出 版 物:《微电子学与计算机》 (Microelectronics & Computer)
年 卷 期:2024年
学科分类:08[工学] 081201[工学-计算机系统结构] 0812[工学-计算机科学与技术(可授工学、理学学位)]
基 金:军队科研资助项目
摘 要:RISC-V指令集架构定义了支持巨页的多层页表结构,但是由于早期的RISC-V处理器核多定位于嵌入式领域,在MMU设计上没能发挥RISC-V指令集的全部能力,比如页目录缓存和对ASID的支持。本文研究基于RISC-V指令集的高性能MMU设计,采用两级MMU设计,一级MMU分为指令MMU和数据MMU,其中数据MMU支持非阻塞访问,通过增加缺失状态队列,在TLB重填后激活保留站中之前因TLB缺失而被挂起的指令;二级MMU采用多级转译缓存结构,通过对页目录的缓存加速TLB加载过程,并支持硬件TLB加载。针对RISC-V指令集定义的TLB无效指令,本文利用组相联cache的结构特点,将无效过程分为组无效和重填时进行路无效这两个阶段,实现了快速的全局无效和按AISD无效TLB的操作。经过验证,MMU可以在28nm工艺下稳定运行在1.2GHz,采用多级转移缓存保存页目录的设计使得MMU的访存请求减少了66.65%,TLB加载的平均执行周期减少了65.54%。