说明:收录全网最新的团体标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211033483.6 (22)申请日 2022.08.26 (71)申请人 海光信息技 术股份有限公司 地址 300392 天津市华苑产业区海 泰西路 18号北2-204工业孵化- 3-8 (72)发明人 肖皓  (74)专利代理 机构 北京市柳沈 律师事务所 11105 专利代理师 彭久云 (51)Int.Cl. G06F 9/50(2006.01) G06F 9/38(2006.01) (54)发明名称 多线程处理器的指 令分发方法、 装置和存储 介质 (57)摘要 一种多线程处理器的指令分发方法及装置 和存储介质。 指令分发方法包括: 接收多线程处 理器的多个解码指令队列分别发出的多个线程 指令分发请求, 多个线程指令分发请求中每一个 包括需要被分别发送到对应类型的执行等待队 列的多条指令; 判断多个线程指令分发请求对于 多线程处理器的多个执行等待队列是否存在阻 塞以及冲突; 基于判断, 从多个线程指令分发请 求选择一个线程指令分发请求并响应。 该方法使 得多线程指令分发更有效率、 更具有公平性, 有 效避免“活锁”现象。 权利要求书3页 说明书16页 附图7页 CN 115408153 A 2022.11.29 CN 115408153 A 1.一种多 线程处理器的指令分发方法, 包括: 接收所述多线程处理器的多个解码指令队列分别发出的多个线程指令分发请求, 其 中, 所述多个线程指 令分发请求中每一个包括需要被分别发送到对应类型的执行等待队列 的多条指令; 判断所述多个线程指令分发请求对于所述多线程处理器的多个执行等待队列是否存 在阻塞以及冲突; 基于所述判断, 从所述多个线程指令分发请求选择一个线程指令分发请求并响应。 2.根据权利要求1所述的方法, 其中, 判断所述多个线程指令分发请求对于所述多个执 行等待队列是否存在阻塞以及冲突, 包括: 基于所述多个执行等待队列中每一个当前可用的令牌数量, 判断所述多个线程指令分 发请求对于所述多个执 行等待队列是否存在阻塞以及冲突。 3.根据权利要求2所述的方法, 其中, 基于所述多个执行等待队列中每一个当前可用的 令牌数量, 判断所述多个线程指令分发请求对于所述多个执行等待队列是否存在阻塞, 包 括: 响应于所述多个线程指令分发请求中的第一线程指令分发请求需要的所述多个执行 等待队列中的第一执行等待队列中的令牌数量大于所述第一执行等待队列中当前可用的 令牌数量, 确定所述第一线程指令分发请求对于所述第一执 行等待队列存在阻塞。 4.根据权利要求2所述的方法, 其中, 所述多个执行等待队列包括被所述多个线程共享 的至少一个共享执 行等待队列, 其中, 基于所述多个执行等待队列中每一个当前可用的令牌数量, 判断所述多个线程 指令分发请求对于所述多个执 行等待队列是否存在冲突, 包括: 响应于所述多个线程指令分发请求中的第二线程指令分发请求对于所述至少一个共 享执行等待队列中的第二执行等待队列存在阻塞, 并且所述多个线程指令 分发请求中的第 三线程指令分发请求需要的所述第二执行等待队列中的令牌数量不大于所述第二执行等 待队列中当前可用的令牌数量, 确定所述第二线程指 令分发请求和所述第三线程指令 分发 请求对于所述第二执 行等待队列存在冲突。 5.根据权利要求1所述的方法, 其中, 基于所述判断, 从所述多个线程指令分发请求选 择一个线程指令分发请求并响应, 包括: 基于所述判断, 将所述多个线程指令分发请求中的至少一个加入候选请求 集合; 基于所述多个线程的优先级, 从所述候选请求集合中选择一个线程指令分发请求并响 应。 6.根据权利要求5所述的方法, 其中, 基于所述判断, 将所述多个线程指令分发请求中 的至少一个加入所述 候选请求 集合, 包括: 响应于所述多个线程指令分发请求中存在对于所述多个执行等待队列不存在阻塞且 不存在冲突的第四线程指 令分发请求, 将所述第四线程指 令分发请求加入 所述候选请求集 合。 7.根据权利要求6所述的方法, 其中, 基于所述判断, 将所述多个线程指令分发请求中 的至少一个加入所述 候选请求 集合, 包括: 响应于所述多个线程指令分发请求中不存在所述第四线程指令分发请求, 并且所述多权 利 要 求 书 1/3 页 2 CN 115408153 A 2个线程指令分发请求中存在对于所述多个执行等待队列存在冲突的第 五线程指令分发请 求, 将所述第五线程指令分发请求加入所述 候选请求 集合。 8.根据权利要求5所述的方法, 其中, 基于所述多个线程的优先级, 从所述候选请求集 合中选择一个线程指令分发请求, 包括: 利用最近最少使用算法, 确定所述多个线程当前的优先级, 从所述候选请求 集合中选择优先级最高的线程指令分发请求。 9.根据权利要求8所述的方法, 其中, 利用最近最少使用算法, 确定所述多个线程当前 的优先级, 包括: 初始化所述多个线程的优先级; 响应于上一个时钟周期选择了所述多个线程中的第 一线程, 将所述第 一线程在 当前时 钟周期的优先级设置为最低, 并将所述多个线程中除了所述第一线程以外的其他线程的优 先级递增。 10.根据权利要求5所述的方法, 其中, 基于所述多个线程的优先级, 从所述候选请求集 合中选择一个线程指令分发请求, 包括: 利用轮询算法, 确定所述多个线程当前的优先级。 11.根据权利要求1 ‑10中任一项所述的方法, 其中, 所述多 线程包括至少3个线程。 12.一种指令分发装置, 包括: 接收单元, 与多线程处理器通信连接, 被配置为接收所述多线程处理器的多个解码指 令队列分别发出 的多个线程指令分发请求, 其中, 所述多个线程指令分发请求中每一个包 括需要被分别发送到对应 类型的执 行等待队列的多条指令; 判断单元, 与所述多线程处理器通信连接, 被配置为判断所述多个线程指令分发请求 对于所述多 线程处理器的多个执 行等待队列是否存在阻塞以及冲突; 选择单元, 被配置为基于所述判断, 从所述多个线程指令分发请求选择一个线程指令 分发请求并响应。 13.根据权利要求12所述的指令分发装置, 其中, 所述判断单 元包括组合判断子单 元, 所述组合判断子单元被配置为基于所述多个执行等待队列中每一个当前可用的令牌 数量, 判断所述多个线程指令分发请求对于所述多个执行等待队列是否存在阻塞以及冲 突。 14.根据权利要求13所述的指令分发装置, 其中, 所述组合判断子单元包括阻塞判断单 元, 所述阻塞判断单元被配置为响应于所述多个线程指令分发请求中的第一线程指令分 发请求需要的所述多个执行等待队列中的第一执行等待队列中的令牌数量大于所述第一 执行等待队列中当前可用的令牌数量, 确定所述第一线程指令 分发请求对于所述第一执行 等待队列存在阻塞。 15.根据权利要求13所述的指令分发装置, 其中, 所述多个执行等待队列包括被所述多 个线程共享的至少一个共享执 行等待队列, 所述组合判断子单 元包括冲突判断单 元, 所述冲突判断单元被配置为响应于所述多个线程指令分发请求中的第二线程指令分 发请求对于所述至少一个共享执行等待队列中的第二执行等待队列存在阻塞, 并且所述多 个线程指令分发请求中的第三线程指令分发请求需要的所述第二执行等待队列中的令牌权 利 要 求 书 2/3 页 3 CN 115408153 A 3

.PDF文档 专利 多线程处理器的指令分发方法、装置和存储介质

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