一种内核时间片超频的实现方法与流程

文档序号:24073746发布日期:2021-02-26 16:22阅读:192来源:国知局
一种内核时间片超频的实现方法与流程

[0001]
本发明涉及集成电路及计算机领域,尤其指一种内核时间片超频的实现方法。
[0002]


背景技术:

[0003]“时间片”被定义长或短的权衡取决于处理器内部进程的实时特性和进程的数量。系统的实时特性要求在一段时间单位内,所有的进程必须被至少执行过一次,即进程在处理器中处于等待获得下一个“时间片”的等待时间不应超过系统实时特性所要求的时长。后文中,将该系统实时特性所要求的时长简称为sat,即system aging time的缩写,将“时间片”简写为ts,即time slice的缩写。
[0004]
假设处理器内核数量为n,处理器内进程数量为x,那么存在如下:sat = ts * ( x / n )。对于任何处理器而言,上述公式中的n是固定不变的。对于任何一个系统应用需求而言,sat的最大值是不变的。因此,当x增大时,如果ts维持不变,俺么sat就会增大,当sat的值增大到所能允许的最大值时,系统只能减小ts。
[0005]
在现有背景技术条件下,ts即为进程每次从载入内核开始到载出内核结束这期间的时长。由于进程载入及载出内核所消耗的时间是固定不变的(即进程上下文切换的时间不变),那么当ts减小时,便意味着进程实际运行时间所占比例减少,这就意味着内核的实际运行效率降低。因此,当ts的值减小到一定程度,导致内核效率实际运行效率过低的时候,如果不降低应用需求对于sat的定义,那么系统就会陷入卡顿状态(甚至是崩溃状态),而如果一味降低应用需求对于sat的定义,同样会造成系统卡顿的效果,甚至会造成进程间同步的逻辑错误。
[0006]
因此,在现有背景技术条件下,当应用需求发生变化时,即对sat的要求不变或要求更高时,要求处理器所能同时处理的任务更多时,处理器生产厂家就必须增加内核的数量(即提高n的值)。然而,推高n值依然改善不了进程上下文切换过于频繁而对系统带宽所带来的压力,以及改变不了内核实际运行效率较低的状态。
[0007]
因此,对于处理器内核而言,需要在较小ts值的情况下,获得较高内核实际运行效率的技术方法。
[0008]


技术实现要素:

[0009]
事实上,满足sat的要求,在内核数量固定的情况下,几乎等效于对ts的要求。但是,或许现有背景技术条件下的处理器生产厂商想当然地认为对于ts的要求就等效于对于进程载入及载出内核的要求。然而并非如此,事实上,对于sat的要求等效于对于ts的要求,仅仅是要求进程需要尽快地被载入到内核中,在这一要求之下,并没有要求进程一定需要在ts时长之内就得载出内核。即理论上,当ts被定义为某一固定值时,并不是限定进程在被载入内核后只能运行ts时长之后就必须载出内核。理论上,为了达到sat的要求,需要限定
当进程载出内核之后,在“固定时间”内必须重新被载入到内核中运行,为此通过计算得出一个ts值。本发明技术方案所实现的便是,在进程拥有足够多的执行时间(ts时长的若干倍)前提下,以及保证内核实际运行效率的前提下,达到可以设置更小的ts值的需求。亦即达到在固定进程数量下,sat可以更小。或者在sat值固定的情况下,进程的数量可以更多。
[0010]
在更详尽阐述清楚本发明技术方案之前,首先需要阐述清楚本发明技术方案的一个概念:“进程场”,后文简写为“pof”,即process operating field的缩写。pof是对于单一进程而言,在该进程运行时,所涉及的,只能由该进程所使用的,内核中不同硬件资源的统称。因此,pof必须包含以下必要硬件资源:1、只能由单一进程使用的所有流水线硬件资源2、只能由单一进程使用的流水线相关控制模块;3、只能由单一进程使用的“代码缓存”;4、只能由单一进程使用的“数据缓存”;5、只能由单一进程使用的“代码耦合缓存”;6、只能由单一进程使用的“数据耦合缓存”;7、只能由单一进程使用的系统接口适配模块。
[0011] 在本发明技术方案中,单个内核中存在2个或2个以上的pof(理论上,本发明技术方案并不限制单个内核中可以实现的pof的数量),每个pof具有唯一的索引号,后文将索引号为0的pof简写为pof0,索引号为1的pof简写为pof1,以此例推。任意pof都具有两个状态,即“工作状态”和“空闲状态”,后文将pof的“工作状态”或者处于“工作状态”的pof简写为pof
on
,将pof的“空闲状态”或者处于“空闲状态”的pof简写为pof
off
。pof
on
表示pof中被载入了进程,pof
off
表示pof中未被载入新的进程。内核中所有pof共用一个系统接口以作为内核与“系统总线控制器”之间的互连。在每个内核中,除了所有的pof,还存在一个必要的模块,用于对于载入内核的进程以及对于载出内核的进程的调度,以及对于pof的管理,以及完成对系统接口的控制,后文件将该模块称之为“系统接口控制器”,简写为sic,即system interface controller的缩写。
[0012]
sic依据操作系统所设置的ts时长,每当一个ts耗尽时,sic从内核中载出一个进程返回至“系统总线控制器”,然后再从“系统总线控制器”获取一个新的进程载入至内核。sic在载入进程之后,如果内核仍有pof
off
,那么sic会继续从“系统总线控制器”获取新的进程并载入到pof
off
中,直到内核中不存在pof
off
为止。sic在载出进程时,依据进程先进先出的原则从所有的pof
on
中选取最先载入到内核的进程载出。
[0013]
综上所述,在处理器中,假设每个内核中的pof数量为n,在操作系统设定ts的前提下,每个内核每隔一个ts时长会从内核中载出一个进程,并载入一个新的进程。但每个被载入至内核的进程,直到其被载出内核,该进程可以在内核中持续运行的时间是ts的n倍(反过来看,如果进程仅需持续运行的时间为ts
n
,那么操作系统可以将系统的ts设置为ts
n
的n分之一,即本发明技术方案完成对于系统“时间片”的超频)。
[0014]
附图说明
[0015]
图1是“进程场”pof内部结构示意图;
图2是“进程场”pof在内核内部被集成的结构示意图;图1所示,为本发明技术方案的一种可能的硬件示意图,图示为基础方案示意图,并不表示本发明技术方案需要固定为图示结构。图中示例一个pof的简易结构,如图中所示,示例了在pof中实现了4条流水线硬件资源,每条流水线硬件资源均可独立访问pof内部的“代码耦合缓存”以及“数据耦合缓存”,也可以独立访问“系统接口适配模块”;图1所示,“代码耦合缓存”和“数据耦合缓存”分别指与流水线硬件资源存在直接物理连接的用于缓存代码和缓存数据的缓存模块;图1所示,“代码缓存”和“数据缓存”分别指与流水线硬件资源不存在直接物理连接,但是可以通过其它模块执行程序指令完成代码和数据的缓存的其中一级;图1所示,“流水线相关控制模块”用于在进程中的不同线程或同一线程内二叉树不同分支对于流水线硬件资源使用的管理及控制;图1所示,“系统接口适配模块”完成pof与内核中如图2所示的sic模块之间的互连,用于进程完成对于系统总线的访问,以及完成对于代码和数据缓存的相关操作,以及完成sic模块对于pof载入或载出进程的相关操作;图1所示,综上所述,在进程被载入pof之后,进程在pof中不依赖于内核中其它pof而独立运行,在运行过程中,其它pof不能访问当前pof中所运行进程的关于硬件状态信息、代码、以及数据的任何内容。
[0016]
图2所示,为本发明技术方案的一种可能的硬件示意图,图示为基础方案示意图,并不表示本发明技术方案需要固定为图示结构,图中示例了两个内核的处理器结构,其中每个内核中实现了4个pof的简易结构;图2所示,sic即为前文所述简写为sic的“系统接口控制器”,每个内核有且仅有一个sic,内核中所有pof共用该sic,实现与“系统总线控制器”的互连。显而易见,如图2所示,在本发明技术方案中,一个内核可以同时维持多个进程同时运行,但对于“系统总线控制器”而言,一个内核只占用一个“系统总线控制器”的端口;图2所示,pof0至pof3表示索引号0至索引号3的pof。sic依据pof索引号完成对于内核中所有pof的管理及进程调度,并依据先进先出的原则实现进程从“系统总线控制器”调度出并载入到相应索引号所对应的pof中,实现从相应索引号所对应的pof中载出进程调度回“系统总线控制器”;图2所示,显而易见,sic基于pof的基础电路结构对于进程所实施的先进先出原则的调度,实现在操作系统设置固定ts值的前提下,令每一个载入到内核中的进程可以获得ts若干倍的实际运行时间(如图2所示结构,进程可以获得ts的4倍的运行时间)。
[0017]
具体实施方式
[0018]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其它的附图,并获得其它的实时方式。
[0019]
为了使图面简洁,各图中只示意性地表示了与本发明相关的部分,它们不代表其
作为产品的实际结构或流程。另外,以使图面简洁便于理解,在图中有些具有相同结构或功能部件,仅示意性地绘示了其中一个,或仅标出了其中的一个,在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
[0020]
实施例1本发明的一个实施例,内核载入第一个进程,包括步骤:步骤1、系统复位,所有pof均处于pof
off
状态,操作系统设置系统ts值为ts0,ts0开始倒计时,sic将pof0置为下一个进程载入的候选pof;步骤2、sic从“系统总线控制器”获取一个进程,将该进程载入至pof0,并开始运行,将pof1置为下一个进程载入的候选pof。
[0021]
实施例2本发明的一个实施例,在实施例1的基础上,内核载入一个新的进程,包括步骤:步骤1、sic从“系统总线控制器”获取一个进程,将该进程载入至pof1,并开始运行,将pof2置为下一个进程载入的候选pof。
[0022]
实施例3本发明的一个实施例,在实施例2的基础上,内核载入一个新的进程,包括步骤:步骤1、sic从“系统总线控制器”获取一个进程,将该进程载入至pof2,并开始运行,将pof3置为下一个进程载入的候选pof。
[0023]
实施例4本发明的一个实施例,在实施例3的基础上,内核载入一个新的进程,包括步骤:步骤1、sic从“系统总线控制器”获取一个进程,将该进程载入至pof3,并开始运行;步骤2、所有pof均处于pof
on
状态,sic等待ts0倒计时结束。
[0024]
实施例5本发明的一个实施例,在实施例4的基础上,内核载出一个进程,并载入一个新的进程,包括步骤:步骤1、ts0倒计时结束,并开始新的一轮ts0倒计时,sic将pof0中的进程从内核中载出,pof0回到pof
off
状态;步骤2、sic从“系统总线控制器”获取一个进程,将该进程载入至pof0,并开始运行;步骤3、所有pof均处于pof
on
状态,sic等待ts0倒计时结束。
[0025]
实施例6本发明的一个实施例,在实施例5的基础上,内核载出一个进程,并载入一个新的进程,包括步骤:步骤1、ts0倒计时结束,并开始新的一轮ts0倒计时,sic将pof1中的进程从内核中载出,pof1回到pof
off
状态;步骤2、sic从“系统总线控制器”获取一个进程,将该进程载入至pof1,并开始运行;步骤3、所有pof均处于pof
on
状态,sic等待ts0倒计时结束。
[0026]
实施例7本发明的一个实施例,在实施例6的基础上,内核载出一个进程,并载入一个新的进程,包括步骤:步骤1、ts0倒计时结束,并开始新的一轮ts0倒计时,sic将pof2中的进程从内核中载出,
pof2回到pof
off
状态;步骤2、sic从“系统总线控制器”获取一个进程,将该进程载入至pof2,并开始运行;步骤3、所有pof均处于pof
on
状态,sic等待ts0倒计时结束。
[0027]
实施例8本发明的一个实施例,在实施例7的基础上,内核载出一个进程,并载入一个新的进程,包括步骤:步骤1、ts0倒计时结束,并开始新的一轮ts0倒计时,sic将pof3中的进程从内核中载出,pof3回到pof
off
状态;步骤2、sic从“系统总线控制器”获取一个进程,将该进程载入至pof3,并开始运行;步骤3、所有pof均处于pof
on
状态,sic等待ts0倒计时结束。
[0028]
实施例9本发明的一个实施例,在实施例8的基础上,内核载出一个进程,并载入一个新的进程,包括步骤:步骤1、ts0倒计时结束,并开始新的一轮ts0倒计时,sic将pof0中的进程从内核中载出,pof0回到pof
off
状态;步骤2、sic从“系统总线控制器”获取一个进程,将该进程载入至pof0,并开始运行;步骤3、所有pof均处于pof
on
状态,sic等待ts0倒计时结束。
[0029]
应该说明的是,上述实施例均可以根据需要自由组合。以上所述仅为本发明的优选实施方式,应该指出,对本技术领域的普通技术人员来说,在不脱离发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1