一种指令调度方法、指令调度装置和相关设备制造方法及图纸

技术编号:33659560 阅读:18 留言:0更新日期:2022-06-02 20:40
本发明专利技术实施例提供了一种指令调度方法,指令调度装置和相关设备,其中指令调度方法包括:根据第一发送阈值,向内存连续发送多个第一指令;确定任意两个连续发送的所述第一指令的实际间隔时间是否大于至少一个预设间隔时间;若大于至少一个预设间隔时间,将第一发送阈值减小至少一个预设值,并根据减小后的第一发送阈值,向内存连续发送多个第一指令,以便更快地离开当前向内存连续发送第一指令的状态,切换到向内存连续发送另一种指令的状态,进而可以减少数据总线上的空闲时间,提高内存带宽的利用率。带宽的利用率。带宽的利用率。

【技术实现步骤摘要】
一种指令调度方法、指令调度装置和相关设备


[0001]本专利技术实施例涉及计算机
,具体涉及一种指令调度方法、指令调度装置和相关设备。

技术介绍

[0002]内存控制器是计算机系统内部控制内存并且负责内存与CPU(Central Processing Unit,中央处理器)之间数据交互的重要组成部分。内存控制器能够按照预设的指令调度方式,调度CPU发送给内存的指令,以实现CPU的不同指令对内存的有序访问。但是,目前的内存控制器的指令调度方式,会存在导致内存带宽的利用率较低的情况。

技术实现思路

[0003]有鉴于此,本专利技术实施例提供一种指令调度方法、指令调度装置和相关设备,以提高内存带宽的利用率。
[0004]为解决上述问题,本专利技术实施例提供如下技术方案。
[0005]第一方面,本专利技术实施例提供一种指令调度方法,包括:
[0006]根据第一发送阈值,向内存连续发送多个第一指令;所述第一发送阈值用于限定向所述内存连续发送所述第一指令的阈值;
[0007]确定任意两个连续发送的所述第一指令的实际间隔时间是否大于至少一个预设间隔时间;
[0008]若大于至少一个预设间隔时间,将所述第一发送阈值减小至少一个预设值,并根据减小后的第一发送阈值,向所述内存连续发送多个第一指令。
[0009]第二方面,本专利技术实施例提供一种指令调度装置,包括:
[0010]指令调度模块,用于根据第一发送阈值,向内存连续发送多个第一指令;所述第一发送阈值用于限定向所述内存连续发送所述第一指令的阈值;
[0011]阈值调整模块,用于确定任意两个连续发送的所述第一指令的实际间隔时间是否大于至少一个预设间隔时间;若大于至少一个预设间隔时间,将所述第一发送阈值减小至少一个预设值,以使所述指令调度模块根据减小后的第一发送阈值,向所述内存连续发送多个第一指令。
[0012]第三方面,本专利技术实施例提供一种内存控制器,所述内存控制器被配置为执行本专利技术实施例所述的指令调度方法。
[0013]第四方面,本专利技术实施例提供一种芯片,包括本专利技术实施例所述的内存控制器。
[0014]第五方面,本专利技术实施例提供一种电子设备,包括本专利技术实施例所述的芯片。
[0015]本专利技术实施例所提供的指令调度方法、指令调度装置和相关设备,根据第一发送阈值,向内存连续发送多个第一指令,确定任意两个连续发送的第一指令的实际间隔时间是否大于至少一个预设间隔时间,若大于至少一个预设间隔时间,将第一发送阈值减小至少一个预设值,并根据减小后的第一发送阈值,向内存连续发送多个第一指令。由于第一发
送阈值减小至少一个预设值之后,减小了向内存连续发送第一指令的阈值,因此,可以更快地离开当前向内存连续发送第一指令的状态,切换到向内存连续发送另一种指令的状态,从而可以减少数据总线上的空闲时间,提高内存带宽的利用率。
附图说明
[0016]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0017]图1示例性的示出了一种处理器系统的结构示意图;
[0018]图2为本专利技术一个实施例提供的指令调度方法的流程图;
[0019]图3为本专利技术另一实施例提供的指令调度方法的流程图;
[0020]图4为本专利技术另一实施例提供的指令调度方法的流程图;
[0021]图5为本专利技术一个实施例提供的指令调度装置的结构示意图;
[0022]图6为本专利技术一个实施例提供的内存控制器的结构示意图。
具体实施方式
[0023]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0024]图1示例性的示出了一种处理器系统的结构示意图。如图1所示,该处理器系统100可以包括:CPU 110、内存控制器120和内存130。其中,CPU 110是处理器系统100的运算和控制核心,作为信息处理、程序运行的最终执行单元。内存控制器120是控制内存130,并且使CPU 110与内存130进行数据传输的硬件。内存130为处理器系统100中的存储器件,用于暂时存放CPU 110中的运算数据,并与硬盘等外部存储器交换数据。在一个示例中,内存130例如为DRAM(Dynamic Random Access Memory,动态随机存取存储器)。
[0025]需要说明的是,尽管上述处理器系统100的结构仅示出了CPU 110、内存控制器120和内存130,但是在具体实施过程中,处理器系统100还可以包括实现正常运行所必需的其他组件。例如,CPU 110与内存控制器120之间还可布置多级缓存(cache)等。本专利技术实施例所指的处理器系统可以是芯片系统,例如SOC(System on Chip,系统级芯片)等集成电路芯片系统。
[0026]在处理器系统100中,CPU 110会通过内存控制器120与内存130进行大量的命令和数据传输,具体包括:CPU 110向内存控制器120发送指令或数据,内存控制器120先将接收到的指令缓存在一个指令队列中,之后再从指令队列中取出缓存的指令,并通过数据总线发送给内存130,使内存130执行相应的指令。
[0027]在实际应用中,指令队列中的指令并不是单一的指令,而是包括至少两种指令,如包括读指令和写指令,并且,指令队列中的读指令和写指令是随机排布的。基于此,为了减少内存控制器发送读指令和写指令的切换次数,内存控制器通常会采用一定时间或数量的
不同指令交替发送的指令调度方式,如,采用在一定时间或数量内只发送一种指令如读指令,然后在下一时间或数量内只发送另一种指令如写指令的指令调度方式。
[0028]在内存控制器向内存连续发送读指令或写指令的过程中,若两个连续发送的指令是分别发送给内存的不同区块的,则这两个连续指令之间的间隔时间较小;若两个连续发送的指令是发送给内存的同一区块的,则这两个连续指令之间的间隔时间较大。这是因为发送至内存的同一区块的指令遵循时间参数Tccd_L,因此,指令间的延迟较大,即指令之间的间隔时间较大;发送至内存的不同区块的指令遵循时间参数Tccd_S,因此,指令间的延迟较小,即指令之间的间隔时间较小。
[0029]虽然内存控制器可以在时序参数的影响下,优先选中与上一个发送的指令间隔时间较小的指令作为下一个发送指令,即优先选择与上一个发送的指令去往不同区块的指令作为下一个发送指令,但是,随着指令的不断发送,指令队列中同一种的指令剩余数量越来越少,剩余指令去往不同区块的几率越来越小,去往同一区块的几率本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种指令调度方法,其特征在于,包括:根据第一发送阈值,向内存连续发送多个第一指令;所述第一发送阈值用于限定向所述内存连续发送所述第一指令的阈值;确定任意两个连续发送的所述第一指令的实际间隔时间是否大于至少一个预设间隔时间;若大于至少一个预设间隔时间,将所述第一发送阈值减小至少一个预设值,并根据减小后的第一发送阈值,向所述内存连续发送多个第一指令。2.根据权利要求1所述的指令调度方法,其特征在于,所述第一发送阈值减小的预设值的数量等于所述实际间隔时间大于所述预设间隔时间的数量。3.根据权利要求1所述的指令调度方法,其特征在于,还包括:若小于或等于一个预设间隔时间,将所述第一发送阈值增大预设值。4.根据权利要求1所述的指令调度方法,其特征在于,还包括:若小于或等于一个预设间隔时间,判断所述第一发送阈值是否等于第一预设阈值;所述第一预设阈值为向所述内存连续发送所述第一指令的最大阈值;若等于所述第一预设阈值,保持所述第一发送阈值不变;若小于所述第一预设阈值,将所述第一发送阈值增大预设值。5.根据权利要求1所述的指令调度方法,其特征在于,所述确定任意两个连续发送的所述第一指令的实际间隔时间是否大于至少一个预设间隔时间,包括:在向所述内存发送任一所述第一指令之后,进行至少一个预设间隔时间的计时;若在第1个预设间隔时间内,向所述内存发送另一所述第一指令,则所述实际间隔时间小于或等于一个预设间隔时间;若在第M个预设间隔时间内,向所述内存发送另一所述第一指令,M为大于1的自然数,则所述实际间隔时间大于至少一个预设间隔时间;所述将所述第一发送阈值减少至少一个预设值包括:将所述第一发送阈值减小(M

1)个预设值。6.根据权利要求5所述的指令调度方法,其特征在于,还包括:在计时时间等于一个预设间隔时间时,若未向所述内存发送另一所述第一指令,将溢出标志设置为第一标志;向所述内存发送另一所述第一指令之后,还包括:判断所述溢出标志是否为第一标志;若为所述第一标志,保持所述第一发送阈值不变,并清除所述溢出标志;若不为所述第一标志,根据所述第一发送阈值是否等于第一预设阈值的判断结果,确定是否将所述第一发送阈值增大预设值。7.根据权利要求1所述的指令调度方法,其特征在于,还包括:判断向所述内存连续发送所述第一指令的阈值是否已达到当前的第一发送阈值;若是,根据第二发送阈值,向所述内存连续发送多个第二指令;所述第二...

【专利技术属性】
技术研发人员:谭龙生曾峰
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1