用以控制电子设备的计算资源的技术的制作方法

文档序号:13618030阅读:178来源:国知局
用以控制电子设备的计算资源的技术的制作方法

本文所描述的实施例涉及时钟频率缩放。更具体而言,本文中描述的实施例涉及用于智能控制移动设备中处理器的时钟频率的办法。



背景技术:

在具有有限功率预算的设备(诸如,移动设备)上,管理功耗以保留电池寿命正变得日益重要。因此,移动设备经常具有各种机制以基于各种因素(诸如,电池中存储的功率量或用户需求)来调节处理能力。对于功率管理的改进可以导致增加的电池寿命并增强用户体验。

附图说明

图1示出设备的一个实施例。

图2a示出了装置的一个实施例。

图2b示出了装置的操作场景的一个实施例。

图3示出了频率图的一个实施例。

图4示出第一逻辑流的一个实施例。

图5示出第二逻辑流的一个实施例。

图6示出第三逻辑流的一个实施例。

图7示出存储介质的一个实施例。

图8示出计算平台的一个实施例。

具体实施方式

管理移动设备的功耗来保留电池寿命正变得日益合乎需要。当前的办法基于系统负载来调节一个或多个设备组件以在不同的时间段期间减小功耗。在一个办法中,中央处理单元(cpu)、图形处理单元(gpu)、和/或存储器总线的时钟频率可以被降低来在减少的系统负载期间减小功耗。当观察到系统负载的增加时,给cpu、gpu和/或存储器总线的时钟频率可以被相应地增加以使得更多的计算资源对于系统可用。当后续测量指示系统负载降低时,时钟频率可以被降低。

然而,这一办法可以导致非最优的性能和用户体验,因为在做出系统负载测量的时间和时钟频率被缩放以提供所需计算资源的时间之间经常发生显著的滞后。虽然达成了功率节省,但是用户体验受到损害。进一步,若不智能地执行,则增加的时钟频率不必要地消耗电池寿命。正是针对这些和其他挑战才需要本文所描述的示例。

相应地,本文中提供的各实施例涉及响应于触摸手势事件以功率高效方式控制电子设备的各种组件的操作状态。更具体而言,本文中提供的各种实施例响应于电子显示器的用户界面处的触摸手势事件,以功率高效的方式智能地提升处理器频率(例如,cpu、gpu、基带处理器、控制器、等等)。这些实施例的一个优点在于用户体验被优化,同时达成了功率和性能目标。已经发现本文中提供的各种实施例改进了例如启动浏览器应用的响应时间、在操作后台活动的同时的设备主屏的帧速率(例如,闪烁)、激活虚拟/触摸键盘的反应时间、消息应用的冷启动开启的响应时间、在从应用网格转换到设备主屏时的帧速率、在打开/关闭状态栏时的帧速率,以及其他技术优点。

在一些实施例中,这是由从功率硬件抽象层(hal)接收指令提示(例如,交互提示或垂直同步(vsync)提示)的处理器的调节器(governor)达成的,该指令提示由功率hal响应于来自用户界面的控制指示而提供。控制指示的示例可以包括但不限于启用触摸屏的显示器上呈现的用户界面的触摸手势,诸如给用户界面的滚动触摸手势、触发应用启动的给用户界面的应用启动触摸手势、离散触摸手势、或由用户界面接收到的其他定义的触摸手势。触摸手势可以被用作修改设备资源(诸如对应于处理器的时钟频率)的基础。

在一些实施例中,触摸手势发起了用于修改电子设备的硬件或软件组件的操作状态的指令提示的传送。指令提示可以包括响应于表示修改电子设备的硬件和/或软件组件的操作状态的修改请求的触摸手势而生成的任何指示符。在一个实施例中,例如,指令提示可以包括来自电子设备的软件组件的控制指示或消息,诸如由用户界面组件处理的触摸手势。在一个实施例中,例如,指令提示可以包括来自电子设备的硬件组件(诸如触摸屏显示器或处理器)的电信号。例如,在一个实施例中,指令提示可以包括增加到程序指令集的软件指令。在各实施例中,指令提示可以被用来从涉及调节电子设备的一个或多个操作状态(诸如调节对应于处理器的时钟频率)的设备资源发起早期响应。例如,除了其他操作,处理器可以响应于指令提示来预取调节对应于处理器的时钟频率的指令。各实施例不限于该示例。

多个实施例可包括一个或多个要素。一种要素可包括被安排成执行某些操作的任何结构。按照设计参数或性能约束条件的给定集合所需,可将各个元素实现为硬件、软件或其任意组合。尽管作为示例可按照某一拓扑的有限数量的元件来描述实施例,但该实施例可按照为给定实现所需要的在替换拓扑中包括更多或更少的元件。值得注意的是,对“一个实施例”或“实施例”的任何提及都表示结合该实施例描述的特定特征、结构或特性被包括在至少一个实施例中。在说明书各处出现的短语“在一个实施例中”、“在一些实施例中”、和“在各种实施例中”不一定都指同一个实施例。

图1示出用于响应于触摸手势事件以功率高效方式控制电子设备的各种组件的操作状态的示例设备。更具体而言,图1示出了响应于触摸手势事件,以功率高效的方式智能地提升处理器频率(例如,cpu、gpu、基带处理器、控制器、等等)的示例。如图1中所示,示例设备包括设备100,诸如可操作以支持基于用户界面触摸手势的时钟频率提升的移动设备。其他移动/便携式电子设备的示例包括无线通信设备,诸如寻呼机、移动或蜂窝电话、智能电话、无线组织器、pda、笔记本计算机、网络本计算机、平板计算机、以及类似设备。设备100还可以是不具有无线通信能力的便携式电子设备。示例包括手持电子游戏设备、数字相册、数字相机、笔记本计算机、网络本计算机、平板计算机、或其他设备。可以领会,这些仅是一些示例,且各种实施例并不限于特定类型的电子设备。

在一些实施例中,设备100具有用户界面102。用户界面102可以被呈现在电子显示器103(例如,触摸屏显示器)上,并且可以在输出设备(例如,显示屏、扬声器、振动器、等)上为用户呈现或重现各种用户界面视图(例如,包括各种用户界面元素)、经由输入设备(例如,触摸屏、键盘、话筒等)接受来自用户的控制指示、或其组合。用户可以通过用户界面102与设备100交互。在一些实现中,用户界面102可以包括扬声器和话筒来实现基于音频的用户交互。

用户交互可以在例如当设备100上运行的应用104生成在用户界面102的屏幕上重现的用户界面视图或显示帧时发生。用户随后响应于由设备100所呈现的信息提供输入(即,与用户界面102交互)。交互可以通过用手指或触笔触摸屏幕、通过使用键盘键入信息、和/或通过向话筒说话来发生。作为用户交互的结果,可以生成新的显示帧。例如,用户可以选择向下滚动网页或改变到不同的网页。在另一示例中,用户可以与游戏或交互式应用交互。在这些实例中的每一者中,新的显示帧被生成和重现以显示出不同的视觉图形。

设备100可以包括数个硬件组件,诸如cpu106、gpu108、存储器110、和一个或多个设备112。在设备100上运行的可以是一个或多个软件组件,诸如操作系统114和应用104。

cpu106可以包括可操作以通过执行算数、逻辑、和输入/输出操作来执行程序或应用的指令的一个或多个集成电路。cpu106的时钟频率可以由cpu106的时钟频率控制器116(例如,乘法器)基于由cpu106所要求的处理需求来被动态调节以作为用户交互的结果。

gpu108可以包括可操作以操纵和处理数据以加速旨在用于输出到设备100中的显示器或屏幕的图像或显示帧的构建的一个或多个集成电路。gpu108的时钟频率可以由gpu108的时钟频率控制器118基于由gpu108所要求的处理需求来被动态调节以作为用户交互的结果。

存储器110可以包括可操作以存储和/或检索可以被用于由cpu106、gpu108、和/或设备112执行的操作中的数据的一个或多个集成电路。存储器110可以通过一个或多个存储器总线被连接到其他硬件组件。存储器总线的时钟频率可以基于由存储器110所要求的数据存取需求而被动态调节,以作为用户交互的结果。

设备112可以包括不同类型的输入设备、输出设备、和/或输入/输出(i/o)设备。例如,设备112可以包括键盘以键入信息、扬声器以用于音频重现、和/或话筒以用于捕捉音频。当用户界面102是触摸屏时,例如,其还可以被用于接收来自用户通过用手指或用触笔触摸屏幕的一部分的输入。

操作系统114可以包括被用来管理设备100的各种硬件资源的软件。操作系统114还可以被用来向计算机程序或应用提供常见服务。在一些实施例中,操作系统114充当硬件组件和应用104之间的中介体。

应用104可以包括帮助用户执行指定任务的一个或多个软件应用(例如,计算机程序)。例如,软件应用可以包括向用户显示内容并且允许用户提供关于该内容被提供的方式和/或所提供内容的类型的输入。为了执行任务(例如,网页浏览,视频回放),应用104可以通过操作系统114访问cpu106、gpu108、存储器110、和/或设备112。

图2a示出用于响应于触摸手势事件,以功率高效的方式智能提升cpu频率的示例装置。如图2a中所示,也参照图1,示例装置包括装置200。在一个实施例中,装置200包括逻辑201,其一部分以硬件实现,包括用于接收由抽象层(诸如,功率硬件抽象层(hal)208)提供给应用104的硬件资源的指令提示206的处理器(例如,cpu106)的调节器202。功率hal208包括允许操作系统114在通用或抽象层级而非具体硬件层级与硬件设备交互的程序层。

指令提示206包括递送给调节器202的内核接口214的交互提示210和垂直同步(vsync)提示212中的一者或多者。交互提示210和vsync提示212二者表示增加到程序指令集以指示即将接收到控制指示的软件指令/消息,例如,修改cpu时钟频率的指令。装置200进一步包括用于修改负载计算定时器速率的负载计算控制器226、用于响应于指令提示206修改对应于cpu106的时钟频率的时钟频率控制器116。在一些实施例中,负载计算控制器226和时钟频率控制器116可以在软件、固件、和/或硬件(例如,处理组件)中实现,或者被实现为操作系统114的一个组件。

在一些实施例中,调节器202的内核接口214可以提供应用104,例如,和设备100的硬件资源之间的连接。即,可以从内核接口214调用功率hal208以提供交互应用104可以控制以执行其功能和/或任务的硬件资源的抽象层。

调节器202被配置成为设备100的硬件组件中的一个或多个提供各种功率管理方案。在正常操作中,调节器202和时钟频率控制器116可以基于测得的系统负载来缩放一个或多个处理器(例如,cpu106)的时钟频率和/或存储器总线的时钟频率。即,当系统负载增加时,调节器202可以将一个或多个处理器的时钟频率和/或存储器总线的时钟频率增加到确定的频率值。增加时钟频率使得附加的计算资源变得可用来解决增加的系统负载要求。类似地,当系统负载降低时,调节器202和时钟频率控制器116可以将一个或多个处理器的时钟频率和/或存储器总线的时钟频率降低到确定的频率值。当系统负载要求低时,降低时钟频率节省了电池寿命。该操作可以被动态地完成,从而对于时钟频率的多个调节可以基于测得的系统负载而随时间发生。

更具体而言,当调节器202从功率hal208接收到在用户界面102(图1)处已经接收到触摸手势的指示时,调节器202可以设置或启用标志以使用指令提示206来指示需要附加的计算资源。在该实例中,调节器202可以斜升或增加cpu106、gpu108、和/或对应于存储器110的存储器总线的时钟频率。因为不必一直等待直到测量显示系统负载实际增加,所以使用指令提示206时钟频率被更为快速地增加。

在一些实施例中,调节器202可以执行电压调节或者启用硬件组件的超频。虽然电压调节可以独立于其他调节来执行,但是可能存在其中其可以与提升或降低时钟频率结合执行的情况。例如,以更快的速率运行时钟可能需要电压的增加,这增加了使用的功率的量。在降低时钟的速率减小使用的功率的量的同时,降低电压也提供了附加的功率节省。由此,当调节器202接收指令提示206时,调节器202可以执行对于影响计算资源的功率状态和可用性的系统硬件(例如,cpu106、gpu108、对应于存储器110的存储器总线)的广泛调节。

虽然图2中示出了单个调节器202,但是也可以使用其中一个以上调节器在操作系统114中可用的其他实现。例如,其时钟频率要被调节的每个硬件组件或资源可以具有专用的调节器。此外,不支持以上文描述的方式的交互操作的调节器也可以在操作系统114中可用,并且调节器202可以针对操作从各种可用的调节器中选择。

根据一些实施例,指令提示206响应于对用户界面102的离散触摸手势220由功率hal208提供。在该场景中,离散触摸手势220表示对用户界面102的简单的、简短的触摸。用户界面102上的每个初始触摸(包括离散触摸手势220)对应于交互提示210,其由时钟频率控制器116使用来将cpu频率提升到期望的频率水平(例如,最大水平)来达成高性能和用户体验。在一些实施例中,装置200应当响应于离散触摸手势220而被提升到的频率水平被设置为在调节器202中可调谐,以及基于期望的功率预算而由用户选择。在每个情况中,时钟频率控制器116可以响应于交互提示210将时钟频率从第一频率水平增加到第二、更高的频率水平。增加时钟频率使得附加的计算资源变得可用以解决由离散触摸手势220引起的增加的系统负载要求。

根据其他实施例,指令提示206由功率hal208响应于给用户界面102的滚动触摸手势222来被提供。在该场景中(可以对应于,例如其中用户趋向于要花费更多的时间在他的/她的手指与屏幕连续接触同时围绕用户界面102移动中的游戏应用),交互提示210响应于由初始接触和后续的滚动触摸手势222引起的增加的系统负载要求而引起结果频率尖峰。因为将cpu频率提升到最大值长达滚动手势和/或对于频率的连续接触的整个历时经常是低效的,所以时钟频率控制器116可以在滚动触摸手势期间将时钟频率降低到第一频率水平和第二频率水平之间的第三频率水平。降低时钟频率减小了变得可用的计算资源的数目,这节省了功率。

在一些实施例中,时钟频率通过动态地减小负载计算定时器速率(例如,从100ms到20ms)(其对应于负载被计算的历时)被减小的第三频率水平。功率hal208结合负载计算控制器226(经由内核接口214连接在一起)通过降低负载计算定时器速率确保调节器202被优化长达滚动触摸手势222的历时。结果,由于所执行的附加的计算周期,调节器202更加敏感,并且因此更有可能做出在贯穿滚动手势222的各点处的负载的更为准确的预测。这增加了能量节省,因为频率被设置成最大值的实例的数目被减小了,这还导致了更好的用户体验,因为高频率水平在需要时可用。

根据其他实施例,指令提示206由功率hal208响应于触发应用启动的应用启动触摸手势224来提供。在该场景(可以对应于,例如用户触摸应用图标)中,vsync提示212由功率hal208作为响应提供。vysnc提示212是给调节器202的已经请求vsync脉冲的指示。调节器202和时钟频率控制器116斜升cpu106、gpu108、和/或对应于存储器110的存储器总线的时钟频率以快速地向应用提供足够的硬件资源。vsync脉冲随后被提供给应用,进而绘制新的显示帧以用平滑的方式操作应用。该过程可以被重复多次直到应用启动。即,多个vsync提示112可以由功率hal208递送,这进而可以生成给调节器202的多个指示以在应用打开时将时钟频率维持为高。调节器202可以在应用完全启动之后或者在预定时间段之后自动返回到正常操作。

在一些实施例中,功率hal208响应于触发应用启动而传送交互提示210和vsync提示212二者。即,当应用开始启动时,初始触摸频率提升是首先被识别的,其后跟随一系列vsync频率提升以在应用启动的剩余时间期间确保最优cpu带宽。

在一些实施例中,装置200首先确立给用户界面102的由用户进行的触摸手势是被分类为离散触摸手势更为恰当还是被分类为滚动触摸手势更为恰当。这可以通过基于每个手指按压的历时将触摸分类为短或者长来完成。例如,较短历时的正常触摸按压(例如,按压屏幕并马上放开)对应于离散触摸手势220,而较长历时按压(例如,触摸屏幕并将手指保持在其上)和移动(在屏幕上拖曳)对应于滚动触摸手势222。

图2b表示响应于触摸手势事件以功率高效方式智能地提升cpu频率的示例操作250。如图2b中所示,同样参照图1和2a,设备100接收由用户提供的触摸手势250,诸如给电子显示器103的滚动触摸手势、触发应用启动的给电子显示器103的应用启动触摸手势、或给电子显示器103的离散触摸手势。触摸手势250在功率hal208处接收,并且被识别为离散触摸手势220、滚动触摸手势222、或者应用启动触摸手势224中的任一者。基于接收到的触摸手势的类型,一个或多个指令提示206被提供给调节器202。

根据一个示例场景,指令提示206由功率hal208响应于离散触摸手势220来提供。这导致交互提示210由时钟频率控制器116用来将cpu频率从第一频率水平增加到第二、更高的频率水平。在一时段之后,cpu频率例如在离散触摸手势220的结束时返回到第一频率水平。

根据另一示例场景,指令提示206由功率hal208响应于滚动触摸手势222来提供。这导致响应于由初始接触和后续的滚动触摸手势222引起的增加的系统负载要求的频率尖峰。在一时段之后,时钟频率控制器116可以在滚动触摸手势期间将时钟频率降低到第一频率水平和第二频率水平之间的第三频率水平。在一时段之后,cpu频率例如在滚动触摸手势222的结束返回到第一频率水平。

根据另一示例场景,指令提示206由功率hal208响应于触发应用启动的应用启动触摸手势224来提供。这导致调节器202和时钟频率控制器116将cpu的时钟频率斜升到第二频率水平。vsync脉冲随后被提供给应用以将cpu的时钟频率维持在第二频率水平,进而绘制新的显示帧以用平滑的方式操作应用。在一时段之后,cpu例如在应用启动的结束时返回到第一频率水平。

图3示出了示例频率场景。如在图3(也参照图2)中所示的是示出当调节器接收到一个或多个指令提示时时钟频率的改变的时序图300。在一些实施例中,从时间t0到时间t2的时序图300对应于上文所描述的其中指令提示206由功率hal208响应于给用户界面102的离散触摸手势220提供的第一场景。具体而言,在时间t0,调节器202以正常水平操作。在时间t1,离散触摸手势220被检测到,并且交互提示210被发送给调节器202。这快速地将cpu频率从频率水平f1提升到期望的频率水平f2(例如,最大水平),该期望的频率水平f2可以被设置成在调节器202中可调谐。

在时间t2,调节器202可以清除标志或状况标记,并且可以快速地斜降处理器的时钟频率。在一些实施例中,时间t1和时间t2之间的时间历时(其中频率被维持在频率水平f2)可以基于检测到的cpu负载被预定或动态地确定。在时间t2,调节器202可以恢复正常操作,藉此时钟频率被基于测得的系统负载缩放或调节。例如,在时间t2,时钟频率可以被基于当前系统负载测量减小回频率水平f1或者减小到另一值。

稍后可以发生与上文所描述的类似的时钟频率缩放操作,如也在时序图300中所示的。在一些实施例中,从时间t3到时间t5的时序图300对应于上文所描述的其中指令提示206由功率hal208响应于给用户界面102的滚动触摸手势222提供的第二场景。具体而言,在时间t2和时间t3之间,调节器202以正常水平操作。在时间t3,滚动触摸手势222被检测到,并且交互提示210被发送给调节器202。这快速地将cpu频率从频率水平f1提升到期望的频率水平f2(例如,最大水平),该期望的频率水平f2可以被设置成在调节器202中可调谐。时间t3处的结果频率尖峰是响应于由滚动触摸手势222期间给用户界面的初始接触引起的增加的系统负载要求生成的。在一些实施例中,时间t3和时间t4之间的时间历时(其中频率被维持在频率水平f2)可以基于检测到的cpu负载被预定或动态地确定。

在时间t4,时钟频率被降低到第三频率水平f3,该第三频率水平f3在第一频率水平和第二频率水平之间。在一些实施例中,频率水平f3在整个滚动触摸手势222的期间(在时间t5处结束)被维持。在其他实施例中,时间t4和时间t5之间的频率水平可以响应于负载计算定时器速率(其可以被增加或减少)而动态地波动。在该情况中,功率hal208与内核接口214结合确保调节器202被优化达滚动触摸手势222的历时。在时间t5,调节器202可以恢复正常操作,藉此时钟频率被基于测得的系统负载缩放或调节。例如,在时间t5,时钟频率可以被减小回频率水平f1或者减小到基于当前系统负载测量的另一值。

图3还示出了在调节器202接收到的指令提示206是vsync提示212的情况中的时钟频率的改变。在一些实施例中,从时间t0到时间t2的时序图300对应于上文所描述的其中vsync提示212由功率hal208响应于应用启动触摸手势224提供的第三场景。具体而言,在时间t0,调节器202以正常水平操作。在时间t1,应用启动触摸手势224被检测到,并且vsync提示212被发送给调节器202。这快速地将cpu频率从频率水平f1提升到期望的频率水平f2(例如,最大水平),该期望的频率水平f2可以被设置成在调节器202中可调谐。在时间t2,调节器202可以清除对应于vsync提示212的标志或状况标记,并且可以快速地斜降处理器的时钟频率。在一些实施例中,时间t1和时间t2之间的时间历时(其中频率被维持在频率水平f2)可以基于检测到的cpu负载被预定或动态地确定。在时间t2,调节器202可以恢复正常操作,藉此时钟频率被基于测得的系统负载缩放或调节。例如,在时间t2,时钟频率可以被减小回频率水平f1或者减小到基于当前系统负载测量的另一值。

如上文所述,在一些实施例中,功率hal208响应于时间t1处触发应用启动而传送交互提示210和vsync提示212二者,这使得频率从频率水平f1增加到频率水平f2。在一些实施例中,初始触摸频率提升和vsync频率提升被设置成相同的频率f2,例如设置成最大cpu频率。然而,在其他实施例中,初始触摸提升和/或vsync提升的频率水平可以是用户定义的,例如定义成中间水平。

本文所包括的是一组代表用于执行所公开的实施例的新颖方面的示例方法体系的逻辑流图。虽然出于解释简单的目的,本文中所示的一个或多个方法体系被示为和描述为一系列动作,但是本领域技术人员将会理解和领会这些方法体系并不受到动作的次序的限制。根据本发明,一些动作可以按照与本文中示出和描述的不同的次序发生和/或与其他动作并发地发生。例如,本领域技术人员将会明白并理解,方法可被替换地表示为一系列相互关联的状态或事件,诸如以状态图的形式。此外,并非在一方法中示出的所有动作都是新颖实现所必需的。

逻辑流程可以在软件、固件、和/或硬件中实现。在软件和固件实施例中,逻辑流程可以由计算机可执行指令来实现,该计算机可执行指令被存储在至少一个非瞬态计算机可读介质或机器可读介质(诸如光学存储、磁存储或半导体存储)上。各实施例不限于此情境。

图4示出逻辑流程400的示例。逻辑流程400可以表示本文中描述的由一个或多个逻辑、特征或设备(诸如图1和/或2中所示)执行的操作中的一些或全部。更具体而言,逻辑流程400可以由用于响应于触摸手势事件以功率高效的方式智能地提升cpu频率的系统的逻辑和/或特征(诸如,图1和2中分别示出的设备100和装置200)来实现。

根据一些示例,逻辑流程400在框402可以接收给用户界面的触摸手势。对于这些示例,触摸手势可以包括以下至少一者:离散触摸手势220、滚动触摸手势222、和应用启动触摸手势224。

根据一些示例,逻辑流程400在框404可以响应于给用户界面的触摸手势在处理器的调节器处接收指令提示。对于这些示例,指令提示包括交互提示210和vsync提示212中的至少一者。

根据一些示例,逻辑流程400在框406可以响应于指令提示增加对应于处理器的时钟频率。对于这些示例,时钟频率可以从第一频率水平f1增加到第二频率水平f2。

根据一些示例,逻辑流程400在框408可以在给用户界面的触摸手势结束时降低对应于处理器的时钟频率。对于这些示例,时钟频率可以在一时间段后从频率水平f2降低到第三频率水平f3或第一频率水平f1中的任一者。

图5示出逻辑流程500的示例。逻辑流程500可以表示本文中描述的由一个或多个逻辑、特征或设备(诸如图1和/或2中所示)执行的操作中的一些或全部。更具体而言,逻辑流程500可以由用于响应于离散触摸手势和/或滚动触摸手势以功率高效的方式智能地提升cpu频率的系统的逻辑和/或特征(诸如,图1和2中分别示出的设备100和装置200)来实现。

根据一些示例,逻辑流程500在框502可以响应于交互提示将时钟频率从第一频率水平增加到第二频率水平。

根据一些示例,逻辑流程500在框504可以分类对应于交互提示的给用户界面的触摸手势。对于这些示例,触摸可以基于每个手指按压的历时而被分类为短或者长。

根据一些示例,逻辑流程500在框506可以确定给用户界面的触摸手势是否是滚动触摸手势。对于这些示例,较短历时的正常触摸按压(例如,按压屏幕并马上放开)对应于离散触摸手势220,而较长历时按压(例如,触摸屏幕并将手指保持在其上)和移动(在屏幕上拖曳)对应于滚动触摸手势222。

在逻辑流程500在框506确定给用户界面的触摸手势是滚动触摸手势的情况中,逻辑流程500在框508可以动态地调节负载计算定时器速率。对于这些示例,功率hal208结合内核接口214通过动态地调节(例如,减小)负载计算定时器速率(其对应于负载被计算的历时)来增加调节器202的敏感度和准确度来确保调节器202被优化长达滚动触摸手势222的历时。

根据一些示例,逻辑流程500在框510可以将时钟频率降低到第一频率水平和第二频率水平之间的不同频率水平。对于这些示例,时钟频率被响应于减小的负载计算定时器速率从频率水平f2减小到频率水平f3。

根据一些示例,逻辑流程500在框512可以确定滚动触摸手势是否完成。对于这些示例,当用户将他的/她的手指从用户界面102移开时,滚动触摸手势222被视为完成。

在逻辑流程500在框512处确定滚动触摸手势未完成的情况中,逻辑流程500返回框508。根据一些示例,在逻辑流程500在框512处确定滚动触摸手势完成的情况中,逻辑流程500在框514可以增加负载计算定时器速率。对于这些示例,时钟频率被响应于增加的负载计算定时器速率降低到频率水平f1。

根据一些示例,在逻辑流程500在框506确定触摸手势不是滚动触摸手势的情况中,则确定触摸手势是离散触摸手势,并且逻辑流程500在框516可以在预定时间段之后将时钟频率从第二频率水平降低到第一频率水平。对于这些示例,时钟频率被从频率水平f2降低回到频率水平f1。

图6示出逻辑流程600的示例。逻辑流程600可以表示本文中描述的由一个或多个逻辑、特征或设备(诸如图1和/或2中所示)执行的操作中的一些或全部。更具体而言,逻辑流程600可以由用于响应于应用启动触摸手势以功率高效的方式智能地提升cpu频率的系统的逻辑和/或特征(诸如,图1和2中分别示出的设备100和/或装置200)来实现。

根据一些示例,逻辑流程600在框602可以识别应用启动的触发。对于这些示例,这是响应于对于用户界面102的应用图标的初始触摸而发生的。

根据一些示例,逻辑流程600在框604可以在调节器处接收来自功率hal的交互提示。对于这些示例,交互提示210是响应于对于用户界面102的应用图标的初始触摸而提供的。

根据一些示例,逻辑流程600在框606可以在调节器处接收来自功率hal的vsync提示。对于这些示例,vsync提示212是在对应用图标的初始触摸之后提供的,并且继续长达应用启动的历时。

根据一些示例,逻辑流程600在框608可以响应于交互提示和vsync提示增加对应于处理器的时钟频率。对于这些示例,由交互提示210导致的初始触摸频率提升和由vsync提示212导致的vsync频率提升被设置成相同的频率,例如设置成最大cpu频率。然而,对于这些示例,初始触摸提升和/或vsync提升的频率水平可以是用户定义的,例如定义成中间水平。

图7示出存储介质700的实施例。存储介质700可包括任何非瞬态计算机可读存储介质或机器可读存储介质,如光学存储介质、磁存储介质或半导体存储介质。在各实施例中,存储介质700可包括制品。在一些实施例中,存储介质700可包括存储设备。在一些实施例中,存储介质700可以存储计算机可执行指令,诸如计算机可执行指令以实现图4的逻辑流程400、图5的逻辑流程500、和图6的逻辑流程600中的一者或多者。计算机可读存储介质或机器可读存储介质的示例可包括可以存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写或可重写存储器,等等。计算机可执行指令的示例可包括任何合适类型的代码,诸如源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码、面向对象代码、可视代码等。各实施例不限于此上下文。

图8示出了示例计算平台800。在一些示例中,如图8中所示,计算平台800可以包括处理组件802、其他平台组件804、和通信接口806。根据一些示例,处理组件802包括负载计算控制器226、时钟频率控制器116和存储器700,并且可以执行设备100、装置200、和/或存储介质700的一个或多个组件的处理或逻辑操作。处理组件802可包括各种硬件元件、软件元件或两者的组合。硬件元件的示例可包括器件、逻辑器件、组件、处理器、微处理器、电路、处理器电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(asic)、可编程逻辑器件(pld)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可包括软件组件、程序、应用、计算机程序、应用程序、设备驱动器、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(api)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或它们的任意组合。然而,判断一个示例是否使用硬件元件或软件元件来实现可以根据任意数量的因素而不同,如所希望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度,及给定示例所需要的其他设计或性能约束。

在一些示例中,其他平台组件804可以包括常见计算元件,诸如一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(i/o)组件(例如,数字显示器)、电源,等等。存储器单元的示例可以包括但不限于一个或多个更高速的存储器单元的形式的各种类型的计算机可读和机器可读存储介质,如只读存储器(rom)、随机存取存储器(ram)、动态ram(dram)、双倍数据率dram(ddram)、同步dram(sdram)、静态ram(sram)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪存、诸如铁电聚合物存储器等聚合物存储器、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(sonos)存储器、磁卡或光卡、诸如独立盘冗余阵列(raid)等器件阵列、固定存储器设备(例如,usb存储器)、固态驱动器(ssd)以及适于存储信息的任何其他类型的存储介质。

在一些示例中,通信接口806可以包括支持通信接口的逻辑和/或特征。对于这些示例,通信接口806可以包括根据各种通信协议或标准来操作以在直接或网络通信链路上进行通信的一个或多个通信接口。直接通信可以经由使用一个或多个工业标准中描述的通信协议或标准(包括后代和变体)发生,诸如与smbus规范、pciexpress规范或包括usb-pd规范的usb规范相关联的那些。网络通信可以经由使用通信协议或标准而发生,诸如由电气与电子工程师协会(ieee)颁布的一个或多个以太网标准中描述的那些。例如,一个此类以太网标准可以包括2008年12月公布的ieee802.3-2008,带冲突检测的载波侦听多址(csma/cd)接入方法和物理层规范(下文中“ieee802.3”)。

计算平台800可以是充当usb设备的usb主机的计算设备的一部分。计算设备可以包括但不限于计算机、个人计算机(pc)、桌面计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、超极本计算机。在一些示例中,充当usb主机的计算设备和usb设备二者都可以是可转换或2合1计算机的一部分。对于这些示例,usb主机可以是包括计算、存储器、存储和输入(例如,键盘)能力的基础计算平台,而usb设备可以是具有独立计算、存储器和存储能力的可移除触摸屏平板。相应地,根据适当需要,可在计算平台800的各实施例中包括或省略本文描述的计算平台800的功能和/或具体配置。

可利用分立电路、专用集成电路(asic)、逻辑门和/或单芯片架构的任意组合来实现计算平台800的组件和特征。此外,在适当情况下,可利用微控制器、可编程逻辑阵列和/或微处理器或上述的任意组合来实现计算平台800的特征。注意,在本文中硬件、固件和/或软件元件可合称或单独地称为“逻辑”或“电路”。

应领会,在图8的框图中示出的示例计算平台800可表示很多可能实现的一个功能描述性示例。因此,在附图中描述的框功能的划分、省略或包含不能推定用于实现这些功能的硬件组件、电路、软件和/或元件一定要被划分、省略或包含在各实施例中。

至少一个示例的一个或多个方面可以通过存储在至少一个机器可读介质上的代表性的指令来实现,该指令表示处理器内的各种逻辑,指令在由机器、计算设备或系统读取时使机器、计算设备或系统制造执行此处所描述的技术的逻辑。此类表示可以被存储在有形的机器可读介质上,并将其提供给各种客户或生产设施以加载到实际制造该逻辑或处理器的制造机器中。

各示例可以使用硬件元件、软件元件或两者的组合来实现。在某些示例中,硬件元件可包括器件、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、asic、pld、dsp、fpga、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。在某些示例中,软件元件可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、api、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或其任何组合。然而,判断一个示例是否使用硬件元件或软件元件来实现可以根据任意数量的因素而不同,如所希望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度,及给定实现所需要的其他设计或性能约束。

以下示例涉及本文中公开的技术的附加示例。

示例1:一种示例性方法可以包括检测电子显示器的用户界面的触摸手势,响应于该触摸手势提供处理器的指令提示,以及响应于该指令提示发送控制指示以修改该处理器的操作状态。

示例2:示例1的方法可以包括确定该触摸手势是给该用户界面的滚动触摸手势。

示例3:示例1的方法可以包括确定该触摸手势是给该用户界面的应用启动触摸手势还是给该用户界面的离散触摸手势。

示例4:示例1的方法可以包括确定该指令提示是交互提示还是垂直同步(vsync)提示。

示例5:示例1的方法可以包括在该处理器的调节器处接收该指令提示。

示例6:示例2的方法可以包括响应于该滚动触摸动态地减小负载计算定时器速率。

示例7:示例6的方法可以包括响应于该指令提示将时钟频率从第一频率水平增加到第二频率水平。

示例8:示例7的方法可以包括响应于减小的负载计算定时器速率将该时钟频率降低到该第一频率水平和该第二频率水平之间的第三频率水平。

示例9:示例8的方法可以包括在该滚动触摸结束之际增加负载计算定时器速率。

示例10:示例9的方法可以包括响应于增加的负载计算定时器速率将该时钟频率降低到该第一频率水平。

示例11:至少一个机器可读介质可以包括响应于由系统执行而使得该系统执行示例1到10中任意一者的多个指令。

示例12:一种设备可以包括用于执行示例1-10中任一项的方法的装置。

示例13:一种示例性装置可以包括逻辑,其一部分在硬件中实现,该逻辑包括调节器以基于触摸手势接收指令提示,并输出控制指示以基于该指令提示来修改时钟频率。该示例性装置可以进一步包括耦合到该逻辑的时钟频率控制器,该时钟频率控制器接收控制指令,并且响应于该控制指令来修改处理器的时钟频率。

示例14:示例13的装置可以包括时钟频率控制器以响应于该控制指示而增加该处理器的时钟频率以增加设备的计算资源。

示例15:示例13的装置可以包括时钟频率控制器以响应于该控制指示而降低该处理器的时钟频率以减少设备的计算资源。

示例16:示例13的装置可以包括功率硬件抽象层(hal)来检测该触摸手势并向该调节器输出该指令提示。

示例17:示例13的装置可以包括配置成响应于滚动触摸动态地减小负载计算定时器速率的负载计算控制器。

示例18:示例17的装置可以包括配置成响应于该指令提示将该时钟频率从第一频率水平增加到第二频率水平的时钟频率控制器。

示例19:示例18的装置可以包括配置成响应于减小的负载计算定时器速率将该时钟频率降低到该第一频率水平和该第二频率水平之间的第三频率水平的时钟频率控制器。

示例20:示例13的装置可以包括耦合到该逻辑的触摸屏显示器,该触摸屏显示器用以接收该触摸手势。

示例21:示例13的装置,其中该指令提示可以包括交互提示或垂直同步(vsync)提示。

示例22:至少一个非瞬态计算机可读存储介质可以包括响应于在计算平台处的处理组件上执行而使得该处理组件检测电子显示器的用户界面的触摸手势,响应于该触摸手势提供处理器的指令提示,以及响应于该指令提示发送控制指示以修改该处理器的操作状态的指令集。

示例23:根据示例22的至少一个非瞬态计算机可读存储介质可以包括响应于在计算平台处的该处理组件上执行而使得该处理组件确定该触摸手势是给该用户界面的离散触摸手势、给该用户界面的滚动触摸手势、还是给该用户界面的应用启动触摸手势的指令。

示例24:根据示例22的至少一个非瞬态计算机可读存储介质可以包括响应于在计算平台处的该处理组件上执行而使得该处理组件确定该指令提示是交互提示还是垂直同步(vsync)提示的指令。

示例25:根据示例22的至少一个非瞬态计算机可读存储介质可以包括响应于在计算平台处的该处理组件上执行而使得该处理组件在该处理器的调节器处接收该指令提示的指令。

示例26:根据示例25的至少一个非瞬态计算机可读存储介质可以包括响应于在计算平台处的该处理组件上执行而使得该处理组件在可与该调节器一起使用的内核接口处接收该指令提示的指令。

示例27:根据示例25的至少一个非瞬态计算机可读存储介质可以包括响应于在计算平台处的该处理组件上执行而使得该处理组件响应于该滚动触摸而动态减小负载计算定时器速率的指令。

示例28:根据示例27的至少一个非瞬态计算机可读存储介质可以包括响应于在计算平台处的该处理组件上执行而使得该处理组件响应于该指令提示将该时钟频率从第一频率水平增加到第二频率水平的指令。

示例29:根据示例28的至少一个非瞬态计算机可读存储介质可以包括响应于在计算平台处的该处理组件上执行而使得该处理组件响应于减小的负载计算定时器速率将该时钟频率降低到该第一频率水平和该第二频率水平之间的第三频率水平的指令。

示例30:一种示例性方法可以包括在处理器的调节器处接收响应于以下至少一者的指令提示:给用户界面的滚动触摸手势,和给该用户界面的应用启动触摸手势。该示例性方法可以进一步包括响应于该指令提示发送控制信号以增加对应于该处理器的时钟频率。

示例31:示例30的方法,该指令提示可以包括以下一者:交互提示,和垂直同步(vsync)提示。

示例32:示例30的方法可以包括响应于给该用户界面的离散触摸手势在该处理器的调节器处接收该指令提示。

示例33:示例30的方法可以包括响应于该滚动触摸动态地减小负载计算定时器速率。

示例34:示例33的方法可以包括响应于该交互提示将时钟频率从第一频率水平增加到第二频率水平。

示例35:示例34的方法可以包括响应于减小的负载计算定时器速率将该时钟频率降低到该第一频率水平和该第二频率水平之间的第三频率水平。

示例36:示例33的方法可以包括在该滚动触摸结束之际增加负载计算定时器速率。

示例37:示例36的方法可以包括响应于增加的负载计算定时器速率将该时钟频率降低到该第一频率水平。

示例38:示例30的方法可以包括从可与该调节器一起操作的内核接口处的功率硬件抽象层接收该指令提示。

示例39:示例性的至少一个机器可读介质可以包括响应于由系统执行而使得该系统执行根据示例30到38中任意一者的方法的多个指令。

示例40:一种示例性设备可以包括用于执行示例30-38中任一项的方法的装置。

示例41:一种示例性装置可以包括处理器的调节器以接收指令提示,接收到的该指令提示响应于以下至少一者:给用户界面的滚动触摸手势,和给该用户界面的应用启动触摸手势。该示例性装置可以进一步包括时钟频率控制器(其至少部分在硬件中)以响应于该指令提示增加对应于该处理器的时钟频率。

示例42:示例41的装置可以包括功率硬件抽象层(hal),该功率hal将该指令提示传达到该调节器。

示例43:示例41的装置,该指令提示可以包括以下一者:交互提示,和垂直同步(vsync)提示。

示例44:示例41的装置可以包括配置成响应于该滚动触摸动态地减小负载计算定时器速率的负载计算控制器。

示例45:示例44的装置可以包括配置成响应于该指令提示将该时钟频率从第一频率水平增加到第二频率水平的时钟频率控制器。

示例46:示例45的装置,该时钟频率控制器可以配置成响应于减小的负载计算定时器速率将该时钟频率降低到该第一频率水平和该第二频率水平之间的第三频率水平。

示例47:示例45的装置,该负载计算控制器可以被配置成在该滚动触摸的结束之际增加该负载计算定时器速率。

示例48:示例47的装置,该时钟频率控制器可以配置成响应于增加的负载计算定时器速率将该时钟频率降低到该第一频率水平。

示例49:示例42的装置可以包括操作地耦合到该调节器的内核接口,该内核接口接收来自该功率hal的该指令提示。

示例50:示例性的至少一个非瞬态计算机可读存储介质可以包括响应于在计算平台处的处理组件上执行而使得该处理组件在处理器的调节器处接收指令提示的指令集,该指令提示是响应于以下至少一者提供的:给用户界面的滚动触摸手势,和给该用户界面的应用启动触摸手势。该示例性的至少一个非瞬态计算机可读存储介质可以进一步包括响应于在计算平台处的处理组件上执行而使得该处理组件响应于该指令提示发送控制信号的指令集,该控制信号增加对应于该处理器的时钟频率。

示例51:根据示例50的至少一个非瞬态计算机可读存储介质,该指令提示可以包括以下一者:交互提示,和垂直同步(vsync)提示。

示例52:根据示例50的至少一个非瞬态计算机可读存储介质,该指令提示可以对应于给该用户界面的离散触摸。

示例53:根据示例50的至少一个非瞬态计算机可读存储介质可以包括响应于在在计算平台处的该处理组件上执行而使得该处理组件响应于该滚动触摸而动态减小负载计算定时器速率的指令。

示例54:根据示例53的至少一个非瞬态计算机可读存储介质可以包括响应于在在计算平台处的该处理组件上执行而使得该处理组件响应于该交互提示将该时钟频率从第一频率水平增加到第二频率水平的指令。

示例55:根据示例54的至少一个非瞬态计算机可读存储介质可以包括响应于在计算平台处的该处理组件上执行而使得该处理组件响应于减小的负载计算定时器速率将该时钟频率降低到该第一频率水平和该第二频率水平之间的第三频率水平的指令。

示例56:根据示例55的至少一个非瞬态计算机可读存储介质可以包括响应于在计算平台处的该处理组件上执行而使得该处理组件在该滚动触摸结束之际增加该负载计算定时器速率,以及响应于增加的负载计算定时器速率将该时钟频率降低到该第一频率水平的指令。

示例57:示例性的至少一个非瞬态机器可读介质可以包括响应于由计算平台上的处理器执行而使得该处理器在处理器的调节器处接收指令提示的多个指令,该指令提示是响应于以下至少一者提供的:给用户界面的滚动触摸手势,和给该用户界面的应用启动触摸手势。该示例性的至少一个非瞬态机器可读介质进一步包括响应于由计算平台上的处理器执行而使得该处理器响应于该指令提示发送控制信号的多个指令,该控制信号增加对应于该处理器的时钟频率。

示例58:根据示例57的至少一个机器可读存储介质,该指令提示可以包括以下一者:交互提示,和垂直同步(vsync)提示。

示例59:根据示例57的至少一个机器可读介质,该交互提示可以对应于给该用户界面的离散触摸。

示例60:根据示例57的至少一个机器可读介质可以包括响应于在计算平台处的该处理组件上执行而使得该处理组件响应于该滚动触摸而动态减小负载计算定时器速率的指令。

示例61:根据示例61的至少一个机器可读介质可以包括响应于在计算平台处的该处理组件上执行而使得该处理组件响应于该交互提示将该时钟频率从第一频率水平增加到第二频率水平的指令。

示例62:根据示例61的至少一个机器可读存储介质可以包括响应于在计算平台处的该处理组件上执行而使得该处理组件响应于减小的负载计算定时器速率将该时钟频率降低到该第一频率水平和该第二频率水平之间的第三频率水平。

示例63:根据示例61的至少一个机器可读介质可以包括响应于在计算平台处的该处理组件上执行而使得该处理组件在该滚动触摸的结束之际增加负载计算定时器速率的指令。

示例64:根据示例63的至少一个机器可读介质可以包括响应于在计算平台处的该处理组件上执行而使得该处理组件响应于增加的负载计算定时器速率而将该时钟频率减少到该第一频率水平的指令。

值得强调的是,提供了“发明摘要”以符合37c.f.r.第1.72(b)段,要求将可使读者快速地弄清本技术公开的特征的摘要。提交该摘要,并且理解该摘要将不用于解释或限制权利要求的范围或含义。此外,在前面的"具体实施方式"中,可以看出,各种特征可以组合在一个示例中,以便简化说明。本发明的此方法不应被解释为反映如下意图:所请求保护的各示例需要比每一个权利要求中所明确地描述的特征更多的特征。相反,如所附的权利要求所反映的,本发明的主题体现于少于所公开的单一示例的所有特征。如此,下面的权利要求被包括到“详细描述”中,每一个权利要求本身也作为单独的示例。在所附权利要求中,术语“包括”和“其中”分别被用作相应的术语“包括”和“其中”的简明英语对等词。此外,术语“第一”、“第二”、“第三”等仅用作标记,并不旨在对它们的对象施加数值要求。

尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1