System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种用于队列调度的方法和装置制造方法及图纸_技高网

一种用于队列调度的方法和装置制造方法及图纸

技术编号:40483617 阅读:9 留言:0更新日期:2024-02-26 19:16
本公开提供一种用于队列调度的方法和装置,方法包括获取包括至少一个命令的队列,其中由第一指针指示队列中第一个命令所在的存储单元的索引,并且由第二指针指示所述队列中最后一个命令所在的存储单元的下一个存储单元的索引;在队列中选择命令以用于处理;以及在所选择的命令的处理完成后,基于第一指针所指示的存储单元的索引、第二指针所指示的存储单元的索引和所选择的命令所在的存储单元的索引,改变队列中的一个或多个命令的存储单元,并基于改变更新第一指针和第二指针中的一个或多个。本公开所提供的用于队列调度的方法和装置可以减少队列调度过程中电路的翻转次数,从而降低芯片的动态功耗。

【技术实现步骤摘要】

本公开的实施例涉及一种用于队列调度的方法和装置


技术介绍

1、随着日益增长的算力需求,芯片规模越来越大,晶体管密度越来越高,导致芯片的功耗急速增加。高功耗会导致芯片发热,降低芯片性能,增加系统散热成本,因此迫切需要降低芯片的功耗。芯片的功耗分为动态功耗和静态功耗,其中静态功耗主要来自晶体管的漏电,跟芯片工艺密切相关。而动态功耗主要来自芯片设计中电路的翻转,对电容进行充放电从而产生的功耗消耗。芯片在活动的时候一般动态功耗远大于静态功耗,为了降低动态功耗,需要减少芯片中电路的翻转。而命令调度电路是芯片设计中常见的单元,因此减少命令调度电路中的电路翻转,对于降低芯片的动态功耗有着重要意义。


技术实现思路

1、本公开提供一种用于队列调度的方法和装置,可以减少队列调度过程中电路的翻转次数,从而降低芯片的动态功耗。

2、例如,本公开的至少一实施例提供一种用于队列调度的方法,方法包括:获取包括至少一个命令的队列,其中由第一指针指示队列中第一个命令所在的存储单元的索引,并且由第二指针指示队列中最后一个命令所在的存储单元的下一个存储单元的索引;在队列中选择命令以用于处理;以及在所选择的命令的处理完成后,基于第一指针所指示的存储单元的索引、第二指针所指示的存储单元的索引和所选择的命令所在的存储单元的索引,改变队列中的一个或多个命令的存储单元,并基于改变更新第一指针和第二指针中的一个或多个。

3、例如,在根据本公开的至少一实施例的一种用于队列调度的方法中,基于第一指针所指示的存储单元的索引、第二指针所指示的存储单元的索引和所选择的命令所在的存储单元的索引,改变队列中的一个或多个命令的存储单元,并基于改变更新第一指针和第二指针中的一个或多个包括:基于第一指针与所选择的命令所在的存储单元的索引之间的距离和第二指针与所选择的命令所在的存储单元的索引之间的距离的比较,改变队列中的一个或多个命令的存储单元,并基于改变更新第一指针和第二指针中的一个或多个。

4、例如,在根据本公开的至少一实施例的一种用于队列调度的方法中,基于第一指针与所选择的命令所在的存储单元的索引之间的距离和第二指针与所选择的命令所在的存储单元的索引之间的距离的比较,改变队列中的一个或多个命令的存储单元,并基于改变更新第一指针和第二指针中的一个或多个包括:基于第一指针与所选择的命令所在的存储单元的索引之间的距离小于第二指针与所选择的命令所在的存储单元的索引之间的距离,将所选择的命令之前的命令向队列中的最后一个命令的方向移动一个存储单元,并更新第一指针以指示移动后的队列中的第一个命令所在的存储单元的索引;或者基于第一指针与所选择的命令所在的存储单元的索引之间的距离大于或等于第二指针与所选择的命令所在的存储单元的索引之间的距离,将所选择的命令之后的命令向队列中的第一个命令的方向移动一个存储单元,并更新第二指针以指示移动后的队列中的最后一个命令所在的存储单元的下一个存储单元的索引。

5、例如,在根据本公开的至少一实施例的一种用于队列调度的方法中,其中,命令所在的存储单元的存储单元阵列的最后一个存储单元的下一个存储单元是存储单元阵列的第一个存储单元。

6、例如,在根据本公开的至少一实施例的一种用于队列调度的方法中,至少一个命令中的每一个命令包括以下中的一个或多个:指示命令的处理是否完成的完成标志位,指示命令是否为有效命令的有效标志位,命令的标签,命令的服务质量qos和命令的内容。

7、例如,在根据本公开的至少一实施例的一种用于队列调度的方法中,每一个命令在被写入时完成标志位的值是第一值以指示命令待处理。

8、例如,在根据本公开的至少一实施例的一种用于队列调度的方法中,命令的标签是命令在队列中的唯一身份标识。

9、例如,在根据本公开的至少一实施例的一种用于队列调度的方法中,在队列中选择一个命令以用于处理包括:从至少一个命令中选择具有最大的qos的命令;其中,如果至少一个命令中存在多个具有最大qos的命令,则选择命令所在的存储单元与第一指针之间的索引距离最小的命令。

10、例如,在根据本公开的至少一实施例的一种用于队列调度的方法中,在队列中选择一个命令以用于处理包括:将所选择的命令的标签和命令内容发送到处理单元以用于处理,并且在处理单元完成对命令的处理后,基于已完成处理的命令的标签将已完成处理的命令的完成标志位更新为第二值。

11、例如,根据本公开的至少一实施例的一种用于队列调度的方法,还包括:在队列中不包括命令时,第一指针和第二指针指示第一个存储单元的索引;以及在写入新命令时,将新命令写入具有第二指针所指示的索引的存储单元,并且更新第二指针以指示写入后最后一个命令所在的存储单元的下一个存储单元的索引。

12、例如,本公开的至少一实施例提供一种用于队列调度的装置,装置包括:存储单元阵列,存储单元阵列用于存储包括至少一个命令的队列;指针单元电路,指针单元电路存储第一指针和第二指针,其中第一指针指示队列中第一个命令所在的存储单元的索引,第二指针指示队列中最后一个命令所在的存储单元的下一个存储单元的索引;命令选择电路,命令选择电路被配置为在队列中选择命令以用于处理;缓存释放和移位控制逻辑电路,缓存释放和移位控制逻辑电路被配置为在所选择的命令的处理完成后,基于第一指针所指示的存储单元的索引、第二指针所指示的存储单元的索引和所选择的命令所在的存储单元的索引,改变队列中的一个或多个命令的存储单元,并基于改变更新第一指针和第二指针中的一个或多个。

13、例如,在根据本公开的至少一实施例的一种用于队列调度的装置中,缓存释放和移位控制逻辑电路被配置为基于第一指针所指示的存储单元的索引、第二指针所指示的存储单元的索引和所选择的命令所在的存储单元的索引,改变队列中的一个或多个命令的存储单元,并基于改变更新第一指针和第二指针中的一个或多个,包括:缓存释放和移位控制逻辑电路被配置为基于第一指针与所选择的命令所在的存储单元的索引之间的距离和第二指针与所选择的命令所在的存储单元的索引之间的距离的比较,改变队列中的一个或多个命令的存储单元,并基于改变更新第一指针和第二指针中的一个或多个。

14、例如,在根据本公开的至少一实施例的一种用于队列调度的装置中,缓存释放和移位控制逻辑电路被配置为基于第一指针与所选择的命令所在的存储单元的索引之间的距离和第二指针与所选择的命令所在的存储单元的索引之间的距离的比较,改变队列中的一个或多个命令的存储单元,并基于改变更新第一指针和第二指针中的一个或多个,包括:缓存释放和移位控制逻辑电路被配置为基于第一指针与所选择的命令所在的存储单元的索引之间的距离小于第二指针与所选择的命令所在的存储单元的索引之间的距离,将所选择的命令之前的命令向队列中的最后一个命令的方向移动一个存储单元,并更新第一指针以指示移动后的队列中的第一个命令所在的存储单元的索引;或者缓存释放和移位控制逻辑电路被配置为基于第一指针与所选择的命令所在的存储单元的索引之间的本文档来自技高网...

【技术保护点】

1.一种用于队列调度的方法,所述方法包括:

2.根据权利要求1所述的方法,其中,基于所述第一指针所指示的存储单元的索引、所述第二指针所指示的存储单元的索引和所选择的命令所在的存储单元的索引,改变所述队列中的一个或多个命令的存储单元,并基于所述改变更新所述第一指针和所述第二指针中的一个或多个包括:

3.根据权利要求2所述的方法,其中,基于所述第一指针与所选择的命令所在的存储单元的索引之间的距离和所述第二指针与所选择的命令所在的存储单元的索引之间的距离的比较,改变所述队列中的一个或多个命令的存储单元,并基于所述改变更新所述第一指针和所述第二指针中的一个或多个包括:

4.根据权利要求1所述的方法,其中,命令所在的存储单元的存储单元阵列的最后一个存储单元的下一个存储单元是所述存储单元阵列的第一个存储单元。

5.根据权利要求1所述的方法,其中,所述至少一个命令中的每一个命令包括以下中的一个或多个:指示所述命令的处理是否完成的完成标志位,指示命令是否为有效命令的有效标志位,所述命令的标签,所述命令的服务质量QoS和所述命令的内容。

6.根据权利要求5所述的方法,其中,所述每一个命令在被写入所述队列时所述完成标志位的值是第一值以指示所述命令待处理。

7.根据权利要求5所述的方法,其中,所述命令的标签是所述命令在所述队列中的唯一身份标识。

8.根据权利要求5所述的方法,其中,在所述队列中选择一个命令以用于处理包括:

9.根据权利要求8所述的方法,其中,在所述队列中选择一个命令以用于处理包括:

10.根据权利要求1所述的方法,还包括:

11.一种用于队列调度的装置,所述装置包括:

12.根据权利要求11所述的装置,其中,所述缓存释放和移位控制逻辑电路被配置为基于第一指针所指示的存储单元的索引、第二指针所指示的存储单元的索引和所选择的命令所在的存储单元的索引,改变所述队列中的一个或多个命令的存储单元,并基于所述改变更新所述第一指针和所述第二指针中的一个或多个,包括:

13.根据权利要求12所述的装置,其中,所述缓存释放和移位控制逻辑电路被配置为基于所述第一指针与所选择的命令所在的存储单元的索引之间的距离和所述第二指针与所选择的命令所在的存储单元的索引之间的距离的比较,改变所述队列中的一个或多个命令的存储单元,并基于所述改变更新所述第一指针和所述第二指针中的一个或多个,包括:

14.根据权利要求11所述的装置,其中所述缓存释放和移位控制逻辑电路被配置为:

15.根据权利要求11所述的装置,包括标签管理电路,所述标签管理电路被配置为为所述至少一个命令中的每一个命令生成标签,所述标签是所述每一个命令在所述队列中的唯一身份标识。

16.根据权利要求15所述的装置,其中,所述命令选择电路包括仲裁器,其中所述命令选择电路被配置为在所述队列中选择命令以用于处理包括:

17.根据权利要求16所述的装置,其中,所述命令选择电路还包括选择器和标志位更新单元,并且所述命令选择电路被配置为在所述队列中选择命令以用于处理还包括:

18.根据权利要求11所述的装置,所述装置还被配置为:

...

【技术特征摘要】

1.一种用于队列调度的方法,所述方法包括:

2.根据权利要求1所述的方法,其中,基于所述第一指针所指示的存储单元的索引、所述第二指针所指示的存储单元的索引和所选择的命令所在的存储单元的索引,改变所述队列中的一个或多个命令的存储单元,并基于所述改变更新所述第一指针和所述第二指针中的一个或多个包括:

3.根据权利要求2所述的方法,其中,基于所述第一指针与所选择的命令所在的存储单元的索引之间的距离和所述第二指针与所选择的命令所在的存储单元的索引之间的距离的比较,改变所述队列中的一个或多个命令的存储单元,并基于所述改变更新所述第一指针和所述第二指针中的一个或多个包括:

4.根据权利要求1所述的方法,其中,命令所在的存储单元的存储单元阵列的最后一个存储单元的下一个存储单元是所述存储单元阵列的第一个存储单元。

5.根据权利要求1所述的方法,其中,所述至少一个命令中的每一个命令包括以下中的一个或多个:指示所述命令的处理是否完成的完成标志位,指示命令是否为有效命令的有效标志位,所述命令的标签,所述命令的服务质量qos和所述命令的内容。

6.根据权利要求5所述的方法,其中,所述每一个命令在被写入所述队列时所述完成标志位的值是第一值以指示所述命令待处理。

7.根据权利要求5所述的方法,其中,所述命令的标签是所述命令在所述队列中的唯一身份标识。

8.根据权利要求5所述的方法,其中,在所述队列中选择一个命令以用于处理包括:

9.根据权利要求8所述的方法,其中,在所述队列中选择一个命令以用于处理包括:<...

【专利技术属性】
技术研发人员:陶昱良代开勇潘于
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1