The present invention relates to a CPU control method, an electronic system control method and an electronic system comprising applying the methods, and particularly relates to a CPU control method, an electronic system control method and an electronic system which can optimize different CPUS.
Some electronic systems may comprise more than one CPU (central processing unit) to meet different requirements. For example, one CPU provides more functions and another CPU save more energy while operating. For those electronic systems, the CPUs execute the same codes while performing the same function.
However, one CPU may have better performance while executing some specific combination of codes. If all CPUs execute the same codes while performing the same function, the CPU may not have optimized performance.
One objective of the present invention is to provide a CPU control method to control two CPUs to execute different codes even if the two CPUs perform the same function.
One objective of the present invention is to provide an electronic system control method to control two CPUs to execute different codes even if the two CPUs perform the same sub-function.
One objective of the present invention is to provide an electronic system comprising two CPUs capable of executing different codes even if the two CPUs perform the same function.
One embodiment of the present invention discloses a CPU control method for controlling a first CPU and a second CPU. The method comprises: (a) applying the first CPU to execute a first group of codes comprising at least one code if the first CPU is operating to perform a first function; and (b) applying the second CPU to execute a second group of codes comprising at least one code if the second CPU is operating to perform the first function. The first group of codes is optimized for the first CPU, the second group of codes is optimized for the second CPU and the first group of codes comprises at least one code different from the code for the second group of codes
Another embodiment of the present invention discloses an electronic system control method, for controlling an electronic system comprising a first CPU and a second CPU. The electronic system control method comprises: (a) controlling the electronic system to perform a main function comprising at least one sub-function; and (b) performing following step while the electronic system performing the sub-function: (b1) applying the first CPU to execute a first group of codes comprising at least one code if the step (b1) determines the first CPU is operating to perform a first function; and (b2) applying the second CPU to execute a second group of codes comprising at least one code if the step (b1) determines the second CPU is operating to perform the first function. The first group of codes is optimized for the first CPU, the second group of codes is optimized for the second CPU and the first group of codes comprises at least one code different from the code for the second group of codes
Still another embodiment of the present invention discloses an electronic system, which comprises: a first CPU; a second CPU. If the first CPU operates to perform a first function, the first CPU executes a first group of codes. If the second CPU operates to perform the first function, the second CPU executes a second group of codes.
Another embodiment of the present invention discloses an electronic system configured to perform a main function comprising at least one sub-function. The electronic system comprises: a first CPU, configured to execute a first group of codes comprising at least one code if the first CPU perform a first sub-function included in the main function; and a second CPU, configured to execute a second group of codes comprising at least one code if the second CPU perform the first sub-function. The first group of codes comprises at least one code different from codes for the second group of codes.
In view of above-mentioned embodiments, different CPUs can execute different codes even if the CPUs perform the same function or the same sub-function, thus the performance of the CPUs can be optimized.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
Many embodiments are provided as examples to explain the concept of the present invention. Please note the following embodiments are applied to two CPUs (first and second). However, the present invention can be applied to more than two CPUs.
Step 101
If the first CPU is operating to perform the first function, go to step 103. Also, if the second CPU is operating to perform the first function, go to step 105.
Please note the first function here means the steps 103 and 105 perform the same function, and does not mean that the steps 103 and 105 are performed only for some specific functions.
In one embodiment, the step of determining which one of the first CPU and the second CPU is operating is performed before the step 101.
Step 103
Apply the first CPU to execute a first group of codes comprising at least one code if the step 101 determines the first CPU is operating.
Step 105
Apply the second CPU to execute a second group of codes comprising at least one code if the step 101 determines the second CPU is operating.
The first group of codes comprises at least one code different from the codes in the second group of codes.
Many methods can be applied to decide the timing for performing the method depicted in
The first CPU and the second CPU can be various kinds of combinations. For example, the first CPU and the second CPU apply ARM® big.LITTLE™ architecture. In such example, the first CPU is a big core CPU such as CA57 or CA17 and the second CPU is a little core CPU such as CA53 or CA7. In one embodiment, the first CPU and the second CPU have different power consumption. In another embodiment, the first CPU and the second CPU operate at different operating frequencies. In still another embodiment, the first CPU can perform more functions than the second CPU (i.e. the first CPU is more powerful than the second CPU).
Many methods can be applied to determine which one of the first CPU and the second CPU is operating. In one embodiment, the first CPU and the second CPU apply above-mentioned ARM® big.LITTLE™ architecture, the information for which one of the first CPU and the second CPU is operating (i.e. the CPU information) can be acquired via reading a register.
The embodiment in
Step 401
The electronic system starts to perform a main function. The main function may comprise a plurality of sub-functions. For example, a main function “displaying a movie” may comprise sub-functions of “displaying the audio data” and “playing the voice data”. In other words, the main function corresponds to a main program comprising at least one sub program corresponding to at least one sub function. In this embodiment, the main function comprises three sub-functions “sub-function A”, “sub-function B”, and “sub-function C”.
Step 403
Execute common codes. That is, in such step either the first CPU or the second CPU executes the same code while it is operating.
Step 405
Perform the sub-function A.
Step 407
Execute common codes.
Step 409
Perform the sub-function B.
Step 411
Perform the sub-function C.
In one embodiment, the method illustrated in
Please note, in the embodiments depicted in
Step 601
Control the electronic system to perform a main function comprising at least one sub-function.
Step 603
Perform the steps 101, 103 and 105 in
Other detail operations for the electronic system 700 have been depicted in abovementioned embodiments, thus not illustrated here.
In view of above-mentioned embodiments, different CPUs can execute different codes, thus the performance of the CPUs can be optimized.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
This application claims the benefit of U.S. Provisional Application No. 61/983,601, filed on Apr. 24, 2014, and U.S. Provisional Application No. 61/984,959, filed on Apr. 28, 2014, the contents of which are incorporated herein by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2015/077380 | 4/24/2015 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2015/161826 | 10/29/2015 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5845094 | Beauchamp | Dec 1998 | A |
8661226 | Garland | Feb 2014 | B2 |
9280395 | Jiang | Mar 2016 | B2 |
20100077472 | Kaabouch | Mar 2010 | A1 |
20140181830 | Naik | Jun 2014 | A1 |
20150121048 | Lukefahr | Apr 2015 | A1 |
20160019130 | Kruglick | Jan 2016 | A1 |
Number | Date | Country |
---|---|---|
101436121 | May 2009 | CN |
101556534 | Oct 2009 | CN |
101630273 | Jan 2010 | CN |
Entry |
---|
ARM, Cortex-M4 Devices Generic User Guide, ARM, 2010. |
“International Search Report” mailed on Jul. 1, 2015 for International application No. PCT/CN2015/077380, International filing date:Apr. 24, 2015. |
Number | Date | Country | |
---|---|---|---|
20160179747 A1 | Jun 2016 | US |
Number | Date | Country | |
---|---|---|---|
61983601 | Apr 2014 | US | |
61984959 | Apr 2014 | US |