[发明专利]L2中CRQ和CWQ快速deallocate实现方法及系统在审
申请号: | 202111369637.4 | 申请日: | 2021-11-16 |
公开(公告)号: | CN114238173A | 公开(公告)日: | 2022-03-25 |
发明(设计)人: | 李长林;刘磊 | 申请(专利权)人: | 广东赛昉科技有限公司 |
主分类号: | G06F12/0897 | 分类号: | G06F12/0897;G06F12/126 |
代理公司: | 上海邦德专利代理事务所(普通合伙) 31312 | 代理人: | 刘旭章 |
地址: | 528300 广东省佛山市顺德*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | l2 crq cwq 快速 deallocate 实现 方法 系统 | ||
1.一种L2中CRQ和CWQ快速deallocate实现方法,其特征在于,包括以下步骤:
S1接收来自core和外部extend的请求,由仲裁模块收来自CRQ CWQ EPQ ORQ EFQ CPQ的请求,并选出其中的一个请求进入pipeline;
S2根据请求的类型和当前L2中TAG信息及MESI状态信息,判断下游所需要的数据或权限,并对应进行分配;
S3通过L2向下游memory发出读请求或写请求,并由下游memory返回reload data回填到EFQ;
S4由EFQ上L2de pipeline,并将reload回来的数据写入L2$中,同时将数据return请求的core;
其中,来自core的请求为load miss请求或lsu eviction请求。
2.根据权利要求1所述的一种L2中CRQ和CWQ快速deallocate实现方法,其特征在于,所述方法中,接收来自core和外部extend的请求,包括接收来自core的read请求,放在CRQ中;接收来自core的write请求,放在CWQ中;接收来自外部的probe请求,放在EPQ中。
3.根据权利要求1所述的一种L2中CRQ和CWQ快速deallocate实现方法,其特征在于,所述方法中,在pipeline中,根据请求的类型和当前L2中TAG信息及MESI状态信息确定:是否可以直接写入L2;是否可以直接return data给请求方;是否需要向下游memory reload数据或权限;是否需要产生evict;是否需要向下游memory write数据;是否需要probe core。
4.根据权利要求1所述的一种L2中CRQ和CWQ快速deallocate实现方法,其特征在于,所述方法中,如果判断需要向下游memory reload数据或权限,则分配一个ORQ;如果判断需要向下游memory write数据,则分配一个WRQ;如果判断需要probe core,则分配一个CPQ,L2向core发出probe请求,都是通过CPQ来完成。
5.根据权利要求1所述的L2中queue的管理方式的实现方法,其特征在于,所述方法中,通过L2向下游memory发出读请求,则通过ORQ发出,向下游memory读取到数据并拿到该数据对应的权限。
6.根据权利要求5所述的L2中queue的管理方式的实现方法,其特征在于,所述方法中,通过L2向下游memory发出写请求,则通过WRQ,将数据从L2中写到下一级memory中。
7.根据权利要求1所述的一种L2中CRQ和CWQ快速deallocate实现方法,其特征在于,所述方法中,进行load miss请求时,包括以下步骤:
Load miss请求从core发出,并allocate一个CRQ entry项;
CRQ的Load miss请求上pipeline并赢得仲裁,上pipeline;
如果命中了tag_ram,直接deallocate掉CRQ中对应的entry项;
如果miss,tag_ram则allocate ORQ并且deallocate掉CRQ中对应的entry项
ORQ向下一级memory发出reload请求,等到refill回填数据;
下级memory回填数据写入EFQ中;
EFQ参与并获得pipeline仲裁;
更新L2 tag_ram data_ram将数据返回给core,同时deallocate掉相应的ORQ和EFQ对应的entry项。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东赛昉科技有限公司,未经广东赛昉科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111369637.4/1.html,转载请声明来源钻瓜专利网。