CN117130458A - 数据处理方法、电子设备及存储介质 - Google Patents
数据处理方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117130458A CN117130458A CN202310212343.3A CN202310212343A CN117130458A CN 117130458 A CN117130458 A CN 117130458A CN 202310212343 A CN202310212343 A CN 202310212343A CN 117130458 A CN117130458 A CN 117130458A
- Authority
- CN
- China
- Prior art keywords
- memory
- clock frequency
- read
- write
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 112
- 230000008569 process Effects 0.000 claims description 48
- 238000004590 computer program Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 18
- 230000000875 corresponding effect Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 15
- 238000010295 mobile communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000002776 aggregation Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
Abstract
本申请提供一种数据处理方法、电子设备及存储介质。该方法包括:以第一时钟频率运行存储器。若检测到用于执行第一任务的第一线程启动,则将存储器的时钟频率由第一时钟频率调整为第二时钟频率。第二时钟频率大于第一时钟频率。第一任务对应的读写数据量小于预设数据量。本申请可以在低负载读写场景中通过线程识别自动提升存储器的时钟频率,提高数据读写性能,加快第一任务处理的速率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、电子设备及存储介质。
背景技术
存储器是用于存储数据的记忆元件,被应用在各种电子设备中。存储器的时钟频率反映了存储器的读写性能。通常而言,存储器的时钟频率越高,读写速率越快,但功耗也会随之升高。存储器的时钟频率越低,读写速率越慢,功耗也会随之降低。因此,为了平衡功耗以及读写性能,可以针对存储器的时钟频率进行动态调整。例如,在读写数据量较小时,可以为存储器设置较低的时钟频率。在读写数据量较大时,可以为存储器设置较高的时钟频率。
但是,数据读写的应用场景多种多样,当前的时钟频率调整方案无法适配多种应用场景对数据读写速率的需求。
发明内容
有鉴于此,本申请提供了一种数据处理方法、电子设备及存储介质,可以适用于多种数据读写的应用场景,满足多种应用场景对数据读写性能的需求。
第一方面,本申请提供一种数据处理方法,应用于电子设备,该电子设备包括存储器。在低读写负载场景中,电子设备以第一时钟频率运行存储器。若电子设备检测到第一线程启动,则将存储器的时钟频率由第一时钟频率调整为第二时钟频率,实现存储器的时钟频率的升频。在电子设备以第二时钟频率运行存储器之后,电子设备利用存储器执行第一任务的数据读写。
上述第一线程用于执行第一任务,第一任务对应的读写数据量小于预设数据量。由于第一任务对应的读写数据量较小,存储器的负载值达不到预设升频阈值。在低读写负载场景下,电子设备如果识别到特定线程(如第一线程)启动,即使存储器的负载值达不到预设升频阈值,电子设备也可以将存储器的时钟频率调整为较高的时钟频率(即第二时钟频率)。电子设备以第二时钟频率运行存储器之后,可以加快第一任务的数据读写速率,提高低读写负载场景下数据读写的性能。
在第一方面的一种可能的实现方式中,上述第一任务包括启动第一应用、扫码或者加载预设图片。该预设图片的数据量小于预设值。
在第一方面的一种可能的实现方式中,上述方法还包括:在存储器完成第一任务的数据读写后,将存储器的时钟频率由第二时钟频率调整为第一时钟频率。
通过这种方式,电子设备在完成第一任务的数据读写后,可以及时对储存器进行降频操作,以减小电子设备的功耗。
在第一方面的另一种可能的实现方式中,上述以第一时钟频率运行存储器,包括:在存储器的负载值小于预设降频阈值的情况下,以第一时钟频率运行存储器。上述方法还包括:在存储器的负载值大于预设升频阈值的情况下,以第二时钟频率运行存储器。预设升频阈值大于预设降频阈值。在存储器的负载值大于或等于预设降频阈值,但小于或等于预设升频阈值的情况下,以当前的时钟频率运行存储器。
存储器的负载值可以反映存储器所承受的负荷。电子设备可以根据存储器的负载值调整存储器的时钟频率。在存储器的负载值较大时,电子设备调高存储器的时钟频率,加快数据读写的速率。在存储器的负载值较小时,电子设备调低存储器的时钟频率,减小电子设备的功耗。
在第一方面的另一种可能的实现方式中,电子设备的处理器包括多个处理单元,每个处理单元的工作频率不同。在以第二时钟频率运行存储器之后,上述方法还包括:统计本次以第二时钟频率运行存储器的时长和存储器在单位时间内的读写数据量。若本次以第二时钟频率运行存储器的时长大于预设时长阈值,且存储器在单位时间内的读写数据量大于第一数据量阈值,则获取存储器待读写的数据量。若存储器待读写的数据量大于第二数据量阈值,则优先调用处理器的第一处理单元处理读写任务。第一处理单元的工作频率大于预设工作频率。
本申请实施例中,在存储器长时间处于重负载状态,且存储器待读写的数据量较大的情况下,电子设备难以通过提高存储器的读写速率加快电子设备的读写。此时,电子设备可以通过调度处理速率最快的第一处理单元处理读写任务,以提高电子设备整体读写的吞吐量。
在第一方面的另一种可能的实现方式中,上述优先调用处理器的第一处理单元处理读写任务,包括:获取电子设备的处理器的负载值,若处理器的负载值小于预设负载阈值,则优先调用处理器的第一处理单元处理读写任务。第一处理单元的工作频率大于预设工作频率。
由于读写任务仅是电子设备执行的一部分任务,为了电子设备可以正常执行不涉及数据读写的任务,电子设备还可以结合当前处理器的负载情况,判断是否调用处理器的第一处理单元处理读写任务。如果处理器的负载值小于预设负载阈值,可以认为电子设备的处理器当前还有额外的能力处理读写任务。这种情况下,电子设备可以优先调用处理器的第一处理单元处理读写任务,加快处理器处理读写任务的速率。
在第一方面的另一种可能的实现方式中,上述方法还包括:在多个读写任务的任务数量达到预设任务数量的情况下,向处理器触发中断请求,由处理器响应于中断请求,集中处理多个读写任务。
电子设备可以在存储器的时钟频率保持升频的同时加入中断聚合处理,使多个中断请求合并为一个中断请求。处理器响应于该中断请求,可以集中处理多个读写任务。如此,可以大幅减少中断请求的数量,减少电子设备的处理器被打断的次数。处理器不会被中断请求频繁打断,可以减少读写任务的中断请求对处理器处理速率的影响,提高了高读写负载场景下电子设备的数据读写性能。
在第一方面的另一种可能的实现方式中,在将存储器的时钟频率由第一时钟频率调整为第二时钟频率之后,在存储器完成第一任务的数据读写之前,上述方法还包括:周期性查询存储器是否完成第一任务的数据读写。
电子设备周期性查询存储器是否完成数据读写,即轮询检查存储器的读写状态,可以实时获取存储器的最新情况,实现方式简单易操作。
第二方面,本申请提供一种数据处理方法,应用于电子设备,电子设备包括存储器和处理器。处理器包括多个处理单元,每个处理单元的工作频率不同。该方法包括:以第二时钟频率运行存储器。第二时钟频率大于第一时钟频率。统计本次以第二时钟频率运行存储器的时长和存储器在单位时间内的读写数据量,若本次以第二时钟频率运行存储器的时长大于预设时长阈值,且存储器在单位时间内的读写数据量大于第一数据量阈值,则获取存储器待读写的数据量。若存储器待读写的数据量大于第二数据量阈值,则优先调用处理器的第一处理单元处理读写任务。第一处理单元的工作频率大于预设工作频率。
在第二方面的一种可能的实现方式中,上述优先调用处理器的第一处理单元处理读写任务,包括:获取电子设备的处理器的负载值。若处理器的负载值小于预设负载阈值,则优先调用处理器的第一处理单元处理读写任务。
在第二方面的另一种可能的实现方式中,上述方法还包括:在多个读写任务的任务数量达到预设任务数量阈值的情况下,向处理器触发中断请求,由处理器响应于中断请求,集中处理多个读写任务。
在第二方面的另一种可能的实现方式中,上述以第二时钟频率运行存储器,包括:在存储器的负载值大于预设升频阈值的情况下,以第二时钟频率运行存储器。上述方法还包括:在存储器的负载值小于预设降频阈值的情况下,以第一时钟频率运行存储器。在存储器的负载值大于或等于预设降频阈值,但小于或等于预设升频阈值的情况下,以当前的时钟频率运行存储器。
在第二方面的另一种可能的实现方式中,在以第一时钟频率运行存储器的情况下,上述方法还包括:若检测到第一线程启动,则将存储器的时钟频率由第一时钟频率调整为第二时钟频率。第一线程用于执行第一任务,第一任务对应的读写数据量小于预设数据量。
在第二方面的另一种可能的实现方式中,上述第一任务包括启动第一应用、扫码或者加载预设图片。该预设图片的数据量小于预设值。
在第二方面的另一种可能的实现方式中,上述方法还包括:在存储器完成第一任务的数据读写后,将存储器的时钟频率由第二时钟频率调整为第一时钟频率。
在第二方面的另一种可能的实现方式中,在将存储器的时钟频率由第一时钟频率调整为第二时钟频率之后,在存储器完成第一任务的数据读写之前,上述方法还包括:周期性查询存储器是否完成第一任务的数据读写。
第三方面,本申请提供一种电子设备,包括:存储器和处理器。该存储器与该处理器耦合。存储器中存储有计算机程序代码,该计算机程序代码包括计算机指令,当计算机指令被处理器执行时,使得电子设备执行上述第一方面及其任一种可能的实现方式或者上述第二方面及其任一种可能的实现方式所述的方法。
第四方面,本申请提供一种计算机可读存储介质,包括计算机指令,当所述计算机指令在电子设备上运行时,使得电子设备执行上述第一方面及其任一种可能的实现方式或者上述第二方面及其任一种可能的实现方式所述的方法。
第五方面,本申请提供一种包含程序指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面及其任一种可能的实现方式或者上述第二方面及其任一种可能的实现方式所述的方法。
附图说明
图1为本申请实施例提供的一种时钟频率调节示例的示意图;
图2为本申请实施例提供的一种电子设备示例的硬件结构框图;
图3为本申请实施例提供的一种电子设备示例的软件结构框图;
图4为本申请实施例提供的一种数据处理方法示例一的流程图;
图5为本申请实施例提供的一种数据处理方法示例一的软件交互示意图;
图6为本申请实施例提供的一种数据处理方法示例二的流程图;
图7为本申请实施例提供的一种数据处理方法示例二的软件交互示意图;
图8为本申请实施例提供的一种数据处理方法示例三的流程图;
图9为本申请实施例提供的一种读写性能调节示例的示意图。
具体实施方式
本申请实施例了一种数据处理方法,可以针对多种应用场景提供有针对性的时钟频率调整方案,满足多种应用场景下电子设备对数据读写的需求。为了便于理解本申请实施例提供的方法,这里首先介绍相关背景以及相关技术中时钟频率的调整方案。
存储器作为电子设备的存储器件,其中存储有电子设备所执行的程序以及执行程序所需的数据。电子设备通过读取存储器中的程序或数据以实现正常工作。此外,电子设备还可以在存储器中写入数据,实现数据的存储。电子设备从存储器中读取数据或在存储器中写入数据的操作可以称为输入/输出(Input/Output,I/O)操作(或称为读写操作)。
存储器包括内部存储器和外部存储器。外部存储器中存储有电子设备需要永久保存的大量数据。内部存储器作为暂时存储数据的存储空间。电子设备对外部存储器的I/O操作需要经过内部存储器。电子设备在读取数据时,会将外部存储器中的数据复制到内部存储器中,再读取内部存储器中复制的数据。电子设备在写入数据时,会在内部存储器中写入数据,再将内部存储器中写入的数据复制到外部存储器中。电子设备访问内部存储器的速率很快,电子设备执行I/O操作的延迟可以认为主要是访问外部存储器的延迟。因此,本申请实施例中通过调整存储器的时钟频率以提高电子设备的读写性能,主要是针对外部存储器而言。当然,本申请实施例提供的方法也可以应用于内部存储器。
存储器的时钟频率与存储器的读写速率相关。存储器的时钟频率越高,读写速率越快,功耗也随之较高。存储器的时钟频率越低,读写速率越慢,功耗也随之降低。这里介绍相关技术中通过调整存储器的时钟频率以提高电子设备的读写性能的方案。
在相关技术中,存储器的负载值可以反映存储器所承受的负荷。电子设备可以根据存储器的负载值调整存储器的时钟频率。在存储器的负载值较大时,电子设备调高存储器的时钟频率,加快数据读写的速率。在存储器的负载值较小时,电子设备调低存储器的时钟频率,减小电子设备的功耗。
示例性地,在存储器的负载值小于预设降频阈值的情况下,电子设备以第一时钟频率运行存储器。在存储器的负载值大于预设升频阈值的情况下,电子设备以第二时钟频率运行存储器。在存储器的负载值大于或等于预设降频阈值,但小于或等于预设升频阈值的情况下,以当前的时钟频率运行存储器。预设升频阈值大于预设降频阈值。第二时钟频率大于第一时钟频率。预设升频阈值和预设降频阈值可以根据实际应用场景或需求进行设置,这里不对此进行限定。
如图1所示,如果存储器当前的负载值大于预设升频阈值(upthreshold),电子设备控制存储器升频(scale_up),将存储器的时钟频率调整为最高时钟频率(如第二时钟频率)。如果存储器当前的负载值小于预设降频阈值(downdifferential),电子设备控制存储器降频(scale_down),将存储器的时钟频率调整为最低时钟频率(如第一时钟频率)。如果存储器当前的负载值在预设升频阈值和预设降频阈值之间,电子设备控制存储器保持当前的时钟频率(keep_cur_freq)。即,如果当前存储器的时钟频率是最高时钟频率,则存储器继续保持最高时钟频率。如果当前存储器的时钟频率是最低时钟频率,则存储器继续保持最低时钟频率。
可以理解的是,示例中仅以存储器具有两个时钟频率(第一时钟频率和第二时钟频率)为例说明电子设备根据存储器的负载值调节存储器的时钟频率的过程。当然,存储器也可以具有更多的时钟频率(大于2个),这里不再赘述。
这里,存储器的负载值可以根据电子设备中与读写性能相关的参数确定。例如,存储器的负载值可以根据当前应用在前台的运行时间以及存储器的唤醒时间确定。当前应用在前台的运行时间可以表示当前应用在前台活动的总时长。存储器的唤醒时间可以表示电子设备执行I/O操作的时长。存储器的负载值可以等于存储器的唤醒时间与当前应用在前台的运行时间的比值,表示在当前应用在前台活动的总时长内电子设备执行I/O操作的时长所占的比例。再例如,存储器的负载值可以根据预设统计时长内电子设备执行I/O操作的时长确定。如负载值等于预设统计时长内电子设备执行I/O操作的时长与预设统计时长的比值。如果负载值接近100%,表明电子设备执行的I/O操作过多,存储器接近满负荷运行。此时电子设备的读写延迟较大。
电子设备的I/O操作会涉及多种应用场景。上述时钟频率调节的方案无法满足一些应用场景中对读写速率的需求。
例如,在应用启动、扫码、加载图像等低读写数据量的场景中,电子设备在存储器中读取相应任务的数据以实现该任务。由于这些场景所涉及到的读写数据量较小,存储器的负载值达不到上述预设升频阈值,电子设备以最低时钟频率运行存储器。在存储器以较低的时钟频率运行时,数据读写速率较低,电子设备执行任务的速率也较慢,用户体验较差。
再例如,在大文件压缩时、加载大型游戏、单大文件复制等相关应用场景中,电子设备需要读写大量的数据。由于这些场景所涉及到的读写数据量较大,存储器的负载值达到上述预设升频阈值,电子设备以最高时钟频率运行存储器。但是长时间保持最高时钟频率会增加电子设备的功耗,缩短电子设备的续航能力。
本申请实施例提供了一种数据处理方法,可以提高电子设备在低读写负载场景和高读写负载场景中的数据读写性能。低读写负载场景可以是读写数据量较小的应用场景。在低读写负载场景中,电子设备的存储器的负载值达不到预设升频阈值,电子设备以低时钟频率(即第一时钟频率)运行存储器。高读写负载场景可以是读写数据量较大的应用场景。在高读写负载场景中,电子设备的存储器的负载值始终大于预设低频阈值,电子设备以高时钟频率(即第二时钟频率)运行存储器。
在低读写负载场景中,电子设备以第一时钟频率运行存储器。若电子设备检测到第一线程启动,则将存储器的时钟频率由第一时钟频率调整为第二时钟频率,实现存储器的时钟频率的升频。在电子设备以第二时钟频率运行存储器之后,电子设备利用以第二时钟频率运行的存储器执行第一任务的数据读写。
上述第一线程用于执行第一任务,第一任务对应的读写数据量小于预设数据量。第一任务对应于小读写数据量的读写任务。例如,第一任务为启动第一应用、扫码或者加载预设图片等。预设图片的数据量小于预设值,如数据量小于几个比特或千比特的预设图片。由于第一任务对应的读写数据量较小,存储器的负载值达不到预设升频阈值。在低读写负载场景下,电子设备如果识别到特定线程(如第一线程)启动,即使存储器的负载值达不到预设升频阈值,电子设备也可以将存储器的时钟频率调整为较高的时钟频率(即第二时钟频率)。电子设备以第二时钟频率运行存储器之后,可以加快第一任务的数据读写速率,提高低读写负载场景下数据读写的性能。
在高读写负载场景(即存储器的负载值小于预设升频阈值的场景)中,电子设备以第二时钟频率运行存储器。电子设备统计本次以第二时钟频率运行存储器的时长以及存储器在单位时间内的读写数据量。如果电子设备本次以第二时钟频率运行存储器的时长大于预设时长阈值,且存储器在单位时间内的读写数据量大于第一数据量阈值,可以认为存储器当前处于重读写负载状态。这种情况下,电子设备可以获取处理器待读写的数据量。如果处理器待读写的数据量大于第二数据量阈值,可以认为存储器当前仍有较多的数据量等待读写,电子设备则可以优先调用处理器的第一处理单元处理读写任务。
这里,第一处理单元的工作频率大于预设工作频率,第一处理单元可以是处理器包括多个处理单元中工作频率最高的处理单元。在电子设备确认存储器处于重读写负载状态,且存储器还存在较大数据量的数据等待读写,电子设备可以调度处理速率最快的处理单元处理等待处理的读写任务。如此,在电子设备的存储器处于重读写负载状态的情况下,可以提高电子设备处理读写任务的速率,缩短电子设备处于高读写负载场景的时长,增加电子设备读写的吞吐量。
示例性的,本申请实施例中所述的电子设备可以是手机、平板电脑、桌面型电脑、膝上型电脑、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备、媒体播放器等设备。本申请实施例对电子设备的具体形态不作特殊限制。
本申请实施例中以电子设备是手机100为例,通过手机100介绍电子设备的硬件结构。如图2所示,手机100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
其中,处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU),驱动处理器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器110可以是手机100的神经中枢和指挥中心。处理器110可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机100的各种功能应用以及数据处理。例如,在本申请实施例中,处理器110可以通过执行存储在内部存储器121中的指令,内部存储器121可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)、马达191的配置文件等。存储数据区可存储手机100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为手机100供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。在一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。在一些实施例中,手机100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机100可以通过无线通信技术与网络以及其他设备通信。
天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在手机100上的包括WLAN(如(wirelessfidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigationsatellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(nearfield communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
传感器模块180可以包括压力传感器、陀螺仪传感器、气压传感器、磁传感器、加速度传感器、霍尔传感器、触摸传感器、环境光传感器和骨传导传感器等传感器。手机100可通过传感器模块180采集各种数据。
手机100通过GPU、显示屏194以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。该显示屏194包括显示面板。
手机100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。ISP用于处理摄像头193反馈的数据。摄像头193用于捕获静态图像或视频。在一些实施例中,手机100可以包括1个或多个摄像头193。
按键190包括开机键、音量键等。按键190可以是机械按键。也可以是触摸式按键。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和手机100的接触和分离。手机100可以支持1个或多个SIM卡接口。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在另一些实施例中,电子设备也可以包括比上述实施例提供的更多或者更少的模块,各个模块之间也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。本申请实施例中提供的电子设备的硬件结构也可以参见如图所示的手机100的硬件结构。以下实施例中的方法均可以在具备上述硬件结构的电子设备中实现。
上述手机100的软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构或云架构。本申请实施例以安卓(Android)系统的分层架构为例,示例性说明手机100的软件结构。
图3是本申请实施例的手机100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,Android系统可以包括应用程序层、应用程序框架层、安卓运行时(Android runtime)和系统库、硬件抽象层(hardware abstraction layer,HAL)以及内核层。
应用程序层可以包括一系列应用程序包。例如,应用程序包可以包括相机、图库、日历、通话、地图、导航、WLAN、蓝牙、音乐、视频、短信息等应用程序,本申请实施例对此不做任何限制。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。例如,应用程序框架层可以包括窗口管理器、内容提供器、视图系统、电话管理器、资源管理器和通知管理器等,本申请实施例对此不做任何限制。
安卓运行时包括核心库和虚拟机。安卓运行时负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理、堆栈管理、线程管理、安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
HAL层是对Linux内核驱动程序的封装、向上提供接口、屏蔽底层硬件的实现细节。例如,HAL层中可以包括相机HAL(camera HAL)、Wi-Fi HAL、蓝牙HAL等。
内核层是硬件和软件之间的层。内核层包括驱动程序和系统服务程序。驱动程序至少包含显示驱动、摄像头驱动、音频驱动、传感器驱动等。
以手机启动应用的场景为例,示例性说明手机的软件层以及硬件之间的交互过程。用户在点击手机界面中任意一个应用图标之后,手机的触摸传感器接收到用户的点击操作,该点击操作的硬件中断会被发送给内核层。手机的内核层确定该点击操作对应的应用启动事件,通知应用程序框架层应用启动事件指示的应用。应用程序框架层启动应用启动事件指示的应用,并通知下层读取应用界面图像。内核层接收到读取应用界面图像的通知之后,指示驱动层通过存储器读取应用界面图像。当存储器读取应用界面图像之后,读取完成的硬件中断被发送给内核层。内核层接收到读取完成的硬件中断之后,通知应用程序框架层展示界面图像。
在一些实现方式中,上述手机的软件系统的分层架构可以简化为应用层、内核层和驱动层。其中,应用层可用于提供应用程序的服务。内核层包括系统服务程序,用于提供系统服务。驱动层包括驱动程序,用于驱动硬件,如驱动存储器,实现数据读写。
以下实施例中,以电子设备是手机为例,介绍本申请实施例提供的方法。手机包括存储器。存储器中存储有手机所执行的程序以及执行程序所需的数据。手机通过存储器读写数据实现正常运行。
这里,先以电子设备是手机,上述第一任务是启动第一应用的为例,介绍在低读写负载场景中本申请实施例提供的方法。手机的存储器包括第一时钟频率和第二时钟频率。第一时钟频率小于第二时钟频率。如图4所示,本申请实施例提供的方法包括以下步骤:
S401,手机以第一时钟频率运行存储器。
本申请实施例中,手机的存储器可以运行在第一时钟频率和第二时钟频率。第一时钟频率小于第二时钟频率。在手机的存储器的负载值小于上述预设升频阈值的情况下,手机以第一时钟频率运行存储器。此时,手机的存储器以较低的时钟频率运行,可以节省手机的能耗。
S402,若检测到第一线程启动,则手机将存储器的时钟频率由第一时钟频率调整为第二时钟频率。
第一线程用于执行启动第一应用。启动第一应用对应的读写数据量小于预设数据量,对应于小读写数据量的读写任务。如果手机识别到第一线程启动,如在启动的线程中识别到第一线程的线程标识,或者识别到第一应用的应用标识,手机则对存储器执行升频操作,将存储器的时钟频率从第一时钟频率调整为第二时钟频率。
举例来说,在手机以第一时钟频率运行存储器的情况下,用户点击手机中第一应用的应用图标,打开第一应用。启动第一应用所涉及的读写数据量较小,存储器的负载值达不到上述预设升频阈值。以上述手机软件系统简化的分层架构为例,如图5所示,手机响应于用户的点击操作,启动执行第一线程,通过第一线程启动第一应用。手机的内核层在识别到第一线程运行的情况下,手机的内核层向驱动层发送用于指示存储器升频的升频指示。手机的驱动层响应于升频指示,指示存储器的时钟频率从第一时钟频率调整为第二时钟频率。
在手机将存储器的时钟频率由第一时钟频率调整为第二时钟频率之后,手机可以利用存储器执行启动第一应用的数据读写,通过存储器读取启动第一应用所需的数据。如图5所示,手机的内核层在识别到第一线程运行的情况下,可以通知驱动层读取用于启动第一应用所需的数据。驱动层指示存储器读取用于启动第一应用所需的数据。
可以理解的是,存储器的升频操作快于存储器响应于驱动层读取数据的操作。这样,存储器在读取第一应用所需的数据之前,已经完成了升频操作,即存储器已经运行在第二时钟频率下。由于在读取启动第一应用所需的数据之前,存储器的时钟频率被调整为相对较高的第二时钟频率,手机可以以更快的读写速率读取启动第一应用所需的数据,从而提高启动第一应用的速率,提高用户体验。
为了减少存储器的时钟频率对手机功耗的影响,在一些实现方式中,手机可以在读取用于启动第一应用的数据之后,对存储器进行降频,以节省手机的功耗。具体地,如图4所示,在上述S402之后,本申请实施例提供的方法还包括以下步骤:
S403,在存储器完成启动第一应用的数据读写后,手机将存储器的时钟频率由第二时钟频率调整为第一时钟频率。
存储器的时钟频率与功耗呈正相关关系。即存储器的时钟频率越高,功耗越大,存储器的时钟频率越低,功耗越小。为了减少手机的功耗,提高手机的续航能力,手机可以在完成读取用于启动第一应用的数据,启动第一应用之后,对存储器执行降频操作,将存储器的时钟频率由第二时钟频率调整为第一时钟频率。
如图5所示,手机的驱动层在存储器完成启动第一应用的数据读写后,返回用于启动第一应用的数据,并指示存储器对时钟频率降频。手机将存储器的时钟频率从第二时钟频率更改为第一时钟频率。通过这种方式,手机在完成数据读写后,可以及时对储存器执行降频操作,以减小手机的功耗。
在一些实现方式中,在手机将存储器的时钟频率由第一时钟频率调整为第二时钟频率之后,手机可以周期性查询存储器是否完成启动第一应用的数据读写。例如,手机的驱动层在向存储器发送读取启动第一应用所需的数据的指示之后,可以每隔预设时间间隔(如每隔100毫秒或每隔200毫秒等)查询存储器是否完成数据读写。如果存储器完成了启动第一应用的数据读写,手机则执行上述S403,即在存储器完成启动第一应用的数据读写后,手机将存储器的时钟频率由第二时钟频率调整为第一时钟频率。
手机周期性查询存储器是否完成数据读写,即轮询检查存储器的读写状态,手机可以实时获取存储器的最新情况,实现方式简单易操作。
本申请实施例中,在手机当前执行的第一任务的读写数据量较小的情况下,存储器的负载值达不到预设升频阈值,手机处于低读写负载场景中。如果手机以较低的时钟频率运行存储器,那么手机执行第一任务的速率也随之较慢。但是,对于第一任务而言,如启动应用、扫码等第一任务,虽然涉及的读写数据量较小,但是对速率的要求较高。因此,手机可以通过识别特定线程运行的方式对存储器进行提前升频,以提高手机执行第一任务的速率,减少用户等待时间,提高用户体验。在完成第一任务的数据读写之后,对存储器的时钟频率进行降频。
本申请实施例中,手机还可以执行读写数据量较大的第二任务。第二任务可以是大文件压缩、运行大型游戏或大文件复制等任务。第二任务对应的读写数据量大于预设数据量。存储器的负载值可以达到上述升频阈值,手机会以较高的时钟频率运行存储器。即在高读写负载场景中,手机以高时钟频率运行存储器以提高数据读写速率。
这里再以电子设备是手机,手机执行的第二任务是复制目标文件为例,介绍高读写负载场景中本申请实施例提供的方法。手机的存储器包括第一时钟频率和第二时钟频率。第一时钟频率小于第二时钟频率。如图6所示,本申请实施例提供的方法包括以下步骤:
S601,手机以第二时钟频率运行存储器。
手机在复制目标文件的情况下,目标文件对应的读写数据量大于预设数据量。存储器的负载值可以达到上述升频阈值,手机以第二时钟频率运行存储器,可以提高目标文件复制的速率。预设数据量可以根据实际应用场景或需求进行设置,这里不对此进行限定。
S602,手机统计本次以第二时钟频率运行存储器的时长和存储器在单位时间内的读写数据量。
手机可以通过一些参数对读写性能进行监测。存储器以第二时钟频率运行的时长可以反映存储器处于高负载压力下的时长。存储器在单位时间内的读写数据量可以反映存储器的读写速率。以上述手机软件系统简化的分层架构为例,如图7所示,手机在以第二时钟频率运行存储器的情况下,手机的内核层统计本次以第二时钟频率运行存储器的时长以及存储器在单位时间内的读写数据量。存储器本次以第二时钟频率运行的时长越长,存储器在单位时间内的读写数据量越大,可以认为存储器当前的读写压力越大。通过这两个参数可以衡量存储器当前是否处于重读写负载状态。
在一些实现方式中,手机可以在每次升频的同时开启计时功能,对存储器每次持续处于第二时钟频率运行的时长进行计时。手机在复制目标文件时,由于目标文件对应的读写数据量较大,手机将存储器的时钟频率由第一时钟频率调整为第二时钟频率,同时开始本次以第二时钟频率运行存储器的时长的计时。
S603,若手机本次以第二时钟频率运行存储器的时长大于预设时长阈值,且存储器在单位时间内的读写数据量大于第一数据量阈值,手机则获取存储器待读写的数据量。
如果手机本次以第二时钟频率运行存储器的时长大于预设时长阈值,且存储器在单位时间内的读写数据量大于第一数据量阈值,表明存储器当前处于重读写负载状态。手机则进一步获取存储器待读写的数据量。如图7所示,手机的驱动层在判断本次以第二时钟频率运行存储器的时长大于预设时长阈值,且存储器在单位时间内的读写数据量大于第一数据量阈值的情况下,通知手机的内核层获取存储器待读写的数据量。预设时长阈值和第一数据量阈值可以根据实际应用场景或需求进行设置,这里不对此进行限定。
可以理解的是,如果手机当前执行的数据读写仅涉及复制目标文件的第二任务的数据读写,手机获取的待读写数据量是目标文件中剩余未完成复制的数据量。如果手机当前执行的数据读写除了复制目标文件的第二任务的数据读写之外,还包括其他读写任务的数据读写,手机获取的待读写数据量是目标文件中剩余未完成复制的数据量以及其他读写任务未完成读写的数据量的总和。
S604,若存储器待读写的数据量大于第二数据量阈值,手机则优先调用处理器的第一处理单元处理读写任务。
如果手机中待读写的数据量大于第二数据量阈值,可以认为存储器未完成读写的数据量较大,存储器还会在一段较长的时间段内处于重读写负载状态。存储器此时已经运行在最大时钟频率(即第二时钟频率)上,手机无法再通过调整存储器的时钟频率实现存储器读取速率的提升。这种情况下,手机可以优先调用处理器的第一处理单元处理目标文件复制的读写任务,加快处理器复制目标文件的速率。第二数据量阈值以根据实际应用场景或需求进行设置,这里不对此进行限定。
这里,处理器可以包括多个处理单元(或者称为核心)。第一处理单元可以是处理器的多个处理单元中工作频率最大的处理单元。第一处理单元的工作频率大于预设工作频率。例如,手机的处理器可以包括3个处理单元。第一处理单元可以是3个处理单元中工作频率最大的处理单元。预设工作频率可以根据实际应用场景或需求进行设置。例如,预设工作频率可以设置为多个处理单元中工作频率第二大的处理单元的工作频率。
在一些实现方式中,第一处理单元可以具有多个工作频率。这种情况下,手机可以优先调度处理器的第一处理单元以最高的工作频率处理复制目标文件对应的读写任务。如此,可以进一步提高处理器复制目标文件的速率。
可以理解的是,手机的读写操作涉及存储器的读写过程和处理器的读写过程。以手机复制目标文件为例说明手机执行读写操作的过程。手机在复制目标文件的情况下,需要在存储器中读写目标文件的数据(即存储器的读写过程)。存储器在完成目标文件的读取之后,会通知处理器复制目标文件的读写任务。处理器收到该通知之后,可以处理复制目标文件对应的读写任务(即处理器的读写过程),如打开目标文件或提示用户目标文件复制完成等。手机还可以在存储器每完成目标文件的一定数据量的读写后,通知处理器复制目标文件对应的一个读写任务,由处理器对该读写任务进行处理。复制目标文件可以对应于多个读写任务。
本申请实施例中,在存储器长时间处于重负载状态,且存储器待读写的数据量较大的情况下,手机难以通过提高存储器的读写速率加快手机的读写。此时,手机可以通过调度处理速率最快的第一处理单元处理读写任务,以提高手机整体读写的吞吐量。
由于读写任务仅是手机执行的一部分任务,为了手机可以正常执行不涉及数据读写的任务,在一些实现方式中,手机还可以结合当前处理器的负载情况,以判断是否调用处理器的第一处理单元处理读写任务。具体地,上述S604中优先调用处理器的第一处理单元处理读写任务,可以包括以下步骤:
S701,手机获取处理器的负载值。
处理器的负载值可以反映当前处理器的负载情况。例如,处理器的负载值可以是处理器当前未完成处理的线程数。再例如,处理器的负载值可以是处理器的使用率。
S702,若处理器的负载值小于预设负载阈值,手机则优先调用处理器的第一处理单元处理读写任务。
如果处理器的负载值小于预设负载阈值,例如,处理器的当前未完成处理的线程数小于预设负载阈值,可以认为手机的处理器当前还有额外的能力处理读写任务。这种情况下,手机可以优先调用处理器的第一处理单元处理读写任务,加快处理器处理读写任务的速率。
如图7所示,手机的内核层判断待读写的数据量是否大于第二数量阈值。在确认手机待读写的数据量大于第二数量阈值之后,可以再判断处理器的负载值是否小于预设负载阈值。如果手机处理器的负载值小于预设负载阈值,手机的内核层优先调用处理器的大核心(即第一处理单元)处理读写任务,并通知手机的驱动层。预设负载阈值可以根据实际应用场景或需求进行设置,这里不对此进行限定。
如果处理器的负载值大于或等于预设负载阈值,可以认为当前处理器已经处于超负荷运行状态,没有多余的能力优先处理读写任务,或者,此时调用第一处理单元处理读写任务会使其他任务处理的速率变慢。此时,手机继续以当前的调度策略处理读写任务。
为了提高手机的读写性能,手机还可以更改中断请求的处理操作。在一些实现方式中,手机可以对存储器触发的多个中断请求进行中断聚合处理。具体地,在上述S604之后,本申请实施例提供的方法还可以包括以下步骤:
S605,在多个读写任务的任务数量达到预设任务数量的情况下,向处理器触发中断请求,由处理器响应于中断请求,集中处理多个读写任务。
手机在存储器完成目标文件的读写之后,或者,在存储器完成一定数据量的读写后,可以通知处理器完成读写的读写任务。手机可以通过中断请求的方式通知处理器完成读写的读写任务。如果在存储器每完成一个读写任务的数据读取后向处理器发送中断请求,在读写数据量较大的情况下,中断请求频率较高,处理器会不断被中断请求打断,会影响处理器的处理速率。
这种情况下,可以对多个中断请求进行中断聚合处理,将多个中断请求合并为一个中断请求,即在多个读写任务的任务数量达到预设任务数量的情况下,向处理器触发一个中断请求。预设任务数量可以根据实际应用场景或需求进行设置,这里不对此进行限制。如图7所示,手机的驱动层可以在存储器的时钟频率保持升频的同时加入中断聚合处理,使多个中断请求合并为一个中断请求。处理器响应于该中断请求,可以集中处理多个读写任务。如此,可以大幅减少中断请求的数量,减少手机的处理器被打断的次数。处理器不会被中断请求频繁打断,可以减少读写任务的中断请求对处理器处理速率的影响,提高了高读写负载场景下手机的数据读写性能。
在另一些实现方式中,手机还可以将中断请求的处理策略更改为周期性查询读写任务的策略。即手机可以轮询检查存储器的读写状态。手机不再向处理器触发中断请求。手机的处理器可以集中处理一个轮询周内累计的读写任务。通过这种方式,处理器不会被中断请求打断,减少读写任务的中断请求对处理器处理速率的影响,提高了高读写负载场景下手机的数据读写性能。
本申请实施例中,在大文件压缩、大型游戏加载、大文件复制等高读写负载的应用场景下,I/O操作可以是手机中主要的耗时操作。通过手机的驱动层统计本次存储器连续保持高配时钟频率的时长,以及单位时间内存储器的读写数据量,判断当前存储器是否处于重读写负载状态。通过手机的内核层获取待读写数据量的大小,来判断是否启用处理单元的调度策略。在本次存储器连续保持高配时钟频率的时长、单位时间内存储器的读写数据量以及待读写数据量均达到对应的门限时,结合当前处理器的负载情况,调整处理器处理终端请求的策略。即通过处理器的第一处理单元处理读写任务的中断请求(优先大核处理中断请求),提高中断请求的处理速度,增加手机整体读写吞吐量。此外,还可以在手机的驱动层增加中断聚合的处理,将中断请求的处理策略改为周期性查询处理读写任务。或者,将多个中断请求合并为一个中断请求由处理器处理。如此,可以大幅减少中断请求的数目,提高了高读写负载场景下存储器的极限性能。
下面再结合多种读写负载场景示例性说明本申请实施例提供的方法。以电子设备是手机,手机的存储器包括第一时钟频率和第二时钟频率,第一时钟频率小于第二时钟频率为例,如图8所示,本申请实施例提供的方法包括以下步骤:
S801,手机获取存储器的负载值。
存储器的负载值可以反映存储器所承受的负荷。手机可以根据存储器的负载值调整存储器的时钟频率。在存储器的负载值较大时,手机调高存储器的时钟频率,加快数据读写的速率。在存储器的负载值较小时,手机调低存储器的时钟频率,减小电子设备的功耗。
S802,手机判断存储器的负载值是否大于预设升频阈值或者小于预设降频阈值。若存储器的负载值小于预设降频阈值,则执行S803。若存储器的负载值大于预设升频阈值,则执行S806。若存储器的负载值大于或等于预设降频阈值但小于或等于预设升频阈值,则执行S811。
本步骤可以参见上文中对应于图1的描述内容,这里不再赘述。
S803,手机以第一时钟频率运行存储器。
S804,若手机检测到第一线程启动,则将存储器的时钟频率由第一时钟频率调整为第二时钟频率。
S805,在存储器完成第一任务的数据读写后,手机将存储器的时钟频率由第二时钟频率调整为第一时钟频率。
这里,S803-S805可以参见上文中S401-S403的描述内容,这里不再赘述。
S806,手机以第二时钟频率运行存储器。
S807,手机判断本次以第二时钟频率运行存储器的时长是否大于预设时长阈值,且存储器在单位时间内的读写数据量是否大于第一数据量阈值。若手机本次以第二时钟频率运行存储器的时长大于预设时长阈值,且存储器在单位时间内的读写数据量大于第一数据量阈值,手机则执行S808。
S808,手机判断存储器待读写的数据量是否大于第二数据量阈值。若存储器待读写的数据量大于第二数据量阈值,手机则执行S809。
S809,手机判断处理器的负载值是否小于预设负载阈值。若处理器的负载值小于预设负载阈值,手机则执行S810。
S810,手机优先调用处理器的第一处理单元处理读写任务,并集中处理多个读写任务。
这里,S806-S810可以参见上文中S601-S605的描述内容以及S701-S702的描述内容,这里不再赘述。
S811,在存储器的负载值大于或等于预设降频阈值,但小于或等于预设升频阈值的情况下,手机以当前的时钟频率运行存储器。
本步骤可以参见上文中对应于图1的描述内容,这里不再赘述。
根据上述示例可知,本申请实施例中提供的方法,适用于多种读写负载的应用场景。如图9所示,在低读写负载场景中,手机可以通过特定线程(如第一线程)的识别,提前升频,使存储器的时钟频率由第一时钟频率调整为第二时钟频率,实现读写性能调节。在高读写负载场景中,手机可以优先调用大核处理中断请求,并减少中断请求的数量,实现读写性能调节。在手机未识别到特定线程运行,并且,手机本次以第二时钟频率运行存储器的时长未达预设时长阈值或存储器在单位时间内的读写数据量未达到第一数据量阈值的其他读写场景中,手机可以根据存储器的负载值调整存储器的时钟频率,实现时钟频率的调整,以平衡手机的功耗和手机的读写性能。即在存储器的负载值小于预设升频阈值的情况下,手机以第一时钟频率运行存储器。在存储器的负载值大于预设降频阈值的情况下,手机以第二时钟频率运行存储器。在存储器的负载值大于或等于预设降频阈值,但小于或等于预设升频阈值的情况下,手机以当前的时钟频率运行存储器。
本申请另一些实施例提供了一种电子设备,该电子设备包括:存储器和一个或多个处理器。该存储器与处理器耦合。其中,上述存储器中存储有计算机程序代码,该计算机程序代码包括计算机指令。当计算机指令被处理器执行时,电子设备可执行上述方法实施例中的各个功能或者步骤。该电子设备的结构可以参考图2所示的手机100的结构。
本申请实施例还提供一种芯片系统,该芯片系统包括至少一个处理器和至少一个接口电路。处理器和接口电路可通过线路互联。例如,接口电路可用于从其它装置(例如存储器)接收信号。又例如,接口电路可用于向其它装置(例如处理器)发送信号。示例性的,接口电路可读取存储器中存储的指令,并将该指令发送给处理器。当指令被处理器执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机可读存储介质,该计算机存储介质包括计算机指令,当计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种数据处理方法,其特征在于,应用于电子设备,所述电子设备包括存储器;所述方法包括:
以第一时钟频率运行所述存储器;
若检测到第一线程启动,则将所述存储器的时钟频率由所述第一时钟频率调整为第二时钟频率;其中,所述第二时钟频率大于所述第一时钟频率;所述第一线程用于执行第一任务,所述第一任务对应的读写数据量小于预设数据量。
2.根据权利要求1所述的方法,其特征在于,所述第一任务包括启动第一应用、扫码或者加载预设图片;其中,所述预设图片的数据量小于预设值。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在所述存储器完成所述第一任务的数据读写后,将所述存储器的时钟频率由所述第二时钟频率调整为所述第一时钟频率。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述以第一时钟频率运行所述存储器,包括:
在所述存储器的负载值小于预设降频阈值的情况下,以所述第一时钟频率运行所述存储器;
所述方法还包括:
在所述存储器的负载值大于预设升频阈值的情况下,以所述第二时钟频率运行所述存储器;其中,所述预设升频阈值大于预设降频阈值;
在所述存储器的负载值大于或等于所述预设降频阈值,但小于或等于所述预设升频阈值的情况下,以当前的时钟频率运行所述存储器。
5.根据权利要求4所述的方法,其特征在于,所述电子设备的处理器包括多个处理单元,每个处理单元的工作频率不同;
在所述以所述第二时钟频率运行所述存储器之后,所述方法还包括:
统计本次以所述第二时钟频率运行所述存储器的时长和所述存储器在单位时间内的读写数据量;
若本次以所述第二时钟频率运行所述存储器的时长大于预设时长阈值,且所述存储器在单位时间内的读写数据量大于第一数据量阈值,则获取所述存储器待读写的数据量;
若所述存储器待读写的数据量大于第二数据量阈值,则优先调用所述处理器的第一处理单元处理读写任务;其中,所述第一处理单元的工作频率大于预设工作频率。
6.根据权利要求5所述的方法,其特征在于,所述优先调用所述处理器的第一处理单元处理读写任务,包括:
获取所述电子设备的处理器的负载值;
若所述处理器的负载值小于预设负载阈值,则优先调用所述处理器的第一处理单元处理读写任务;其中,所述第一处理单元的工作频率大于预设工作频率。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
在多个读写任务的任务数量达到预设任务数量的情况下,向所述处理器触发中断请求,由所述处理器响应于所述中断请求,集中处理所述多个读写任务。
8.根据权利要求3所述的方法,其特征在于,在所述将所述存储器的时钟频率由所述第一时钟频率调整为第二时钟频率之后,在所述存储器完成所述第一任务的数据读写之前,所述方法还包括:
周期性查询所述存储器是否完成所述第一任务的数据读写。
9.一种数据处理方法,其特征在于,应用于电子设备,所述电子设备包括存储器和处理器;所述处理器包括多个处理单元,每个处理单元的工作频率不同;所述方法包括:
以第二时钟频率运行所述存储器;其中,所述第二时钟频率大于第一时钟频率;
统计本次以所述第二时钟频率运行所述存储器的时长和所述存储器在单位时间内的读写数据量;
若本次以所述第二时钟频率运行所述存储器的时长大于预设时长阈值,且所述存储器在单位时间内的读写数据量大于第一数据量阈值,则获取所述存储器待读写的数据量;
若所述存储器待读写的数据量大于第二数据量阈值,则优先调用所述处理器的第一处理单元处理读写任务;其中,所述第一处理单元的工作频率大于预设工作频率。
10.根据权利要求9所述的方法,其特征在于,所述优先调用所述处理器的第一处理单元处理读写任务,包括:
获取所述电子设备的处理器的负载值;
若所述处理器的负载值小于预设负载阈值,则优先调用所述处理器的第一处理单元处理读写任务。
11.根据权利要求9或10所述的方法,其特征在于,所述方法还包括:
在多个读写任务的任务数量达到预设任务数量阈值的情况下,向所述处理器触发中断请求,由所述处理器响应于所述中断请求,集中处理所述多个读写任务。
12.根据权利要求9-11中任一项所述的方法,其特征在于,所述以第二时钟频率运行所述存储器,包括:
在所述存储器的负载值大于预设升频阈值的情况下,以所述第二时钟频率运行所述存储器;
所述方法还包括:
在所述存储器的负载值小于预设降频阈值的情况下,以所述第一时钟频率运行所述存储器;
在所述存储器的负载值大于或等于所述预设降频阈值,但小于或等于所述预设升频阈值的情况下,以当前的时钟频率运行所述存储器。
13.根据权利要求12所述的方法,其特征在于,在以所述第一时钟频率运行所述存储器的情况下,所述方法还包括:
若检测到第一线程启动,则将所述存储器的时钟频率由所述第一时钟频率调整为第二时钟频率;所述第一线程用于执行第一任务,所述第一任务对应的读写数据量小于预设数据量。
14.根据权利要求13所述的方法,其特征在于,所述第一任务包括启动第一应用、扫码或者加载预设图片;其中,所述预设图片的数据量小于预设值。
15.根据权利要求13或14所述的方法,其特征在于,所述方法还包括:
在所述存储器完成所述第一任务的数据读写后,将所述存储器的时钟频率由所述第二时钟频率调整为所述第一时钟频率。
16.根据权利要求15所述的方法,其特征在于,在所述将所述存储器的时钟频率由所述第一时钟频率调整为第二时钟频率之后,在所述存储器完成所述第一任务的数据读写之前,所述方法还包括:
周期性查询所述存储器是否完成所述第一任务的数据读写。
17.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器、与所述处理器耦合;其中,存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,使得所述电子设备执行如权利要求1-8中任一项所述的方法,或者,使得所述电子设备执行如权利要求9-16中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-8中任一项所述的方法,或者,使得所述电子设备执行如权利要求9-16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310212343.3A CN117130458B (zh) | 2023-02-27 | 2023-02-27 | 数据处理方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310212343.3A CN117130458B (zh) | 2023-02-27 | 2023-02-27 | 数据处理方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117130458A true CN117130458A (zh) | 2023-11-28 |
CN117130458B CN117130458B (zh) | 2024-07-23 |
Family
ID=88851494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310212343.3A Active CN117130458B (zh) | 2023-02-27 | 2023-02-27 | 数据处理方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117130458B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010049511A (ja) * | 2008-08-22 | 2010-03-04 | Koyo Electronics Ind Co Ltd | 共有メモリへのアクセス方式およびマルチcpu構成のプログラマブルコントローラ |
US20140157284A1 (en) * | 2012-12-03 | 2014-06-05 | Qualcomm Innovation Center, Inc. | Thread processing on an asymmetric multi-core processor |
CN107515663A (zh) * | 2016-06-15 | 2017-12-26 | 北京京东尚科信息技术有限公司 | 调整中央处理器内核运行频率的方法和装置 |
CN111480336A (zh) * | 2018-03-26 | 2020-07-31 | 华为技术有限公司 | 一种帧率调整方法及终端 |
CN111831439A (zh) * | 2020-07-01 | 2020-10-27 | Oppo广东移动通信有限公司 | Io请求的处理方法、装置、存储介质及电子设备 |
CN111831462A (zh) * | 2020-07-01 | 2020-10-27 | Oppo广东移动通信有限公司 | Io请求的处理方法、装置、存储介质及电子设备 |
CN112639675A (zh) * | 2018-10-15 | 2021-04-09 | 华为技术有限公司 | 一种对内部存储器动态调频的方法及电子设备 |
CN115268616A (zh) * | 2022-08-17 | 2022-11-01 | 维沃移动通信有限公司 | 存储器的频率控制方法、控制装置、电子设备和存储介质 |
-
2023
- 2023-02-27 CN CN202310212343.3A patent/CN117130458B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010049511A (ja) * | 2008-08-22 | 2010-03-04 | Koyo Electronics Ind Co Ltd | 共有メモリへのアクセス方式およびマルチcpu構成のプログラマブルコントローラ |
US20140157284A1 (en) * | 2012-12-03 | 2014-06-05 | Qualcomm Innovation Center, Inc. | Thread processing on an asymmetric multi-core processor |
CN107515663A (zh) * | 2016-06-15 | 2017-12-26 | 北京京东尚科信息技术有限公司 | 调整中央处理器内核运行频率的方法和装置 |
CN111480336A (zh) * | 2018-03-26 | 2020-07-31 | 华为技术有限公司 | 一种帧率调整方法及终端 |
CN112639675A (zh) * | 2018-10-15 | 2021-04-09 | 华为技术有限公司 | 一种对内部存储器动态调频的方法及电子设备 |
CN111831439A (zh) * | 2020-07-01 | 2020-10-27 | Oppo广东移动通信有限公司 | Io请求的处理方法、装置、存储介质及电子设备 |
CN111831462A (zh) * | 2020-07-01 | 2020-10-27 | Oppo广东移动通信有限公司 | Io请求的处理方法、装置、存储介质及电子设备 |
CN115268616A (zh) * | 2022-08-17 | 2022-11-01 | 维沃移动通信有限公司 | 存储器的频率控制方法、控制装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117130458B (zh) | 2024-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115016706B (zh) | 一种线程的调度方法及电子设备 | |
US20230418736A1 (en) | Virtual Memory Management Method and Electronic Device | |
US20230367418A1 (en) | Method for Adjusting Touch Panel Sampling Rate and Electronic Device | |
CN113535250B (zh) | 一种应用保活方法、装置和电子设备 | |
EP4209906A1 (en) | Memory management method, electronic device, and computer-readable storage medium | |
CN114727101B (zh) | 一种天线功率调节方法及电子设备 | |
CN110413383B (zh) | 事件处理方法、装置、终端及存储介质 | |
WO2023202429A1 (zh) | 垃圾回收的方法及电子设备 | |
WO2024027544A1 (zh) | 内存管理方法及电子设备 | |
CN116126744B (zh) | 一种内存回收方法、装置及终端设备 | |
CN117130458B (zh) | 数据处理方法、电子设备及存储介质 | |
EP4280060A1 (en) | Power consumption control method and apparatus | |
CN116700913B (zh) | 嵌入式文件系统的调度方法、设备及存储介质 | |
CN118233402A (zh) | 一种数据传输方法及电子设备 | |
CN116679900A (zh) | 一种音频业务处理方法、固件去加载方法及相关装置 | |
US20230289160A1 (en) | Application installation method and electronic device | |
CN116780683A (zh) | 供电控制方法及电子设备 | |
CN115412931A (zh) | 一种通信方法及装置 | |
WO2024164599A1 (zh) | 一种中断处理方法及电子设备 | |
CN116055443B (zh) | 识别社交场景的方法、电子设备及计算机可读存储介质 | |
CN115767602B (zh) | 设备协议子系统异常自动纠错方法和电子设备 | |
CN115828227B (zh) | 识别广告弹窗的方法、电子设备及存储介质 | |
CN116700944B (zh) | 一种内存回收方法、装置及电子设备 | |
CN117135730B (zh) | 一种中断处理方法及电子设备 | |
CN116916093B (zh) | 识别卡顿的方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |