[0039] 为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0040] 实施例一
[0041] 请参见图1,图1是本发明基于移动终端控制CPU扩展方法的第一较佳实施例的流程图。如图1所示,一种基于移动终端控制CPU扩展方法,其中,包括以下步骤:
[0042] 步骤S100,设置为主动终端的第一移动终端与设置为被动终端第二移动终端通过有线或者无线方式进行通信连接。
[0043] 本发明实施例中,所述第一移动终端与所述第二移动终端具有相同的CPU架构,本发明优选为4核CPU(当然所述第一移动终端与所述第二移动终端也可以为2、6、8核);所述有线方式包括USB连接,所述无线方式包括WLAN连接或者蓝牙连接,连接方式还可以为其他有效的连接方式。
[0044] 即具体地,步骤S100具体包括如下步骤:
[0045] S101,预先将具有相同的CPU架构的第一移动终端和第二移动终端分别设置为主动终端和被动终端;所述主动终端用于扩展CPU内核,所述被动终端用于提供虚拟CPU内核;
[0046] S102,将所述主动终端与所述被动终端通过有线或者无线方式进行通信连接。
[0047] 步骤S200,预先将所述主动终端和所述被动终端中的任一核CPU设置作为调度CPU进行指令的调度,所述主动终端发送启动CPU拓展主动驱动组件指令到所述被动终端。
[0048] 本发明实施例中,针对主动终端剥离出1个CPU作为调度单元,主动调度单元专门负责监听连接方式对端中来自CPU扩展驱动被动模式的通信信息,负责跨终端指令集汇编以及虚拟CPU的调度。针对被动终端剥离出1个CPU作为调度单元,被动调度单元专门负责监听连接方式对端中来自CPU扩展驱动主动模式的通信信息,负责来自主动模式调度转换成本地的CPU的调度。
[0049] 当需要提高主动终端的CPU运行和处理能力的时候,那么就需要增加主动终端的CPU内核数,那么所述主动终端就可以发送启动CPU拓展主动驱动组件指令到所述被动终端,控制被动终端进行虚拟CPU的运行。
[0050] 即具体地,步骤S200具体包括如下步骤:
[0051] S201,预先将所述主动终端中的4核CPU的任一核CPU设置主动调度CPU,将所述被动终端中的4核CPU的任一核CPU设置被动调度CPU;
[0052] S202,所述主动终端通过所述主动调度CPU发送启动CPU拓展主动驱动组件指令到所述被动终端;
[0053] S203,所述被动终端通过所述被动调度CPU接收所述启动CPU拓展主动驱动组件指令。
[0054] 步骤S300,当所述被动终端接收并执行所述启动CPU拓展主动驱动组件指令后,完成CPU扩展被动模式,所述主动终端接入所述被动终端扩展的若干个虚拟应用层CPU。
[0055] 本发明实施例中,所述被动终端执行所述启动CPU拓展主动驱动组件指令,保留内核驱动级Linux核心组件,并关闭Android系统,完成CPU扩展被动模式,虚拟3个应用层CPU,所述主动终端接入所述被动终端扩展的3个虚拟应用层CPU,完成CPU扩展主动模式,控制所述主动终端切换为6核CPU,由此在主动终端应用层运行的进程都可以有约等于6核的运算能力,当然最多可以扩展为8核(去掉了调度单元),但是最后性能上可能不如6核(虚拟)来得性能高。
[0056] 即具体地,步骤S300包括如下步骤:
[0057] S301,当所述被动终端通过所述被动调度CPU接收所述启动CPU拓展主动驱动组件指令后,执行所述启动CPU拓展主动驱动组件指令;
[0058] S302,所述被动终端保留内核驱动级Linux核心组件,并关闭Android系统,完成CPU扩展被动模式,虚拟3个应用层CPU;
[0059] S303,当所述被动终端完成CPU扩展被动模式后,所述主动终端接入所述被动终端扩展的3个虚拟应用层CPU,完成CPU扩展主动模式,控制所述主动终端切换为6核CPU。
[0060] 进一步地,所述当所述被动终端接收并执行所述启动CPU拓展主动驱动组件指令后,完成CPU扩展被动模式,所述主动终端接入所述被动终端扩展的若干个虚拟应用层CPU之后还包括:当所述主动终端需要恢复正常运行模式时,所述主动终端通过所述主动调度CPU发送脱离指令到所述被动终端的所述被动调度CPU;所述被动终端将已经分配到虚拟应用层CPU工作的代码转移回所述主动终端的CPU,完成主动终端和被动终端的脱离操作。
[0061] 由于主动终端上可能有一部分任务分配到了虚拟CPU上工作了,如果用户根据实际情况需要脱离,那么应该先告知主动终端,让主动终端发起脱离的流程,让被动终端把这些分配到虚拟CPU工作的代码给转移回主动终端原有的CPU上(就是保证没有任何需要执行的代码挂在虚拟CPU上),然后才能脱离;而不是直接通过断开主动终端和被动终端的连接来进行脱离操作。
[0062] 另外,当主动终端和被动终端完成脱离操作后,所述主动终端清除虚拟应用层CPU,已经存在的进程中,本地CPU接管虚拟应用层CPU的位置,继续运行系统。
[0063] 实施例二
[0064] 本发明实施例还提供了一种基于移动终端控制CPU扩展系统,如图2所示,所述系统包括:
[0065] 第一移动终端10,所述第一移动终端10设置为主动终端;
[0066] 第二移动终端20,所述第二移动终端20设置为被动终端;
[0067] 所述主动终端用于与所述被动终端通过有线或者无线方式进行通信连接;所述主动终端发送启动CPU拓展主动驱动组件指令到所述被动终端;所述被动终端接收并执行所述启动CPU拓展主动驱动组件指令后,完成CPU扩展被动模式;所述主动终端接入所述被动终端扩展的若干个虚拟应用层CPU。
[0068] 实施例三
[0069] 一种存储介质,其中,所述存储介质存储有基于移动终端控制CPU扩展程序,所述基于移动终端控制CPU扩展程序被处理器执行时用于实现所述基于移动终端控制CPU扩展方法。
[0070] 综上所述,本发明公开了一种基于移动终端控制CPU扩展方法、系统及存储介质,设置为主动终端的第一移动终端与设置为被动终端第二移动终端通过有线或者无线方式进行通信连接;预先将所述主动终端和所述被动终端中的任一核CPU设置作为调度CPU进行指令的调度,所述主动终端发送启动CPU拓展主动驱动组件指令到所述被动终端;当所述被动终端接收并执行所述启动CPU拓展主动驱动组件指令后,完成CPU扩展被动模式,所述主动终端接入所述被动终端扩展的若干个虚拟应用层CPU。本发明通过将闲置的第二移动终端的CPU虚拟若干个应用层接入到使用中的第一移动终端,扩展第一移动终端的CPU内核数,增加第一移动终端的运算能力和处理速度。
[0071] 当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过基于移动终端控制CPU扩展程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
[0072] 应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。