设计应用

基于RISC-V架构的Spike缓存模型的设计和实现

作者:唐屹晨,孙维东,胡小刚,毛晓炜
发布日期:2023-07-11
来源:电子技术应用

0 引言

嵌入式微处理器以性能高、功耗低等特点在电子行业得到了广泛应用。由于RISC-V[1]指令集的开源性、模块化和成熟性,国内基于RISC-V指令集的嵌入式处理器在近几年得到了快速发展。然而,纵观国内对于RISC-V的研究多集中于理论和设计等领域,对于诸如高速缓存等特定方向的研究案例较少,对于Spike等验证模型的研究则更为缺乏。

Spike[2]是RISC-V的基金会指定的根据RISC-V 指令集架构(ISA)标准实现的验证模型, Spike通过tracer 函数完成高速缓存的实时记录,但是没有现代超标量处理器所拥有的缓存处理算法。Spike的内存管理单元通过地址映射实现与处理器模块的交互,通过缓存实现数据在CPU和内存的不同读写速度之间的匹配。内存管理单元主要包括地址转换缓存(TLB)单元和地址映射单元,MMU模块将虚拟地址转换为物理地址,包含地址转换缓存功能。

Spike的缓存模块不存储数据,只是简单地记录访问的次数、命中率、缺失率和写回率。对于经过缓存的数据没有任何的记录,缓存的操作原理也并没有按照超标量高速缓存实现。Spike中的缓存模块通过tracer 函数和victim函数模拟缓存的写回行为,并且允许设置缓存的通道数路数、组路数和行数来配置缓存的参数。这种简单的模拟对于缓存读写场景的验证会带来极大的不准确性,对于前端逻辑设计与验证的工作也带来挑战。


本文详细内容请下载:https://www.chinaaet.com/resource/share/2000005391




作者信息:

唐屹晨,孙维东,胡小刚,毛晓炜

(中国电子科技集团公司第五十八研究所,江苏 无锡 214072)


微信图片_20210517164139.jpg

此内容为AET网站原创,未经授权禁止转载。
RISC-V Spike 缓存模型