[发明专利]L2中bypass的实现方法及系统在审
| 申请号: | 202210670307.7 | 申请日: | 2022-06-14 |
| 公开(公告)号: | CN114996016A | 公开(公告)日: | 2022-09-02 |
| 发明(设计)人: | 李长林;刘磊 | 申请(专利权)人: | 广东赛昉科技有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 上海邦德专利代理事务所(普通合伙) 31312 | 代理人: | 崔双双 |
| 地址: | 528300 广东省佛山市顺德*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | l2 bypass 实现 方法 系统 | ||
1.一种L2中bypass的实现方法,其特征在于,所述方法包括以下步骤:
S1初始化,load miss请求分配到core read queue中,请求参与并赢得仲裁,上pipeline;
S2在pipeline中miss了L2,hit wrq,直接从wrq中load数据回来;
S3更新L2 tag_ram data_ram将数据返回给core,同时deallocate掉相应的outstanding write queue相对应的entry项。
2.根据权利要求1所述的一种L2中bypass的实现方法,其特征在于,所述方法中,若支持wrq直接bypass数据给load miss请求,则hit wrq直接从wrq中load数据回来。
3.根据权利要求1所述的一种L2中bypass的实现方法,其特征在于,所述方法中,L2进行工作时包括以下步骤:
T1接收来自core和外部extend的请求,同时收来自CRQ CWQ EPQ ORQ EFQ CPQ的请求,并选出其中的一个请求进入pipeline;
T2根据请求的类型和当前L2中TAG信息及MESI状态信息,生成相关分配方案;
T3通过L2向下游memory发出读请求或写请求,并由下游memory返回reload data回填到EFQ;
T4通过EFQ上L2de pipeline,将reload回来的数据写入L2$中,同时将数据return给请求的core。
4.根据权利要求3所述的一种L2中bypass的实现方法,其特征在于,所述方法中,L2接收来自core和外部extend的请求,包括接收来自core的read请求,放在CRQ中;接收来自core的write请求,放在CWQ中;接收来自外部的probe请求,放在EPQ中。
5.根据权利要求3所述的一种L2中bypass的实现方法,其特征在于,所述方法中,在pipeline中,根据请求的类型,和当前L2中TAG信息及MESI状态信息确定:是否可以直接写入L2;是否可以直接return data给请求方;是否需要向下游memory reload数据或权限;是否需要产生evict;是否需要向下游memory write数据;是否需要probe core;如果判断需要向下游memory reload数据或权限,则分配一个ORQ;如果判断需要向下游memory write数据,则分配一个WRQ;如果判断需要probe core,则分配一个CPQ,L2向core发出probe请求,都是通过CPQ来完成。
6.一种L2中bypass的实现系统,所述系统用于实现如权利要求1-5任一项所述的L2中bypass的实现方法,其特征在于,包括probe、eviction、TAG RAM、DATA RAM、CRQ、CWQ、EPQ、ORQ、WRQ、EFQ和CPQ。
7.根据权利要求6所示的一种L2中bypass的实现系统,其特征在于,所述probe用于窥视和监听,将core中dirty的数据probe下来或者为了拿到E权限,把core中的MESI状态信息进行修改;
所述eviction,用于保持cache中保存的数据相对新的数据,在cache中需要把数据替换出去时产生;
所述TAG RAM用于记录cacheline的addr及该cacheline在L2和所有的L2 CORE中的MESI状态信息;
所述DATA RAM用于记录cacheline的数据信息;
所述CRQ用于接收来自core的read请求存放的队列;
所述CWQ用于接收来自core的write请求的队列;
所述EPQ用于接收来自外部的probe请求的队列;
所述ORQ,用于在一个在L2中的请求,上L2 pipeline后,发现本cache中该cacheline不存在或该cacheline的在本cache中的访问权限不够时,则需要申请一个ORQ,通过ORQ向下一级memory reload数据并拿到相应的权限;
所述WRQ,用于在L2需要把某条cacheline给写到下一级memory,则申请要给WRQ,通过WRQ将数据写入下一级memory;
所述EFQ用于在由reload数据回填L2的时候,先把数据回填写入EFQ中,然后通过EFQ上L2的pipeline将数据写入L2$同时将数据return给请求模块;
所述CPQ用于将probe相应的core,probe请求则先存放在CPQ中,然后通过CPQ向对应的core发出probe请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东赛昉科技有限公司,未经广东赛昉科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210670307.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:L2中fence指令的实现方法及系统
- 下一篇:一种自动识别办理人身份的方法





