CN102385529A - 多cpu领域移动电子装置与其操作方法 - Google Patents

多cpu领域移动电子装置与其操作方法 Download PDF

Info

Publication number
CN102385529A
CN102385529A CN2010102762016A CN201010276201A CN102385529A CN 102385529 A CN102385529 A CN 102385529A CN 2010102762016 A CN2010102762016 A CN 2010102762016A CN 201010276201 A CN201010276201 A CN 201010276201A CN 102385529 A CN102385529 A CN 102385529A
Authority
CN
China
Prior art keywords
work
cpu
move
moved
agent unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010102762016A
Other languages
English (en)
Other versions
CN102385529B (zh
Inventor
谢承学
黄国全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
MStar Semiconductor Inc Taiwan
Original Assignee
MStar Software R&D Shenzhen Ltd
MStar Semiconductor Inc Taiwan
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MStar Software R&D Shenzhen Ltd, MStar Semiconductor Inc Taiwan filed Critical MStar Software R&D Shenzhen Ltd
Priority to CN201010276201.6A priority Critical patent/CN102385529B/zh
Publication of CN102385529A publication Critical patent/CN102385529A/zh
Application granted granted Critical
Publication of CN102385529B publication Critical patent/CN102385529B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Power Sources (AREA)

Abstract

本发明涉及一种多CPU领域移动电子装置,至少包括:第一CPU领域(domain),至少具有第一搬移代理单元;以及第二CPU领域,至少具有第二搬移代理单元。当该第一搬移代理单元判断需要进行工作搬移时,该第一搬移代理单元决定将一可搬移工作由该第一CPU领域搬移到该第二CPU领域。该第一搬移代理单元发出一搬移事件。回应于该搬移事件,该第二搬移代理单元得知有一搬移事件待处理。当该第二搬移代理单元接收到该搬移事件后,该第二CPU领域执行该可搬移工作。

Description

多CPU领域移动电子装置与其操作方法
技术领域
本发明是有关于一种多CPU领域移动电子装置与其操作方法,且特别是有关于一种可平衡效能与耗能的多CPU领域(domain)移动电子装置与其操作方法。
背景技术
目前的移动电子装置,比如手机或可携式多媒体播放器(PMP,portablemultimedia player),可能包括2个以上的中央处理器(central processing unit,以下称CPU),这些CPU的操作频率、性能、耗能可能都不同。
传统上,为达到各CPU间的负载平衡,如果判断出某颗CPU的负载太重,或是某颗CPU处于闲置状态,则会进行工作搬移(task migration),以设法平衡每颗CPU的负载。
但是,于工作搬移时,如果这些CPU来自不同制造厂商或是这些CPU所执行的实时操作系统(real-time operation system,以下称RTOS)彼此不同的话,则在沟通可能会出现状况。
发明内容
根据本发明的实施例所提出的多CPU领域移动电子装置与其操作方法,随着动态效能需求或其他条件,工作(task)可在不同CPU领域间搬移(migrate),以在耗能与效能之间取得平衡。
本发明的一实施例提出一种多CPU领域移动电子装置,至少包括:第一CPU领域,至少具有第一搬移代理单元;以及第二CPU领域,至少具有第二搬移代理单元。当该第一搬移代理单元判断需要进行工作搬移时,该第一搬移代理单元决定将一可搬移工作由该第一CPU领域搬移到该第二CPU领域。该第一搬移代理单元发出一搬移事件。回应于该搬移事件,该第二搬移代理单元得知有一搬移事件待处理。当该第二搬移代理单元接收到该搬移事件后,该第二CPU领域执行该可搬移工作。
为让本发明的上述内容能更明显易懂,下文特举实施例,并配合附图,作详细说明如下:
附图说明
图1显示了根据本发明实施例的移动电子装置的功能方块图。
图2显示,根据本发明实施例,于移动电子装置开机后,所有工作暂时执行于低耗能CPU的示意图。
图3显示,根据本发明实施例,当决定要搬移工作时,唤醒高耗能CPU的示意图。
图4显示根据本发明实施例的工作搬移流程。
图5显示,根据本发明实施例,于工作搬移后,由高耗能CPU处理工作的示意图。
图6显示根据本发明实施例的工作搬移处理流程。
主要元件符号说明
100:移动电子装置        110、130:CPU
140:共享存储器
150:共享中断与共享硬件IP
160:事件队列            111、131:执行队列
113、133:搬移代理单元   115、135:实时操作系统
410:搬移工作表列        420:搬移事件
430:硬件中断
具体实施方式
本发明的实施例揭露一种移动电子装置,其包括多个CPU领域(domain),各CPU领域包括至少一个CPU。该些CPU领域之一可为高效率高耗能CPU领域,而该些CPU领域的另一可为低效率低耗能CPU领域。移动电子装置的某些硬件资源可被不同CPU领域所同时共享,该些可共享的硬件资源比如包括系统存储器、中断与硬件智财权(hardware intellectual property)。此外,随着动态效能需求或其他条件,工作可在不同CPU领域间搬移(migrate),以在耗能与效能之间取得平衡。
图1显示根据本发明实施例的移动电子装置的功能方块图。如图1所示,移动电子装置100包括低耗能CPU 110、高耗能CPU 130、共享存储器140、共享中断与共享硬件IP 150、与事件队列(event queue)160。移动电子装置100例如是手机或可携式多媒体播放器,但不受限于此。此外,低耗能CPU 110乃是位于低效率低耗能CPU领域内,而高耗能CPU 130则是位于高效率高耗能CPU领域内。此外,虽然本实施例以2个不同耗能CPU为例做说明,但当知于本发明其他可能实施例中,移动电子装置可包括更多个CPU领域,该些CPU领域的耗能/效率彼此不同。
低耗能CPU 110包括执行队列111与搬移代理单元(migration agent)113,且RTOS 115执行于低耗能CPU 110上。相似地,高耗能CPU 130包括执行队列131与搬移代理单元133,且RTOS 135执行于高耗能CPU 130上。共享存储器140及共享中断与共享硬件IP 150由CPU 110与CPU 130所共享。当进行工作搬移时,其中一个CPU的搬移代理单元会在事件队列上触发一事件,接着,另一CPU的搬移代理单元会监测到此事件,以开始工作搬移。
在移动电子装置100开机后,低耗能CPU 110永远处于正常操作状态,且如果有工作被产生的话,则CPU 110会先执行此工作。于开机后,高耗能CPU 130会先进入省电模式。底下举例说明。
当使用者执行低负载工作时,比如,使用者打开网页浏览程序来浏览简单网页时,这些低负载的网页浏览工作会先由低耗能CPU 110来执行(也就是说,这些低负载的网页浏览工作会被放置低耗能CPU 110内的执行队列111上)。
可是,当使用者执行高负载工作时,比如,使用者利用移动电子装置100播放影片、玩游戏、执行卫星定位、照相等功能时,会消耗大量CPU资源,使得低耗能CPU 110的负载会大幅增加。因此,于本实施例中,执行这些高负载工作将会触发工作搬移机制,使得高耗能CPU 130被唤醒,并将高负载工作搬移至高耗能CPU130上(也就是说,这些高负载的工作会被放置高耗能CPU 130内的执行队列131上),以满足效能需求。
之后,如果高耗能CPU 130的负载变轻且低耗能CPU 110足以胜任高耗能CPU130上的工作的话,则高耗能CPU 130内的工作会被搬移回低耗能CPU 110上,且高耗能CPU 130会再次进入省电模式以节省电力消耗。如此一来,本实施例可在耗能与效能之间达成平衡。
于本实施例中,RTOS 115与RTOS 135乃是相同种类。RTOS于本发明实施例中不特别限定,不过通常来说,与一般的作业系统相比,RTOS性能较差,且功能较不齐全。当可搬移工作(migratable task)被创造出来时,这些可搬移工作会存放于共享存储器140内。搬移代理单元113、133会管理这些可搬移工作的资源(比如工作识别码、共享存储器管理等),并且在两个CPU 110、130之间搬移工作。
搬移代理单元113(或133)会发出搬移事件至事件队列160上,以使得另一搬移代理单元133(或113)能接收到此搬移事件。搬移事件包括:硬件讯息队列(hardware message queue)、事件中断(event interrupt)、软件讯息队列(softwaremessage queue)等。虽然于此实施例中,搬移代理单元113、133以软件方式实施,但于本发明其他可能实施例中,搬移代理单元113、133亦可以硬件方式或是硬件配合软件方式来实施。此外,搬移代理单元113、133更可关闭CPU 110、130及唤醒CPU 110、130。
此外,于工作搬移之前,搬移代理单元113、133会将待搬移工作的状态变成可被搬移状态。搬移代理单元113(或133)会发出搬移事件,另一搬移代理单元133(或113)则会接收到搬移事件。搬移代理单元113(或133)将待搬移工作由相对应CPU 110(或130)的执行队列111(或131)上移除,而另一搬移代理单元133(或113)则将工作加入至相对应CPU 130(或110)的执行队列内131(或111)。
于图1中,工作mA、mB与mC乃是可搬移的,而工作LP A、LP B与LP C则是不可搬移的,其固定由低耗能CPU 110所执行。于各CPU 110、130内的搬移代理单元113、133会等待是否有从事件队列111、131(比如为硬件事件队列)所传来的搬移事件。
于移动电子装置100开机时,低耗能CPU 110与高耗能CPU 130的开机是彼此独立的,可为同时开机或是依序开机。
接着,如图2所示,于移动电子装置100开机后,首先,所有的工作(如可搬移工作mA~mC与不可搬移工作LP A~LP C)会先被产生/创造出且全部暂时地执行于低耗能CPU 110上。请注意,于图2中,高耗能CPU 130暂时处于睡眠状态,所以,其所执行的RTOS 135未显示于图2中。
当低耗能CPU 110上的搬移代理单元113检测到工作搬移条件时,会决定某些可搬移工作应该由低耗能CPU 110搬移到高耗能CPU 130。亦即,搬移代理单元113会决定何时要进行工作搬移及哪些工作需要被搬移。其检测条件比如为,目前CPU 110的负载,被工作所消耗掉的CPU 110的效能,电池的剩余电力,CPU 110的温度等。当决定要搬移工作时,搬移代理单元113会唤醒暂处于省电模式下的高耗能CPU 130,且高耗能CPU 130的RTOS 135、搬移代理单元133与执行队列131会处于正常操作状态,如图3所示。
图4显示根据本发明实施例的工作搬移流程。低耗能CPU 110的搬移代理单元113会传送搬移信号或搬移事件给可搬移工作mA~mC,以告知这些工作将会被搬移至高耗能CPU 130。当原本由低耗能CPU 110所执行的可搬移工作mA~mC接收到此搬移信号或搬移事件时,其会结束目前的工作并转换至可搬移状态。
接着,低耗能CPU 110的搬移代理单元113将待搬移的工作mA~mC从RTOS 115的执行队列111上移除、更新可搬移工作的工作控制方块(task control block,以下称TCB)、将可搬移工作放置搬移工作表列410上、并清空快取存储器(未绘示)等。
当所有必须流程完成后,搬移代理单元113会发出搬移事件420至事件队列160。事件队列160会发出硬件中断430,且中断服务程序(interrupt serviceroutine,ISR)(未绘示)会送出信号或事件给高耗能CPU 130的搬移代理单元133,以告知目前有搬移事件待处理。此外,对共享存储器140的存取控制权也从低耗能CPU 110转移至高耗能CPU 130。
当高耗能CPU 130的搬移代理单元133接收到搬移事件后,其从搬移工作表列410中取出待搬移工作,将这些待搬移工作加入执行队列131,设定相关的共享硬件IP与共享中断等。RTOS 135会进行排程,以执行被搬移过来的工作mA~mC,如图5所示。请注意,虽然工作mA~mC由低耗能CPU 110搬移至高耗能CPU 130,但如上述般,开机后,低耗能CPU永远处于正常操作状态。所以,在图2至图5中,工作LP A~LP C仍然由低耗能CPU 110所执行。
虽然图2~图5显示将工作由低耗能CPU 110搬移至高耗能CPU 130,但将工作由高耗能CPU 130搬移至低耗能CPU 110的处理流程乃是类似,故其细节于此不重述。只是,当搬移流程结束后,高耗能CPU 130与其RTOS135会进入省电模式,以减少耗电量。
现请参考图6,其显示根据本发明实施例的工作搬移处理流程。于移动电子装置开机后,建立工作(不可搬移工作及/或可搬移工作)且执行于低耗能CPU 110上(步骤S610)。
接着,当低耗能CPU 110的搬移代理单元113检测到工作搬移条件时,其会决定哪些可搬移工作应该由低耗能CPU 110搬移到高耗能CPU 130,且搬移代理单元113会唤醒高耗能CPU 130(步骤S620)。
低耗能CPU 110的搬移代理单元113将所有可搬移工作从其本身的执行队列111移除;且当所有的必须流程完成后,搬移代理单元113会发出搬移事件至事件队列160(步骤S630)。此外,步骤S630可更包括:低耗能CPU 110的搬移代理单元113传送搬移信号或搬移事件给可搬移工作mA~mC,以告知这些工作将会被搬移至高耗能CPU 130;当原本由低耗能CPU 110所执行的可搬移工作mA~mC接收到此搬移信号或搬移事件时,其会结束目前的工作并转换至可搬移状态;低耗能CPU 110的搬移代理单元113更会更新可搬移工作的TCB、将可搬移工作放置搬移工作表列410上、并清空快取存储器等。
接着,于步骤S640中,事件队列160会发出硬件中断,且中断服务程序会送出信号或事件给高耗能CPU 130的搬移代理单元133,以告知目前有搬移事件待处理;以及,共享存储器140的存取控制权从低耗能CPU 110转移至高耗能CPU 130。
于步骤S650中,当高耗能CPU 130的搬移代理单元133接收到搬移事件后,其从搬移工作表列410中取出待搬移工作,将这些待搬移工作加入执行队列131,设定相关的共享硬件IP与共享中断等;以及高耗能CPU 130的RTOS 135进行排程,以执行被搬移过来的工作。
同样地,将工作由高耗能CPU 130搬移到低耗能CPU 110的处理流程也类似,故其细节于此不重述。
综上所述,虽然本发明已以实施例揭示如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当以权利要求书为准。

Claims (10)

1.一种多CPU领域移动电子装置,包括:
第一CPU领域,至少具有第一搬移代理单元;以及
第二CPU领域,至少具有第二搬移代理单元;
其中,
当该第一搬移代理单元判断需要进行工作搬移时,该第一搬移代理单元决定将一可搬移工作由该第一CPU领域搬移到该第二CPU领域;
该第一搬移代理单元发出一搬移事件;
回应于该搬移事件,该第二搬移代理单元得知有一搬移事件待处理;以及
当该第二搬移代理单元接收到该搬移事件后,该第二CPU领域执行该可搬移工作。
2.如权利要求1所述的移动电子装置,其特征在于,该移动电子装置还包括一事件队列与一共享存储器;该第一CPU领域更具有第一实时操作系统与第一执行队列;以及该第二CPU领域还具有第二实时操作系统与第二执行队列,该第一实时操作系统与该第二实时操作系统为相同种类。
3.如权利要求2所述的移动电子装置,其特征在于:如果该第二CPU领域处于一省电模式,则该第一搬移代理单元唤醒该第二CPU领域,使得该第二实时操作系统、该第二搬移代理单元与该第二执行队列处于正常操作状态。
4.如权利要求3所述的移动电子装置,其特征在于:该第一搬移代理单元将该可搬移工作从该第一执行队列移除;以及该第一搬移代理单元发出该搬移事件至该事件队列。
5.如权利要求4所述的移动电子装置,其特征在于:该第一搬移代理单元传送一搬移信号/事件给该可搬移工作,以告知该可搬移工作会被搬移至该第二CPU领域;该可搬移工作接收到该搬移信号/事件时,该可搬移工作转换至一可搬移状态;该第一搬移代理单元更新该可搬移工作的一工作控制方块;该第一搬移代理单元将该可搬移工作放置一搬移工作表列上;以及该第一搬移代理单元清空一快取存储器。
6.如权利要求5所述的移动电子装置,其特征在于:该事件队列发出一硬件中断;一中断服务程序会送出一信号/事件给该第二搬移代理单元,以告知目前有该搬移事件待处理;以及该共享存储器的存取控制权从该第一CPU领域转移至该第二CPU领域。
7.如权利要求6所述的移动电子装置,其特征在于:该第二搬移代理单元从该搬移工作表列中取出待搬移的该可搬移工作;该第二搬移代理单元将该可搬移工作加入至该第二执行队列;该第二搬移代理单元设定一硬件智财权与一中断;以及该第二实时操作系统进行排程,以执行被搬移过来的该可搬移工作;
其中,该第一CPU领域与该第二CPU领域共享该移动电子装置的该中断与该硬件智财权。
8.如权利要求1所述的移动电子装置,其特征在于,该第一CPU领域的效能与耗能不同于该第二CPU领域的效能与耗能。
9.如权利要求1所述的移动电子装置,其特征在于,当该移动电子装置执行一低负载工作时,该低负载工作先由该第一CPU领域与该第二CPU领域中的耗能/效能较低者来执行;当该移动电子装置执行一高负载工作时,该高负载工作从该第一CPU领域与该第二CPU领域中的耗能/效能较低者搬移至该第一CPU领域与该第二CPU领域中的耗能/效能较高者,以执行之;以及如果该第一CPU领域与该第二CPU领域中的耗能/效能较高者的负载变轻且该第一CPU领域与该第二CPU领域中的耗能/效能较低者足以符合效能需求的话,则该第一CPU领域与该第二CPU领域中的耗能/效能较高者所执行的工作被搬移回该第一CPU领域与该第二CPU领域中的耗能/效能较低者,且该第一CPU领域与该第二CPU领域中的耗能/效能较高者进入省电模式以节省电力消耗。
10.如权利要求2所述的移动电子装置,其特征在于,当产生该可搬移工作时,该可搬移工作存放于该共享存储器内;该第一与该第二搬移代理单元管理该可搬移工作的资源。
CN201010276201.6A 2010-08-31 2010-08-31 多cpu领域移动电子装置与其操作方法 Active CN102385529B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010276201.6A CN102385529B (zh) 2010-08-31 2010-08-31 多cpu领域移动电子装置与其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010276201.6A CN102385529B (zh) 2010-08-31 2010-08-31 多cpu领域移动电子装置与其操作方法

Publications (2)

Publication Number Publication Date
CN102385529A true CN102385529A (zh) 2012-03-21
CN102385529B CN102385529B (zh) 2014-07-09

Family

ID=45824966

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010276201.6A Active CN102385529B (zh) 2010-08-31 2010-08-31 多cpu领域移动电子装置与其操作方法

Country Status (1)

Country Link
CN (1) CN102385529B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625376A (zh) * 2017-04-01 2020-09-04 北京忆芯科技有限公司 通过代理进行队列通信的方法与消息系统
CN114880259A (zh) * 2022-07-12 2022-08-09 北京象帝先计算技术有限公司 数据处理方法、装置、系统、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1860446A (zh) * 2003-12-16 2006-11-08 苹果计算机公司 支持高性能和高能效执行的准对称多处理器
CN101499020A (zh) * 2008-01-28 2009-08-05 财团法人工业技术研究院 具有动态工作管理能力的多处理器界面及其程序载卸方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1860446A (zh) * 2003-12-16 2006-11-08 苹果计算机公司 支持高性能和高能效执行的准对称多处理器
CN101499020A (zh) * 2008-01-28 2009-08-05 财团法人工业技术研究院 具有动态工作管理能力的多处理器界面及其程序载卸方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625376A (zh) * 2017-04-01 2020-09-04 北京忆芯科技有限公司 通过代理进行队列通信的方法与消息系统
CN111625376B (zh) * 2017-04-01 2023-08-04 北京忆芯科技有限公司 通过代理进行队列通信的方法与消息系统
CN114880259A (zh) * 2022-07-12 2022-08-09 北京象帝先计算技术有限公司 数据处理方法、装置、系统、电子设备及存储介质
CN114880259B (zh) * 2022-07-12 2022-09-16 北京象帝先计算技术有限公司 数据处理方法、装置、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN102385529B (zh) 2014-07-09

Similar Documents

Publication Publication Date Title
KR101029414B1 (ko) 프로세서 상태 천이를 검출하기 위해 제공되는 장치 및방법과 머신 액세스 가능 매체와 컴퓨팅 시스템
US8752060B2 (en) Multi-CPU domain mobile electronic device and operation method thereof
TWI233545B (en) Mechanism for processor power state aware distribution of lowest priority interrupts
US20110106935A1 (en) Power management for idle system in clusters
CN102789305B (zh) 推迟挂起
CN102695998B (zh) 用于在虚拟化系统中控制中央处理单元功率的系统和方法
CN105190555B (zh) 集中式任务调度
CN102027453B (zh) 用于在虚拟环境中优化中断处理的系统和方法
US20100100716A1 (en) Conserving Power Using Predictive Modelling and Signaling
CN103765409A (zh) 有功率效率的处理器体系结构
JP5311234B2 (ja) 計算機システムとその動作方法
CN104050137B (zh) 一种异构操作系统中内核运行的方法及装置
CN111475012B (zh) 至硬件加速器的动态功率路由
CN102103406A (zh) 操作系统无关的网络事件处理
WO2017184347A1 (en) Adaptive doze to hibernate
JP2014186478A (ja) 電子機器
CN111625080B (zh) 一种服务器节能方法、装置及电子设备和存储介质
JP2013222321A (ja) メモリ制御装置、メモリ制御方法、情報処理装置、およびプログラム
US20130145374A1 (en) Synchronizing java resource access
CN102141920B (zh) 一种动态配置C-State方法和通信设备
CN102385529A (zh) 多cpu领域移动电子装置与其操作方法
CN103034539A (zh) 伺服器系统及其电源管理方法
CN104076892A (zh) 一种电源管理方法及电源管理系统
WO2015180111A1 (zh) 一种管理系统资源的方法、装置及设备
CN111077976B (zh) 多核心处理器的空闲状态低功耗模式实现方法和处理器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201021

Address after: No. 1, Xingzhu Road, Hsinchu Science Park, Taiwan, China

Patentee after: MEDIATEK Inc.

Address before: 405, 4th floor, 1st District, Shenzhen Bay science and technology ecological park, Aohai street, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: Mstar Semiconductor,Inc.

Patentee before: MEDIATEK Inc.

Effective date of registration: 20201021

Address after: 405, 4th floor, 1st District, Shenzhen Bay science and technology ecological park, Aohai street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: Mstar Semiconductor,Inc.

Patentee after: MEDIATEK Inc.

Address before: 518057, Guangdong, Shenzhen hi tech Zone, South District, science and technology, South ten road, Shenzhen Institute of Aerospace Science and technology innovation, C block, building 4

Patentee before: Mstar Semiconductor,Inc.

Patentee before: MSTAR SEMICONDUCTOR Inc.