调取指令的方法及装置、处理装置及存储介质制造方法及图纸

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

【技术实现步骤摘要】
调取指令的方法及装置、处理装置及存储介质


[0001]本专利技术涉及一种调取指令的方法及装置、处理装置及存储介质。

技术介绍

[0002]中央处理器的结构可以分为前端架构和后端架构。处理器前端主要包括分支预测(Branch Predict)、指令提取(Instruction Fetch)、指令译码(Instruction Decode)等用于调取指令的模块。处理器后端主要包括用于执行指令的模块。为了提高处理器的运行速度,处理器前端应该尽快地提供更多的指令给处理器后端以用于执行。

技术实现思路

[0003]本专利技术的实施例提供了一种调取指令的方法及装置、处理装置及存储介质,以解决现有技术中指令调取的并行度不高的技术问题。
[0004]本专利技术的至少一个方面提供了一种调取指令的方法,包括:在分支指令预测信息队列中缓存至少两条预测信息,其中,所述至少两条预测信息包括第一预测信息和第二预测信息;响应于启用第一模式:基于所述第一预测信息生成第一微指令组,将所述第一微指令组发送到N个微指令队列中选择的第i微指令队列以用于分发,将所述第一微指令组发送到微指令缓存器并缓存在所述微指令缓存器中;或者,响应于启用第二模式:将所述第二预测信息发送至并行的N个微指令处理模块中选择的第j微指令处理模块;从所述微指令缓存器获取与所述第二预测信息对应的第二微指令组,将所述第二微指令组发送到所述N个微指令队列中的第j微指令队列以用于分发,其中,N为大于1的整数,i和j为小于等于N的正整数。
[0005]在一个实施例中,基于所述第一预测信息生成所述第一微指令组包括:基于所述第一预测信息尝试从指令缓存器中提取所请求的指令数据,并将所述请求的指令数据译码为所述第一微指令组,其中,所述第一微指令组包括一个或多个第一微指令。
[0006]在一个实施例中,将所述第一微指令组发送到N个微指令队列中选择的所述第i微指令队列,包括:在所述N个微指令队列中选择在所述第二模式下的最近一条微指令被发送到的微指令队列作为所述第i微指令队列,或在所述N个微指令队列中随机选择微指令队列作为所述第i微指令队列。
[0007]在一个实施例中,响应于在所述第一模式下连续的n个预测信息所对应的n个微指令组都已存在于所述微指令缓存器中,或者,响应于在所述第一模式下连续m个时钟周期内的预测信息所对应的微指令组都已存在于所述微指令缓存器中,或者响应于在所述第一模式下连续的w个微指令都已存在于所述微指令缓存器中,从所述第一模式切换以启用所述第二模式,其中,n、m、w为大于1的整数。
[0008]在一个实施例中,将所述第二预测信息发送至所述并行的N个微指令处理模块中选择的第j微指令处理模块包括:响应于所述第二预测信息包含跳转信息,将所述第二预测信息发送至并行的N个微指令处理模块中选择的第j微指令处理模块。
[0009]在一个实施例中,所述至少两条预测信息还包括第三预测信息,并且所述第一预测信息、所述第二预测信息和所述第三预测信息按照所述第一时间顺序从所述分支指令预测信息队列被提取,所述第三预测信息响应于启用所述第二模式被处理且被发送至所述N个微指令处理模块中的第k微指令处理模块,与所述第三预测信息对应的第三微指令组被发送到所述N个微指令队列中的第k微指令队列以用于分发,k为小于等于N的正整数;所述方法还包括:按照所述第一时间顺序从所述N个微指令队列中分发所述第一微指令组、所述第二微指令组和所述第三微指令组。
[0010]在一个实施例中,该方法还包括:所述第j微指令处理模块和所述第k微指令处理模块在同一操作周期中向所述微指令缓存器取值以获取所述第二微指令组和所述第三微指令组,其中,k不等于j。
[0011]在一个实施例中,所述N个微指令处理模块中每个微指令处理模块包括微指令缓存提取队列,所述第一时间顺序为正向时间顺序,所述方法还包括:将所述第二预测信息发送至并行的N个微指令处理模块中选择的第j微指令处理模块之后,判断所述第三预测信息是否包括所述跳转信息,响应于所述第三预测信息不包括所述跳转信息,将所述第三预测信息发送到第k微指令缓存提取队列,并从所述微指令缓存器获取与所述第三预测信息对应的第三微指令组,将所述第三微指令组发送到所述第k微指令队列以用于分发,其中,k等于j;或者响应于所述第三预测信息包括所述跳转信息,选择所述N个微指令处理模块中当前具有占用率最低的微指令缓存提取队列的微指令处理模块作为所述第k微指令处理模块。
[0012]在一个实施例中,响应于启用所述第二模式,所述方法还包括:响应于所述第二预测信息所发往的所述微指令缓存提取队列与所述第三预测信息所发往的所述微指令缓存提取队列相同,不向所述第二预测信息添加分发标记;或者响应于所述第二预测信息所发往的所述微指令缓存提取队列与所述第三预测信息所发往的所述微指令缓存提取队列不相同,将第三预测信息所发往的所述微指令缓存提取队列的标号作为分发标记添加到所述第二预测信息。
[0013]在一个实施例中,响应于启用所述第二模式,所述方法还包括:基于所述分发标记向所述第二微指令组添加排序标记:响应于所述第二预测信息具有分发标记,向所述第二微指令组中的最后一个微指令添加排序标记,其中所述排序标记与所述分发标记一一对应;或者响应于所述第二预测信息不具有分发标记,不向所述第二微指令组添加排序标记。
[0014]在一个实施例中,按照所述第一时间顺序从所述N个微指令队列中分发所述第一微指令组、所述第二微指令组和所述第三微指令组,包括:响应于启用所述第一模式,选择第i微指令队列中的所述第一微指令组以用于分发;响应于启用所述第二模式,选择第j微指令队列中的所述第二微指令组以用于分发。
[0015]在一个实施例中,按照所述第一时间顺序从所述N个微指令队列中分发所述第一微指令组、所述第二微指令组和所述第三微指令组,还包括:响应于启用所述第二模式,在选择第j微指令队列中的所述第二微指令组以用于分发之后:响应于所述第二微指令组不具有所述排序标记,选择所述第j微指令队列中的所述第三微指令组以用于分发;或者响应于所述第二微指令组具有所述排序标记,根据所述第二微指令组的所述排序标记中所指示的微指令队列来选择所述第k微指令队列,并选择所述第k微指令队列中的所述第三微指令
组以用于分发。
[0016]在一个实施例中,将所述第二预测信息发送至并行的N个微指令处理模块中选择的所述第j微指令处理模块,还包括:响应于所述第二预测信息包括跳转信息,选择所述N个微指令处理模块中具有最少的等待处理的预测信息的一个作为所述第j微指令处理模块。
[0017]在一个实施例中,所述N个微指令处理模块中每个微指令处理模块包括微指令缓存提取队列,且被发送至每个微指令处理模块的预测信息被缓存在所述微指令缓存提取队列中以等待处理,将所述第二预测信息发送至并行的N个微指令处理模块中选择的所述第j微指令处理模块,还包括:响应于所述第二预测信息包括跳转信息,将所述N个微指令处理模块中具有占用率最低的微指令缓存提取队列的微指令本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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.一种调取指令的装置,包括:分支指令预测信息队列,被配置缓存...

【专利技术属性】
技术研发人员:时兴崔泽汉张克松
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1