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

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

Info

Publication number
CN104363988B
CN104363988B CN201480001445.XA CN201480001445A CN104363988B CN 104363988 B CN104363988 B CN 104363988B CN 201480001445 A CN201480001445 A CN 201480001445A CN 104363988 B CN104363988 B CN 104363988B
Authority
CN
China
Prior art keywords
processor
core processor
operating mode
core
ratio value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480001445.XA
Other languages
English (en)
Other versions
CN104363988A (zh
Inventor
杨同增
魏孔刚
彭钰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN104363988A publication Critical patent/CN104363988A/zh
Application granted granted Critical
Publication of CN104363988B publication Critical patent/CN104363988B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

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模式,除请求数据的一个处理器外的至少一个其他处理器的工作频率小于第一频率,且所述一个处理器对于所述至少一个其他处理器对应的缓存命中比例值大于或等于第一阈值,将所述多核处理器的工作模式切换为对称多处理SMP模式;若当前所述多核处理器的工作模式为SMP模式,所述一个处理器对应的缓存命中比例值大于或等于第二阈值,所述多核处理器中的各处理器之间使用率不均衡,且所述多核处理器中N个处理器的使用率大于第一使用率阈值,将所述多核处理器的工作模式切换为ASMP模式;其中,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所示,多核处理器1000中包括处理器500,处理器600,处理器700和处理器800。其中,处理器500,处理器600,处理器700和处理器800中均包括各自的一级缓存(图中未示出)。侦测控制单元902位于各个处理器和二级缓存900之间,是多核处理器1000的中央情报局,负责为多核处理器中的各处理器(如图7中的处理器500,处理器600,处理器700及处理器800)提供互联、仲裁、通信、缓存间及系统内存传输、缓存一致性及其他多核功能的管理。例如,SCU可以负责当该数据在二级缓存中对应的地址空间位于多核处理器中至少一个其他处理器对应的二级缓存中没有找到时,根据上述算法,从该至少一个其他处理器对应的一级缓存中读取该数据,或者该多核处理器中所述一个处理器则从内存(图中未示出,位于多核处理器1000之外)中读取该数据。二级缓存900和侦测控制单元902连接,当该数据没有在二级缓存900中找到时,发起数据访问的那个处理器可以访问侦测控制单元902,从而根据侦测控制单元902中包含的算法,访问该至少一个其他处理器对应的一级缓存或内存从而访问该数据。
其中,处理器的工作频率和该处理器的使用率相关。该处理器的使用率越高,处理器的工作频率越高。其中,该处理器的使用率是指该处理器执行非系统空闲进程的时间所占该处理器总的执行时间的百分比使用率。例如,该处理器在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(Pointof 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 Mobilecommunication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband CodeDivision Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)、UMTS(Universal MobileTelecommunications 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 CrystalDisplay,液晶显示器)、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 (40)

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.如权利要求7~8中任一权项所述的方法,其特征在于,在将此关联关系存储于数据库中之后的第三预定时间间隔内,执行权利要求1所述的步骤,若执行后获得的所述多核处理器的工作模式指示对应所述应用场景的所述多核处理器的工作模式与存储的对应所述应用场景的所述多核处理器的工作模式不同,则清除所述多核处理器所在芯片系统的应用场景与所述多核处理器切换后的工作模式之间的关联关系。
10.如权利要求7~8中任一权项所述的方法,其特征在于,还包括:
根据所述多核处理器所在芯片系统的当前应用场景,查找与所述当前应用场景关联的所述多核处理器的工作模式;
若找到与所述当前应用场景关联的所述多核处理器的工作模式,则将所述多核处理器的当前工作模式确定为找到的所述多核处理器的工作模式;
若没有找到与所述当前应用场景关联的所述多核处理器的工作模式,则执行权利要求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.如权利要求17~18中任一权项所述的处理器,其特征在于,所述多个模块还包括:
执行模块,用于在将此关联关系存储于数据库中之后的第三预定时间间隔内,执行权利要求1所述的步骤;
所述判断模块,还用于判断执行结果指示对应所述应用场景的所述多核处理器的工作模式与存储于学习数据库中对应所述应用场景的所述多核处理器的工作模式是否不同;
清除模块,用于在所述判断模块的判断结果指示对应所述应用场景的所述多核处理器的工作模式与存储于学习数据库中对应所述应用场景的所述多核处理器的工作模式不同时,清除所述多核处理器所在芯片系统的应用场景与所述多核处理器切换后的工作模式之间的关联关系。
20.如权利要求17~18中任一权项所述的处理器,其特征在于,所述多个模块还包括:
查找模块,用于根据所述多核处理器所在芯片系统的当前应用场景,查找与所述当前应用场景关联的所述多核处理器的工作模式;
确定模块,用于当找到与所述当前应用场景关联的所述多核处理器的工作模式时,将所述多核处理器的当前工作模式确定为找到的所述多核处理器的工作模式;当没有找到与所述当前应用场景关联的所述多核处理器的工作模式时,则执行权利要求1所述的步骤确定与所述当前应用场景关联的所述多核处理器的工作模式。
21.如权利要求11~15和17~18中任一权项所述的处理器,其特征在于,所述处理器为所述多核处理器中一个处理器。
22.如权利要求11~15和17~18中任一权项所述的处理器,其特征在于,所述处理器为调度处理器。
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.如权利要求30~31中任一权项所述的处理器,其特征在于,还包括:
执行模块,用于在将此关联关系存储于数据库中之后的第三预定时间间隔内,执行权利要求1所述的步骤;
所述判断模块,还用于判断执行结果指示对应所述应用场景的所述多核处理器的工作模式与存储于学习数据库中对应所述应用场景的所述多核处理器的工作模式是否不同;
清除模块,用于在所述判断模块的判断结果指示对应所述应用场景的所述多核处理器的工作模式与存储于学习数据库中对应所述应用场景的所述多核处理器的工作模式不同时,清除所述多核处理器所在芯片系统的应用场景与所述多核处理器切换后的工作模式之间的关联关系。
33.如权利要求30~31中任一权项所述的处理器,其特征在于,还包括:
查找模块,用于根据所述多核处理器所在芯片系统的当前应用场景,查找与所述当前应用场景关联的所述多核处理器的工作模式;
确定模块,用于当找到与所述当前应用场景关联的所述多核处理器的工作模式时,将所述多核处理器的当前工作模式确定为找到的所述多核处理器的工作模式;当没有找到与所述当前应用场景关联的所述多核处理器的工作模式时,则执行权利要求1所述的步骤确定与所述当前应用场景关联的所述多核处理器的工作模式。
34.如权利要求24~28和30~31中任一权项所述的处理器,其特征在于,所述处理器为所述多核处理器中一个处理器。
35.如权利要求24~28和30~31中任一权项所述的处理器,其特征在于,所述处理器为调度处理器。
36.如权利要求35所述的处理器,其特征在于,
所述获取模块,具体用于从所述多核处理器中的内存,获取所述多核处理器中一个处理器存储在所述内存中的,所述多核处理器中一个处理器的一级缓存命中率值。
37.一种多核处理器,其特征在于,包括至少两个如权利要求11~36中任一权项所述的处理器。
38.一种芯片系统,其特征在于,包括如权利要求37所述的多核处理器;与所述多核处理器通信的调度处理器,与所述调度处理器通信的调制解调器芯片,媒体芯片,以及外设接口。
39.一种终端,其特征在于,包括如权利要求38所述的芯片系统。
40.一种计算机可读存储介质,其特征在于,所述计算机存储计算机程序代码,当所述计算机程序代码被一个计算机执行的时候,所述计算机程序代码可以使得所述计算机执行权利要求1至10项中任意一项的步骤。
CN201480001445.XA 2014-07-14 2014-07-14 一种多核处理器的管理方法及装置 Active CN104363988B (zh)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN104363988A CN104363988A (zh) 2015-02-18
CN104363988B true CN104363988B (zh) 2018-07-20

Family

ID=52530964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480001445.XA Active CN104363988B (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)

Families Citing this family (8)

* 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 努比亚技术有限公司 基于频率控制温度的方法、终端及计算机可读存储介质
CN113641235B (zh) * 2021-08-31 2024-06-18 Oppo广东移动通信有限公司 供电装置、方法、计算机设备和存储介质
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
JP2009122925A (ja) * 2007-11-14 2009-06-04 Toshiba Corp データ処理プログラム、データ処理方法およびデータ処理システム
CN101706742A (zh) * 2009-11-20 2010-05-12 北京航空航天大学 一种基于多核动态划分的非对称虚拟机i/o调度方法
CN103019856A (zh) * 2012-11-23 2013-04-03 上海寰创通信科技股份有限公司 一种多核处理器的非对称调度方法

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
US9081694B2 (en) 2008-01-14 2015-07-14 Bivio Networks, Inc. Systems and methods for asymmetric multiprocessing
JP5316128B2 (ja) * 2009-03-17 2013-10-16 トヨタ自動車株式会社 故障診断システム、電子制御ユニット、故障診断方法
CN102004543B (zh) 2010-11-29 2013-08-07 华为技术有限公司 一种实现cpu节能的方法及装置
CN103207659B (zh) * 2012-01-16 2019-12-24 联想(北京)有限公司 切换方法和电子设备
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
JP2009122925A (ja) * 2007-11-14 2009-06-04 Toshiba Corp データ処理プログラム、データ処理方法およびデータ処理システム
CN101706742A (zh) * 2009-11-20 2010-05-12 北京航空航天大学 一种基于多核动态划分的非对称虚拟机i/o调度方法
CN103019856A (zh) * 2012-11-23 2013-04-03 上海寰创通信科技股份有限公司 一种多核处理器的非对称调度方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ARM big.LITTLE系统技术应用;Robin Randhawa等;《电子产品世界》;20130831;正文第30-33页 *
移动CPU异步多核和大小核的那些事;匿名;《http://www.hksilicon.com/kb/articles/104227/CPU》;20121208;第1-7页 *

Also Published As

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

Similar Documents

Publication Publication Date Title
CN104363988B (zh) 一种多核处理器的管理方法及装置
CN106778585B (zh) 一种人脸关键点跟踪方法和装置
CN104618217B (zh) 分享资源的方法、终端、服务器及系统
CN104834529A (zh) 一种应用的性能优化的方法及装置
CN106919918A (zh) 一种人脸跟踪方法和装置
CN106708554B (zh) 程序运行方法及装置
CN103455407A (zh) 一种移动终端cpu占用率监测方法、装置及移动终端
CN105046059A (zh) 游戏运动轨迹确定方法及装置
CN107025225A (zh) 一种终端数据库的并行执行方法和装置
CN107368400A (zh) Cpu监测方法、装置、计算机可读存储介质和移动终端
CN105022616A (zh) 一种生成网页页面的方法及装置
CN104571787A (zh) 一种消息显示方法和通信终端
CN104077184B (zh) 一种应用程序的进程控制方法及计算机系统
CN104699501B (zh) 一种运行应用程序的方法及装置
CN103530115A (zh) 一种应用程序显示方法、装置及终端设备
CN105447124A (zh) 虚拟物品分享方法和装置
CN104424211A (zh) 一种基于微博的业务数据的发布方法、装置和系统
CN103793267B (zh) 队列的访问方法及装置
CN109523977A (zh) 背光调节方法、装置、移动终端和存储介质
CN103871050B (zh) 图标分割方法、装置和终端
CN104809055A (zh) 一种基于云平台的应用程序测试方法和装置
CN105897917B (zh) 多媒体数据分享方法及装置
CN104901992A (zh) 一种资源转移的方法和装置
CN104092657A (zh) 信息传输的方法、设备及系统
CN104834655A (zh) 一种显示网络资源的质量参数的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant