用于计算设备中的动态缓冲器大小设定的系统和方法技术方案

技术编号:23365967 阅读:37 留言:0更新日期:2020-02-18 18:43
公开了用于动态地控制计算设备(“PCD”)中的计算设备中的缓冲器大小的方法和系统。监控模块确定为PCD的多个组件定义第一活动级别的第一使用情况。基于第一使用情况,将多个缓冲器设置为第一缓冲器大小。每个缓冲器与所述多个组件中的一个组件相关联,并且每个缓冲器的第一缓冲器大小是基于相关联组件的第一活动级别的。确定PCD的不同于第一使用情况的第二使用情况。第二使用情况为所述多个组件定义第二活动级别。基于第二使用情况将至少一个缓冲器设置为不同于第一缓冲器大小的第二缓冲器大小。

A system and method for calculating the size setting of dynamic buffers in devices

【技术实现步骤摘要】
【国外来华专利技术】用于计算设备中的动态缓冲器大小设定的系统和方法
技术介绍
计算设备(包括台式计算机、服务器和便携式计算设备(“PCD”))普遍存在。例如PCD成为人们在个人和专业级别的必需品。这些设备可以包括蜂窝电话(诸如智能电话)、便携式数字助理(“PDA”)、便携式游戏机、掌上型计算机、平板电脑、可穿戴设备和其他便携式电子设备。这种PCD通常使用存储器(诸如先进先出缓冲器或充当缓冲器的存储寄存器)来确保数据在PCD的组件之间有效传输并且没有数据丢失。这种缓冲存储器的大小通常是在PCD的启动时针对“最坏情况”场景来设定的,例如,缓冲存储器(诸如FIFO)的大小可以被设定为确保当传输数据的第一组件以最大频率操作而传输数据的另一个组件以最小频率操作时不会丢失数据。随着PCD变得更强大并且需要执行更多任务,降低功耗对于确保令人满意的电池寿命变得更重要。用于减少或控制功耗的典型现有技术包括节流或控制PCD组件操作的电压电平和/或PCD组件的时钟频率。然而,这些控制功耗的方法可能不是在所有情况下都有效,例如,当PCD的多个组件处于单个电源轨上时,使得由于一个组件的需求,而不能降低电源轨上的电压电平,而该电源轨上的其他组件可以在较低电压电平下操作。这些用于控制功率消耗的方法忽略了针对处理“更坏情况”场景而被设定大小的缓冲器导致的显著的功率泄漏。因此,需要系统和方法来动态地控制诸如PCD的计算设备中的FIFO缓冲器大小设定。
技术实现思路
公开了用于动态地控制计算设备中的缓冲存储器大小的方法和系统的各种实施例。在示例性实施例中,提供了一种方法,该方法包括:利用片上系统(“SoC”)的监控模块确定PCD的第一使用情况。该第一使用情况为SoC的多个组件定义第一活动级别。该方法包括:基于该第一使用情况将多个缓冲存储器设置为第一缓冲器大小。该多个缓冲器中的每一个缓冲器与SoC的该多个组件中的一个组件相关联,并且每个缓冲器的第一缓冲器大小是基于SoC的相关联组件的第一活动级别的。该方法还包括:确定PCD的不同于第一使用情况的第二使用情况。该第二使用情况为SoC的该多个组件定义第二活动级别。基于该第二使用情况将该多个缓冲器中的至少一个缓冲器设置为第二缓冲器大小。该至少一个缓冲器的第二缓冲器大小是基于SoC的相关联组件的第二活动级别的,并且第二缓冲器大小不同于第一缓冲器大小。在另一个实施例中,公开了一种用于动态地控制计算设备中的缓冲器大小的计算机系统。示例性系统包括PCD的片上系统(“SoC”)的多个组件;SoC上的多个缓冲器,该多个缓冲器中的每一个缓冲器与该多个组件中的一个组件相关联;以及SoC的监控模块。监控模块被配置为确定PCD的第一使用情况,该第一使用情况为SoC的该多个组件定义第一活动级别。监控模块还被配置为基于第一使用情况将该多个缓冲器设置为第一缓冲器大小,其中,每个缓冲器的第一缓冲器大小是基于SoC的相关联组件的第一活动级别的。监控模块还被配置为确定PCD的不同于第一使用情况的第二使用情况,第二使用情况为SoC的该多个组件定义第二活动级别。最后,监控模块被配置为基于第二使用情况将该多个缓冲器中的至少一个缓冲器设置为第二缓冲器大小。该至少一个缓冲器的第二缓冲器大小是基于SoC的相关联组件的第二活动级别的,并且第二缓冲器大小不同于第一缓冲器大小。附图说明在附图中,除非另有指明,否则相似的附图标记在全部各个视图中指代相似的部分。对于具有诸如“102A”或“102B”等字母字符标识的附图标记,字母字符标识可以区分同一附图中存在的两个相似部分或元件。当意图是附图标记包含所有附图中具有相同附图标记的所有部分时,可以省略附图标记的字母字符标记。图1是示出便携式计算设备(PCD)的示例性实施例的功能框图,在该PCD中能够实现用于动态先进先出(FIFO)缓冲器大小设定的系统和方法;图2是示出可以在PCD中实现的片上系统(SoC)中的示例性组件的方框图;图3是示出用于计算设备中的动态FIFO缓冲器大小设定的系统的示例性实施例的各方面的方框图;图4A是图2的方框图,其中针对一种使用情况示出了用于动态FIFO缓冲器大小设定的系统和方法的操作示例;图4B是图2的方框图,其中针对一不同使用情况示出了用于动态FIFO缓冲器大小设定的系统和方法的操作示例;图5A是可以在用于动态FIFO缓冲器大小设定的系统和方法的操作期间使用的示例性状态表;图5B是可以在用于动态FIFO缓冲器大小设定的系统和方法的操作期间使用的示例性查找表(LUT);图6是示出SoC中的示例性组件以及用于针对使用情况的动态FIFO缓冲器大小设定的系统和方法的示例性操作的额外方面的方框图;图7A是示出具有第一大小的FIFO的各方面的方框图;图7B是示出在根据本文的示例性系统和方法调整大小之后的图6A的FIFO的各方面的方框图;以及图8是示出用于计算设备中的动态FIFO缓冲器大小设定的示例性方法的操作的逻辑流程图。具体实施方式本文使用词语“示例性的”来表示“用作示例、实例或说明”。本文中被描述为“示例性的”的任何方面不一定被解释为相对于其它方面而言是排他的、优选的或有利的。在本说明书中,术语“应用程序”还可以包括具有可执行内容的文件,例如目标代码、脚本、字节代码、标记语言文件和补丁。另外,本文提到的“应用程序”也可以包括本质上不可执行的文件,诸如可能需要被打开的文档或需要被访问的其他数据文件。如在本说明书中所使用的,术语“组件”、“数据库”、“模块”、“系统”等旨在指代与计算机相关的实体,即硬件、固件、硬件和软件的组合、软件,或执行中的软件,并且表示用于提供功能以及执行本说明书中描述的过程或过程流程中的特定步骤的示例性单元。例如,组件可以是但不限于:在处理器上运行的进程、处理器、对象、可执行体、执行线程、程序和/或计算机。作为说明,运行在计算设备上的应用程序和该计算设备都可以是组件。一个或多个组件可以驻留在进程和/或执行线程内,并且组件可以局限于一台计算机上和/或分布在两台或更多台计算机上。另外,这些组件可以从其上存储有各种数据结构的各种计算机可读介质执行。这些组件可以例如根据具有一个或多个数据分组的信号(例如,来自与本地系统、分布式系统中的另一个组件进行交互和/或通过如互联网的网络与其他系统通过信号方式进行交互的一个组件的数据)通过本地和/或远程进程进行通信。在本说明书中,术语“中央处理单元(“CPU”)”、“数字信号处理器(“DSP”)”、“图形处理单元(“GPU”)”和“芯片”可互换使用。此外,CPU、DSP、GPU或芯片可以由在本文中统称为“核心”的一个或多个不同处理组件组成。在本说明书中,术语“工作负荷”、“处理负荷”和“处理工作负荷”可互换使用,并且通常针对与给定实施例中的给定处理组件相关联的处理负担或处理负担的百分比,例如当该处理组件正在执行一个或多个任务或指令时。此外,“处理组件”可以是但不限于:片上系统(“SoC”)、中央处本文档来自技高网...

【技术保护点】
1.一种用于动态地控制便携式计算设备(“PCD”)中的计算设备中的缓冲器大小的方法,所述方法包括:/n利用片上系统(“SoC”)的监控模块确定所述PCD的第一使用情况,所述第一使用情况为所述SoC的多个组件定义第一活动级别;/n基于所述第一使用情况将多个缓冲器设置为第一缓冲器大小,其中:/n所述多个缓冲器中的每一个缓冲器与所述SoC的所述多个组件中的一个组件相关联,/n每个所述缓冲器的第一缓冲器大小是基于所述SoC的相关联组件的第一活动级别的;/n利用所述监控模块确定所述PCD的不同于所述第一使用情况的第二使用情况,所述第二使用情况为所述SoC的所述多个组件定义第二活动级别;以及/n基于所述第二使用情况将所述多个缓冲器中的至少一个缓冲器设置为第二缓冲器大小,其中,所述至少一个缓冲器的第二缓冲器大小是基于所述SoC的相关联组件的第二活动级别的,所述第二缓冲器大小不同于所述第一缓冲器大小。/n

【技术特征摘要】
【国外来华专利技术】20170627 US 15/634,7011.一种用于动态地控制便携式计算设备(“PCD”)中的计算设备中的缓冲器大小的方法,所述方法包括:
利用片上系统(“SoC”)的监控模块确定所述PCD的第一使用情况,所述第一使用情况为所述SoC的多个组件定义第一活动级别;
基于所述第一使用情况将多个缓冲器设置为第一缓冲器大小,其中:
所述多个缓冲器中的每一个缓冲器与所述SoC的所述多个组件中的一个组件相关联,
每个所述缓冲器的第一缓冲器大小是基于所述SoC的相关联组件的第一活动级别的;
利用所述监控模块确定所述PCD的不同于所述第一使用情况的第二使用情况,所述第二使用情况为所述SoC的所述多个组件定义第二活动级别;以及
基于所述第二使用情况将所述多个缓冲器中的至少一个缓冲器设置为第二缓冲器大小,其中,所述至少一个缓冲器的第二缓冲器大小是基于所述SoC的相关联组件的第二活动级别的,所述第二缓冲器大小不同于所述第一缓冲器大小。


2.根据权利要求1所述的方法,其中,基于所述第二使用情况将所述多个缓冲器中的至少一个缓冲器设置为第二缓冲器大小包括:
减小所述多个缓冲器中的所述至少一个缓冲器的缓冲器深度。


3.根据权利要求2所述的方法,其中,减小所述多个缓冲器中的所述至少一个缓冲器的缓冲器深度进一步包括:
将所述缓冲器深度减小取决于所述SoC的相关联组件的第二活动级别的一可变量。


4.根据权利要求1所述的方法,其中,与所述SoC的所述多个组件中的第一组件相关联的缓冲器的第一缓冲器大小不同于与所述SoC的所述多个组件中的第二组件相关联的缓冲器的第一缓冲器大小。


5.根据权利要求1所述的方法,其中,所述多个缓冲器包括先进先出(FIFO)缓冲器。


6.根据权利要求1所述的方法,其中:
基于所述第一使用情况将所述多个缓冲器设置为所述第一缓冲器大小进一步包括:针对所述第一使用情况获得用于所述多个缓冲器的第一大小信息,以及
基于所述第二使用情况将所述多个缓冲器中的至少一个缓冲器设置为第二缓冲器大小进一步包括:针对所述第二使用情况获得用于所述多个缓冲器的第二大小信息。


7.根据权利要求1所述的方法,进一步包括:
更新用于所述SoC的所述多个组件中的一个或多个组件的使用情况数据,其中,更新使用情况数据包括:添加新使用情况、删除所述多个使用情况中的一个使用情况、改变针对一个或多个使用情况的活动级别值、改变针对所述使用情况中的一个或多个使用情况的活动级别中的一个或多个活动级别的大小信息值、或其组合。


8.根据权利要求1所述的方法,还包括:
利用所述监控模块确定所述PCD的不同于第N-1使用情况的第N使用情况,其中,N是大于2的整数,所述第N使用情况为所述SoC的所述多个组件定义第N活动级别;以及
基于所述第N使用情况将所述多个缓冲器中的至少一个缓冲器设置为第N缓冲器大小,其中,所述至少一个缓冲器的第N缓冲器大小是基于所述SoC的相关联组件的第N活动级别的,所述第N缓冲器大小不同于第N-1缓冲器大小。


9.一种用于动态地控制便携式计算设备(“PCD”)中的计算设备中的缓冲器大小的计算机系统,所述系统包括:
所述PCD的片上系统(“SoC”)的多个组件;
所述SoC上的多个缓冲器,所述多个缓冲器中的每一个缓冲器与所述多个组件中的一个组件相关联;以及
所述SoC的监控模块,所述监控模块被配置为:
确定所述PCD的第一使用情况,所述第一使用情况为所述SoC的所述多个组件定义第一活动级别,
基于所述第一使用情况将所述多个缓冲器设置为第一缓冲器大小,每个所述缓冲器的第一缓冲器大小是基于所述SoC的相关联组件的第一活动级别的,
确定所述PCD的不同于所述第一使用情况的第二使用情况,所述第二使用情况为所述SoC的所述多个组件定义第二活动级别,以及
基于所述第二使用情况将所述多个缓冲器中的至少一个缓冲器设置为第二缓冲器大小,其中,所述至少一个缓冲器的第二缓冲器大小是基于所述SoC的相关联组件的第二活动级别的,所述第二缓冲器大小不同于所述第一缓冲器大小。


10.根据权利要求9所述的计算机系统,基于所述第二使用情况将所述多个缓冲器中的至少一个缓冲器设置为第二缓冲器大小包括:减小所述多个缓冲器中的所述至少一个缓冲器的缓冲器深度。


11.根据权利要求10所述的计算机系统,其中,减小所述多个缓冲器中的所述至少一个缓冲器的缓冲器深度进一步包括:将所述缓冲器深度减小取决于所述SoC的相关联组件的第二活动级别的一可变量。


12.根据权利要求9所述的计算机系统,其中,与所述SoC的所述多个组件中的第一组件相关联的缓冲器的第一缓冲器大小不同于与所述SoC的所述多个组件中的第二组件相关联的缓冲器的第一缓冲器大小。


13.根据权利要求9所述的计算机系统,其中,所述多个缓冲器包括先进先出(FIFO)缓冲器。


14.根据权利要求9所述的计算机系统,其中,所述监控模块还被配置为:
通过针对所述第一使用情况获得用于所述多个缓冲器的第一大小信息,来基于所述第一使用情况将所述多个缓冲器设置为所述第一缓冲器大小,以及
通过针对所述第二使用情况获得用于所述多个缓冲器的第二大小信息,来基于所述第二使用情况将所述多个缓冲器中的所述至少一个缓冲器设置为所述第二缓冲器大小。


15.根据权利要求14所述的计算机系统,其中,所述监控模块还被配置为:
更新用于所述SoC的所述多个组件中的一个或多个组件的使用情况数据,其中,更新使用情况数据包括:添加新使用情况、删除所述多个使用情况中的一个使用情况、改变针对一个或多个使用情况的活动级别值、改变针对所述使用情况中的一个或多个使用情况的活动级别中的一个或多个活动级别的大小信息值、或其组合。


16.根据权利要求9所述的计算机系统,其中,所述监控模块还被配置为:
确定...

【专利技术属性】
技术研发人员:V·K·班杜尔普塔帕U·拉奥K·德赛
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1