一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种计算机任务分配方法与流程

2021-11-10 03:12:00 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,具体涉及一种计算机任务分配方法。


背景技术:

2.x86处理器是intel推出的cpu架构处理器,x86处理采用的是复杂指令集,对于复杂计算可以更好的驾驭;广泛用于pc电脑和服务器。同时x86的具有功耗比较高,散热需求比较大。
3.arm处理器是一款risc微处理器。arm处理器的特点是体积小、低功耗、低成本、高性能;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高。
4.近年来在信息系统技术领域,自主可控核心元器件的应用越来越广泛。基于arm架构的飞腾cpu和银河麒麟操作系统已成为自主可控核心产品;当前我国信息系统大多基于x86技术体系,自主可控产品在应用过程中,计算机系统可靠性是急需解决的重要问题;其中基于x86和arm混合架构处理器执行的指令长度固定,并且在处理指令时只能单一处理某一指令,当遇到多指令的情况时会使指令滞留,造成任务不能及时处理的问题;并且,单一的x86和arm混合架构处理器只适用于计算资源要求较低的功能,对于需要与多个客户端进行交互的情况,单一x86和arm混合架构处理器并不能满足计算需求。


技术实现要素:

5.本发明的目的在于提出一种计算机任务分配方法,在现有的x86和arm混合架构处理器系统上加以改进,使其能够同时处理不同指令任务,并提出了多个x86和arm混合架构处理器,能够满足计算量较大的计算需求。
6.为实现上述目的,本发明实施例提出一种计算机任务分配方法,基于一计算机装置实现,所述计算机装置包括任务分配模块和至少两个处理模块,所述任务分配模块包括一个x86处理器,每一个处理模块包括一个x86处理器和一个arm处理器;
7.所述方法包括如下步骤:
8.步骤s10、任务分配模块用于实时监测所述至少两个处理模块的计算资源,并接收处理任务;
9.步骤s20、任务分配模块基于x86复杂指令集分析执行所述处理任务所采用的所有复杂指令,根据所述所有复杂指令以及arm精简指令集判断由x86处理器单独执行、或arm处理器单独执行、或x86处理器和arm处理器交替执行所述处理任务;
10.步骤s30、任务分配模块根据判断结果和所述计算资源确定由哪一个处理模块的x86处理器单独执行、或arm处理器单独执行、或x86处理器和arm处理器交替执行所述处理任务,并将所述处理任务分配给对应的处理模块。
11.优选地,所述步骤s30,具体包括:
12.当步骤s20判断由x86处理器单独执行所述处理任务时,将所述至少两个处理模块
中的x86处理器计算资源进行比较,选择由计算资源最为宽裕的一个x86处理器单独执行所述处理任务,并将所述处理任务分配给该计算资源最为宽裕的一个x86处理器对应的处理模块;
13.当步骤s20判断由arm处理器单独执行所述处理任务时,将所述至少两个处理模块中的arm处理器计算资源进行比较,选择由计算资源最为宽裕的一个arm处理器单独执行所述处理任务,并将所述处理任务分配给该计算资源最为宽裕的一个arm处理器对应的处理模块;
14.当步骤s20判断由x86处理器和arm处理器交替执行所述处理任务时,将所述至少两个处理模块的计算资源进行比较,选择由计算资源最为宽裕的一个处理模块单独执行所述处理任务,并将所述处理任务分配给该计算资源最为宽裕的一个处理模块。
15.优选地,所述步骤s20,包括:
16.任务分配模块采用x86架构试运行的方式获取执行所述处理任务所采用的所有复杂指令,并对所述所有复杂指令进行翻译,若所述所有复杂指令中至少90%以上能够直接翻译成所述arm精简指令集中的精简指令,则判断由arm处理器单独执行所述处理任务,或arm处理器与x86处理器交替执行所述处理任务,否则,判断由x86处理器单独执行所述处理任务。
17.优选地,所述步骤s20,包括:
18.任务分配模块采用x86架构试运行的方式获取执行所述处理任务所采用的所有复杂指令,并对所述所有复杂指令进行翻译,若所述所有复杂指令中至少90%以上能够直接翻译成所述arm精简指令集中的精简指令,且翻译后的指令量增加不超过130%,则判断由arm处理器单独执行所述处理任务,或arm处理器与x86处理器交替执行所述处理任务,否则,判断由x86处理器单独执行所述处理任务。
19.优选地,所述判断由arm处理器单独执行所述处理任务,或arm处理器与x86处理器交替执行所述处理任务,包括:
20.若所述所有复杂指令均能够直接翻译成所述arm精简指令集中的精简指令,则由arm处理器执行所述处理任务;若所述所有复杂指令中的一部分不能够直接翻译成所述arm精简指令集中的精简指令,则由arm处理器与x86处理器交替执行所述处理任务,arm处理器处理能够直接翻译成所述arm精简指令集中的精简指令的部分指令,x86处理器处理不能够直接翻译成所述arm精简指令集中的精简指令的部分指令。
21.优选地,所述步骤s30,还包括:
22.当步骤s20判断由arm处理器与x86处理器交替执行所述处理任务时,对所述处理任务设置中断点,分配至对应的处理模块,以使得该处理模块的x86处理器和arm处理器根据所述中断点交替执行所述处理任务。
23.优选地,在x86处理器和arm处理器交替执行任务分配模块分配的任务过程中,
24.当x86处理器处理的任务到达中断点时,向arm处理器请求获取处理所述处理任务所需的arm处理器的相关处理结果,进行任务中断等待arm处理器的相关处理结果,并在接收到arm处理器的相关处理结果后,根据arm处理器的相关处理结果继续执行任务;
25.当arm处理器处理的任务到达中断点时,向x86处理器请求获取处理所述处理任务所需的x86处理器的相关处理结果,进行任务中断等待x86处理器的处理结果,并在接收到
x86处理器的相关处理结果后,根据x86处理器的相关处理结果继续执行任务;
26.其中,x86处理器与arm处理器之间的数据传输通过任务分配模块进行转发实现。
27.优选地,所述步骤s30,还包括:
28.当步骤s20判断由arm处理器与x86处理器交替执行所述处理任务时,对所述处理任务设置中断点和优先级,分配至对应的处理模块,以使得该处理模块的x86处理器和arm处理器根据所述中断点和优先级交替执行所述处理任务。
29.优选地,在x86处理器和arm处理器交替执行所述任务分配模块分配的任务过程中,
30.当x86处理器接收到arm处理器发送的获取处理所述处理任务所需的x86处理器的相关处理结果的请求时,该请求携带有任务优先级标记,x86处理器比较arm处理器正在中断的任务的优先级以及x86处理器正在处理的任务的优先级,x86处理器根据优先级比较结果优先处理arm处理器发送的获取处理所述处理任务所需的x86处理器的相关处理结果的请求或x86处理器正在处理的任务;
31.当arm处理器接收到x86处理器发送的获取处理所述处理任务所需的arm处理器的相关处理结果的请求时,该请求携带有任务优先级标记,arm处理器比较x86处理器正在中断的任务的优先级以及arm处理器正在处理的任务的优先级,arm处理器根据优先级比较结果优先处理x86处理器发送的获取处理所述处理任务所需的arm处理器的相关处理结果的请求或arm处理器正在处理的任务。
32.优选地,x86处理器根据优先级比较结果优先处理arm处理器发送的获取处理所述处理任务所需的x86处理器的相关处理结果的请求或x86处理器正在处理的任务,包括:
33.当arm处理器正在中断的任务的优先级较高时,优先处理arm处理器发送的获取处理所述处理任务所需的x86处理器的相关处理结果的请求,根据arm处理器的请求处理相关任务,并将处理结果反馈给arm处理器,然后再继续x86处理器正在处理的任务;
34.arm处理器根据优先级比较结果优先处理x86处理器发送的获取处理所述处理任务所需的arm处理器的相关处理结果的请求或arm处理器正在处理的任务,包括:
35.当x86处理器正在中断的任务的优先级较高时,优先处理x86处理器发送的获取处理所述处理任务所需的arm处理器的相关处理结果的请求,根据x86处理器的请求处理相关任务,并将处理结果反馈给x86处理器,然后再继续arm处理器正在处理的任务。
36.本发明实施例至少具有以下有益效果:
37.本发明实施例在现有的x86和arm混合架构处理器系统上加以改进,使能够同时处理不同指令任务,增加一个x86处理器用于进行任务执行的分配和指导,x86处理器和arm处理器根据自身对程序的不同或者要处理的事务的不同,进行分工或者交替的方式进行运算处理,使得x86和arm混合架构处理器系统能够同时处理不同指令任务;并且,本发明实施例包括有多个处理模块,每一个处理模块包括一个x86处理器和一个arm处理器,能够根据多个处理模块的x86处理器和arm处理器的计算资源进行合理分配处理任务,满足计算量较大的计算需求。
38.本发明实施例的其它特征和优点将在随后的说明书中阐述。
附图说明
39.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
40.图1为本发明实施例所述的一种计算机任务分配方法的流程图。
具体实施方式
41.以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。另外,为了更好的说明本发明,在下文的具体实施例中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的手段未作详细描述,以便于凸显本发明的主旨。
42.参阅图1,本发明实施例提出一种计算机任务分配方法,基于一计算机装置实现,所述计算机装置包括任务分配模块和至少两个处理模块,所述任务分配模块包括一个x86处理器,每一个处理模块包括一个x86处理器和一个arm处理器;
43.所述方法包括如下步骤:
44.步骤s10、任务分配模块用于实时监测所述至少两个处理模块的计算资源,并接收处理任务;
45.步骤s20、任务分配模块基于x86复杂指令集分析执行所述处理任务所采用的所有复杂指令,根据所述所有复杂指令以及arm精简指令集判断由x86处理器单独执行、或arm处理器单独执行、或x86处理器和arm处理器交替执行所述处理任务;
46.步骤s30、任务分配模块根据判断结果和所述计算资源确定由哪一个处理模块的x86处理器单独执行、或arm处理器单独执行、或x86处理器和arm处理器交替执行所述处理任务,并将所述处理任务分配给对应的处理模块。
47.具体而言,若所需要处理的任务,适合x86复杂指令集处理的,尽量通过任务分配进行交由x86复杂指令集进行处理;譬如一下复杂操作,非标准的任务。若所需要处理的任务,适合arm精简指令集处理的,尽量通过任务分配进行交由arm精简指令集进行处理;譬如一些数学运算,图像处理,等标准重复任务。
48.本发明实施例在现有的x86和arm混合架构处理器系统上加以改进,使能够同时处理不同指令任务,增加一个x86处理器用于进行任务执行的分配和指导,x86处理器和arm处理器根据自身对程序的不同或者要处理的事务的不同,进行分工或者交替的方式进行运算处理,使得x86和arm混合架构处理器系统能够同时处理不同指令任务;并且,本发明实施例包括有多个处理模块,每一个处理模块包括一个x86处理器和一个arm处理器,能够根据多个处理模块的x86处理器和arm处理器的计算资源进行合理分配处理任务,满足计算量较大的计算需求。
49.在一些实施例中,所述步骤s30,具体包括:
50.当步骤s20判断由x86处理器单独执行所述处理任务时,将所述至少两个处理模块中的x86处理器计算资源进行比较,选择由计算资源最为宽裕的一个x86处理器单独执行所述处理任务,并将所述处理任务分配给该计算资源最为宽裕的一个x86处理器对应的处理
模块;
51.当步骤s20判断由arm处理器单独执行所述处理任务时,将所述至少两个处理模块中的arm处理器计算资源进行比较,选择由计算资源最为宽裕的一个arm处理器单独执行所述处理任务,并将所述处理任务分配给该计算资源最为宽裕的一个arm处理器对应的处理模块;
52.当步骤s20判断由x86处理器和arm处理器交替执行所述处理任务时,将所述至少两个处理模块的计算资源进行比较,选择由计算资源最为宽裕的一个处理模块单独执行所述处理任务,并将所述处理任务分配给该计算资源最为宽裕的一个处理模块。
53.具体而言,所述计算资源至少包括cpu资源和内存资源。
54.在一些实施例中,所述步骤s20,包括:
55.任务分配模块采用x86架构试运行的方式获取执行所述处理任务所采用的所有复杂指令,并对所述所有复杂指令进行翻译,若所述所有复杂指令中至少90%以上能够直接翻译成所述arm精简指令集中的精简指令,则判断由arm处理器单独执行所述处理任务,或arm处理器与x86处理器交替执行所述处理任务,否则,判断由x86处理器单独执行所述处理任务。
56.在一些实施例中,所述步骤s20,包括:
57.任务分配模块采用x86架构试运行的方式获取执行所述处理任务所采用的所有复杂指令,并对所述所有复杂指令进行翻译,若所述所有复杂指令中至少90%以上能够直接翻译成所述arm精简指令集中的精简指令,且翻译后的指令量增加不超过130%,则判断由arm处理器单独执行所述处理任务,或arm处理器与x86处理器交替执行所述处理任务,否则,判断由x86处理器单独执行所述处理任务。
58.在一些实施例中,所述判断由arm处理器单独执行所述处理任务,或arm处理器与x86处理器交替执行所述处理任务,包括:
59.若所述所有复杂指令均能够直接翻译成所述arm精简指令集中的精简指令,则由arm处理器执行所述处理任务;若所述所有复杂指令中的一部分不能够直接翻译成所述arm精简指令集中的精简指令,则由arm处理器与x86处理器交替执行所述处理任务,arm处理器处理能够直接翻译成所述arm精简指令集中的精简指令的部分指令,x86处理器处理不能够直接翻译成所述arm精简指令集中的精简指令的部分指令。
60.在一些实施例中,所述步骤s30,还包括:
61.当步骤s20判断由arm处理器与x86处理器交替执行所述处理任务时,对所述处理任务设置中断点,分配至对应的处理模块,以使得该处理模块的x86处理器和arm处理器根据所述中断点交替执行所述处理任务。
62.在一些实施例中,在x86处理器和arm处理器交替执行任务分配模块分配的任务过程中,
63.当x86处理器处理的任务到达中断点时,向arm处理器请求获取处理所述处理任务所需的arm处理器的相关处理结果,进行任务中断等待arm处理器的相关处理结果,并在接收到arm处理器的相关处理结果后,根据arm处理器的相关处理结果继续执行任务;
64.当arm处理器处理的任务到达中断点时,向x86处理器请求获取处理所述处理任务所需的x86处理器的相关处理结果,进行任务中断等待x86处理器的处理结果,并在接收到
x86处理器的相关处理结果后,根据x86处理器的相关处理结果继续执行任务;
65.其中,x86处理器与arm处理器之间的数据传输通过任务分配模块进行转发实现。
66.在一些实施例中,所述步骤s30,还包括:
67.当步骤s20判断由arm处理器与x86处理器交替执行所述处理任务时,对所述处理任务设置中断点和优先级,分配至对应的处理模块,以使得该处理模块的x86处理器和arm处理器根据所述中断点和优先级交替执行所述处理任务。
68.具体而言,处理模块的x86处理器或所述arm处理器根据任务优先级对正在处理或待处理的所有任务进行优先级比较,优先处理优先级较高的任务。
69.在一些实施例中,在x86处理器和arm处理器交替执行所述任务分配模块分配的任务过程中,
70.当x86处理器接收到arm处理器发送的获取处理所述处理任务所需的x86处理器的相关处理结果的请求时,该请求携带有任务优先级标记(由任务分配模块赋予),x86处理器比较arm处理器正在中断的任务的优先级以及x86处理器正在处理的任务的优先级,x86处理器根据优先级比较结果优先处理arm处理器发送的获取处理所述处理任务所需的x86处理器的相关处理结果的请求或x86处理器正在处理的任务;
71.当arm处理器接收到x86处理器发送的获取处理所述处理任务所需的arm处理器的相关处理结果的请求时,该请求携带有任务优先级标记(由任务分配模块赋予),arm处理器比较x86处理器正在中断的任务的优先级以及arm处理器正在处理的任务的优先级,arm处理器根据优先级比较结果优先处理x86处理器发送的获取处理所述处理任务所需的arm处理器的相关处理结果的请求或arm处理器正在处理的任务。
72.其中,所述x86处理器与所述arm处理器之间的数据传输通过所述任务分配模块进行转发实现,即所述x86处理器与所述arm处理器之间的请求以及相关处理结果的发送,均由发送方先发送给所述任务分配模块,由所述任务分配模块进行转发给接收方;
73.所述arm处理器执行任务到达任务中断点,需要获取所述x86处理器帮助交替执行的相关处理结果才能够继续后续的处理时,所述arm处理器将需要x86处理器处理的部分任务向任务分配模块提出请求,任务分配模块对该部分任务设定一个优先级,然后转发给所述x86处理器;
74.所述x86处理器执行任务到达任务中断点,需要获取所述arm处理器帮助交替执行的相关处理结果才能够继续后续的处理时,所述x86处理器将需要arm处理器处理的部分任务向任务分配模块提出请求,任务分配模块对该部分任务设定一个优先级,然后转发给所述arm处理器。
75.在一些实施例中,x86处理器根据优先级比较结果优先处理arm处理器发送的获取处理所述处理任务所需的x86处理器的相关处理结果的请求或x86处理器正在处理的任务,包括:
76.当arm处理器正在中断的任务的优先级较高时,优先处理arm处理器发送的获取处理所述处理任务所需的x86处理器的相关处理结果的请求,根据arm处理器的请求处理相关任务,并将处理结果反馈给arm处理器,然后再继续x86处理器正在处理的任务;
77.arm处理器根据优先级比较结果优先处理x86处理器发送的获取处理所述处理任务所需的arm处理器的相关处理结果的请求或arm处理器正在处理的任务,包括:
78.当x86处理器正在中断的任务的优先级较高时,优先处理x86处理器发送的获取处理所述处理任务所需的arm处理器的相关处理结果的请求,根据x86处理器的请求处理相关任务,并将处理结果反馈给x86处理器,然后再继续arm处理器正在处理的任务。
79.具体而言,本实施例对于任务处理过程中,需要对方中断当前任务处理,进行插入处理的任务,通过以下方式实现:所述x86处理器与所述arm处理器中的发送方将请求发送给所述任务分配模块,所述任务分配模块收到请求后,判断接收方正在处理的任务的优先级,对请求的任务设置一个比对方优先级高一级的级别,并且把请求的任务交给对方,进行优先处理,因为需要对方处理的部分任务往往只是很少的,处理起来非常快,因此,本实施例能够避免交替执行任务中处理器长时间的中断等待,从而提高交替执行任务的效率。
80.以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献