[发明专利]处理器多组访存队列的保序方法、系统及相关设备有效
申请号: | 202310740730.4 | 申请日: | 2023-06-21 |
公开(公告)号: | CN116483741B | 公开(公告)日: | 2023-09-01 |
发明(设计)人: | 毛翔宇 | 申请(专利权)人: | 睿思芯科(深圳)技术有限公司 |
主分类号: | G06F12/0846 | 分类号: | G06F12/0846;G06F15/78;G06F12/121 |
代理公司: | 深圳君信诚知识产权代理事务所(普通合伙) 44636 | 代理人: | 刘伟 |
地址: | 518000 广东省深圳市前海深港合作*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理器 多组访存 队列 方法 系统 相关 设备 | ||
1.一种处理器多组访存队列的保序方法,其特征在于,所述保序方法包括以下步骤:
预设队列总深度;其中,所述队列总深度包括多组子队列;
根据所述队列总深度确定年龄矩阵的维度;
对所述年龄矩阵进行初始化处理,获得所述年龄矩阵的初始年龄信息;其中,所述初始年龄信息包括所述子队列的条目;
接收预设指令进入所述队列总深度时,按时间顺序更新所述年龄矩阵中对应行列的相关位置,记录年龄信息;
通过多组所述子队列发起请求,查找本地与全局年龄信息,用于保序操作;
所述对所述年龄矩阵进行初始化处理,获得所述年龄矩阵的初始年龄信息的步骤,具体为:
通过所述年龄矩阵初始化或处理器流水线冲刷时,初始化和/或清空所述年龄矩阵中的年龄信息;
所述年龄矩阵初始化具体包括以下子步骤:
根据所述队列总深度,获得所述年龄矩阵的尺寸大小;
根据多组所述子队列的数量,对所述年龄矩阵进行划分;
对所述年龄矩阵进行初始化处理;
获得所述年龄矩阵的队列。
2.如权利要求1所述的处理器多组访存队列的保序方法,其特征在于,所述接收预设指令进入所述队列总深度时按时间顺序更新所述年龄矩阵中相关位置,记录年龄信息的步骤中,具体包括以下子步骤:
接收所述预设指令并发出请求更新信息;
判断所述处理器流水线是否对所述年龄矩阵冲刷;
若是,则对所述年龄矩阵进行重置;
若否,则记录所述年龄信息;
根据所述年龄信息对应行置;
根据所述行置对应进行列置。
3.如权利要求1所述的处理器多组访存队列的保序方法,其特征在于,所述通过多组所述子队列发起请求,查找本地与全局年龄信息用于保序操作的步骤中,具体包括以下子步骤:
接收待查询请求,并根据所述待查询请求范围生成选择矢量;
根据查询类型生成选择掩码;其中,在选择最老时,未被选中的请求对应的列全部置0;在选择最年轻时,被选中的请求对应的列全部置0;其中,0为赋值;
根据所述选择掩码,生成结果矩阵;
根据所述结果矩阵,生成结果矢量。
4.如权利要求3所述的处理器多组访存队列的保序方法,其特征在于,所述根据所述选择掩码,生成结果矩阵中,具体包括:
对在所述子队列中选择时,根据所述子队列对应的元素生成子结果矩阵。
5.如权利要求1所述的处理器多组访存队列的保序方法,其特征在于,在所述通过多组所述子队列发起请求,查找本地与全局年龄信息,用于保序操作的步骤之后,还包括以下步骤:
当所述请求完成后从所述队列总深度中释放时,更新所述年龄矩阵中的对应行列的相关位置,删除所述年龄信息。
6.一种处理器多组访存队列的保序系统,其特征在于,所述保序系统包括:
预设模块,用于预设队列总深度;其中,所述队列总深度包括多组子队列;
确定模块,用于根据所述队列总深度确定年龄矩阵的维度;
初始化模块,用于对所述年龄矩阵进行初始化处理,获得所述年龄矩阵的初始年龄信息;其中,所述初始年龄信息包括所述子队列的条目;
更新模块,用于接收预设指令进入所述队列总深度时,按时间顺序更新所述年龄矩阵中对应行列的相关位置,记录年龄信息;
查找模块,用于通过多组所述子队列发起请求,查找本地与全局年龄信息,用于保序操作;
所述初始化模块,还用于通过所述年龄矩阵初始化或处理器流水线冲刷时,初始化和/或清空所述年龄矩阵中的年龄信息;
所述初始化模块,还用于根据所述队列总深度,获得所述年龄矩阵的尺寸大小;
根据多组所述子队列的数量,对所述年龄矩阵进行划分;
对所述年龄矩阵进行初始化处理;
获得所述年龄矩阵的队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于睿思芯科(深圳)技术有限公司,未经睿思芯科(深圳)技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310740730.4/1.html,转载请声明来源钻瓜专利网。