调取指令的方法及装置、处理装置及存储介质与流程

文档序号:29045702发布日期:2022-02-25 21:59阅读:来源:国知局

技术特征:
1.一种调取指令的方法,包括:在分支指令预测信息队列中缓存至少两条预测信息,其中,所述至少两条预测信息包括第一预测信息和第二预测信息;响应于启用第一模式:基于所述第一预测信息生成第一微指令组,将所述第一微指令组发送到n个微指令队列中选择的第i微指令队列以用于分发,将所述第一微指令组发送到微指令缓存器并缓存在所述微指令缓存器中;或响应于启用第二模式:将所述第二预测信息发送至并行的n个微指令处理模块中选择的第j微指令处理模块;从所述微指令缓存器获取与所述第二预测信息对应的第二微指令组,将所述第二微指令组发送到所述n个微指令队列中的第j微指令队列以用于分发,其中,n为大于1的整数,i和j为小于等于n的正整数。2.根据权利要求1所述的方法,其中,基于所述第一预测信息生成所述第一微指令组包括:基于所述第一预测信息尝试从指令缓存器中提取所请求的指令数据,并将所述请求的指令数据译码为所述第一微指令组,其中,所述第一微指令组包括一个或多个第一微指令。3.根据权利要求1所述的方法,其中,将所述第一微指令组发送到n个微指令队列中选择的所述第i微指令队列,包括:在所述n个微指令队列中选择在所述第二模式下的最近一条微指令被发送到的微指令队列作为所述第i微指令队列,或在所述n个微指令队列中随机选择微指令队列作为所述第i微指令队列。4.根据权利要求1所述的方法,其中,响应于在所述第一模式下连续的n个预测信息所对应的n个微指令组都已存在于所述微指令缓存器中,或者,响应于在所述第一模式下连续m个时钟周期内的预测信息所对应的微指令组都已存在于所述微指令缓存器中,或者响应于在所述第一模式下连续的w个微指令都已存在于所述微指令缓存器中,从所述第一模式切换以启用所述第二模式,其中,n、m、w为大于1的整数。5.根据权利要求1所述的方法,其中,将所述第二预测信息发送至所述并行的n个微指令处理模块中选择的第j微指令处理模块包括:响应于所述第二预测信息包含跳转信息,将所述第二预测信息发送至并行的n个微指令处理模块中选择的第j微指令处理模块。6.根据权利要求5所述的方法,其中,所述至少两条预测信息还包括第三预测信息,并且所述第一预测信息、所述第二预测信息和所述第三预测信息按照所述第一时间顺序从所述分支指令预测信息队列被提取,所述第三预测信息响应于启用所述第二模式被处理且被发送至所述n个微指令处理模块中的第k微指令处理模块,与所述第三预测信息对应的第三微指令组被发送到所述n个微指令队列中的第k微指令队列以用于分发,k为小于等于n的正整数;所述方法还包括:按照所述第一时间顺序从所述n个微指令队列中分发所述第一微指令组、所述第二微指令组和所述第三微指令组。
7.根据权利要求6所述的方法,还包括:所述第j微指令处理模块和所述第k微指令处理模块在同一操作周期中向所述微指令缓存器取值以获取所述第二微指令组和所述第三微指令组,其中,k不等于j。8.根据权利要求6所述的方法,其中,所述n个微指令处理模块中每个微指令处理模块包括微指令缓存提取队列,所述第一时间顺序为正向时间顺序,所述方法还包括:将所述第二预测信息发送至并行的n个微指令处理模块中选择的第j微指令处理模块之后,判断所述第三预测信息是否包括所述跳转信息,响应于所述第三预测信息不包括所述跳转信息,将所述第三预测信息发送到第k微指令缓存提取队列,并从所述微指令缓存器获取与所述第三预测信息对应的第三微指令组,将所述第三微指令组发送到所述第k微指令队列以用于分发,其中,k等于j;或者响应于所述第三预测信息包括所述跳转信息,选择所述n个微指令处理模块中当前具有占用率最低的微指令缓存提取队列的微指令处理模块作为所述第k微指令处理模块。9.根据权利要求8所述的方法,其中,响应于启用所述第二模式,所述方法还包括:响应于所述第二预测信息所发往的所述微指令缓存提取队列与所述第三预测信息所发往的所述微指令缓存提取队列相同,不向所述第二预测信息添加分发标记;或者响应于所述第二预测信息所发往的所述微指令缓存提取队列与所述第三预测信息所发往的所述微指令缓存提取队列不相同,将第三预测信息所发往的所述微指令缓存提取队列的标号作为分发标记添加到所述第二预测信息。10.根据权利要求9所述的方法,其中,响应于启用所述第二模式,所述方法还包括:基于所述分发标记向所述第二微指令组添加排序标记:响应于所述第二预测信息具有分发标记,向所述第二微指令组中的最后一个微指令添加排序标记,其中所述排序标记与所述分发标记一一对应;或者响应于所述第二预测信息不具有分发标记,不向所述第二微指令组添加排序标记。11.根据权利要求10所述的方法,其中,按照所述第一时间顺序从所述n个微指令队列中分发所述第一微指令组、所述第二微指令组和所述第三微指令组,包括:响应于启用所述第一模式,选择第i微指令队列中的所述第一微指令组以用于分发;响应于启用所述第二模式,选择第j微指令队列中的所述第二微指令组以用于分发。12.根据权利要求11所述的方法,其中,按照所述第一时间顺序从所述n个微指令队列中分发所述第一微指令组、所述第二微指令组和所述第三微指令组,还包括:响应于启用所述第二模式,在选择第j微指令队列中的所述第二微指令组以用于分发之后:响应于所述第二微指令组不具有所述排序标记,选择所述第j微指令队列中的所述第三微指令组以用于分发;或者响应于所述第二微指令组具有所述排序标记,根据所述第二微指令组的所述排序标记中所指示的微指令队列来选择所述第k微指令队列,并选择所述第k微指令队列中的所述第三微指令组以用于分发。13.根据权利要求5所述的方法,其中,将所述第二预测信息发送至并行的n个微指令处理模块中选择的所述第j微指令处理模块,还包括:响应于所述第二预测信息包括跳转信息,选择所述n个微指令处理模块中具有最少的
等待处理的预测信息的一个作为所述第j微指令处理模块。14.根据权利要求5所述的方法,其中,所述n个微指令处理模块中每个微指令处理模块包括微指令缓存提取队列,且被发送至每个微指令处理模块的预测信息被缓存在所述微指令缓存提取队列中以等待处理,将所述第二预测信息发送至并行的n个微指令处理模块中选择的所述第j微指令处理模块,还包括:响应于所述第二预测信息包括跳转信息,将所述n个微指令处理模块中具有占用率最低的微指令缓存提取队列的微指令处理模块,作为所述第j微指令处理模块,并将所述第二预测信息发送到所述第j微指令处理模块的微指令缓存提取队列缓存以等待处理。15.根据权利要求1所述的方法,其中,所述至少两条预测信息还包括第四预测信息,且所述第四预测信息由所述第二模式处理,所述方法还包括:响应于在所述第二模式下无法从所述微指令缓存器获取与所述第四预测信息对应的第四微指令组,则从所述第二模式切换以启用所述第一模式,且以所述第一模式处理所述第四预测信息。16.一种调取指令的装置,包括:分支指令预测信息队列,被配置缓存至少两条预测信息,其中,所述至少两条预测信息包括第一预测信息和第二预测信息;第一模式处理模块,被配置为响应于启用第一模式,基于所述第一预测信息生成第一微指令组,将所述第一微指令组发送到n个微指令队列中选择的第i微指令队列以用于分发,并将所述第一微指令组发送到微指令缓存器;第二模式处理模块,包括并行的n个微指令处理模块,其中,所述第二模式处理模块被配置为响应于启用第二模式,将所述第二预测信息发送至所述并行的n个微指令处理模块中选择的第j微指令处理模块,从所述微指令缓存器获取与所述第二预测信息对应的第二微指令组,并将所述第二微指令组发送到所述n个微指令队列中的第j微指令队列以用于分发;微指令缓存器,被配置为缓存所述第一微指令组和所述第二微指令组;n个微指令队列,被配置为接收所述第一微指令组和所述第二微指令组;其中,n为大于1的整数,i和j为小于等于n的正整数。17.根据权利要求16所述的装置,所述第一模式处理模块包括取指单元、指令缓存器和译码器,其中,所述指令缓存器被配置为存储指令数据;所述取指单元被配置为响应于接收到所述第一预测信息,基于所述第一预测信息尝试从所述指令缓存器提取所述第一预测信息所请求的指令数据,并将所述请求的指令数据发送到所述译码器;并且所述译码器被配置为将所述请求的指令数据译码为所述第一微指令组,所述第一微指令组包括一个或多个第一微指令。18.根据权利要求16所述的装置,还包括控制器,其中,所述控制器被配置为:响应于在所述第一模式下连续的n个预测信息所对应的n个微指令组都已存在于所述微指令缓存器中,或者,响应于在所述第一模式下连续m个时钟周期内的预测信息所对应的
微指令组都已存在于所述微指令缓存器中,或者响应于在所述第一模式下连续的w个微指令都已存在于所述微指令缓存器中,从所述第一模式切换以启用所述第二模式,其中,n、m、w为大于1的整数。19.根据权利要求16所述的装置,其中,所述第二模式处理模块还包括分配器,所述分配器被配置为:响应于所述第二预测信息包含跳转信息,将所述第二预测信息发送至并行的n个微指令处理模块中选择的第j微指令处理模块。20.根据权利要求19所述的装置,还包括排序器,其中:所述至少两条预测信息还包括第三预测信息,并且所述第一预测信息、所述第二预测信息和所述第三预测信息按照第一时间顺序从所述分支指令预测信息队列被提取,其中:所述分配器还被配置为响应于启用所述第二模式,将所述第三预测信息发送至所述n个微指令处理模块中的第k微指令处理模块,所述第k微指令处理模块将与所述第三预测信息对应的第三微指令组发送到所述n个微指令队列中的第k微指令队列以用于分发,其中,k为小于等于n的正整数;所述排序器被配置为按照所述第一时间顺序从所述n个微指令队列中分发所述第一微指令组、所述第二微指令组和所述第三微指令组。21.根据权利要求20所述的装置,其中,所述n个微指令处理模块中每个微指令处理模块还包括微指令取指单元,所述第j微指令处理模块中的第j微指令取指单元和所述第k微指令处理模块中的第k微指令取指单元被配置为在同一操作周期中向所述微指令缓存器取值以获取所述第二微指令组和所述第三微指令组,其中,k不等于j。22.根据权利要求20所述的装置,其中,所述第一时间顺序为正向时间顺序,所述第二处理模块还被配置为:将所述第二预测信息发送至并行的n个微指令处理模块中选择的第j微指令处理模块之后,判断所述第三预测信息是否包括所述跳转信息,响应于所述第三预测信息不包括所述跳转信息,将所述第三预测信息发送到所述第k微指令缓存提取队列,并从所述微指令缓存器获取与所述第三预测信息对应的第三微指令组,将所述第三微指令组发送到所述第k微指令队列以用于分发,其中,k等于j;或者响应于所述第三预测信息包括所述跳转信息,选择所述n个微指令处理模块中当前具有占用率最低的微指令缓存提取队列的微指令处理模块作为所述第k微指令处理模块。23.根据权利要求22所述的装置,其中,所述分配器还被配置为:响应于所述第二预测信息所发往的所述微指令缓存提取队列与所述第三预测信息所发往的所述微指令缓存提取队列相同,不向所述第二预测信息添加分发标记;以及响应于所述第二预测信息所发往的所述微指令缓存提取队列与所述第三预测信息所发往的所述微指令缓存提取队列不相同,将第三预测信息所发往的所述微指令缓存提取队列的标号作为分发标记添加到所述第二预测信息。24.根据权利要求23所述的装置,其中,所述微指令取指单元还被配置为:基于所述分发标记向所述第二微指令组添加排序标记,其中,响应于所述第二预测信息具有分发标记,向所述第二微指令组中的最后一个微
指令添加排序标记,其中所述排序标记与所述分发标记一一对应;或者响应于所述第二预测信息不具有分发标记,不向所述第二微指令组添加排序标记。25.根据权利要求24所述的装置,其中,所述排序器还被配置为:响应于启用所述第一模式,选择第i微指令队列中的所述第一微指令组以用于分发;响应于启用所述第二模式,选择第j微指令队列中的所述第二微指令组以用于分发。26.根据权利要求25的装置,其中,所述排序器还被配置为,响应于启用所述第二模式,在选择第j微指令队列中的所述第二微指令组以用于分发之后:响应于所述第二微指令组不具有所述排序标记,选择所述第j微指令队列中的所述第三微指令组以用于分发;或者响应于所述第二微指令组具有所述排序标记,根据所述第二微指令组的所述排序标记中所指示的微指令队列来选择所述第k微指令队列,并选择所述第k微指令队列中的所述第三微指令组以用于分发。27.根据权利要求19所述的装置,其中,所述分配器还被配置为:响应于所述第二预测信息包括跳转信息,选择所述n个微指令处理模块中具有最少的等待处理的预测信息的一个作为所述第j微指令处理模块。28.根据权利要求19所述的装置,其中,所述n个微指令处理模块中每个微指令处理模块还包括微指令缓存提取队列,且被发送至每个微指令处理模块的预测信息被缓存在所述微指令缓存提取队列中以等待处理,所述分配器还被配置为:响应于所述第二预测信息包括跳转信息,将所述n个微指令处理模块中具有占用率最低的微指令缓存提取队列的微指令处理模块,作为所述第j微指令处理模块,并将所述第二预测信息发送到所述第j微指令处理模块的微指令缓存提取队列缓存以等待处理。29.一种处理装置,包括根据权利要求16-28中任一所述的调取指令的装置。30.一种调取指令的装置,包括:处理器;以及非瞬态存储器,存储有可执行指令其中,当由所述处理器执行所述可执行指令时,以执行权利要求1-15中任一项所述的方法。31.一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令包含用于被处理器运行时以执行权利要求1-15中任一项所述的方法的程序代码。

技术总结
一种调取指令的方法及装置、处理装置及存储介质。调取指令的方法包括:在分支指令预测信息队列中缓存至少两条预测信息,该至少两条预测信息包括第一预测信息和第二预测信息。响应于启用第一模式:基于第一预测信息生成第一微指令组,将第一微指令组发送到N个微指令队列中选择的第i微指令队列以用于分发,将第一微指令组发送到微指令缓存器并缓存在微指令缓存器中。响应于启用第二模式:将第二预测信息发送至并行的N个微指令处理模块中选择的第j微指令处理模块;从微指令缓存器获取与第二预测信息对应的第二微指令组,将第二微指令组发送到N个微指令队列中的第j微指令队列以用于分发,N为大于1的整数,i和j为小于等于N的正整数。整数。整数。


技术研发人员:时兴 崔泽汉 张克松
受保护的技术使用者:海光信息技术股份有限公司
技术研发日:2021.11.24
技术公布日:2022/2/24
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1