Rocket - core - io.dmem的结构

https://mp.weixin.qq.com/s/mwmD3JctGIxLAjMnIUnd-Q

 

简单介绍io.dmem及HellaCacheIO的结构。

 

1. io.dmem

 

在ex阶段和mem阶段均对io.dmem接口进行了填充:

 

io.dmem的定义咋HasCoreIO这个trait中:

 

HasCoreIO被Rocket模块引入,从而为模块定义了io接口:

 

io.dmem是一个HellaCacheIO类型的结构:

其中的方向,是以核心的视角进行定义的:向核心输入,从核心输出。

 

2. HellaCacheIO

 

HellaCacheIO的整体结构如下:

 

1) req: HellaCacheReq

 

io.dmem.req的结构如下:

 

2) resp: HellaCacheResp

 

io.dmem.resp的结构如下:

 

3) s1_data: HellaCacheWriteData

 

io.dmem.s1_data的结构如下:

 

 

4) s2_xcpt: HellaCacheExceptions

 

io.dmem.s2_xcpt的结构如下:

 

5) perf: HellaCachePerfEvents

 

io.dmem.perf的结构如下:

 

3. 与DCache的连接

 

io.dmem与DCache的连接示意图如下:

 

posted @ 2022-03-20 11:17  wjcdx  阅读(293)  评论(0编辑  收藏  举报