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

一种计算机任务管理方法及计算机设备与流程

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


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


背景技术:

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


技术实现要素:

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

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

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

相关文献