WO2016008066A1 - 一种多核处理器的管理方法及装置 - Google Patents

一种多核处理器的管理方法及装置 Download PDF

Info

Publication number
WO2016008066A1
WO2016008066A1 PCT/CN2014/082136 CN2014082136W WO2016008066A1 WO 2016008066 A1 WO2016008066 A1 WO 2016008066A1 CN 2014082136 W CN2014082136 W CN 2014082136W WO 2016008066 A1 WO2016008066 A1 WO 2016008066A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor
core processor
core
cache hit
ratio value
Prior art date
Application number
PCT/CN2014/082136
Other languages
English (en)
French (fr)
Inventor
杨同增
魏孔刚
彭钰
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP14897637.6A priority Critical patent/EP3121684B1/en
Priority to PCT/CN2014/082136 priority patent/WO2016008066A1/zh
Priority to CN201480001445.XA priority patent/CN104363988B/zh
Priority to US15/307,931 priority patent/US10317931B2/en
Publication of WO2016008066A1 publication Critical patent/WO2016008066A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to the field of communications, and in particular, to a method and an apparatus for managing a multi-core processor.
  • Multi-core technology enables computers to process tasks in parallel, swap space for time, and greatly improve computer performance. From the design architecture of the multi-core processor, it is mainly divided into a synchronous (symmetric) architecture and an asynchronous (asymmetric) architecture.
  • the processor of the synchronous architecture shares all system resources, and the processor of the asynchronous architecture manages its own resources.
  • system resources are shared by all processors in a multi-core processor, using synchronous L2 caches, all processors using the same frequency and supply voltage, and the system cannot For each core to adjust the frequency and supply voltage based on usage, the L2 cache is shared by all processors and its frequency cannot be adjusted individually for each processor.
  • the frequency and power supply voltage of the processor with a lighter task usage need to follow the task usage rate.
  • the frequency of the processor and the power supply voltage make the frequency of the processor with a lighter task usage and the power supply voltage at a relatively high value, resulting in waste of energy.
  • the asynchronous L2 cache interface is used, and the frequency and supply voltage of all processors and L2 caches can be individually adjusted according to system usage.
  • the hit rate of a processor's L1 cache is low, data needs to be obtained from the L2 cache.
  • the speed of the L2 cache corresponding to each processor in the ASMP architecture can be adjusted separately according to the processor usage.
  • the processor needs to wait for a long time to obtain data from the lower frequency secondary cache;
  • the processor needs to wait longer to get the data from the L1 cache of the lower frequency processor. Longer processor latency causes the actual utilization of the processor to decrease, and the processor is in a high frequency, high voltage state during latency, affecting system power consumption. Summary of the invention
  • the embodiment of the invention provides a method and a device for managing a multi-core processor, which are used to solve the power loss caused by the same frequency and the power supply voltage in the prior art, and the cache hit rate at the processor level is not in the prior art. High, and need to go to the processor at a lower frequency and the technical problem of power loss in the case of corresponding cache acquisition data.
  • the present invention provides a method for managing a multi-core processor, the method comprising: if the current working mode of the multi-core processor is an asymmetric multi-processing ASMP mode, at least one of a processor other than the requesting data If the operating frequency of the other processor is less than the first frequency, and the cache hit ratio value corresponding to the at least one other processor is greater than or equal to the first threshold, the working mode of the multi-core processor is switched.
  • a symmetric multi-processing SMP mode if the current working mode of the multi-core processor is the SMP mode, the cache hit ratio value corresponding to the one processor is greater than or equal to the second threshold, and the processors in the multi-core processor If the usage rate is unbalanced, and the usage rate of the N processors in the multi-core processor is greater than the first usage threshold, the operating mode of the multi-core processor is switched to the ASMP mode; wherein, N is greater than or equal to 1 and less than or equal to the number of processors in the multi-core processor minus one.
  • the cache hit ratio value corresponding to the at least one other processor by the one processor is specifically that the one processor corresponds to the at least one other processor
  • the L2 cache hit ratio value; the cache hit ratio value corresponding to the one processor is specifically the L1 cache hit ratio value of the one processor.
  • the cache hit ratio value corresponding to the at least one other processor by the one processor is specifically that the one processor corresponds to the at least one other processor
  • the L2 cache hit ratio value; the cache hit ratio value corresponding to the one processor is specifically a L2 cache hit ratio value corresponding to the one processor.
  • the cache hit ratio value corresponding to the at least one other processor by the one processor is specifically that the one processor corresponds to the at least one other processor The level 1 cache hit ratio value; the cache hit ratio value corresponding to the one processor is specifically a level 1 cache hit ratio value of the one processor.
  • the cache hit ratio value corresponding to the at least one other processor by the one processor is specifically that the one processor corresponds to the at least one other processor The level 1 cache hit ratio value; the cache hit ratio value corresponding to the one processor is specifically a level 2 cache hit ratio value corresponding to the one processor.
  • the working mode of the multi-core processor is switched to the SMP mode, or the working mode of the multi-core processor is switched.
  • the ASMP mode the relationship between the application scenario of the chip system in which the multi-core processor is located and the working mode after the multi-core processor is switched is stored.
  • the storage device The relationship between the application scenario of the chip system in which the multi-core processor is located and the working mode of the multi-core processor after switching includes: if the application scenario of the chip system in which the multi-core processor is located in the first predetermined time interval is used If the number of times of use of the multi-core processor with the number of times greater than or equal to B1 and the number of times of use is greater than or equal to the ratio of the number of uses of the operation mode of the multi-core processor having a small number of uses, the storage location Multi-core processor The relationship between the application scenario of the chip system and the working mode of the multi-core processor after switching; wherein, M is an integer greater than 1; and B1 is an integer greater than or equal to 2.
  • the storage device After the working mode of the multi-core processor is switched to the SMP mode, or the working mode of the multi-core processor is switched to the ASMP mode, the storage device
  • the relationship between the application scenario of the chip system in which the multi-core processor is located and the working mode of the multi-core processor after switching further includes: if the corresponding application scenario of the chip system in which the multi-core processor is located in the first predetermined time interval The ratio of the number of uses of the operating mode of the multi-core processor that is used less than the B1 or the number of times of use to the operating mode of the multi-core processor that is used less frequently is smaller than the M, During the second predetermined time interval after the first predetermined time interval, if the number of times of application scenarios of the corresponding chip system in which the multi-core processor is located in the second predetermined time interval is greater than or equal to B2, and the number of uses is large The number of times the working mode of the multi-core processor is used and the operation of the multi-
  • the third aspect is performed after the storing the association relationship in the database Step, if the working mode of the multi-core processor obtained after the execution indicates that the working mode of the multi-core processor corresponding to the application scenario is different from the working mode of the stored multi-core processor corresponding to the application scenario, And clearing an association relationship between an application scenario of the chip system where the multi-core processor is located and a working mode of the multi-core processor after switching.
  • the multi-core processing associated with the current application scenario is searched according to a current application scenario of the chip system in which the multi-core processor is located a working mode of the device; if the multi-core is associated with the current application scenario The working mode of the processor determines the current working mode of the multi-core processor as the working mode of the multi-core processor found; if the working mode of the multi-core processor associated with the current application scenario is not found, Then performing the steps described in the first aspect to determine an operating mode of the multi-core processor associated with the current application scenario.
  • the present invention provides a processor including a processing hardware platform that executes instructions stored on a non-transitory computer readable storage medium for performing functions of a plurality of modules.
  • the plurality of modules include: an obtaining module, configured to acquire an operating frequency of at least one other processor than a processor requesting data, and a cache hit ratio value corresponding to the at least one other processor by the one processor, a cache hit ratio value corresponding to the one processor, and a usage rate of the N processors in the multi-core processor; a determining module, configured to determine that the current working mode of the multi-core processor is an asymmetric multi-processing ASMP mode Whether the operating frequency of the at least one other processor other than one processor requesting the data is less than the first frequency, and whether the cache hit ratio value corresponding to the at least one other processor of the one processor is greater than or equal to the first a threshold value; and, for judging that the current working mode of the multi-core processor is SMP mode, Whether the cache hit ratio value corresponding to one
  • N is greater than or equal to 1, and less than or equal to the number of processors in the multi-core processor minus one.
  • the cache hit ratio value corresponding to the at least one other processor by the one processor is specifically that the one processor corresponds to the at least one other processor The L2 cache hit ratio value; the cache hit ratio value corresponding to the one processor is specifically the L1 cache hit ratio value of the one processor.
  • the cache hit ratio value corresponding to the at least one other processor by the one processor is specifically that the one processor corresponds to the at least one other processor The L2 cache hit ratio value; the cache hit ratio value corresponding to the one processor is specifically the L2 cache hit ratio value of the one processor.
  • the cache hit ratio value corresponding to the at least one other processor by the one processor is specifically that the one processor corresponds to the at least one other processor The level 1 cache hit ratio value; the cache hit ratio value corresponding to the one processor is specifically a level 1 cache hit ratio value of the one processor.
  • the cache hit ratio value corresponding to the at least one other processor by the one processor is specifically that the one processor corresponds to the at least one other processor The level 1 cache hit ratio value; the cache hit ratio value corresponding to the one processor is specifically a level 2 cache hit ratio value corresponding to the one processor.
  • the multiple modules further include: a storage module, configured to switch in an operating mode of the multi-core processor For SMP mode, or after the operating mode of the multi-core processor is switched to ASMP mode, storage The relationship between the application scenario of the chip system in which the multi-core processor is located and the working mode of the multi-core processor after switching.
  • the storage module is specifically configured to use the application scenario of the corresponding chip system in which the multi-core processor is located in the first predetermined time interval is greater than or When the ratio of the number of uses of the operation mode of the multi-core processor equal to B1 and the number of times of use to the operation mode of the multi-core processor having a small number of uses is greater than or equal to M, storing the multi-core processing The relationship between the application scenario of the chip system and the working mode of the multi-core processor after switching; wherein, M is an integer greater than 1; and B1 is an integer greater than or equal to 2.
  • the storage module is further configured to use, in a first predetermined time interval, an application scenario of the corresponding chip system in which the multi-core processor is located is smaller than Said B1, or the ratio of the operating mode of the multi-core processor having a higher number of uses to the operating mode of the multi-core processor having a lower number of uses is smaller than the M, and the second after the first predetermined time interval During a predetermined time interval, if the number of times of use of the application scenario of the corresponding chip system in which the multi-core processor is located in the second predetermined time interval is greater than or equal to B2, and the usage mode of the multi-core processor having a higher number of uses is used Storing an application scenario of the chip system in which the multi-core processor is located and a work after switching of the multi-core processor when the ratio of the number of times of use of the operation mode of the multi-core processor that is less than the number of times of use is greater than or equal to the M
  • the multiple modules further include:
  • An execution module configured to perform the steps of the second aspect, after the third predetermined time interval after the storing the association relationship in the database;
  • the determining module is further configured to determine that the execution result indication corresponds to the multi-core of the application scenario Whether the working mode of the processor is different from the working mode of the multi-core processor stored in the learning database corresponding to the application scenario;
  • a clearing module configured to: when the determining result of the determining module indicates that the working mode of the multi-core processor corresponding to the application scenario is different from the working mode of the multi-core processor stored in the learning database corresponding to the application scenario And clearing an association relationship between an application scenario of the chip system where the multi-core processor is located and a working mode of the multi-core processor after switching.
  • the multiple modules further include: a searching module, configured to: according to a current application scenario of the chip system where the multi-core processor is located, Finding an operation mode of the multi-core processor associated with the current application scenario; determining a module, configured to: when the working mode of the multi-core processor associated with the current application scenario is found, The current working mode is determined to be the working mode of the multi-core processor found; when the working mode of the multi-core processor associated with the current application scenario is not found, performing the steps described in the second aspect to determine The working mode of the multi-core processor associated with the current application scenario.
  • a searching module configured to: according to a current application scenario of the chip system where the multi-core processor is located, Finding an operation mode of the multi-core processor associated with the current application scenario
  • determining a module configured to: when the working mode of the multi-core processor associated with the current application scenario is found, The current working mode is determined to be the working mode of the multi-core processor found; when the working mode of the multi-core processor associated with the current application scenario is
  • the processor is one of the multi-core processors.
  • the processor is a scheduling processor.
  • the acquiring module is specifically configured to acquire, from the memory in the multi-core processor, one processor storage in the multi-core processor In the memory, a first-level cache hit rate value of one processor in the multi-core processor.
  • the present invention provides a processor, including: an obtaining module, configured to acquire an operating frequency of at least one other processor than a processor requesting data, where the one processor processes the at least one other Corresponding cache hit ratio value, the corresponding cache life of the one processor a ratio value, and a usage rate of the N processors in the multi-core processor; a determination module, configured to determine, when the current working mode of the multi-core processor is an asymmetric multi-processing ASMP mode, in addition to processing a request data Whether the operating frequency of the at least one other processor outside the device is less than the first frequency, and whether the cache hit ratio value corresponding to the at least one other processor is greater than or equal to the first threshold; and Determining whether the cache hit ratio value corresponding to the one processor is greater than or equal to the second threshold when the working mode of the multi-core processor is in the SMP mode, and whether the usage rate between the processors in the multi-core processor is Unbalanced, and the usage rate of the N processors in the multi-
  • N is greater than or equal to 1, and less than or equal to the number of processors in the multi-core processor minus one.
  • the cache hit ratio value corresponding to the at least one other processor by the one processor is specifically that the one processor corresponds to the at least one other processor The L2 cache hit ratio value; the cache hit ratio value corresponding to the one processor is specifically the L1 cache hit ratio value of the one processor.
  • the cache hit ratio value corresponding to the at least one other processor by the one processor is specifically the one processor for the The L2 cache hit ratio value corresponding to one of the other processors; the cache hit ratio value corresponding to the one processor is specifically the L2 cache hit ratio value of the one processor.
  • the cache hit ratio value corresponding to the at least one other processor by the one processor is specifically that the one processor corresponds to the at least one other processor The level 1 cache hit ratio value; the cache hit ratio value corresponding to the one processor is specifically a level 1 cache hit ratio value of the one processor.
  • the cache hit ratio value corresponding to the at least one other processor by the one processor is specifically that the one processor corresponds to the at least one other processor The level 1 cache hit ratio value; the cache hit ratio value corresponding to the one processor is specifically a level 2 cache hit ratio value corresponding to the one processor.
  • the processor further includes: a storage module, configured to switch to an operating mode of the multi-core processor The SMP mode, or the working mode of the multi-core processor is switched to the ASMP mode, and the relationship between the application scenario of the chip system in which the multi-core processor is located and the working mode after the multi-core processor is switched is stored.
  • the storage module is specifically configured to use the application scenario of the corresponding chip system in which the multi-core processor is located in the first predetermined time interval is greater than or When the ratio of the number of uses of the operation mode of the multi-core processor equal to B1 and the number of times of use to the operation mode of the multi-core processor having a small number of uses is greater than or equal to M, storing the multi-core processing The relationship between the application scenario of the chip system and the working mode of the multi-core processor after switching; wherein, M is an integer greater than 1; and B1 is an integer greater than or equal to 2.
  • the storage module is further The number of times of use of the application scenario of the chip system in which the multi-core processor is located in the first predetermined time interval is less than the B1, or the working mode and the number of times of use of the multi-core processor that are used more frequently
  • the ratio of the working mode of the multi-core processor is smaller than the M, in the second predetermined time interval after the first predetermined time interval, if the corresponding chip system of the multi-core processor is located in the second predetermined time interval
  • the number of times of use of the application scenario is greater than or equal to B2
  • the ratio of the number of times of use of the multi-core processor that is used more frequently to the number of times of use of the multi-core processor that is used less is greater than or equal to
  • the processor further includes:
  • An execution module configured to perform the steps of the second aspect, after the third predetermined time interval after the storing the association relationship in the database;
  • the determining module is further configured to determine, according to the execution result, whether an operation mode of the multi-core processor corresponding to the application scenario is different from an operation mode of the multi-core processor stored in the learning database corresponding to the application scenario;
  • a clearing module configured to: when the determining result of the determining module indicates that the working mode of the multi-core processor corresponding to the application scenario is different from the working mode of the multi-core processor stored in the learning database corresponding to the application scenario And clearing an association relationship between an application scenario of the chip system where the multi-core processor is located and a working mode of the multi-core processor after switching.
  • the processor further includes: a searching module, configured to search according to a current application scenario of the chip system where the multi-core processor is located An operation mode of the multi-core processor associated with the current application scenario; a determining module, configured to: when the working mode of the multi-core processor associated with the current application scenario is found, The current mode of operation of the multi-core processor is determined to be the operating mode of the multi-core processor found; when the operating mode of the multi-core processor associated with the current application scenario is not found, then the steps described in the second aspect are performed Determining an operating mode of the multi-core processor associated with the current application scenario.
  • the processor is one of the multi-core processors.
  • the processor is a scheduling processor.
  • the acquiring module is specifically configured to acquire, from the memory in the multi-core processor, one processor storage in the multi-core processor In the memory, a first-level cache hit rate value of one processor in the multi-core processor.
  • the present invention provides a multi-core processor comprising the first to twelfth possible implementations of the second aspect and the second aspect, and the first to tenth aspects of the third aspect and the third aspect Two possible implementations of the described processor.
  • the present invention provides a chip system comprising the multi-core processor of the fourth aspect.
  • the present invention provides a terminal, comprising the chip system of the fifth aspect.
  • the present invention provides a computer program product, the computer program product comprising a non-transitory computer readable storage medium storing instructions executed by the processor,
  • the instructions include the steps of any of the first aspect and its first to ninth possible implementations.
  • the present invention provides a computer readable storage medium, wherein the computer stores computer program code, when the computer program code is executed by a computer, the computer program code can cause the computer
  • the steps of any of the first aspect and its first to ninth possible implementations are performed.
  • the management method of the multi-core processor of the present invention is based on a processor other than the one requesting data Whether the operating frequency of one of the other processors is less than the first frequency, and whether the cache hit ratio value corresponding to the at least one other processor is greater than or equal to the first threshold; and a cache corresponding to the processor
  • the hit ratio value is greater than or equal to the second threshold, the usage rate between the processors in the multi-core processor is unbalanced, and the usage rate of the N processors in the multi-core processor is greater than the first usage threshold, and the multi-core processor is judged.
  • the working mode should be in SMP mode or ASMP mode.
  • the multi-core processor selects the ASMP mode when the usage rate is unbalanced and the processor usage in the multi-core processor is high, thereby avoiding the power loss caused by the same frequency and the power supply voltage;
  • the level cache hit rate is not high, and the SMP mode is selected in the case of acquiring data corresponding to the cache corresponding to the lower frequency processor, thereby avoiding unnecessary power loss.
  • FIG. 1 is a schematic diagram of an SMP architecture provided by the prior art
  • FIG. 2 is a schematic diagram of an ASMP architecture provided by the prior art
  • FIG. 3 is a flowchart of a method for managing a multi-core processor according to Embodiments 1 to 3 of the present invention
  • FIG. 4 is a flowchart of a method for managing a multi-core processor according to Embodiment 4 of the present invention
  • FIG. 5 is a structural block diagram of a processor according to Embodiments 5 to 6 of the present invention.
  • FIG. 6 is a structural block diagram of a processor according to Embodiment 7 of the present invention.
  • FIG. 7 is a structural block diagram of a multi-core processor according to Embodiment 8 of the present invention.
  • FIG. 8 is a structural block diagram of a chip system according to Embodiment 9 of the present invention.
  • FIG. 9 is a structural block diagram of a terminal according to Embodiment 10 of the present invention.
  • FIG. 10 is a structural block diagram of a mobile phone according to Embodiment 10 of the present invention. detailed description
  • processors and the multi-core processor involved in all the embodiments of the present invention are in the form of hardware or firmware, and do not belong to any form of software.
  • Step S101 Determine whether the working mode of the current multi-core processor is an ASMP mode or an SMP mode. If it is the SMP mode, it proceeds to step S102. If it is the ASMP mode, it proceeds to step S103.
  • Step S102 determining that when a cache hit ratio value corresponding to the one processor is greater than or equal to a second threshold, the usage rate between the processors in the multi-core processor is unbalanced, and N of the multi-core processors When the usage rate of the processor is greater than the first usage rate threshold, the process proceeds to step S104.
  • Step S103 determining that the operating frequency of the at least one other processor except the one processor that requests the data is smaller than the first frequency, and the cache hit ratio value corresponding to the at least one other processor of the one processor is greater than or equal to When the first threshold is reached, the process proceeds to step S105.
  • Step S104 Switch the working mode of the current multi-core processor to the ASMP mode.
  • Step S105 Switch the working mode of the multi-core processor to the SMP mode.
  • N is greater than or equal to 1, and is less than or equal to the number of processors in the multi-core processor.
  • the operating frequency of at least one other processor according to one processor other than the requested data is used. Less than the first frequency, and a processor has a cache hit ratio value corresponding to at least one other processor greater than or equal to the first threshold, and a cache hit ratio value corresponding to one processor is greater than or equal to a second threshold, the multi-core processor
  • the usage rate between the processors in the processor is unbalanced, and the usage rate of the N processors in the multi-core processor is greater than the judgment condition of the first usage threshold, and whether the working mode of the multi-core processor should be in the SMP mode or the ASMP.
  • the multi-core processor selects the ASMP mode when the usage rate is unbalanced and the processor usage in the multi-core processor is high, thereby avoiding the power loss caused by the same frequency and the power supply voltage;
  • the level cache hit rate is not high, and the SMP mode is selected in the case of acquiring data corresponding to the cache corresponding to the lower frequency processor, thereby avoiding unnecessary power loss.
  • This embodiment differs from the first embodiment on the basis of the first embodiment, and each of the following is different. Can be independent of each other:
  • the cache hit ratio value corresponding to a processor in the step S102 in the first embodiment may be a level 1 cache hit ratio value of a processor or a level 2 cache hit ratio value corresponding to a processor.
  • step S102 in the first embodiment although the L2 caches of all the processors are physically connected (as shown in FIG. 1), they can still be logically divided into each as shown in FIG. 2
  • the processor has its corresponding secondary cache area. Only the operating voltage and working frequency of the L2 cache corresponding to each processor are the same.
  • the level 1 cache hit ratio value is the value of the hit rate of the level 1 cache.
  • the L2 cache hit ratio value includes two specific calculation methods.
  • the cache hit ratio value corresponding to the at least one other processor in the step S103 in the first embodiment may be a second-level cache hit ratio value corresponding to the at least one other processor by the one processor. Or the first-level cache hit ratio value corresponding to the at least one other processor by the one processor.
  • the above one processor has two calculation methods for the L2 cache hit ratio value corresponding to the at least one other processor.
  • the above one processor has two calculation methods for the level 1 cache hit ratio value corresponding to the at least one other processor.
  • the time interval for obtaining the cache hit ratio value of one of the multi-core processors is generally in the order of milliseconds, as may be set to 20 milliseconds.
  • the cache corresponding to one processor includes a level 1 cache and a level 2 cache corresponding to the processor. As shown in FIG. 1 and 2, the corresponding level 1 cache of the processor is located in the processor (not shown), and the corresponding level 2 cache of the processor is located outside the processor. As shown in Figure 1, each processor shares the same L2 cache. As shown in FIG. 2, the secondary caches corresponding to the processors are logically separated, and are respectively owned by the respective processors, but are physically connected to each other. Among them, the range of the first threshold and the second threshold are not limited. In theory, the first threshold and the second threshold can be any value between 1% and 100%. Specifically, the first threshold and the second threshold may both be an empirical value. For example, the first threshold and the second threshold may both be 80%. Choosing an average concept of using the cached hit ratio here helps to reduce fluctuations in the switching result due to the instantaneous concept of whether the current request data is hit (requested).
  • the processor when a processor requests data, the processor first searches for the data in its own corresponding level 1 cache. When the data is not found in its own corresponding level 1 cache, the processor finds the corresponding address of the data in the level 2 cache according to the correspondence between the addresses of the level 1 cache and the level 2 cache. When the corresponding address space of the data in the L2 cache belongs to the L2 cache corresponding to the at least one other processor in the multi-core processor, the processor needs to find and obtain the L2 cache corresponding to the at least one other processor. The data. When the operating frequency of the at least one other processor is lower than the first frequency, the operating frequency of the L2 cache corresponding to the at least one other processor is also lower, so the data is from the second level corresponding to the at least one other processor.
  • the one processor access detection control unit ( Snoop Control) in the multi-core processor Unit, SCU) is an access algorithm that obtains this data from the SCU.
  • the access algorithm for data in the SCU may be: when no data is found in the L2 cache corresponding to the at least one other processor, first accessing the L1 cache corresponding to the at least one other processor, if the at least one other process The data is stored in the corresponding level 1 cache of the corresponding processor, and the processor in the multi-core processor reads the data from the level 1 cache corresponding to the at least one other processor. If the data does not exist in the level 1 cache corresponding to the at least one other processor, the one of the multi-core processors reads the data from the memory.
  • the multi-core processor 1 0 0 0 includes a processor 500, a processor 600, a processor 700 and a processor 800.
  • the processor 5 0 0 , the processor 600 0 , the processor 700 and the processor 800 each include a respective level 1 cache (not shown).
  • the detection control unit 902 is located between each processor and the secondary cache 900, which is the central office of the multi-core processor 1000, and is responsible for each processor in the multi-core processor (see Figure 7).
  • the processor 500, the processor 600, the processor 700 and the processor 80) provide management of interconnection, arbitration, communication, inter-cache and system memory transfers, cache coherency, and other multi-core functions.
  • the SCU may be responsible for when the corresponding address space in the L2 cache is not found in the L2 cache corresponding to at least one other processor in the multi-core processor, according to the above algorithm, corresponding to the at least one other processor.
  • the data is read in the Level 1 cache, or the processor in the multi-core processor reads the data from memory (not shown in the figure, outside the multi-core processor 1 0 0 0).
  • the L2 cache 900 is connected to the detection control unit 902. When the data is not found in the L2 cache 900, the processor that initiated the data access can access the detection control unit 902, thereby The algorithm included in the detection control unit 902 accesses the level 1 cache or memory corresponding to the at least one other processor to access the data.
  • the operating frequency of the processor is related to the usage rate of the processor.
  • the usage rate of the processor refers to a percentage usage rate of the total execution time of the processor when the processor executes the non-system idle process. For example, if the processor works for 0.5 seconds in 1 second, then the processor usage is 50%.
  • the value of the first frequency may be a certain value in the low frequency range, for example, may be set to 500 MHz (megahertz) or less.
  • the usage rate of the N processors is greater than the first usage threshold, N is greater than or equal to 1, and is less than or equal to the number of processors in the multi-core processor minus one. . Because the usage of all processors in a multi-core processor is heavy (ie, greater than the first usage threshold), the operating mode of the multi-core processor can be SMP. Switching to ASMP at this time does not reflect the benefits of reduced power consumption.
  • the first usage threshold may be a heavier usage value, for example, may be set to 80% or greater.
  • the usage rate between the processors in the multi-core processor in step S102 is unbalanced, which means that the usage rate between the processors in the multi-core processor is large.
  • the large difference in usage means that the usage gap of at least one core and the other core of each processor is greater than the third threshold.
  • the specific value of the third threshold may be unlimited. For example, you can set the third threshold to be 50%. When four processors are included in a multi-core processor, when the usage difference of at least two of the four processors is greater than 50%, the usage rate between the four processors in the multi-core processor is unbalanced.
  • the embodiment is different from the first and second embodiments on the basis of the first embodiment and the second embodiment.
  • the working mode of the multi-core processor is switched to the SMP mode, or After the working mode of the multi-core processor is switched to the ASMP mode, one processor of the multi-core processor needs to store the relationship between the application scenario of the chip system in which the multi-core processor is located and the working mode of the multi-core processor after switching to A memory connected to the chip system where the multi-core processor is located.
  • the application scenario of the chip system in which the multi-core processor is stored and the multi-core processor are The location of the association of the switched operating modes may be in the memory 120 as in FIG.
  • the memory 120 may include a volatile storage medium such as a memory, and/or a non-volatile storage medium such as a hard disk.
  • the application scenarios of the chip system in which the multi-core processor is located include different scenarios, such as a single scenario, a dual scenario, and multiple scenarios.
  • the application scenario of the chip system in which the multi-core processor is located is a single scenario, that is, only one application running on the chip system, at this time, the working mode of the multi-core processor after the application running is recorded, and the working mode and the working mode are
  • the application (the application scenario of the chip system in which the multi-core processor is located) is stored in the memory.
  • the application scenario of the chip system in which the multi-core processor is located is only the e-book program
  • the corresponding multi-core processor switches to the working mode as ASMP, and the e-book and the ASMP are stored in association.
  • the application scenario of the chip system in which the multi-core processor is located is a dual scenario or multiple scenarios, that is, there are at least two applications running on the chip system, it can be concluded that the working mode switching result of the multi-core processor does not need to run the program and multiple applications in the foreground.
  • the association relationship between the working modes of the multi-core processor is stored in the memory.
  • the number of times of using the application scenario of the corresponding chip system in which the multi-core processor is located in the first predetermined time interval is greater than or equal to B1
  • using the application scenario number in the first predetermined time interval The application scenario of the chip system in which the multi-core processor is located is compared with the multi-core, when the ratio of the number of times of using the working mode of the multi-core processor to the number of times of using the operating mode of the multi-core processor is less than or equal to M
  • M is an integer greater than 1
  • the B1 is an integer greater than or equal to 2.
  • the number of times of use of the application scenario of the corresponding chip system in which the multi-core processor is located in the first predetermined time interval is smaller than the B1, or the use of the application scenario is greater in the first predetermined time interval
  • the ratio of the number of uses of the operating mode of the multi-core processor to the number of uses of the operating mode of the multi-core processor that is used less frequently is less than the M, then the first pre- During the second predetermined time interval after the time interval, if the number of times of application scenarios of the corresponding chip system in which the multi-core processor is located in the second predetermined time interval is greater than or equal to B2, and the multi-core is used more frequently
  • B2 is an integer greater than or equal to 1.
  • Embodiment 1 or 2 in the third predetermined time interval after the association relationship is stored in the database, if the execution result indicates the working mode of the multi-core processor corresponding to the application scenario and the stored corresponding location
  • the working mode of the multi-core processor of the application scenario is different, and the stored working mode of the multi-core processor corresponding to the application scenario is not consistent with the working mode of the current multi-core processor, and the stored multi-core processing needs to be cleared.
  • the processor described in the multi-core processor clears the relationship between the application scenario of the chip system in which the multi-core processor is located and the working mode of the multi-core processor after switching, and replaces the original storage with the working mode of the current multi-core processor.
  • the working mode of the multi-core processor corresponding to the application scenario is to store the correspondence between the working mode of the current multi-core processor and the application scenario.
  • the processor in the multi-core processor stores the determined correspondence between the working mode of the current multi-core processor and the application scenario, and updates in time for subsequent query and Tampering.
  • Embodiment 4 This embodiment is based on Embodiments 1, 2 and 3. The difference is that, as shown in FIG. 4, the following steps are also included:
  • step S201 the working mode of the multi-core processor associated with the current application scenario is searched according to the current application scenario of the chip system in which the multi-core processor is located. If the working mode of the multi-core processor associated with the current application scenario is found, then step S202 is performed. If you don’t find it Referring to the working mode of the multi-core processor associated with the current application scenario, the process proceeds to step S203.
  • Step S202 Determine a current working mode of the multi-core processor as a working mode of the found multi-core processor.
  • Step S203 performing the steps of Embodiment 1 or 2 or 3 to determine an operation mode of the multi-core processor associated with the current application scenario.
  • the working mode of the multi-core processor corresponding to the application scenario may be queried according to the storage result.
  • the steps of the operation mode of the current multi-core processor as in the first or second or third embodiment can be avoided.
  • FIG. 5 is a structural block diagram of a processor of a multi-core processor according to an embodiment of the present invention.
  • the processor 500 can include a plurality of modules.
  • the processor 500 can also include a processing hardware platform that executes instructions stored on a non-transitory computer readable storage medium for performing functions of a plurality of modules, including the plurality of modules. :
  • the obtaining module 5001 is configured to acquire an operating frequency of at least one other processor than the one processor that requests the data, where the one processor corresponds to a cache hit ratio value corresponding to the at least one other processor, where the one processor corresponds to The cache hit ratio value, and the usage rate of the N processors in the multi-core processor.
  • the determining module 5002 is configured to determine, when the working mode of the multi-core processor is an asymmetric multi-processing ASMP mode, whether an operating frequency of at least one other processor except one processor that requests data is smaller than a first frequency, and Whether a cache hit ratio value corresponding to the at least one other processor is greater than or equal to a first threshold; and, for determining the current multi-core processor Whether the cache hit ratio value corresponding to the one processor is greater than or equal to the second threshold when the working mode is the SMP mode, whether the usage rate between the processors in the multi-core processor is unbalanced, and the multi-core Whether the usage rate of the N processors in the processor is greater than the first usage threshold.
  • the switching module 5003 is configured to: when the determining module determines that the working mode of the current multi-core processor is an asymmetric multi-processing ASMP mode, the working frequency of the at least one other processor except one processor that requests data is smaller than the first frequency. And the one processor switches the working mode of the multi-core processor to the symmetric multi-processing SMP mode when the cache hit ratio value corresponding to the at least one other processor is greater than or equal to the first threshold;
  • the operating mode of the current multi-core processor determined by the determining module is an SMP mode, and the cache hit ratio value corresponding to the one processor is greater than or equal to a second threshold, and the usage rate between the processors in the multi-core processor If the usage rate of the N processors in the multi-core processor is greater than the first usage threshold, the operating mode of the multi-core processor is switched to the ASMP mode.
  • N is greater than or equal to 1, and less than or equal to the number of processors in the multi-core processor minus
  • the operating frequency of the at least one other processor according to one processor other than the request data is smaller than the first frequency
  • the cache hit ratio value corresponding to the at least one other processor of one processor is greater than or Equal to the first threshold
  • the cache hit ratio value corresponding to one processor is greater than or equal to the second threshold
  • the usage rate between the processors in the multi-core processor is unbalanced
  • the N processors in the multi-core processor The usage rate is greater than the first usage rate threshold and other judgment conditions. Whether the working mode of the core processor should be in SMP mode or ASMP mode.
  • the multi-core processor selects the ASMP mode when the usage rate is unbalanced and the processor usage in the multi-core processor is high, thereby avoiding the power loss caused by the same frequency and the power supply voltage;
  • the level cache hit rate is not high, and the SMP mode is selected in the case of acquiring data corresponding to the cache corresponding to the lower frequency processor, thereby avoiding unnecessary power loss.
  • the embodiment is different from the fifth embodiment in the fifth embodiment, and the plurality of modules of the processor 500 of the embodiment further includes a memory 5004 as shown in FIG. 5, for processing in the multi-core.
  • the working mode of the device is switched to the SMP mode, or the working mode of the multi-core processor is switched to the ASMP mode, and the relationship between the application scenario of the chip system in which the multi-core processor is located and the working mode after the switching of the multi-core processor is stored.
  • the storage module 5004 is specifically configured to be used in a working mode of the multi-core processor in which the number of times of application scenarios of the chip system where the multi-core processor is located in the first predetermined time interval is greater than or equal to B1, and the number of times of use is large.
  • M is an integer greater than 1
  • B1 is an integer greater than or equal to 2.
  • the storage module 5004 is further configured to: in a first predetermined time interval, the usage scenario of the corresponding application scenario of the chip system where the multi-core processor is located is smaller than the B1, or the working mode of the multi-core processor that is used more frequently The ratio of the number of uses to the number of uses of the operating mode of the multi-core processor that is used less frequently is less than the M, in a second predetermined time interval after the first predetermined time interval, if at a second predetermined time The number of times of use of the application scenario of the chip system in which the multi-core processor is located in the interval is greater than or equal to B2, and the number of times of using the multi-core processor of the multi-core processor and the number of times of use is less.
  • the multiple modules of the processor in this embodiment may further include an execution module 5005 as shown in FIG. 5, configured to execute the embodiment in a third predetermined time interval after the association relationship is stored in the database. One or two or three of the steps described.
  • the determining module 5002 is further configured to determine, according to the execution result, whether the working mode of the multi-core processor corresponding to the application scenario is different from the working mode of the stored multi-core processor corresponding to the application scenario. .
  • the plurality of modules shown in FIG. 5 further includes a clearing module 5006, configured to indicate, in the determining result of the determining module, that an operation mode of the multi-core processor corresponding to the application scenario is stored in a learning database.
  • the processor in the multi-core processor stores the determined correspondence between the working mode of the current multi-core processor and the application scenario, and updates in time for subsequent query and Tampering.
  • the embodiment is different from the sixth embodiment on the basis of the sixth embodiment.
  • the module of the processor 500 of the embodiment further includes: a searching module 5007,
  • the current application scenario of the chip system in which the multi-core processor is located finds the working mode of the multi-core processor associated with the current application scenario.
  • a determining module 5008 configured to determine a current working mode of the multi-core processor as a working mode of the multi-core processor found when finding an operating mode of the multi-core processor associated with the current application scenario; Not finding the work of the multi-core processor associated with the current application scenario In the mode, the steps of Embodiment 1 or 2 or 3 are performed to determine an operation mode of the multi-core processor associated with the current application scenario.
  • the working mode of the multi-core processor corresponding to the application scenario may be queried according to the storage result.
  • the processor of the fifth to seventh embodiments of the present invention may be one of the multi-core processors or a scheduling processor.
  • the scheduling processor is responsible for scheduling the resources of each processor in the multi-core processor.
  • the acquiring module in the processor is specifically configured to acquire, from the memory in the multi-core processor, one processor of the multi-core processor.
  • the embodiment provides a multi-core processor 1000.
  • the multi-core processor 1000 includes a processor 500, a processor 600, a processor 700, and a processor 800.
  • the processor has a total of four processors. Unit 902, and secondary cache 900.
  • the processor 500, the processor 600, the processor 700, and the processor 800 can perform the steps as described in Embodiment 1 or 2 or 3 in any of the 4 processors.
  • the relationship between the respective processors is coordinated, and the relationship between the level 1 cache and the level 2 cache is coordinated, and the access channels of the data are provided by the processors, thereby making each of the structures constituting the multi-core processor.
  • the embodiment provides a chip system 6000, including a multi-core processor 1000, a scheduling processor 2000, a modem chip 3000, a media chip 4000, and a peripheral interface 5000.
  • the structure and function of the multi-core processor 1000 are as described in the eighth embodiment, and details are not described herein again.
  • the multi-core processor 1000 can be a processor of a host operating system and an application running in a terminal where the chip system is located.
  • the scheduling processor 2000 generally includes a low power micro control unit (MCU) for scheduling the power and clock frequencies of the various processors in the multi-core processor 1000, and coordinating the multi-core processor 1000, and performing modulation and demodulation.
  • MCU low power micro control unit
  • the working sequence of the chip 3000, the media chip 4000, and the peripheral interface 5000 enables the multi-core processor 1000, the modem chip 3000, the media chip 4000, and the peripheral interface 5000 to work for a certain part or a certain number of times at a certain time. Partial work together.
  • the modem chip 3000 is used for processing the baseband signal. Specifically, the modem chip 3000 synthesizes the baseband signal to be transmitted, or decodes the received baseband signal.
  • the media chip 4000 is used to process image and/or video signals.
  • the media chip 4000 can include an image processor, an encoder, and a decoder.
  • a dedicated processor and an image two-dimensional processor can be included in the image processor.
  • the encoder and decoder encode and decode the image and/or video signals, respectively.
  • Peripheral interface 5000 can include various interfaces to external devices.
  • the peripheral interface 5000 may include an interface to connect to an external memory, an interface to connect an image or video collector, an interface to the display device, an interface to the input device, an interface to the power management module, and a connection to the wireless short-range communication device.
  • Interface, the interface connecting the sensor, the terminal where the chip system is located can be used as the interface of the USB slave device to connect to the host, and the terminal where the chip system is located can be connected as the USB host device to the interface of the USB plug-in device, the interface of the positioning module is connected, and the interface of the FM module is connected. , and interfaces for debugging, etc.
  • the terminal 7000 includes the chip system 6000 as described in the ninth embodiment.
  • the specific structure and function of the chip system 6000 have been described in detail in Embodiment 9, and are not described herein again.
  • the terminal 7000 may be a mobile terminal.
  • the mobile terminal may include a mobile phone, a tablet, a PDA (Personal Digital Assistant, personal Digital Assistant), POS (Point of Sales, Sales Terminal), Car Computer, etc.
  • FIG. 10 is a block diagram showing a part of the structure of a mobile phone 100 related to an embodiment of the present invention.
  • the mobile phone 100 includes: an RF (Radio Frequency) circuit 110, a memory 120, an input unit 130, a display unit 140, a sensor 150, an audio circuit 160,
  • RF Radio Frequency
  • WiFi wireless fidelity
  • power management module 180 power supply 190
  • frequency modulation module 191 camera 192
  • positioning module 193 positioning module 193 and the like.
  • the RF circuit 110 can be used for transmitting and receiving information or during a call, and receiving and transmitting signals. Specifically, after receiving the downlink information of the base station, the chip system 6000 is processed; in addition, the designed uplink data is sent to the base station.
  • RF circuits include, but are not limited to, an antenna, at least one amplifier, a transceiver, a coupler, an LNA (Low Noise Amplifier), a duplexer, and the like.
  • RF circuitry 110 can also communicate with the network and other devices via wireless communication.
  • the wireless communication may use any communication standard or protocol, including but not limited to GSM (Global System of Mobile communication), GPRS (General Packet Radio Service), CDMA (Code Division). Multiple Access, code division multiple access),
  • WCDMA Wideband Code Division Multiple Access
  • LTE Long
  • Term Evolution Long Term Evolution
  • Email Short Messaging Service
  • UMTS Universal Mobile Telecommunications System
  • TD-SCDMA Time Division- Synchronous Code Division Multiple Access, Time Division) Synchronous code division multiple access
  • the memory 120 can be used to store software programs and modules, and the processor 180 executes various functional applications and data processing of the mobile phone 100 by running software programs and modules stored in the memory 120.
  • the memory 120 can mainly include a storage program area and a storage data area, wherein the storage program area can store operations The system, at least one function required application (such as a sound playing function, a video playing function, etc.); the storage data area can store data (such as audio data, phone book, etc.) created according to the use of the mobile phone 100.
  • the memory 120 may include a high speed random access memory, and may also include a nonvolatile memory such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device such as a memory.
  • the input unit 130 can be configured to receive input numeric or character information and to generate key signal inputs related to user settings and function control of the handset 100.
  • the input unit 130 can include a touch panel 131 and other input devices 132.
  • the touch panel 131 also referred to as a touch screen, can collect touch operations on or near the user (such as the user using a finger, a stylus, or the like on the touch panel 131 or near the touch panel 131. Operation), and drive the corresponding connecting device according to a preset program.
  • the touch panel 131 can include two parts: a touch detection device and a touch controller.
  • the touch detection device detects the touch orientation of the user, and detects a signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts the touch information into contact coordinates, and sends the touch information.
  • the processor 180 is provided and can receive commands from the processor 180 and execute them.
  • the touch panel 131 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
  • the input unit 130 may also include other input devices 132.
  • other input devices 132 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, joysticks, and the like.
  • the display unit 140 can be used to display information input by the user or information provided to the user and various menus of the mobile phone 100.
  • the display unit 140 can include a display panel 141, optionally, can be used
  • the display panel 141 is configured in the form of an LCD (Liquid Crystal Display), an OLED (Organic Light-Emitting Diode), or the like. Further, the touch panel 131 can cover the display panel 141. When the touch panel 131 detects a touch operation on or near the touch panel 131, the touch panel 131 transmits to the processor 180 to determine the type of the touch event, and then the processor 180 according to the touch event. Type in the display panel A corresponding visual output is provided on 141.
  • the touch panel 131 and the display panel 141 are two independent components to implement the input and input functions of the mobile phone 100, in some embodiments, the touch panel 131 may be integrated with the display panel 141. The input and output functions of the mobile phone 100 are implemented.
  • the handset 100 can also include at least one type of sensor 150, such as a light sensor, motion sensor, and other sensors.
  • the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 141 according to the brightness of the ambient light, and the proximity sensor may close the display panel 141 when the mobile phone 100 moves to the ear. / or backlight.
  • the accelerometer sensor can detect the magnitude of acceleration in all directions (usually three axes). When it is stationary, it can detect the magnitude and direction of gravity.
  • the audio circuit 160, the speaker 161, and the microphone 162 can provide an audio interface between the user and the handset 100.
  • the audio circuit 160 can transmit the converted electrical data of the received audio data to the speaker 161 for conversion to the sound signal output by the speaker 161; on the other hand, the microphone 162 converts the collected sound signal into an electrical signal by the audio circuit 160. After receiving, it is converted into audio data, and the audio data is output to the RF circuit 108 for transmission to, for example, another mobile phone, or the audio data is output to the memory 120 for further processing.
  • WiFi and Bluetooth are short-range wireless transmission technologies.
  • the mobile phone 100 can help users to send and receive e-mail, browse web pages and access streaming media through the WiFi/Bluetooth module 170, which provides users with wireless broadband Internet access.
  • FIG. 10 shows the WiFi/Bluetooth module 170, it will be understood that it does not belong to the essential configuration of the mobile phone 100, and may be omitted as needed within the scope of not changing the essence of the invention.
  • the chip system 6000 is the control center of the handset 100, which connects various portions of the entire handset using various interfaces and lines, by running or executing software programs and/or modules stored in the memory 120, and recalling data stored in the memory 120, The various functions and processing data of the mobile phone 100 are executed to perform overall monitoring of the mobile phone.
  • the chip system 6000 can include one or more processing orders.
  • the chip system 6000 can integrate an application processor and a modem processor, wherein the application processor mainly processes an operating system, a user interface, an application, etc., and the modem processor mainly processes wireless communication. It can be understood that the above modem processor may not be integrated into the chip system 6000.
  • the mobile phone 100 further includes a power source 190 (such as a battery) for supplying power to various components.
  • a power source 190 such as a battery
  • the power source can be logically connected to the chip system 6000 through the power management module 180, thereby managing functions such as charging, discharging, and power consumption through the power management module 180. .
  • the mobile phone 100 may further include a frequency modulation module 191, a camera 192, and a positioning module.
  • the data is removed according to the basis of one processor in the multi-core processor.
  • At least one other processor outside of one processor operates at a lower frequency than the first frequency, and a processor has a cache hit ratio value corresponding to at least one other processor greater than or equal to a first threshold, and a cache corresponding to one processor
  • the hit ratio value is greater than or equal to the second threshold, the usage rate between the processors in the multi-core processor is unbalanced, and the usage rate of the N processors in the multi-core processor is greater than the first usage threshold and the like.
  • the multi-core processor selects the ASMP mode when the usage rate is unbalanced and the processor usage in the multi-core processor is high, thereby avoiding the power loss caused by the same frequency and the power supply voltage;
  • the level cache hit rate is not high, and you need to select the cache corresponding to the lower frequency processor to obtain data.
  • Embodiment 11 If the application scenario of the chip system in which the multi-core processor is located is a single scenario, that is, only one application running on the chip system, as described in the third embodiment, the multi-core processor that needs to run the application is switched.
  • the working mode is stored in the memory in association with the application (the application scenario of the chip system in which the multi-core processor is located).
  • the working mode of the multi-core processor that obtains the running of the application may not be performed in the manner of the first embodiment or the second embodiment.
  • the working mode of the multi-core processor when the application is running is determined by measuring the power consumption of the terminal when the application is running. Obtained. As shown in FIG.
  • the power consumption of the terminal 7000 of the application runtime can be measured by using a power consumption measuring instrument (such as a DC voltage regulator) connected to the power source 190 or a fuel gauge.
  • a power consumption measuring instrument such as a DC voltage regulator
  • the power consumption of the terminal 7000 when the SMP and the ASMP are running is the terminal 7000 of the SMP.
  • the power consumption and the operating mode of the multi-core processor when the application is running are compared to the power consumption of the terminal 7000 in the ASMP.
  • the operating mode of the multi-core processor with relatively small power consumption is the multi-core processor running the application.
  • Working mode The operating mode of the multi-core processor when the application is running is stored in the memory in association with the application.
  • this embodiment by measuring the power consumption of the measuring terminal connected to the power source 190, the terminal power consumption when the operating modes of the multi-core processor are ASMP and SMP, respectively, can be measured. By comparing the power consumption of the two, confirm the working mode of the multi-core processor when the current application is running. Therefore, this embodiment can provide a more direct way of confirming the power consumption of the terminal in the single scene mode.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the present invention is applicable to one or more computer usable storage media (including but not limited to disk storage, including computer usable program code,
  • These computer program instructions can also be stored in a bootable computer or other programmable data processing device.
  • a computer readable memory that operates in a particular manner, causing instructions stored in the computer readable memory to produce an article of manufacture comprising an instruction device implemented in one or more flows and/or block diagrams of the flowchart The function specified in the box or in multiple boxes.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Power Sources (AREA)

Abstract

一种多核处理器的管理方法,该方法包括:若当前所述多核处理器的工作模式为非对称多处理ASMP模式,除请求数据的一个处理器外的至少一个其他处理器的工作频率小于第一频率,且所述一个处理器对于所述至少一个其他处理器对应的缓存命中比例值大于或等于第一阈值(S103),将所述多核处理器的工作模式切换为对称多处理SMP模式(S105);若当前所述多核处理器的工作模式为SMP模式,所述一个处理器对应的缓存命中比例值大于或等于第二阈值,所述多核处理器中的各处理器之间使用率不均衡,且所述多核处理器中N个处理器的使用率大于第一使用率阈值(S102),将所述多核处理器的工作模式切换为ASMP模式(S104);其中,N大于或等于1,且小于或等于所述多核处理器中处理器个数减一。

Description

一种多核处理器的管理方法及装置
技术领域
本发明涉及通信领域, 特别涉及一种多核处理器的管理方法及装置。
背景技术
由于计算机处理的内容越来越多,仅仅提高单核处理器的主频会产生过多 热量且无法带来相应的性能改善, 因此出现了多核处理器。 多核技术使得计算 机能够并行处理任务, 以空间换取时间, 大大改善了计算机性能。 从多核处理 器的设计架构上, 主要分为同步(对称)架构与异步(非对称)架构, 同步架 构的处理器共享所有系统资源, 异步架构的处理器管理自己的资源。
如图 1所示的对称多处理(Symmetric Multiprocessing, SMP ) 架构中, 系统资源被多核处理器中所有处理器共享,使用同步的二级緩存, 所有处理器 使用同一个频率和电源电压,系统不能为每个核根据使用率调整频率和电源电 压, 二级緩存被所有处理器共享且其频率不能为每个处理器单独调整。 当系统中的每个核使用率出现不均衡时, 由于 SMP架构所有处理器使用 同一个频率与电源电压,则任务使用率较轻的处理器的频率和电源电压需要跟 随任务使用率较重的处理器的频率和电源电压 ,使得任务使用率较轻的处理器 的频率和电源电压处于相对较高值, 造成了能量的浪费。 如图 2所示的非对称多处理(Asymmetric Multiprocessing, ASMP ) 架构 中,使用异步的二级緩存接口, 所有处理器和二级緩存的频率和电源电压能够 根据系统使用率各自单独调整。 当某个处理器的一级緩存的命中率较低时, 需要从二级緩存中获取数据, 由于 ASMP 架构中各处理器所对应的二级緩存的速度可根据处理器使用率单独调 整, 若此时欲获取的数据在频率较低的处理器对应的二级緩存里时, 则该处理 器需要等待较长时间才可以从频率较低的二级緩存中得到数据;若此时欲获取 的数据在频率较低的处理器对应的一级緩存里时,则处理器需要等待更长时间 才可以从频率较低的处理器的一级緩存中得到数据。较长的处理器等待时间使 得处理器的实际利用率降低, 且等待时间里该处理器处于高频率高电压状态, 影响系统功耗。 发明内容
本发明实施例提供一种多核处理器的管理方法及装置,用于解决现有技术 中在使用率不均衡情况下相同频率和电源电压导致的功耗损失以及在处理器 一级緩存命中率不高,且需要去处于较低频率的处理器和对应緩存获取数据情 况下的功耗损失的技术问题。
第一方面, 本发明提供一种多核处理器的管理方法, 所述方法包括: 若当 前所述多核处理器的工作模式为非对称多处理 ASMP模式, 除请求数据的一 个处理器外的至少一个其他处理器的工作频率小于第一频率,且所述一个处理 器对于所述至少一个其他处理器对应的緩存命中比例值大于或等于第一阔值, 则将所述多核处理器的工作模式切换为对称多处理 SMP模式; 若当前所述多 核处理器的工作模式为 SMP模式, 所述一个处理器对应的緩存命中比例值大 于或等于第二阔值, 所述多核处理器中的各处理器之间使用率不均衡, 且所述 多核处理器中 N个处理器的使用率大于第一使用率阔值, 则将所述多核处理 器的工作模式切换为 ASMP模式; 其中, N大于或等于 1 , 且小于或等于所 述多核处理器中处理器个数减一。 结合第一方面,在第一种可能的实现方式中, 所述一个处理器对于所述至 少一个其他处理器对应的緩存命中比例值具体为所述一个处理器对于所述至 少一个其他处理器对应的二级緩存命中比例值;所述一个处理器对应的緩存命 中比例值具体为所述一个处理器的一级緩存命中比例值。 结合第一方面,在第二种可能的实现方式中, 所述一个处理器对于所述至 少一个其他处理器对应的緩存命中比例值具体为所述一个处理器对于所述至 少一个其他处理器对应的二级緩存命中比例值;所述一个处理器对应的緩存命 中比例值具体为所述一个处理器对应的二级緩存命中比例值。 结合第一方面,在第三种可能的实现方式中, 所述一个处理器对于所述至 少一个其他处理器对应的緩存命中比例值具体为所述一个处理器对于所述至 少一个其他处理器对应的一级緩存命中比例值;所述一个处理器对应的緩存命 中比例值具体为所述一个处理器的一级緩存命中比例值。 结合第一方面,在第四种可能的实现方式中, 所述一个处理器对于所述至 少一个其他处理器对应的緩存命中比例值具体为所述一个处理器对于所述至 少一个其他处理器对应的一级緩存命中比例值;所述一个处理器对应的緩存命 中比例值具体为所述一个处理器对应的二级緩存命中比例值。
结合第一方面及第一至第四种可能的实现方式,在第五种可能的实现方式 中, 在所述多核处理器的工作模式切换为 SMP模式, 或者所述多核处理器的 工作模式切换为 ASMP模式后, 存储所述多核处理器所在芯片系统的应用场 景与所述多核处理器切换后的工作模式的关联关系。 结合第五种可能的实现方式,在第六种可能的实现方式中,在所述多核处 理器的工作模式切换为 SMP模式, 或者所述多核处理器的工作模式切换为 ASMP模式后,存储所述多核处理器所在芯片系统的应用场景与所述多核处理 器切换后的工作模式的关联关系, 包括: 如果在第一预定时间间隔内对应的所 述多核处理器所在芯片系统的应用场景的使用次数大于或等于 B1 , 且使用次 数较多的所述多核处理器的工作模式的使用次数与使用次数较少的所述多核 处理器的工作模式的使用次数的比值大于或等于 M, 则存储所述多核处理器 所在芯片系统的应用场景与所述多核处理器切换后的工作模式的关联关系;其 中, 所述 M为大于 1的整数; 所述 B1为大于或等于 2的整数。
结合第六种可能的实现方式,在第七种可能的实现方式中,在所述多核处 理器的工作模式切换为 SMP模式, 或者所述多核处理器的工作模式切换为 ASMP模式后,存储所述多核处理器所在芯片系统的应用场景与所述多核处理 器切换后的工作模式的关联关系,还包括: 如果在第一预定时间间隔内对应的 所述多核处理器所在芯片系统的应用场景的使用次数小于所述 B1 , 或者使用 次数较多的所述多核处理器的工作模式的使用次数与使用次数较少的所述多 核处理器的工作模式的使用次数的比值小于所述 M, 在所述第一预定时间间 隔后的第二预定时间间隔内,如果在第二预定时间间隔内对应的所述多核处理 器所在芯片系统的应用场景的使用次数大于或等于 B2, 且使用次数较多的所 述多核处理器的工作模式的使用次数与使用次数较少的所述多核处理器的工 作模式的使用次数的比值大于或等于所述 M, 则存储所述多核处理器所在芯 片系统的应用场景与所述多核处理器切换后的工作模式的关联关系; 其中, 所 述 B2为大于或等于 1的整数。
结合第五种至第七种可能的实现方式, 在第八种可能的实现方式中,在所 述将此关联关系存储于数据库中之后的第三预定时间间隔内,执行第一方面所 述的步骤,若执行后获得的所述多核处理器的工作模式指示对应所述应用场景 的所述多核处理器的工作模式与存储的对应所述应用场景的所述多核处理器 的工作模式不同,则清除所述多核处理器所在芯片系统的应用场景与所述多核 处理器切换后的工作模式之间的关联关系。
结合第五种至第八种可能的实现方式, 在第九种可能的实现方式中,根据 所述多核处理器所在芯片系统的当前应用场景,查找与所述当前应用场景关联 的所述多核处理器的工作模式;若找到与所述当前应用场景关联的所述多核处 理器的工作模式 ,则将所述多核处理器的当前工作模式确定为找到的所述多核 处理器的工作模式;若没有找到与所述当前应用场景关联的所述多核处理器的 工作模式,则执行第一方面所述的步骤确定与所述当前应用场景关联的所述多 核处理器的工作模式。
第二方面, 本发明提供一种处理器, 包括一个处理硬件平台, 所述处理硬 件平台执行存储在一个非易失性计算机可读存储介质上的指令,用来执行多个 模块的功能, 所述多个模块包括: 获取模块, 用于获取除请求数据的一个处理 器外的至少一个其他处理器的工作频率,所述一个处理器对于所述至少一个其 他处理器对应的緩存命中比例值,所述一个处理器对应的緩存命中比例值,和, 所述多核处理器中 N个处理器的使用率; 判断模块, 用于判断当前所述多核 处理器的工作模式为非对称多处理 ASMP模式时, 除请求数据的一个处理器 外的至少一个其他处理器的工作频率是否小于第一频率,且所述一个处理器对 于所述至少一个其他处理器对应的緩存命中比例值是否大于或等于第一阔值; 以及, 用于判断当前所述多核处理器的工作模式为 SMP模式时, 所述一个处 理器对应的緩存命中比例值是否大于或等于第二阔值,所述多核处理器中的各 处理器之间使用率是否不均衡, 且所述多核处理器中 N个处理器的使用率是 否大于第一使用率阔值; 切换模块, 用于当所述判断模块判断的当前所述多核 处理器的工作模式为非对称多处理 ASMP模式, 除请求数据的一个处理器外 的至少一个其他处理器的工作频率小于第一频率,且所述一个处理器对于所述 至少一个其他处理器对应的緩存命中比例值大于或等于第一阔值时,将所述多 核处理器的工作模式切换为对称多处理 SMP模式; 当所述判断模块判断的当 前所述多核处理器的工作模式为 SMP模式, 所述一个处理器对应的緩存命中 比例值大于或等于第二阔值,所述多核处理器中的各处理器之间使用率不均衡, 且所述多核处理器中 N个处理器的使用率大于第一使用率阔值时, 将所述多 核处理器的工作模式切换为 ASMP模式。 其中, N大于或等于 1 , 且小于或 等于所述多核处理器中处理器个数减一。 结合第二方面,在第一种可能的实现方式中, 所述一个处理器对于所述至 少一个其他处理器对应的緩存命中比例值具体为所述一个处理器对于所述至 少一个其他处理器对应的二级緩存命中比例值;所述一个处理器对应的緩存命 中比例值具体为所述一个处理器的一级緩存命中比例值。 结合第二方面,在第二种可能的实现方式中, 所述一个处理器对于所述至 少一个其他处理器对应的緩存命中比例值具体为所述一个处理器对于所述至 少一个其他处理器对应的二级緩存命中比例值;所述一个处理器对应的緩存命 中比例值具体为所述一个处理器的二级緩存命中比例值。 结合第二方面,在第三种可能的实现方式中, 所述一个处理器对于所述至 少一个其他处理器对应的緩存命中比例值具体为所述一个处理器对于所述至 少一个其他处理器对应的一级緩存命中比例值;所述一个处理器对应的緩存命 中比例值具体为所述一个处理器的一级緩存命中比例值。 结合第二方面,在第四种可能的实现方式中, 所述一个处理器对于所述至 少一个其他处理器对应的緩存命中比例值具体为所述一个处理器对于所述至 少一个其他处理器对应的一级緩存命中比例值;所述一个处理器对应的緩存命 中比例值具体为所述一个处理器对应的二级緩存命中比例值。
结合第二方面及第一种至第四种可能的实现方式,在第五种可能的实现方 式中, 所述多个模块还包括: 存储模块, 用于在所述多核处理器的工作模式切 换为 SMP模式, 或者所述多核处理器的工作模式切换为 ASMP模式后, 存储 所述多核处理器所在芯片系统的应用场景与所述多核处理器切换后的工作模 式的关联关系。
结合第五种可能的实现方式, 在第六种可能的实现方式中, 存储模块, 具 体用于在第一预定时间间隔内对应的所述多核处理器所在芯片系统的应用场 景的使用次数大于或等于 B1 , 且使用次数较多的所述多核处理器的工作模式 的使用次数与使用次数较少的所述多核处理器的工作模式的使用次数的比值 大于或等于 M时, 存储所述多核处理器所在芯片系统的应用场景与所述多核 处理器切换后的工作模式的关联关系; 其中, 所述 M为大于 1的整数; 所述 B1为大于或等于 2的整数。
结合第六种可能的实现方式, 在第七种可能的实现方式中, 存储模块, 还 用于在第一预定时间间隔内对应的所述多核处理器所在芯片系统的应用场景 的使用次数小于所述 B1 , 或者使用次数较多的所述多核处理器的工作模式与 使用次数较少的所述多核处理器的工作模式的比值小于所述 M, 在所述第一 预定时间间隔后的第二预定时间间隔内,如果在第二预定时间间隔内对应的所 述多核处理器所在芯片系统的应用场景的使用次数大于或等于 B2, 且使用次 数较多的所述多核处理器的工作模式的使用次数与使用次数较少的所述多核 处理器的工作模式的使用次数的比值大于或等于所述 M时, 存储所述多核处 理器所在芯片系统的应用场景与所述多核处理器切换后的工作模式的关联关 系; 其中, 所述 B2为大于或等于 1的整数。
结合第五种至第七种可能的实现方式, 在第八种可能的实现方式中, 所述 多个模块还包括:
执行模块,用于在所述将此关联关系存储于数据库中之后的第三预定时间 间隔内, 执行第二方面所述的步骤;
所述判断模块 ,还用于判断执行结果指示对应所述应用场景的所述多核处 理器的工作模式与存储于学习数据库中对应所述应用场景的所述多核处理器 的工作模式是否不同;
清除模块,用于在所述判断模块的判断结果指示对应所述应用场景的所述 多核处理器的工作模式与存储于学习数据库中对应所述应用场景的所述多核 处理器的工作模式不同时,清除所述多核处理器所在芯片系统的应用场景与所 述多核处理器切换后的工作模式之间的关联关系。
结合第五种至第八种可能的实现方式, 在第九种可能的实现方式中, 所述 多个模块还包括: 查找模块, 用于根据所述多核处理器所在芯片系统的当前应 用场景, 查找与所述当前应用场景关联的所述多核处理器的工作模式; 确定模 块, 用于当找到与所述当前应用场景关联的所述多核处理器的工作模式时,将 所述多核处理器的当前工作模式确定为找到的所述多核处理器的工作模式; 当 没有找到与所述当前应用场景关联的所述多核处理器的工作模式时,则执行第 二方面所述的步骤确定与所述当前应用场景关联的所述多核处理器的工作模 式。
结合第二方面及第一种至第九种可能的实现方式,在第十种可能的实现方 式中, 所述处理器为所述多核处理器中一个处理器。
结合第二方面及第一种至第九种可能的实现方式,在第十一种可能的实现 方式中, 所述处理器为调度处理器。
结合第十一种可能的实现方式, 在第十二种可能的实现方式中, 所述获取 模块, 具体用于从所述多核处理器中的内存, 获取所述多核处理器中一个处理 器存储在所述内存中的, 所述多核处理器中一个处理器的一级緩存命中率值。
第三方面, 本发明提供一种处理器, 包括: 获取模块, 用于获取除请求数 据的一个处理器外的至少一个其他处理器的工作频率,所述一个处理器对于所 述至少一个其他处理器对应的緩存命中比例值,所述一个处理器对应的緩存命 中比例值, 和, 所述多核处理器中 N个处理器的使用率; 判断模块, 用于判 断当前所述多核处理器的工作模式为非对称多处理 ASMP模式时, 除请求数 据的一个处理器外的至少一个其他处理器的工作频率是否小于第一频率,且所 述一个处理器对于所述至少一个其他处理器对应的緩存命中比例值是否大于 或等于第一阔值; 以及, 用于判断当前所述多核处理器的工作模式为 SMP模 式时, 所述一个处理器对应的緩存命中比例值是否大于或等于第二阔值, 所述 多核处理器中的各处理器之间使用率是否不均衡, 且所述多核处理器中 N个 处理器的使用率是否大于第一使用率阔值; 切换模块, 用于当所述判断模块判 断的当前所述多核处理器的工作模式为非对称多处理 ASMP模式, 除请求数 据的一个处理器外的至少一个其他处理器的工作频率小于第一频率,且所述一 个处理器对于所述至少一个其他处理器对应的緩存命中比例值大于或等于第 一阔值时, 将所述多核处理器的工作模式切换为对称多处理 SMP模式; 当所 述判断模块判断的当前所述多核处理器的工作模式为 SMP模式, 所述一个处 理器对应的緩存命中比例值大于或等于第二阔值,所述多核处理器中的各处理 器之间使用率不均衡, 且所述多核处理器中 N个处理器的使用率大于第一使 用率阔值时, 将所述多核处理器的工作模式切换为 ASMP模式。 其中, N大 于或等于 1 , 且小于或等于所述多核处理器中处理器个数减一。 结合第三方面,在第一种可能的实现方式中, 所述一个处理器对于所述至 少一个其他处理器对应的緩存命中比例值具体为所述一个处理器对于所述至 少一个其他处理器对应的二级緩存命中比例值;所述一个处理器对应的緩存命 中比例值具体为所述一个处理器的一级緩存命中比例值。 结合第三方面,在第二种可能的实现方式中, 所述一个处理器对于所述至 少一个其他处理器对应的緩存命中比例值具体为所述一个处理器对于所述至 少一个其他处理器对应的二级緩存命中比例值;所述一个处理器对应的緩存命 中比例值具体为所述一个处理器的二级緩存命中比例值。 结合第三方面,在第三种可能的实现方式中, 所述一个处理器对于所述至 少一个其他处理器对应的緩存命中比例值具体为所述一个处理器对于所述至 少一个其他处理器对应的一级緩存命中比例值;所述一个处理器对应的緩存命 中比例值具体为所述一个处理器的一级緩存命中比例值。 结合第三方面,在第四种可能的实现方式中, 所述一个处理器对于所述至 少一个其他处理器对应的緩存命中比例值具体为所述一个处理器对于所述至 少一个其他处理器对应的一级緩存命中比例值;所述一个处理器对应的緩存命 中比例值具体为所述一个处理器对应的二级緩存命中比例值。
结合第三方面及第一种至第四种可能的实现方式,在第五种可能的实现方 式中, 所述处理器还包括: 存储模块, 用于在所述多核处理器的工作模式切换 为 SMP模式, 或者所述多核处理器的工作模式切换为 ASMP模式后, 存储所 述多核处理器所在芯片系统的应用场景与所述多核处理器切换后的工作模式 的关联关系。
结合第五种可能的实现方式, 在第六种可能的实现方式中, 存储模块, 具 体用于在第一预定时间间隔内对应的所述多核处理器所在芯片系统的应用场 景的使用次数大于或等于 B1 , 且使用次数较多的所述多核处理器的工作模式 的使用次数与使用次数较少的所述多核处理器的工作模式的使用次数的比值 大于或等于 M时, 存储所述多核处理器所在芯片系统的应用场景与所述多核 处理器切换后的工作模式的关联关系; 其中, 所述 M为大于 1的整数; 所述 B1为大于或等于 2的整数。
结合第六种可能的实现方式, 在第七种可能的实现方式中, 存储模块, 还 用于在第一预定时间间隔内对应的所述多核处理器所在芯片系统的应用场景 的使用次数小于所述 B1 , 或者使用次数较多的所述多核处理器的工作模式与 使用次数较少的所述多核处理器的工作模式的比值小于所述 M, 在所述第一 预定时间间隔后的第二预定时间间隔内,如果在第二预定时间间隔内对应的所 述多核处理器所在芯片系统的应用场景的使用次数大于或等于 B2, 且使用次 数较多的所述多核处理器的工作模式的使用次数与使用次数较少的所述多核 处理器的工作模式的使用次数的比值大于或等于所述 M时, 存储所述多核处 理器所在芯片系统的应用场景与所述多核处理器切换后的工作模式的关联关 系; 其中, 所述 B2为大于或等于 1的整数。
结合第五种至第七种可能的实现方式, 在第八种可能的实现方式中, 所述 处理器还包括:
执行模块,用于在所述将此关联关系存储于数据库中之后的第三预定时间 间隔内, 执行第二方面所述的步骤;
所述判断模块,还用于判断执行结果指示对应所述应用场景的所述多核处 理器的工作模式与存储于学习数据库中对应所述应用场景的所述多核处理器 的工作模式是否不同;
清除模块,用于在所述判断模块的判断结果指示对应所述应用场景的所述 多核处理器的工作模式与存储于学习数据库中对应所述应用场景的所述多核 处理器的工作模式不同时,清除所述多核处理器所在芯片系统的应用场景与所 述多核处理器切换后的工作模式之间的关联关系。
结合第五种至第八种可能的实现方式, 在第九种可能的实现方式中, 所述 处理器还包括: 查找模块, 用于根据所述多核处理器所在芯片系统的当前应用 场景,查找与所述当前应用场景关联的所述多核处理器的工作模式;确定模块, 用于当找到与所述当前应用场景关联的所述多核处理器的工作模式时,将所述 多核处理器的当前工作模式确定为找到的所述多核处理器的工作模式; 当没有 找到与所述当前应用场景关联的所述多核处理器的工作模式时,则执行第二方 面所述的步骤确定与所述当前应用场景关联的所述多核处理器的工作模式。
结合第三方面及第一种至第九种可能的实现方式,在第十种可能的实现方 式中, 所述处理器为所述多核处理器中一个处理器。
结合第三方面及第一种至第九种可能的实现方式,在第十一种可能的实现 方式中, 所述处理器为调度处理器。
结合第十一种可能的实现方式, 在第十二种可能的实现方式中, 所述获取 模块, 具体用于从所述多核处理器中的内存, 获取所述多核处理器中一个处理 器存储在所述内存中的, 所述多核处理器中一个处理器的一级緩存命中率值。
第四方面, 本发明提供一种多核处理器, 包括第二方面及第二方面的第一 种到第十二种可能的实现方式,和第三方面及第三方面的第一种到第十二种可 能的实现方式所述的处理器。
第五方面, 本发明提供一种芯片系统, 包括第四方面所述的多核处理器。 第六方面, 本发明提供一种终端, 包括第五方面所述的芯片系统。
第七方面, 本发明提供一种计算机程序产品, 所述计算机程序产品包括非 易失性计算机可读存储介质 ,所述非易失性计算机可读存储介质存储被所述处 理器执行的指令,所述指令包括第一方面及其第一种到第九种可能的实现方式 中任意一项的步骤。
第八方面, 本发明提供一种计算机可读存储介质, 其特征在于, 所述计算 机存储计算机程序代码, 当所述计算机程序代码被一个计算机执行的时候, 所 述计算机程序代码可以使得所述计算机执行第一方面及其第一种到第九种可 能的实现方式中任意一项的步骤。
本申请实施例中的上述一个或多个技术方案, 至少具有如下技术效果: 本发明多核处理器的管理方法,通过根据除请求数据的一个处理器外的至 少一个其他处理器的工作频率是否小于第一频率,且所述一个处理器对于所述 至少一个其他处理器对应的緩存命中比例值是否大于或等于第一阔值;以及一 个处理器对应的緩存命中比例值大于或等于第二阔值,多核处理器中的各处理 器之间使用率不均衡, 且多核处理器中 N个处理器的使用率大于第一使用率 阔值,判断多核处理器的工作模式应该处于 SMP模式还是 ASMP模式。这样, 多核处理器在使用率不均衡且多核处理器中的处理器使用率较高的情况下选 择 ASMP模式, 从而避免相同频率和电源电压导致的功耗损失; 在多核处理 器在处理器一级緩存命中率不高,且需要去处于较低频率的处理器对应的緩存 获取数据情况下选择 SMP模式, 从而也可避免不必要的功耗损失。 附图说明
图 1为现有技术提供的一种 SMP架构示意图;
图 2为现有技术提供的一种 ASMP架构示意图;
图 3为本发明实施例一至三提供的多核处理器的管理方法流程图; 图 4为本发明实施例四提供的多核处理器的管理方法流程图;
图 5为本发明实施例五至六提供的处理器的结构方框图;
图 6为本发明实施例七提供的处理器的结构方框图;
图 7为本发明实施例八提供的多核处理器的结构方框图;
图 8为本发明实施例九提供的芯片系统的结构方框图;
图 9为本发明实施例十提供的终端的结构方框图; 图 10为本发明实施例十提供的手机的结构方框图。 具体实施方式
下面结合附图对本申请实施例技术方案的主要实现原理、具体实施方式及 其对应能够达到的有益效果进行详细的阐述。
需要说明的是,本发明所有实施例中全文涉及的处理器及多核处理器均为 硬件或固件形式, 不属于任何形式的软件。
实施例一 如图 3所示, 为本发明实施例一提供的多核处理器的管理方法流程图。 步骤 S101 , 判断当前所述多核处理器的工作模式为 ASMP模式还是 SMP 模式。如果是 SMP模式,进入步骤 S102。如果是 ASMP模式,进入步骤 S103。
步骤 S102, 判断当所述一个处理器对应的緩存命中比例值大于或等于第 二阔值, 所述多核处理器中的各处理器之间使用率不均衡,且所述多核处理器 中 N个处理器的使用率大于第一使用率阔值时, 则进入步骤 S104。
步骤 S103 , 判断当除请求数据的一个处理器外的至少一个其他处理器的 工作频率小于第一频率,且所述一个处理器对于所述至少一个其他处理器对应 的緩存命中比例值大于或等于第一阔值时, 则进入步骤 S105。
步骤 S104, 将当前所述多核处理器的工作模式切换为 ASMP模式。
步骤 S105, 将所述多核处理器的工作模式切换为 SMP模式。
其中, N大于或等于 1 , 且小于或等于所述多核处理器中处理器个数减 本发明实施例一中,釆用根据除请求数据的一个处理器外的至少一个其他 处理器的工作频率小于第一频率,且一个处理器对于至少一个其他处理器对应 的緩存命中比例值大于或等于第一阔值,以及一个处理器对应的緩存命中比例 值大于或等于第二阔值, 多核处理器中的各处理器之间使用率不均衡, 且所述 多核处理器中 N个处理器的使用率大于第一使用率阔值等判断条件, 判断多 核处理器的工作模式应该处于 SMP模式还是 ASMP模式的技术方案。 这样, 多核处理器在使用率不均衡且多核处理器中的处理器使用率较高的情况下选 择 ASMP模式, 从而避免相同频率和电源电压导致的功耗损失; 在多核处理 器在处理器一级緩存命中率不高,且需要去处于较低频率的处理器对应的緩存 获取数据情况下选择 SMP模式, 从而也可避免不必要的功耗损失。
实施例二
本实施例在实施例一的基础上, 和实施例一有不同如下之处,每个不同之 处可相互独立:
实施例一中步骤 S102中的一个处理器对应的緩存命中比例值具体可以为 一个处理器的一级緩存命中比例值或者一个处理器对应的二级緩存命中比例 值。
实施例一中步骤 S102中, 尽管所有处理器的二级緩存在物理上是连接在 一起的 (如图 1所示), 但在逻辑上仍可以如图 2所示在逻辑上划分为每个处 理器具备其对应的二级緩存区域。只是每个处理器对应的二级緩存的工作电压 和工作频率相同而已。
一级緩存命中比例值是指一级緩存的命中率的值。 具体的计算方式为,一 级緩存命中率 =一级緩存命中数 / (一级緩存命中数 +—级緩存没有命中数)。 例 如, 一级緩存收到请求的 100条数据, 其中命中 50条, 那么一级緩存的命中 率为 50/100=50%。
二级緩存命中比例值包括两种具体的计算方式。
其中一种计算方式包括: 二级緩存命中比例值 =二级緩存命中数 / (二级緩 存命中数 +二级緩存没有命中数)。 例如, 一个处理器收到请求的 100条数据, 其中其一级緩存命中 50条, 该处理器对应的二级緩存命中 49条。 那么根据这 种计算方式, 该处理器对应的二级緩存命中比例值为 49/ ( 100-50 ) =98%。
另一种计算方式包括: 二级緩存命中比例值 =二级緩存命中数 /一个处理器 收到的请求的数据的总条数。 例如, 一个处理器收到请求的 100条数据, 其中 其一级緩存命中 50条,其对应的二级緩存命中 49条。那么根据这种计算方式, 二级緩存命中比例值为 49/100=49%。
实施例一中步骤 S103中的一个处理器对于所述至少一个其他处理器对应 的緩存命中比例值,具体可以为所述一个处理器对于所述至少一个其他处理器 对应的二级緩存命中比例值或者所述一个处理器对于所述至少一个其他处理 器对应的一级緩存命中比例值。 上述的一个处理器对于所述至少一个其他处理器对应的二级緩存命中比 例值有两种计算方式。
一种计算方式为,一个处理器请求的数据中被至少一个其他处理器对应的 二级緩存命中的条数 /至少一个其他处理器对应的二级緩存收到的一个处理器 请求的数据的条数。 例如, 一个处理器请求 100条数据, 其中其一级緩存命中 50条, 剩下的 50条被至少一个其他处理器对应的二级緩存命中 49条。 那么 才艮据这种计算方式,一个处理器对于所述至少一个其他处理器对应的二级緩存 命中比例值为 49/ ( 100-50 ) =98%。
另一种计算方式为,一个处理器请求的数据中被至少一个其他处理器对应 的二级緩存命中的条数 /一个处理器请求的数据的条数。 例如, 一个处理器请 求 100条数据, 其中其一级緩存命中 50条, 剩下的 50条被至少一个其他处理 器对应的二级緩存命中 49条。 那么根据这种计算方式, 一个处理器对于所述 至少一个其他处理器对应的二级緩存命中比例值为 49/100=49%。
上述的一个处理器对于所述至少一个其他处理器对应的一级緩存命中比 例值有两种计算方式。
一种计算方式为,一个处理器请求的数据中被至少一个其他处理器对应的 一级緩存命中的条数 /至少一个其他处理器对应的一级緩存收到的一个处理器 请求的数据的条数。 例如, 一个处理器请求 100条数据, 其中其一级緩存命中 50条, 剩下的 50条被至少一个其他处理器对应的二级緩存命中 25条。 接下 来的 25条被至少一个其他处理器对应的一级緩存命中 24条。那么根据这种计 算方式,一个处理器对于所述至少一个其他处理器对应的一级緩存命中比例值 为 24/25=96%。
另一种计算方式为,一个处理器请求的数据中被至少一个其他处理器对应 的一级緩存命中的条数 /一个处理器请求的数据的条数。 例如, 一个处理器请 求 100条数据, 其中其一级緩存命中 50条, 剩下的 50条被至少一个其他处理 器对应的二级緩存命中 25条。接下来的 25条被至少一个其他处理器对应的一 级緩存命中 24条。 那么根据这种计算方式, 一个处理器对于所述至少一个其 他处理器对应的一级緩存命中比例值为 24/100=24%。
获取所述多核处理器中一个处理器的緩存命中率值的时间间隔一般为毫 秒级, 如可设定为 20毫秒。
一个处理器对应的緩存包括该处理器对应的一级緩存和二级緩存。 其中, 如图 1和 2所示, 处理器对应的一级緩存位于该处理器中 (图中未示出), 而 处理器对应的二级緩存位于该处理器以外。如图 1所示,各处理器共用同一个 二级緩存。 如图 2所示, 各处理器对应的二级緩存虽然在逻辑上分离, 分别为 各个处理器所有, 但在物理上是互相连接的完整存储区域。 其中, 第一阔值和 第二阔值的范围都不做限制。理论上,第一阔值和第二阔值都可以为 1%到 100% 之间的任意一个值。 具体的, 第一阔值和第二阔值都可以可以为某个经验值。 例如,第一阔值和第二阔值可以均为 80%。此处选择使用緩存的命中比例这样 的平均概念, 有助于减少因为使用当前请求数据是否命中(请求到)的瞬时概 念而造成的切换结果的波动。
其中, 当一个处理器请求数据时, 该处理器先去其自身对应的一级緩存中 查找该数据。 当在其自身对应的一级緩存中没有找到该数据时, 该处理器根据 一级緩存和二级緩存之间地址的对应关系,找到该数据在二级緩存中对应的地 址。当该数据在二级緩存中对应的地址空间属于多核处理器中至少一个其他处 理器对应的二级緩存时,则该处理器需要去该至少一个其他处理器对应的二级 緩存中找到并获取该数据。当该至少一个其他处理器的工作频率低于第一频率 时, 则该至少一个其他处理器对应的二级緩存的工作频率也较低, 因此该数据 从该至少一个其他处理器对应的二级緩存获取得到需要较长的时间,在该较长 的工作时间中, 将浪费较多的系统资源和功率消耗。 因此, 将包括该一个处理 器和该至少一个其他处理器的该多核处理器的工作模式切换为 SMP模式会更 有利于功耗的节省。
如果该数据在二级緩存中对应的地址空间位于多核处理器中至少一个其 他处理器对应的二级緩存中没有找到 ,则该多核处理器中所述一个处理器访问 侦测控制单元( Snoop Control Unit, SCU )以从 SCU获取该数据的访问算法。 例如, SCU 中关于数据的访问算法可以是, 当没有在该至少一个其他处理器 对应的二级緩存找到数据时, 先访问该至少一个其他处理器对应的一级緩存 , 如果该至少一个其他处理器对应的一级緩存存在该数据 ,则该多核处理器中所 述一个处理器则从该至少一个其他处理器对应的一级緩存中读取该数据。如果 该至少一个其他处理器对应的一级緩存不存在该数据,则该多核处理器中所述 一个处理器则从内存中读取该数据。
如图 7所示, 多核处理器 1 0 0 0中包括处理器 5 0 0 , 处理器 6 0 0 , 处理器 7 0 0和处理器 8 0 0。 其中, 处理器 5 0 0 , 处理器 6 0 0 , 处理器 7 0 0和处理器 8 0 0中均包括各自的一级緩存(图中未示出)。 侦测控制单 元 9 0 2位于各个处理器和二级緩存 9 0 0之间,是多核处理器 1 0 0 0的中 央情 4艮局, 负责为多核处理器中的各处理器(如图 7中的处理器 5 0 0 , 处理 器 6 0 0 , 处理器 7 0 0及处理器 8 0 0 )提供互联、 仲裁、 通信、 緩存间及 系统内存传输、 緩存一致性及其他多核功能的管理。 例如, S C U可以负责当 该数据在二级緩存中对应的地址空间位于多核处理器中至少一个其他处理器 对应的二级緩存中没有找到时,根据上述算法,从该至少一个其他处理器对应 的一级緩存中读取该数据, 或者该多核处理器中所述一个处理器则从内存(图 中未示出,位于多核处理器 1 0 0 0之外)中读取该数据。 二级緩存 9 0 0和侦 测控制单元 9 0 2连接, 当该数据没有在二级緩存 9 0 0中找到时,发起数据 访问的那个处理器可以访问侦测控制单元 9 0 2 ,从而根据侦测控制单元 9 0 2中包含的算法,访问该至少一个其他处理器对应的一级緩存或内存从而访问 该数据。 其中, 处理器的工作频率和该处理器的使用率相关。该处理器的使用率越 高, 处理器的工作频率越高。 其中, 该处理器的使用率是指该处理器执行非系 统空闲进程的时间所占该处理器总的执行时间的百分比使用率。 例如, 该处理 器在 1秒内其使用率工作 0.5秒, 那么该处理器的使用率就是 50%。
其中, 第一频率的值可以为低频范围内的某个值, 例如可设定为 500MHz (兆赫兹)或更小。
实施例一中步骤 S102中的多核处理器中 N个处理器的使用率大于第一使 用率阔值中, N大于或等于 1 , 且小于或等于所述多核处理器中处理器个数减 一。 因为多核处理器中全部处理器的使用率重(即大于第一使用率阔值)的情 况下, 多核处理器的工作模式可以用 SMP的方式。 而此时切换到 ASMP的方 式, 不能体现出功耗减少的收益。
第一使用率阔值可以为某个较重的使用率值, 例如可设定为 80%或更大。 实施例一中步骤 S102 中的多核处理器中的各处理器之间使用率不均衡, 是指多核处理器中的各处理器之间的使用率差距较大。此处使用率差距较大是 指各处理器至少存在一个核和另一个核的使用率差距大于第三阔值。第三阔值 的具体数值可不限制。 例如, 可设置第三阔值为 50%。 当多核处理器中包括 4 个处理器时, 当 4个处理器中至少 2个处理器的使用率差距大于 50%时, 即满 足多核处理器中的 4个处理器之间使用率不均衡。
实施例三
本实施例在实施例一和二的基础上, 和实施例一和二的不同之处在于, 如 图 3的步骤 S106所示,在所述多核处理器的工作模式切换为 SMP模式,或者 所述多核处理器的工作模式切换为 ASMP模式后, 多核处理器中一个处理器 还需将所述多核处理器所在芯片系统的应用场景与所述多核处理器切换后的 工作模式的关联关系存储到和多核处理器所在的芯片系统连接的存储器。如图 10 所示, 存储的所述多核处理器所在芯片系统的应用场景与所述多核处理器 切换后的工作模式的关联关系的位置可以是在如图 10中的存储器 120中。 其 中, 存储器 120可以包括例如内存等易失式存储介质, 和 /或, 例如硬盘等非 易失式存储介质。
其中, 多核处理器所在芯片系统的应用场景包括单场景, 双场景和多场景 等不同类型的应用场景。
如果多核处理器所在芯片系统的应用场景为单场景,即芯片系统上运行的 只有一个应用程序,此时记录到该应用程序运行时的多核处理器切换后的工作 模式, 将该工作模式和该应用程序 (该多核处理器所在芯片系统的应用场景) 相关联存储在存储器中。 例如, 多核处理器所在芯片系统的应用场景只有电子 书程序时, 对应的多核处理器切换后的工作模式为 ASMP, 则将电子书和 ASMP关联存储。
如果多核处理器所在芯片系统的应用场景为双场景或多场景,即芯片系统 上运行的有至少两个应用程序,可得出多核处理器的工作模式切换结果不用将 前台运行程序和多应用程序同时存在时多核处理器的工作模式之间的关联关 系存储在存储器。
具体的,如果在第一预定时间间隔内对应的所述多核处理器所在芯片系统 的应用场景的使用次数大于或等于 B1 , 且在第一预定时间间隔内使用该应用 场景次数较多的所述多核处理器的工作模式的使用次数与使用次数较少的所 述多核处理器的工作模式的使用次数的比值大于或等于 M, 则存储所述多核 处理器所在芯片系统的应用场景与所述多核处理器切换后的工作模式的关联 关系。 其中, 所述 M为大于 1的整数, 所述 B1为大于或等于 2的整数。
进一步的,如果在第一预定时间间隔内对应的所述多核处理器所在芯片系 统的应用场景的使用次数小于所述 B1 , 或者在第一预定时间间隔内使用该应 用场景次数较多的所述多核处理器的工作模式的使用次数与使用次数较少的 所述多核处理器的工作模式的使用次数的比值小于所述 M, 则在所述第一预 定时间间隔后的第二预定时间间隔内,如果在第二预定时间间隔内对应的所述 多核处理器所在芯片系统的应用场景的使用次数大于或等于 B2, 且使用次数 较多的所述多核处理器的工作模式的使用次数与使用次数较少的所述多核处 理器的工作模式的使用次数的比值大于或等于所述 M, 则存储所述多核处理 器所在芯片系统的应用场景与所述多核处理器切换后的工作模式的关联关系。 其中, 所述 B2为大于或等于 1的整数。
在将此关联关系存储于数据库中之后的第三预定时间间隔内,执行实施例 一或二的步骤,若执行结果指示对应所述应用场景的所述多核处理器的工作模 式与存储的对应所述应用场景的所述多核处理器的工作模式不同,说明存储的 对应所述应用场景的所述多核处理器的工作模式和当前多核处理器的工作模 式不符合,需要清除存储的所述多核处理器所在芯片系统的应用场景与所述多 核处理器切换后的工作模式的关联关系。那么多核处理器中所述的处理器清除 所述多核处理器所在芯片系统的应用场景与所述多核处理器切换后的工作模 式之间的关联关系,并用当前多核处理器的工作模式替代原来存储的对应该应 用场景的多核处理器的工作模式,以便存储当前多核处理器的工作模式和该应 用场景之间的对应关系。
根据本发明实施例三的技术方案,多核处理器中所述的处理器将确定的当 前多核处理器的工作模式和该应用场景之间的对应关系储存起来,并及时更新 , 以便后续的查询和爹改。
实施例四 本实施例在实施例一, 二和三的基础上, 不同之处在于, 如图 4所示, 还 包括如下步骤:
步骤 S201 , 才艮据所述多核处理器所在芯片系统的当前应用场景, 查找与 所述当前应用场景关联的所述多核处理器的工作模式。若找到与所述当前应用 场景关联的所述多核处理器的工作模式, 则进入步骤 S202。 若没有找到与所 述当前应用场景关联的所述多核处理器的工作模式, 则进入步骤 S203。
步骤 S202 , 将所述多核处理器的当前工作模式确定为找到的所述多核处 理器的工作模式。
步骤 S203 , 执行实施例一或二或三的步骤确定与所述当前应用场景关联 的所述多核处理器的工作模式。
根据本发明实施例四的技术方案,在存储当前多核处理器的工作模式和该 应用场景之间的对应关系后, 可根据该存储结果, 查询到该应用场景对应的多 核处理器的工作模式,从而可避免执行如实施例一或二或三中的当前多核处理 器的工作模式的步骤。
以上本发明实施例一至四所述的内容均可被引用到以下所述的实施例中 , 以下不再赘述。
实施例五
如图 5所示,为本发明实施例提供的多核处理器的一个处理器的结构方框 图。 该处理器 500可以包括多个模块。 当然, 该处理器 500也可以包括一个处 理硬件平台 ,所述处理硬件平台执行存储在一个非易失性计算机可读存储介质 上的指令, 用来执行多个模块的功能, 上述多个模块包括: 获取模块 5001 , 判断模块 5002和切换模块 5003。 获取模块 5001用于获取除请求数据的一个处理器外的至少一个其他处理 器的工作频率,所述一个处理器对于所述至少一个其他处理器对应的緩存命中 比例值, 所述一个处理器对应的緩存命中比例值, 和, 所述多核处理器中 N 个处理器的使用率。
判断模块 5002用于判断当前所述多核处理器的工作模式为非对称多处理 ASMP模式时,除请求数据的一个处理器外的至少一个其他处理器的工作频率 是否小于第一频率,且所述一个处理器对于所述至少一个其他处理器对应的緩 存命中比例值是否大于或等于第一阔值; 以及, 用于判断当前所述多核处理器 的工作模式为 SMP模式时, 所述一个处理器对应的緩存命中比例值是否大于 或等于第二阔值, 所述多核处理器中的各处理器之间使用率是否不均衡,且所 述多核处理器中 N个处理器的使用率是否大于第一使用率阔值。 切换模块 5003用于当所述判断模块判断的当前所述多核处理器的工作模 式为非对称多处理 ASMP模式, 除请求数据的一个处理器外的至少一个其他 处理器的工作频率小于第一频率,且所述一个处理器对于所述至少一个其他处 理器对应的緩存命中比例值大于或等于第一阔值时,将所述多核处理器的工作 模式切换为对称多处理 SMP模式; 当所述判断模块判断的当前所述多核处理 器的工作模式为 SMP模式, 所述一个处理器对应的緩存命中比例值大于或等 于第二阔值, 所述多核处理器中的各处理器之间使用率不均衡,且所述多核处 理器中 N个处理器的使用率大于第一使用率阔值时, 将所述多核处理器的工 作模式切换为 ASMP模式。 其中, N大于或等于 1 , 且小于或等于所述多核处理器中处理器个数减
对于上述各个模块执行的功能及相关概念的具体限定,可参考实施例二相 关部分实施, 本实施例不再赘述。 本发明实施例五中,釆用根据除请求数据的一个处理器外的至少一个其他 处理器的工作频率小于第一频率,且一个处理器对于至少一个其他处理器对应 的緩存命中比例值大于或等于第一阔值,以及一个处理器对应的緩存命中比例 值大于或等于第二阔值, 多核处理器中的各处理器之间使用率不均衡, 且所述 多核处理器中 N个处理器的使用率大于第一使用率阔值等判断条件, 判断多 核处理器的工作模式应该处于 SMP模式还是 ASMP模式的技术方案。 这样, 多核处理器在使用率不均衡且多核处理器中的处理器使用率较高的情况下选 择 ASMP模式, 从而避免相同频率和电源电压导致的功耗损失; 在多核处理 器在处理器一级緩存命中率不高,且需要去处于较低频率的处理器对应的緩存 获取数据情况下选择 SMP模式, 从而也可避免不必要的功耗损失。
实施例六
本实施例在实施例五的基础上, 和实施例五的区别在于, 本实施例所述的 处理器 500的多个模块还包括如图 5所示的存储器 5004, 用于在所述多核处 理器的工作模式切换为 SMP模式, 或者所述多核处理器的工作模式切换为 ASMP模式后,存储所述多核处理器所在芯片系统的应用场景与所述多核处理 器切换后的工作模式的关联关系。 存储模块 5004, 具体可以用于在第一预定时间间隔内对应的所述多核处 理器所在芯片系统的应用场景的使用次数大于或等于 B1 , 且使用次数较多的 所述多核处理器的工作模式的使用次数与使用次数较少的所述多核处理器的 工作模式的使用次数的比值大于或等于 M时, 存储所述多核处理器所在芯片 系统的应用场景与所述多核处理器切换后的工作模式的关联关系。其中, 所述 M为大于 1的整数; 所述 B1为大于或等于 2的整数。
存储模块 5004, 还具体用于在第一预定时间间隔内对应的所述多核处理 器所在芯片系统的应用场景的使用次数小于所述 B1 , 或者使用次数较多的所 述多核处理器的工作模式的使用次数与使用次数较少的所述多核处理器的工 作模式的使用次数的比值小于所述 M, 在所述第一预定时间间隔后的第二预 定时间间隔内,如果在第二预定时间间隔内对应的所述多核处理器所在芯片系 统的应用场景的使用次数大于或等于 B2, 且使用次数较多的所述多核处理器 的工作模式的使用次数与使用次数较少的所述多核处理器的使用次数的工作 模式的比值大于或等于所述 M时, 存储所述多核处理器所在芯片系统的应用 场景与所述多核处理器切换后的工作模式的关联关系。 其中, 所述 B2为大于 或等于 1的整数。
本实施例所述的处理器的多个模块还可以包括如图 5 所示的执行模块 5005 , 用于在所述将此关联关系存储于数据库中之后的第三预定时间间隔内, 执行实施例一或二或三所述的步骤。
如图 5所示的判断模块 5002 , 还用于判断执行结果指示对应所述应用场 景的所述多核处理器的工作模式与存储的对应所述应用场景的所述多核处理 器的工作模式是否不同。 如图 5所示的上述多个模块还包括清除模块 5006 , 用于在所述判断模块 的判断结果指示对应所述应用场景的所述多核处理器的工作模式与存储于学 习数据库中对应所述应用场景的所述多核处理器的工作模式不同时,清除所述 多核处理器所在芯片系统的应用场景与所述多核处理器切换后的工作模式之 间的关联关系。
根据本发明实施例六的技术方案,多核处理器中所述的处理器将确定的当 前多核处理器的工作模式和该应用场景之间的对应关系储存起来,并及时更新 , 以便后续的查询和爹改。
实施例七
本实施例在实施例六的基础上, 和实施例六的区别在于, 如图 6所示, 本 实施例所述的处理器 500的多个模块还包括: 查找模块 5007, 用于根据所述多核处理器所在芯片系统的当前应用场景, 查找与所述当前应用场景关联的所述多核处理器的工作模式。
确定模块 5008 , 用于当找到与所述当前应用场景关联的所述多核处理器 的工作模式时,将所述多核处理器的当前工作模式确定为找到的所述多核处理 器的工作模式;当没有找到与所述当前应用场景关联的所述多核处理器的工作 模式时,执行实施例一或二或三所述的步骤确定与所述当前应用场景关联的所 述多核处理器的工作模式。
根据本发明实施例七的技术方案,在存储当前多核处理器的工作模式和该 应用场景之间的对应关系后, 可根据该存储结果, 查询到该应用场景对应的多 核处理器的工作模式,从而可避免执行如实施例一或二或三中的当前多核处理 器的工作模式的步骤。 本发明实施例五至七所述的处理器,可以是多核处理器中一个处理器或者 为调度处理器。 调度处理器负责调度多核处理器中各个处理器的资源。 当本发明实施例五至七所述的处理器为调度处理器时,处理器中的获取模 块具体用于从所述多核处理器中的内存,获取所述多核处理器中一个处理器存 储在所述内存中的, 所述多核处理器中一个处理器的一级緩存命中率值。
实施例八
本实施例提供了一种多核处理器 1000, 如图 7所示, 所述的多核处理器 1000包括处理器 500, 处理器 600, 处理器 700, 处理器 800共 4个处理器, 侦测控制单元 902 , 以及二级緩存 900。处理器 500 ,处理器 600 ,处理器 700, 处理器 800共 4个处理器中任意一个处理器均可以完成如实施例一或二或三所 述的步骤。
图 7中所示的侦测控制单元 902以及二级緩存 900的功能可参考实施例二 中的关于图 7的描述。 此处不再赘述。
本实施例中根据侦测控制单元协调各个处理器的关系以及协调一级緩存 和二级緩存之间的关系,提供了各处理器对数据的访问渠道,从而使得构成多 核处理器的结构的各个处理器,实现多核处理器中各个处理器之间的交互通信。
实施例九
如图 8所示,本实施例提供了一种芯片系统 6000,包括多核处理器 1000, 调度处理器 2000, 调制解调芯片 3000 , 媒体芯片 4000, 以及外设接口 5000。 其中, 多核处理器 1000的结构及功能如实施例八所述, 此处不再赘述。
多核处理器 1000可以是芯片系统所在终端中运行的主操作系统和应用程 序的处理器。
调度处理器 2000通常包括一个低功耗的微控制单元( Micro Control Unit, MCU )组成, 用于调度多核处理器 1000中各个处理器的电源和时钟频率, 并 协调多核处理器 1000,调制解调芯片 3000,媒体芯片 4000,以及外设接口 5000 的工作时序, 使得多核处理器 1000, 调制解调芯片 3000, 媒体芯片 4000, 以 及外设接口 5000在某一时间内某一个部分工作或者某几个部分协同工作。
调制解调芯片 3000 用于对基带信号处理, 具体的, 调制解调芯片 3000 合成即将发射的基带信号, 或对接收到的基带信号进行解码。
媒体芯片 4000用于处理图像和 /或视频信号。 具体的, 媒体芯片 4000可 以包括图像处理器, 编码器和解码器。 图像处理器中可以包括其专用的处理器 和图像二维处理器。 编码器和解码器分别对于图像和 /或视频信号进行编码和 解码。
外设接口 5000可以包括各种连接外部设备的接口。 例如, 外设接口 5000 可包括连接外部存储器的接口, 连接图像或视频釆集器的接口, 连接显示设备 的接口, 连接输入设备的接口, 连接电源管理模块的接口, 连接无线短距通信 设备的接口, 连接传感器的接口, 可将芯片系统所在终端作为 USB从设备连 接主机的接口,可将芯片系统所在终端作为 USB主设备连接 USB插入设备的 接口, 连接定位模块的接口, 连接调频模块的接口, 以及用于调试的接口等。
实施例十
如图 9所示, 终端 7000包括如实施例九所述的芯片系统 6000。 其中, 芯 片系统 6000的具体结构和功能已经在实施例九中详细描述, 此处不再赘述。
作为一个终端的具体例子, 如图 10所示, 终端 7000可以是移动终端。 所 述移动终端可以包括手机、 平板电脑、 PDA ( Personal Digital Assistant, 个人 数字助理)、 POS ( Point of Sales, 销售终端)、 车载电脑等。
以移动终端为手机为例, 图 10示出的是与本发明实施例相关的手机 100的 部分结构的框图。 参考图 10, 手机 100包括: RF ( Radio Frequency, 射频) 电 路 110、 存储器 120、 输入单元 130、 显示单元 140、 传感器 150、 音频电路 160、
WiFi(wireless fidelity, 无线保真)模块 170、 电源管理模块 180、 电源 190、 调频 模块 191、 摄像头 192、 定位模块 193等部件。 本领域技术人员可以理解, 图 10 中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件, 或者组合某些部件, 或者不同的部件布置。
下面结合图 10对手机 100的各个构成部件进行具体的介绍:
RF电路 110可用于收发信息或通话过程中,信号的接收和发送,特别地, 将基站的下行信息接收后, 给芯片系统 6000处理; 另外, 将设计上行的数据 发送给基站。通常, RF电路包括但不限于天线、至少一个放大器、收发信机、 耦合器、 LNA ( Low Noise Amplifier, 低噪声放大器) 、 双工器等。 此外, RF 电路 110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用 任一通信标准或协议, 包括但不限于 GSM(Global System of Mobile communication, 全 ί求移动通讯系统)、 GPRS(General Packet Radio Service , 通 用分组无线服务)、 CDMA(Code Division Multiple Access , 码分多址)、
WCDMA(Wideband Code Division Multiple Access, 宽带码分多址)、 LTE(Long
Term Evolution,长期演进)、 电子邮件、 SMS(Short Messaging Service, 短消息 月良务) 、 UMTS ( Universal Mobile Telecommunications System , 通用移动通讯 系统 )、 TD-SCDMA( Time Division- Synchronous Code Division Multiple Access , 时分同步码分多址)等。
存储器 120可用于存储软件程序以及模块,处理器 180通过运行存储在存储 器 120的软件程序以及模块, 从而执行手机 100的各种功能应用以及数据处理。 存储器 120可主要包括存储程序区和存储数据区, 其中, 存储程序区可存储操 作系统、至少一个功能所需的应用程序(比如声音播放功能、图象播放功能等) 等; 存储数据区可存储根据手机 100的使用所创建的数据(比如音频数据、 电 话本等)等。 此外, 存储器 120可以包括高速随机存取存储器, 还可以包括非 易失性存储器, 例如至少一个磁盘存储器件、 闪存器件、 或其他易失性固态存 储器件(如内存)。
输入单元 130可用于接收输入的数字或字符信息,以及产生与手机 100的用 户设置以及功能控制有关的键信号输入。 具体地, 输入单元 130可包括触控面 板 131以及其他输入设备 132。 触控面板 131 , 也称为触摸屏, 可收集用户在其 上或附近的触摸操作 (比如用户使用手指、触笔等任何适合的物体或附件在触 控面板 131上或在触控面板 131附近的操作 ), 并根据预先设定的程式驱动相应 的连接装置。 可选的, 触控面板 131可包括触摸检测装置和触摸控制器两个部 分。 其中, 触摸检测装置检测用户的触摸方位, 并检测触摸操作带来的信号, 将信号传送给触摸控制器; 触摸控制器从触摸检测装置上接收触摸信息, 并将 它转换成触点坐标,再送给处理器 180, 并能接收处理器 180发来的命令并加以 执行。 此外, 可以釆用电阻式、 电容式、 红外线以及表面声波等多种类型实现 触控面板 131。 除了触控面板 131 , 输入单元 130还可以包括其他输入设备 132。 具体地, 其他输入设备 132可以包括但不限于物理键盘、 功能键(比如音量控 制按键、 开关按键等)、 轨迹球、 鼠标、 操作杆等中的一种或多种。
显示单元 140可用于显示由用户输入的信息或提供给用户的信息以及手机 100的各种菜单。 显示单元 140可包括显示面板 141 , 可选的, 可以釆用
LCD(Liquid Crystal Display,液晶显示器)、 OLED(Organic Light-Emitting Diode, 有机发光二极管)等形式来配置显示面板 141。 进一步的, 触控面板 131可覆盖 显示面板 141 , 当触控面板 131检测到在其上或附近的触摸操作后,传送给处理 器 180以确定触摸事件的类型,随后处理器 180根据触摸事件的类型在显示面板 141上提供相应的视觉输出。 虽然在图 10中, 触控面板 131与显示面板 141是作 为两个独立的部件来实现手机 100的输入和输入功能, 但是在某些实施例中, 可以将触控面板 131与显示面板 141集成而实现手机 100的输入和输出功能。 手机 100还可包括至少一种传感器 150, 比如光传感器、运动传感器以及其 他传感器。 具体地, 光传感器可包括环境光传感器及接近传感器, 其中, 环境 光传感器可根据环境光线的明暗来调节显示面板 141的亮度, 接近传感器可在 手机 100移动到耳边时,关闭显示面板 141和 /或背光。作为运动传感器的一种, 加速计传感器可检测各个方向上(一般为三轴)加速度的大小, 静止时可检测 出重力的大小及方向, 可用于识别手机姿态的应用 (比如横竖屏切换、 相关游 戏、 磁力计姿态校准)、 振动识别相关功能(比如计步器、 敲击)等; 至于手 机 100还可配置的陀螺仪、 气压计、 湿度计、 温度计、 红外线传感器等其他传 感器, 在此不再赘述。 音频电路 160、扬声器 161 , 麦克风 162可提供用户与手机 100之间的音频接 口。 音频电路 160可将接收到的音频数据转换后的电信号, 传输到扬声器 161 , 由扬声器 161转换为声音信号输出; 另一方面, 麦克风 162将收集的声音信号转 换为电信号, 由音频电路 160接收后转换为音频数据, 再将音频数据输出至 RF 电路 108以发送给比如另一手机,或者将音频数据输出至存储器 120以便进一步 处理。
WiFi和蓝牙都属于短距离无线传输技术,手机 100通过 WiFi/蓝牙模块 170 可以帮助用户收发电子邮件、浏览网页和访问流式媒体等, 它为用户提供了无 线的宽带互联网访问。 虽然图 10示出了 WiFi/蓝牙模块 170, 但是可以理解的 是,其并不属于手机 100的必须构成, 完全可以根据需要在不改变发明的本质 的范围内而省略。
芯片系统 6000是手机 100的控制中心, 利用各种接口和线路连接整个手 机的各个部分, 通过运行或执行存储在存储器 120 内的软件程序和 /或模块, 以及调用存储在存储器 120内的数据, 执行手机 100的各种功能和处理数据, 从而对手机进行整体监控。 可选的, 芯片系统 6000可包括一个或多个处理单 元; 优选的, 芯片系统 6000可集成应用处理器和调制解调处理器, 其中, 应 用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处 理无线通信。 可以理解的是, 上述调制解调处理器也可以不集成到芯片系统 6000中。
手机 100还包括给各个部件供电的电源 190 (比如电池), 优选的, 电源 可以通过电源管理模块 180与芯片系统 6000逻辑相连, 从而通过电源管理模 块 180实现管理充电、 放电、 以及功耗等功能。
尽管未示出, 手机 100还可以包括调频模块 191、 摄像头 192、 定位模块
193等, 在此不再赘述。
通过本申请实施例中的一个或多个技术方案, 可以实现如下技术效果: 本申请实施例中的一个或多个技术方案中 ,通过釆用根据多核处理器中一 个处理器的根据除请求数据的一个处理器外的至少一个其他处理器的工作频 率小于第一频率,且一个处理器对于至少一个其他处理器对应的緩存命中比例 值大于或等于第一阔值,以及一个处理器对应的緩存命中比例值大于或等于第 二阔值, 多核处理器中的各处理器之间使用率不均衡, 且所述多核处理器中 N 个处理器的使用率大于第一使用率阔值等判断条件,判断多核处理器的工作模 式应该处于 SMP模式还是 ASMP模式的技术方案。 这样, 多核处理器在使用 率不均衡且多核处理器中的处理器使用率较高的情况下选择 ASMP模式, 从 而避免相同频率和电源电压导致的功耗损失;在多核处理器在处理器一级緩存 命中率不高,且需要去处于较低频率的处理器对应的緩存获取数据情况下选择
SMP模式, 从而也可避免不必要的功耗损失。
实施例十一 如果多核处理器所在芯片系统的应用场景为单场景,即芯片系统上运行的 只有一个应用程序, 则如实施例三所述, 需要将该应用程序运行时的多核处理 器切换后的工作模式和该应用程序 (该多核处理器所在芯片系统的应用场景) 相关联存储在存储器中。 其中,获取该应用程序运行时的多核处理器的工作模 式可以不按照实施例一或实施例二的方式执行。在本实施例中, 该应用程序运 行时的多核处理器的工作模式通过测量该应用程序运行时终端的功耗的方式 获得。 如图 10所示, 可以通过使用与电源 190相连的功耗测量仪器(如直流 稳压源 )或电量计测量该应用程序运行时终端 7000的功耗。 通过分别测量该 应用程序运行时的多核处理器的工作模式为 SMP和 ASMP时终端 7000的功 耗, 并将测量到的该应用程序运行时的多核处理器的工作模式为 SMP时的终 端 7000的功耗和该应用程序运行时的多核处理器的工作模式为 ASMP时的终 端 7000的功耗相比, 取功耗相对较小的多核处理器的工作模式为该应用程序 运行时的多核处理器的工作模式。并将该应用程序运行时的多核处理器的工作 模式和该应用程序相关联存储在存储器中。
本实施例的方案中,通过测量与电源 190相连的测量终端功耗的仪器, 可 测量当多核处理器的工作模式分别为 ASMP和 SMP时的终端功耗。 通过比较 两者功耗的高低, 确认当前应用程序运行时的多核处理器的工作模式。 因此, 本实施例可提供一种更直接的确认终端在单场景模式下功耗的方式。
本领域内的技术人员应明白, 本发明的实施例可提供为方法、 系统、 或计 算机程序产品。 因此, 本发明可釆用完全硬件实施例、 完全软件实施例、 或结 合软件和硬件方面的实施例的形式。 而且, 本发明可釆用在一个或多个其中包 含有计算机可用程序代码的计算机可用存储介质 (包括但不限于磁盘存储器、
CD-ROM, 光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、 设备(系统)、 和计算机程序产 品的流程图和 /或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和 /或方框、以及流程图和 /或方框图中的流程和 / 或方框的结合。 可提供这些计算机程序指令到通用计算机、 专用计算机、 嵌入 式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算 机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一 个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设 备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中 的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个 流程和 /或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使 得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处 理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个 流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的步骤。
明的精神和范围。 这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。

Claims

权 利 要 求
1、 一种多核处理器的管理方法, 其特征在于, 包括: 若当前所述多核处理器的工作模式为非对称多处理 ASMP模式, 除请求 数据的一个处理器外的至少一个其他处理器的工作频率小于第一频率,且所述 一个处理器对于所述至少一个其他处理器对应的緩存命中比例值大于或等于 第一阔值, 则将所述多核处理器的工作模式切换为对称多处理 SMP模式; 若当前所述多核处理器的工作模式为 SMP模式, 所述一个处理器对应的 緩存命中比例值大于或等于第二阔值,所述多核处理器中的各处理器之间使用 率不均衡, 且所述多核处理器中 N个处理器的使用率大于第一使用率阔值, 则将所述多核处理器的工作模式切换为 ASMP模式; 其中, N大于或等于 1 , 且小于或等于所述多核处理器中处理器个数减
2、 如权利要求 1所述的方法, 其特征在于, 所述一个处理器对于所述至少一个其他处理器对应的緩存命中比例值具 体为所述一个处理器对于所述至少一个其他处理器对应的二级緩存命中比例 值; 所述一个处理器对应的緩存命中比例值具体为所述一个处理器的一级緩 存命中比例值。
3、 如权利要求 1所述的方法, 其特征在于, 所述一个处理器对于所述至少一个其他处理器对应的緩存命中比例值具 体为所述一个处理器对于所述至少一个其他处理器对应的二级緩存命中比例 值; 所述一个处理器对应的緩存命中比例值具体为所述一个处理器对应的二 级緩存命中比例值。
4、 如权利要求 1所述的方法, 其特征在于, 所述一个处理器对于所述至少一个其他处理器对应的緩存命中比例值具 体为所述一个处理器对于所述至少一个其他处理器对应的一级緩存命中比例 值; 所述一个处理器对应的緩存命中比例值具体为所述一个处理器的一级緩 存命中比例值。
5、 如权利要求 1所述的方法, 其特征在于, 所述一个处理器对于所述至少一个其他处理器对应的緩存命中比例值具 体为所述一个处理器对于所述至少一个其他处理器对应的一级緩存命中比例 值; 所述一个处理器对应的緩存命中比例值具体为所述一个处理器对应的二 级緩存命中比例值。
6、 如权利要求 1~5中任一权项所述的方法, 其特征在于, 在所述多核处 理器的工作模式切换为 SMP模式, 或者所述多核处理器的工作模式切换为 ASMP模式后,存储所述多核处理器所在芯片系统的应用场景与所述多核处理 器切换后的工作模式的关联关系。
7、 如权利要求 6所述的方法, 其特征在于, 在所述多核处理器的工作模 式切换为 SMP模式, 或者所述多核处理器的工作模式切换为 ASMP模式后, 存储所述多核处理器所在芯片系统的应用场景与所述多核处理器切换后的工 作模式的关联关系, 包括:
如果在第一预定时间间隔内对应的所述多核处理器所在芯片系统的应用 场景的使用次数大于或等于 B1 , 且使用次数较多的所述多核处理器的工作模 式的使用次数与使用次数较少的所述多核处理器的工作模式的使用次数的比 值大于或等于 M, 则存储所述多核处理器所在芯片系统的应用场景与所述多 核处理器切换后的工作模式的关联关系;
其中, 所述 M为大于 1的整数; 所述 B1为大于或等于 2的整数。
8、 如权利要求 7所述的方法, 其特征在于, 在所述多核处理器的工作模 式切换为 SMP模式, 或者所述多核处理器的工作模式切换为 ASMP模式后, 存储所述多核处理器所在芯片系统的应用场景与所述多核处理器切换后的工 作模式的关联关系, 还包括:
如果在第一预定时间间隔内对应的所述多核处理器所在芯片系统的应用 场景的使用次数小于所述 B1 , 或者使用次数较多的所述多核处理器的工作模 式的使用次数与使用次数较少的所述多核处理器的工作模式的使用次数的比 值小于所述 M,
在所述第一预定时间间隔后的第二预定时间间隔内,如果在第二预定时间 间隔内对应的所述多核处理器所在芯片系统的应用场景的使用次数大于或等 于 B2, 且使用次数较多的所述多核处理器的工作模式的使用次数与使用次数 较少的所述多核处理器的工作模式的使用次数的比值大于或等于所述 M, 则 存储所述多核处理器所在芯片系统的应用场景与所述多核处理器切换后的工 作模式的关联关系;
其中, 所述 B2为大于或等于 1的整数。
9、 如权利要求 6~8中任一权项所述的方法, 其特征在于, 在所述将此关 联关系存储于数据库中之后的第三预定时间间隔内,执行权利要求 1所述的步 骤,若执行后获得的所述多核处理器的工作模式指示对应所述应用场景的所述 多核处理器的工作模式与存储的对应所述应用场景的所述多核处理器的工作 模式不同,则清除所述多核处理器所在芯片系统的应用场景与所述多核处理器 切换后的工作模式之间的关联关系。
10、 如权利要求 6~9中任一权项所述的方法, 其特征在于, 还包括: 才艮据所述多核处理器所在芯片系统的当前应用场景,查找与所述当前应用 场景关联的所述多核处理器的工作模式;
若找到与所述当前应用场景关联的所述多核处理器的工作模式,则将所述 多核处理器的当前工作模式确定为找到的所述多核处理器的工作模式;
若没有找到与所述当前应用场景关联的所述多核处理器的工作模式,则执 行权利要求 1 所述的步骤确定与所述当前应用场景关联的所述多核处理器的 工作模式。
11、 一种处理器, 其特征在于, 包括一个处理硬件平台, 所述处理硬件平 台执行存储在一个非易失性计算机可读存储介质上的指令,用来执行多个模块 的功能, 所述多个模块包括:
获取模块,用于获取除请求数据的一个处理器外的至少一个其他处理器的 工作频率,所述一个处理器对于所述至少一个其他处理器对应的緩存命中比例 值, 所述一个处理器对应的緩存命中比例值, 和, 所述多核处理器中 N个处 理器的使用率;
判断模块, 用于判断当前所述多核处理器的工作模式为非对称多处理
ASMP模式时,除请求数据的一个处理器外的至少一个其他处理器的工作频率 是否小于第一频率,且所述一个处理器对于所述至少一个其他处理器对应的緩 存命中比例值是否大于或等于第一阔值; 以及, 用于判断当前所述多核处理器 的工作模式为 SMP模式时, 所述一个处理器对应的緩存命中比例值是否大于 或等于第二阔值, 所述多核处理器中的各处理器之间使用率是否不均衡,且所 述多核处理器中 N个处理器的使用率是否大于第一使用率阔值;
切换模块,用于当所述判断模块判断的当前所述多核处理器的工作模式为 非对称多处理 ASMP模式, 除请求数据的一个处理器外的至少一个其他处理 器的工作频率小于第一频率,且所述一个处理器对于所述至少一个其他处理器 对应的緩存命中比例值大于或等于第一阔值时,将所述多核处理器的工作模式 切换为对称多处理 SMP模式; 当所述判断模块判断的当前所述多核处理器的 工作模式为 SMP模式, 所述一个处理器对应的緩存命中比例值大于或等于第 二阔值, 所述多核处理器中的各处理器之间使用率不均衡,且所述多核处理器 中 N个处理器的使用率大于第一使用率阔值时, 将所述多核处理器的工作模 式切换为 ASMP模式;
其中, N大于或等于 1 , 且小于或等于所述多核处理器中处理器个数减
12、 如权利要求 11所述的处理器, 其特征在于, 所述一个处理器对于所述至少一个其他处理器对应的緩存命中比例值具 体为所述一个处理器对于所述至少一个其他处理器对应的二级緩存命中比例 值; 所述一个处理器对应的緩存命中比例值具体为所述一个处理器的一级緩 存命中比例值。
13、 如权利要求 11所述的处理器, 其特征在于, 所述一个处理器对于所述至少一个其他处理器对应的緩存命中比例值具 体为所述一个处理器对于所述至少一个其他处理器对应的二级緩存命中比例 值;
所述一个处理器对应的緩存命中比例值具体为所述一个处理器的二级緩 存命中比例值。
14、 如权利要求 11所述的处理器, 其特征在于, 所述一个处理器对于所述至少一个其他处理器对应的緩存命中比例值具 体为所述一个处理器对于所述至少一个其他处理器对应的一级緩存命中比例 值;
所述一个处理器对应的緩存命中比例值具体为所述一个处理器的一级緩 存命中比例值。
15、 如权利要求 11所述的处理器, 其特征在于, 所述一个处理器对于所述至少一个其他处理器对应的緩存命中比例值具 体为所述一个处理器对于所述至少一个其他处理器对应的一级緩存命中比例 值;
所述一个处理器对应的緩存命中比例值具体为所述一个处理器的二级緩 存命中比例值。
16、 如权利要求 11~15中任一权项所述的处理器, 其特征在于, 所述多个 模块还包括:
存储模块, 用于在所述多核处理器的工作模式切换为 SMP模式, 或者所 述多核处理器的工作模式切换为 ASMP模式后, 存储所述多核处理器所在芯 片系统的应用场景与所述多核处理器切换后的工作模式的关联关系。
17、 如权利要求 16所述的处理器, 其特征在于,
存储模块,具体用于在第一预定时间间隔内对应的所述多核处理器所在芯 片系统的应用场景的使用次数大于或等于 B1 , 且使用次数较多的所述多核处 理器的工作模式的使用次数与使用次数较少的所述多核处理器的工作模式的 使用次数的比值大于或等于 M时, 存储所述多核处理器所在芯片系统的应用 场景与所述多核处理器切换后的工作模式的关联关系;
其中, 所述 M为大于 1的整数; 所述 B1为大于或等于 2的整数。
18、 如权利要求 17所述的处理器, 其特征在于,
存储模块,还用于在第一预定时间间隔内对应的所述多核处理器所在芯片 系统的应用场景的使用次数小于所述 B1 , 或者使用次数较多的所述多核处理 器的工作模式与使用次数较少的所述多核处理器的工作模式的比值小于所述 M,
在所述第一预定时间间隔后的第二预定时间间隔内,如果在第二预定时间 间隔内对应的所述多核处理器所在芯片系统的应用场景的使用次数大于或等 于 B2, 且使用次数较多的所述多核处理器的工作模式的使用次数与使用次数 较少的所述多核处理器的工作模式的使用次数的比值大于或等于所述 M时, 存储所述多核处理器所在芯片系统的应用场景与所述多核处理器切换后的工 作模式的关联关系;
其中, 所述 B2为大于或等于 1的整数。
19、 如权利要求 16~18中任一权项所述的处理器, 其特征在于, 所述多个 模块还包括:
执行模块,用于在所述将此关联关系存储于数据库中之后的第三预定时间 间隔内, 执行权利要求 1所述的步骤;
所述判断模块,还用于判断执行结果指示对应所述应用场景的所述多核处 理器的工作模式与存储于学习数据库中对应所述应用场景的所述多核处理器 的工作模式是否不同;
清除模块,用于在所述判断模块的判断结果指示对应所述应用场景的所述 多核处理器的工作模式与存储于学习数据库中对应所述应用场景的所述多核 处理器的工作模式不同时,清除所述多核处理器所在芯片系统的应用场景与所 述多核处理器切换后的工作模式之间的关联关系。
20、 如权利要求 16~19中任一权项所述的处理器, 其特征在于, 所述多个 模块还包括:
查找模块, 用于根据所述多核处理器所在芯片系统的当前应用场景, 查找 与所述当前应用场景关联的所述多核处理器的工作模式;
确定模块,用于当找到与所述当前应用场景关联的所述多核处理器的工作 模式时,将所述多核处理器的当前工作模式确定为找到的所述多核处理器的工 作模式;当没有找到与所述当前应用场景关联的所述多核处理器的工作模式时, 则执行权利要求 1 所述的步骤确定与所述当前应用场景关联的所述多核处理 器的工作模式。
21、 如权利要求 11~20中任一权项所述的处理器, 其特征在于, 所述处理 器为所述多核处理器中一个处理器。
22、 如权利要求 11~20中任一权项所述的处理器, 其特征在于, 所述处理 器为调度处理器。
23、 如权利要求 22所述的处理器, 其特征在于, 所述获取模块, 具体用于从所述多核处理器中的内存, 获取所述多核处理 器中一个处理器存储在所述内存中的,所述多核处理器中一个处理器的一级緩 存命中率值。
24、 一种处理器, 其特征在于, 包括:
获取模块,用于获取除请求数据的一个处理器外的至少一个其他处理器的 工作频率,所述一个处理器对于所述至少一个其他处理器对应的緩存命中比例 值, 所述一个处理器对应的緩存命中比例值, 和, 所述多核处理器中 N个处 理器的使用率;
判断模块, 用于判断当前所述多核处理器的工作模式为非对称多处理 ASMP模式时,除请求数据的一个处理器外的至少一个其他处理器的工作频率 是否小于第一频率,且所述一个处理器对于所述至少一个其他处理器对应的緩 存命中比例值是否大于或等于第一阔值; 以及, 用于判断当前所述多核处理器 的工作模式为 SMP模式时, 所述一个处理器对应的緩存命中比例值是否大于 或等于第二阔值, 所述多核处理器中的各处理器之间使用率是否不均衡,且所 述多核处理器中 N个处理器的使用率是否大于第一使用率阔值;
切换模块,用于当所述判断模块判断的当前所述多核处理器的工作模式为 非对称多处理 ASMP模式, 除请求数据的一个处理器外的至少一个其他处理 器的工作频率小于第一频率,且所述一个处理器对于所述至少一个其他处理器 对应的緩存命中比例值大于或等于第一阔值时,将所述多核处理器的工作模式 切换为对称多处理 SMP模式; 当所述判断模块判断的当前所述多核处理器的 工作模式为 SMP模式, 所述一个处理器对应的緩存命中比例值大于或等于第 二阔值, 所述多核处理器中的各处理器之间使用率不均衡,且所述多核处理器 中 N个处理器的使用率大于第一使用率阔值时, 将所述多核处理器的工作模 式切换为 ASMP模式; 其中, N大于或等于 1 , 且小于或等于所述多核处理器中处理器个数减
25、 如权利要求 24所述的处理器, 其特征在于, 所述一个处理器对于所述至少一个其他处理器对应的緩存命中比例值具 体为所述一个处理器对于所述至少一个其他处理器对应的二级緩存命中比例 值;
所述一个处理器对应的緩存命中比例值具体为所述一个处理器的一级緩 存命中比例值。
26、 如权利要求 24所述的处理器, 其特征在于, 所述一个处理器对于所述至少一个其他处理器对应的緩存命中比例值具 体为所述一个处理器对于所述至少一个其他处理器对应的二级緩存命中比例 值; 所述一个处理器对应的緩存命中比例值具体为所述一个处理器的二级緩 存命中比例值。
27、 如权利要求 24所述的处理器, 其特征在于, 所述一个处理器对于所述至少一个其他处理器对应的緩存命中比例值具 体为所述一个处理器对于所述至少一个其他处理器对应的一级緩存命中比例 值; 所述一个处理器对应的緩存命中比例值具体为所述一个处理器的一级緩 存命中比例值。
28、 如权利要求 24所述的处理器, 其特征在于, 所述一个处理器对于所述至少一个其他处理器对应的緩存命中比例值具 体为所述一个处理器对于所述至少一个其他处理器对应的一级緩存命中比例 值;
所述一个处理器对应的緩存命中比例值具体为所述一个处理器的二级緩 存命中比例值。
29、 如权利要求 24~28中任一权项所述的处理器, 其特征在于, 还包括: 存储模块, 用于在所述多核处理器的工作模式切换为 SMP模式, 或者所 述多核处理器的工作模式切换为 ASMP模式后, 存储所述多核处理器所在芯 片系统的应用场景与所述多核处理器切换后的工作模式的关联关系。
30、 如权利要求 29所述的处理器, 其特征在于,
存储模块,具体用于在第一预定时间间隔内对应的所述多核处理器所在芯 片系统的应用场景的使用次数大于或等于 B1 , 且使用次数较多的所述多核处 理器的工作模式的使用次数与使用次数较少的所述多核处理器的工作模式的 使用次数的比值大于或等于 M时, 存储所述多核处理器所在芯片系统的应用 场景与所述多核处理器切换后的工作模式的关联关系;
其中, 所述 M为大于 1的整数; 所述 B1为大于或等于 2的整数。
31、 如权利要求 30所述的处理器, 其特征在于,
存储模块,还用于在第一预定时间间隔内对应的所述多核处理器所在芯片 系统的应用场景的使用次数小于所述 B1 , 或者使用次数较多的所述多核处理 器的工作模式的使用次数与使用次数较少的所述多核处理器的工作模式的使 用次数的比值小于所述 M,
在所述第一预定时间间隔后的第二预定时间间隔内,如果在第二预定时间 间隔内对应的所述多核处理器所在芯片系统的应用场景的使用次数大于或等 于 B2 , 且使用次数较多的所述多核处理器的工作模式的使用次数与使用次数 较少的所述多核处理器的工作模式的使用次数的比值大于或等于所述 M时, 存储所述多核处理器所在芯片系统的应用场景与所述多核处理器切换后的工 作模式的关联关系;
其中, 所述 B2为大于或等于 1的整数。
32、 如权利要求 29~31中任一权项所述的处理器, 其特征在于, 还包括: 执行模块,用于在所述将此关联关系存储于数据库中之后的第三预定时间 间隔内, 执行权利要求 1所述的步骤;
所述判断模块,还用于判断执行结果指示对应所述应用场景的所述多核处 理器的工作模式与存储于学习数据库中对应所述应用场景的所述多核处理器 的工作模式是否不同;
清除模块,用于在所述判断模块的判断结果指示对应所述应用场景的所述 多核处理器的工作模式与存储于学习数据库中对应所述应用场景的所述多核 处理器的工作模式不同时,清除所述多核处理器所在芯片系统的应用场景与所 述多核处理器切换后的工作模式之间的关联关系。
33、 如权利要求 29~32中任一权项所述的处理器, 其特征在于, 还包括: 查找模块, 用于根据所述多核处理器所在芯片系统的当前应用场景, 查找 与所述当前应用场景关联的所述多核处理器的工作模式;
确定模块,用于当找到与所述当前应用场景关联的所述多核处理器的工作 模式时,将所述多核处理器的当前工作模式确定为找到的所述多核处理器的工 作模式;当没有找到与所述当前应用场景关联的所述多核处理器的工作模式时, 则执行权利要求 1 所述的步骤确定与所述当前应用场景关联的所述多核处理 器的工作模式。
34、 如权利要求 24~33中任一权项所述的处理器, 其特征在于, 所述处理 器为所述多核处理器中一个处理器。
35、 如权利要求 24~33中任一权项所述的处理器, 其特征在于, 所述处理 器为调度处理器。
36、 如权利要求 35所述的处理器, 其特征在于,
所述获取模块, 具体用于从所述多核处理器中的内存, 获取所述多核处理 器中一个处理器存储在所述内存中的,所述多核处理器中一个处理器的一级緩 存命中率值。
37、 一种多核处理器, 其特征在于, 包括至少两个如权利要求 11~36中任 一权项所述的处理器。
38、一种芯片系统,其特征在于, 包括如权利要求 37所述的多核处理器; 与所述多核处理器通信的调度处理器,与所述调度处理器通信的调制解调器芯 片, 媒体芯片, 以及外设接口。
39、 一种终端, 其特征在于, 包括如权利要求 38所述的芯片系统。
40、 一种计算机程序产品, 其特征在于, 所述计算机程序产品包括非易失 性计算机可读存储介质 ,所述非易失性计算机可读存储介质存储被所述处理器 执行的指令, 所述指令包括权利要求 1至 10项中任意一项的步骤。
41、 一种计算机可读存储介质, 其特征在于, 所述计算机存储计算机程 序代码, 当所述计算机程序代码被一个计算机执行的时候, 所述计算机程序代 码可以使得所述计算机执行权利要求 1至 10项中任意一项的步骤。
PCT/CN2014/082136 2014-07-14 2014-07-14 一种多核处理器的管理方法及装置 WO2016008066A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP14897637.6A EP3121684B1 (en) 2014-07-14 2014-07-14 Multi-core processor management method and device
PCT/CN2014/082136 WO2016008066A1 (zh) 2014-07-14 2014-07-14 一种多核处理器的管理方法及装置
CN201480001445.XA CN104363988B (zh) 2014-07-14 2014-07-14 一种多核处理器的管理方法及装置
US15/307,931 US10317931B2 (en) 2014-07-14 2014-07-14 Method for managing multi-core processor, and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/082136 WO2016008066A1 (zh) 2014-07-14 2014-07-14 一种多核处理器的管理方法及装置

Publications (1)

Publication Number Publication Date
WO2016008066A1 true WO2016008066A1 (zh) 2016-01-21

Family

ID=52530964

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/082136 WO2016008066A1 (zh) 2014-07-14 2014-07-14 一种多核处理器的管理方法及装置

Country Status (4)

Country Link
US (1) US10317931B2 (zh)
EP (1) EP3121684B1 (zh)
CN (1) CN104363988B (zh)
WO (1) WO2016008066A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641235A (zh) * 2021-08-31 2021-11-12 Oppo广东移动通信有限公司 供电装置、方法、计算机设备和存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160314024A1 (en) * 2015-04-24 2016-10-27 Mediatek Inc. Clearance mode in a multicore processor system
JP2017046084A (ja) * 2015-08-25 2017-03-02 コニカミノルタ株式会社 画像処理装置、制御タスクの割り当て方法及び割り当てプログラム
US10551868B2 (en) * 2016-03-16 2020-02-04 Mediatek, Inc. Multiprocessor systems having processors with different processing capabilities connecting to a clock generator
CN106020987A (zh) * 2016-05-31 2016-10-12 广东欧珀移动通信有限公司 处理器中内核运行配置的确定方法以及装置
CN106020844A (zh) * 2016-05-31 2016-10-12 广东欧珀移动通信有限公司 处理器中内核运行配置的确定方法以及装置
CN107357385B (zh) * 2017-06-09 2020-04-28 努比亚技术有限公司 基于频率控制温度的方法、终端及计算机可读存储介质
CN116561020B (zh) * 2023-05-15 2024-04-09 合芯科技(苏州)有限公司 一种混合缓存粒度下的请求处理方法、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090182980A1 (en) * 2008-01-14 2009-07-16 Sivaprasad Raghavareddy Systems and methods for asymmetric multiprocessing
CN102004543A (zh) * 2010-11-29 2011-04-06 华为技术有限公司 一种实现cpu节能的方法及装置
CN103207659A (zh) * 2012-01-16 2013-07-17 联想(北京)有限公司 切换方法和电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0315504D0 (en) 2003-07-02 2003-08-06 Advanced Risc Mach Ltd Coherent multi-processing system
US8645852B2 (en) 2006-06-23 2014-02-04 International Business Machines Corporation Drag and drop quoting mechanism for use with discussion forums
JP2009122925A (ja) * 2007-11-14 2009-06-04 Toshiba Corp データ処理プログラム、データ処理方法およびデータ処理システム
JP5316128B2 (ja) * 2009-03-17 2013-10-16 トヨタ自動車株式会社 故障診断システム、電子制御ユニット、故障診断方法
CN101706742B (zh) * 2009-11-20 2012-11-21 北京航空航天大学 一种基于多核动态划分的非对称虚拟机i/o调度方法
CN103019856A (zh) 2012-11-23 2013-04-03 上海寰创通信科技股份有限公司 一种多核处理器的非对称调度方法
US9292356B2 (en) 2012-12-03 2016-03-22 Qualcomm Innovation Center, Inc. Thread processing on an asymmetric multi-core processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090182980A1 (en) * 2008-01-14 2009-07-16 Sivaprasad Raghavareddy Systems and methods for asymmetric multiprocessing
CN102004543A (zh) * 2010-11-29 2011-04-06 华为技术有限公司 一种实现cpu节能的方法及装置
CN103207659A (zh) * 2012-01-16 2013-07-17 联想(北京)有限公司 切换方法和电子设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ANONYMITY.: "Things about Mobile CPU Asynchronous Multi-Core and Big and Small Core", 8 December 2012 (2012-12-08), pages 1 - 4, XP055330391, Retrieved from the Internet <URL:http://www.hksilicon.com/kb/articles/104227/CPU> *
ROBIN, R. ET AL.: "ARM big.LITTLE System Technology Application", ELECTRONIC ENGINEERING & PRODUCT WORLD, vol. 8, 31 August 2013 (2013-08-31), pages 30 - 31, XP008182902 *
ROBIN, R.: "Software Tachniques for ARM big. LITTLE Systems", 17 October 2013 (2013-10-17), pages 2 and 4 - 5, XP055330388, Retrieved from the Internet <URL:http://community.arm.com/docs/DOC-2875> *
See also references of EP3121684A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641235A (zh) * 2021-08-31 2021-11-12 Oppo广东移动通信有限公司 供电装置、方法、计算机设备和存储介质

Also Published As

Publication number Publication date
EP3121684B1 (en) 2018-05-02
US20170052560A1 (en) 2017-02-23
CN104363988B (zh) 2018-07-20
EP3121684A4 (en) 2017-06-07
CN104363988A (zh) 2015-02-18
EP3121684A1 (en) 2017-01-25
US10317931B2 (en) 2019-06-11

Similar Documents

Publication Publication Date Title
WO2016008066A1 (zh) 一种多核处理器的管理方法及装置
JP6467526B2 (ja) 通信メッセージ送信方法及びウェアラブル・デバイス
WO2017206916A1 (zh) 处理器中内核运行配置的确定方法以及相关产品
JP5858155B2 (ja) 携帯型端末装置のユーザインターフェースを自動的に切り替える方法、及び携帯型端末装置
WO2015090248A1 (zh) 服务器的过载保护方法及装置
WO2017063604A1 (zh) 消息推送方法及移动终端和消息推送服务器
TWI512525B (zh) 關聯終端的方法及系統、終端及電腦可讀取儲存介質
WO2015043361A1 (en) Methods, devices, and systems for completing communication between terminals
AU2018273505B2 (en) Method for capturing fingerprint and associated products
CN103596017B (zh) 一种视频下载方法及系统
JP5871075B2 (ja) 中央演算装置を制御するための方法および装置
WO2016206491A1 (zh) 目标对象运动轨迹确定方法、装置以及存储介质
WO2015058512A1 (zh) 一种nfc数据传输方法、终端设备及服务器
TW201512865A (zh) 一種網頁數據搜索方法、裝置和系統
WO2017096909A1 (zh) 建立数据连接的方法及装置
WO2014206138A1 (zh) 一种更新网页数据的方法、装置和终端设备
WO2015000430A1 (zh) 智能选词的方法和装置
WO2018209555A1 (zh) 连接蓝牙设备的方法及终端设备
JP2020537211A (ja) アプリケーション管理方法および端末
WO2019072179A1 (zh) 应用程序运行控制方法及装置
WO2018214760A1 (zh) 对焦方法及相关产品
TWI637616B (zh) 基於快取一致性之控制方法
WO2015135457A1 (en) Method, apparatus, and system for sending and playing multimedia information
CN105159655B (zh) 行为事件的播放方法和装置
WO2018219117A1 (zh) 组件显示方法及相关产品

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14897637

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2014897637

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014897637

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15307931

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE