安全公司报告
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210671698.4 (22)申请日 2022.06.14 (71)申请人 广东赛昉科技有限公司 地址 528300 广东省佛山市顺德区大良街 道云路社区昊阳路2号A区S201室 (72)发明人 李长林 刘磊  (74)专利代理 机构 上海邦德专利代理事务所 (普通合伙) 31312 专利代理师 崔双双 (51)Int.Cl. G06F 9/50(2006.01) (54)发明名称 L2中AMO指令的实现方法及系统 (57)摘要 本发明涉及CPU技术领域, 具体涉及一种L2 中AMO指令的实现方法及系统, amo请求从core 发 出, 并allocate一个cwq  entry项, 请求赢得仲裁 后, 上pipeline; 命中tag_ram并且dirty的数据 在core中, 则Allocate  ORQ CSQ, 由CSQ向core发 出snoop请求, 并拿到dirty的数据, 判断是否支 持csq bypass数据, 并进行相应的处理; ORQ上 pipeline, 完成amo的modify功能, 并将该 cacheline的原始值返回给core, 把modify之后 的数据写入L2cache中。 本发明由于减少上 pipeline的次数, 把pipeline资源给到其他请 求, 可以有效地提高CP U的整体性能, 同时有效的 减小功耗。 权利要求书2页 说明书6页 附图3页 CN 115016940 A 2022.09.06 CN 115016940 A 1.一种L2中AMO指令的实现方法, 其特 征在于, 所述方法包括以下步骤: S1初始化, amo请求从core发出, 并allocate一个cwq  entry项, 请求赢得仲裁后, 上 pipeline; S2命中ta g_ram并且dir ty的数据在core中, 则Al locate 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上pipel ine, 更新L2 tag_ram和data_ram。 3.根据权利要求2所述的一种L2中AMO指令的实现方法, 其特征在于, 所述方法中, ORQ 上pipeline从dataram中读取到刚 刚CSQ snoop所得到dirty数据。 4.根据权利 要求1所述的一种L2中AMO指令的实现方法, 其特征在于, 所述方法中, 若支 持csq bypass数据时, 在S2后, Csq直接把sn oop到的dir ty数据bypas s给orq。 5.根据权利 要求1所述的一种L2中AMO指令的实现方法, 其特征在于, 所述方法中, L2进 行工作时包括以下步骤: T1接收来自core和外部extend的请求, 同时收来自CRQ  CWQ EPQ ORQ EFQ CPQ的请求, 并选出其中的一个请求进入pipel ine; T2根据请求的类型和当前L2中TAG信息及M ESI状态信息, 生成相关 分配方案; 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请求, 放在CW Q中; 接收来自外 部的probe请求, 放在EPQ中。 7.根据权利要求5所述的一种L2中AMO指令的实现方法, 其特征在于, 所述方法中, 在 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 来完成。 8.根据权利 要求5所述的一种L2中AMO指令的实现方法, 其特征在于, 所述方法中, 通过 L2向下游memory发出读请求, 则通过ORQ发出, 向下游memory读取到数据并拿到该数据对应 的权限; 通过L2向下游memory发出写请求, 则通过WRQ, 将数据从L2中写到下一级memory中。 9.一种L2中AMO指令的实现系统, 所述系统用于实现如权利 要求1‑8任一项所述的L2中 AMO指令的实现方法, 其特征在于, 包括p robe、 eviction、 TAG  RAM、 DATA RAM、 CRQ、 CWQ、 EPQ、 ORQ、 WRQ、 EFQ和CPQ。权 利 要 求 书 1/2 页 2 CN 115016940 A 210.根据权利要求9所示的一种L2中AMO指令的实现系 统, 其特征在于, 所述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的pipel ine将数据写入L2$同时将数据return给请求模块; 所述CPQ用于将probe相应的core,probe请求则先存放在CPQ中, 然后通过CPQ向对应的 core发出probe请求。权 利 要 求 书 2/2 页 3 CN 115016940 A 3

.PDF文档 专利 L2中AMO指令的实现方法及系统

文档预览
中文文档 12 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 L2中AMO指令的实现方法及系统 第 1 页 专利 L2中AMO指令的实现方法及系统 第 2 页 专利 L2中AMO指令的实现方法及系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:25:25上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。