【技术实现步骤摘要】
L2中AMO指令的实现方法及系统
[0001]本专利技术涉及CPU
,具体涉及一种L2中AMO指令的实现方法及系统。
技术介绍
[0002]对应amo指令,probe到core的dirty,直接更新到amo指令中,然后amo指令只需再上一次pipeline去完成数据modify的操作,将modify之后的数据写入L2 data_ram,同时将原始该cacheline的数据返回给lsu。在这个过程中减少了两次上pipeline的次数,第一次是L2 probe core的dirty上pipeline更新到L2 data_ram,第二次是amo指令上pipeline拿到从core probe下来的dirty data。
[0003]参照图2所示,AMO指令,在L2中发现在某个core中有dirty的数据,L2 probe core的dirty先更新到L2 data_ram中,然后amo指令上pipeline拿到最新的data,然后amo再次上pipeline完成数据modify的操作,将modify之后的数据写入L2 ...
【技术保护点】
【技术特征摘要】
1.一种L2中AMO指令的实现方法,其特征在于,所述方法包括以下步骤:S1初始化,amo请求从core发出,并allocate一个cwq entry项,请求赢得仲裁后,上pipeline;S2命中tag_ram并且dirty的数据在core中,则Allocate ORQ CSQ;S3由CSQ向core发出snoop请求,并拿到dirty的数据,判断是否支持csq bypass数据,并进行相应的处理;S4ORQ上pipeline,完成amo的modify功能,并将该cacheline的原始值返回给core,把modify之后的数据写入L2 cache中。2.根据权利要求1所述的一种L2中AMO指令的实现方法,其特征在于,所述方法中,若不支持csq bypass数据时,在S2后,CSQ上pipeline,更新L2 tag_ram和data_ram。3.根据权利要求2所述的一种L2中AMO指令的实现方法,其特征在于,所述方法中,ORQ上pipeline从dataram中读取到刚刚CSQ snoop所得到dirty数据。4.根据权利要求1所述的一种L2中AMO指令的实现方法,其特征在于,所述方法中,若支持csq bypass数据时,在S2后,Csq直接把snoop到的dirty数据bypass给orq。5.根据权利要求1所述的一种L2中AMO指令的实现方法,其特征在于,所述方法中,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。6.根据权利要求5所述的一种L2中AMO指令的实现方法,其特征在于,所述方法中,L2接收来自core和外部extend的请求,包括接收来自core的read请求,放在CRQ中;接收来自core的write请求,放在CWQ中;接收来自外部的probe请求,放在EPQ中。7.根据权利要求5所述的一种L2中AMO指令的实现方法,其特征在于,所述方法中,在pipeline中,根据请求的类型,和当前L2中TAG信息及MESI状态信息确定:是否可以直接写入L2;是否可以直接return data给请求方;是否需要向下游memory reload数据或权限;是否需要产生...
【专利技术属性】
技术研发人员:李长林,刘磊,
申请(专利权)人:广东赛昉科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。