用于便携式计算设备中的情境感知热管理和工作负荷调度的系统和方法与流程

文档序号:18621535发布日期:2019-09-06 22:32阅读:188来源:国知局
用于便携式计算设备中的情境感知热管理和工作负荷调度的系统和方法与流程

便携式计算设备(“pcd”)在个人和专业水平上正成为人们的必需品。这些设备可以包括蜂窝电话、便携式数字助理(“pda”)、便携式游戏控制台、掌上型计算机以及其它便携式电子设备。

pcd的一个独特方面是:其典型地不具有有源冷却设备,例如常常可以在较大的计算设备(诸如膝上型计算机和台式计算机)中找到的风扇。pcd可以依赖于对无源冷却设备的策略性的放置和/或对电子封装的空间布置而不是使用风扇,使得两个或更多个有源和产热组件不靠近彼此。结合巧妙的空间布置和/或对无源冷却组件的策略性放置,pcd设计者还依靠嵌入在pcd芯片上的各种温度传感器来监控热能的耗散。如本领域普通技术人员所理解的,嵌入式温度传感器所采取的测量可以用于触发对热管理技术的应用。

以此方式,pcd中的热管理的当前系统和方法依赖于内部温度测量结果超过预定的热门限,以便触发热缓解决定。一旦由超过热门限的温度测量结果触发了对热缓解的需要,则当前的系统和方法使用数学模型来确定适当的热缓解决定。随后,立即应用热缓解决定,以便减少热能生成。当前的用于热缓解的系统和方法可以继续应用缓解决定,直到温度测量结果降低到门限以下,并且以提供给用户的服务质量(“qos”)为代价来清除警报。

由于用于热缓解的当前系统和方法是基于关于pcd所暴露于的外部环境(即pcd的“情境(context)”)的假设而预测的,因此当管理pcd内的热事件时,当前的系统和方法不太可能优化qos。因此,本领域需要的是用于pcd中的情境感知热管理和工作负荷调度的系统和方法。更具体地说,本领域需要的是利用关于pcd的情境的信息来调整热缓解策略并优化对用户的qos的系统和方法。



技术实现要素:

公开了用于便携式计算设备(“pcd”)中的情境感知热管理的方法和系统的各种实施例。要注意的是,pcd所处的环境情境可能对pcd的热能耗散效率具有显著影响。该解决方案的实施例寻求利用对pcd的环境情境的知晓,以响应于pcd内的热事件来修改或调整在pcd内应用的热策略参数。

示例性实施例定义情境变量集合以表示pcd所暴露的外部环境,并随后建立用于情境变量集合的基线值。基线值与基线情境相关联。随后,监控情境传感器的集合,以识别基线值。情境传感器可以生成读数,读数量化例如以下各项中的一项或多项:pcd的物理方位、环境温度、湿度水平、以及与pcd外部的表面的接触。

响应于识别基线值,示例性实施例执行具有已知功率包络的已知工作负荷,以便根据在执行已知工作负荷期间监控的温度读数来生成基线热图。一旦生成了基线热图(thermalmap),则将其与用于情境变量集合的基线值相关联地存储在情境数据库中。接下来,示例性实施例继续监控情境传感器的集合,以识别用于情境变量集合的、与基线值不同的发现值。发现值表示与基线情境不同的环境情境,并且因此可以指示pcd的热能耗散效率可能与在暴露于情境参数的基线值时不同。

响应于识别发现值,示例性实施例再次执行已知工作负荷,并根据在执行已知工作负荷期间监控的温度读数来生成发现热图。将发现热图与基线热图进行比较,以确定将用于情境变量集合的发现值指定为相对于用于情境变量集合的基线值的、“有益的”情境或“不利的”情境。将用于情境变量集合的发现值与所确定的指定相关联地存储。示例性方法继续监控情境传感器,以识别发现值的下一次出现,并且响应于识别发现值的下一次出现,查询数据库以确定与发现值相关联的指定。基于该指定(“有益的”或“不利的”),考虑到活动的环境情境,可以调整或修改热管理策略以优化qos。

修改热管理策略可以包括调整对一个或多个处理组件的工作负荷分配、调整给一个或多个处理组件的最大频率、调整对一个或多个处理组件的供电等等。

附图说明

在附图中,除非另外指出,否则相同的附图标记贯穿各个视图指代相同的部分。对于具有诸如“102a”或“102b”的字母字符标记的附图标记,字母字符标记可以区分存在于同一附图中的两个相同部分或要素。当附图标记旨在涵盖在所有附图中具有相同附图标记的所有部分时,可以省略附图标记的字母字符标记。

图1是示出了考虑pcd的物理方位情境的、pcd的功率耗散效率的曲线图;

图2是示出了用于在pcd中实现情境感知热管理和工作负荷调度方法的片上系统的实施例的功能框图;

图3是示出了解决方案的实施例已经发现和记录的、pcd的示例性情境的图表;

图4是以无线电话的形式示出了图2的pcd的示例性、非限制性方面的功能框图,该无线电话用于实现用于情境感知热管理和工作负荷调度的方法和系统;

图5是示出了图4的用于情境感知热管理和工作负荷调度的pcd的示例性软件架构的示意图;以及

图6是示出了用于图2的pcd中的情境感知热管理和工作负荷调度的方法的逻辑流程图。

具体实施方式

本文使用词语“示例性”来表示“用作示例、实例或说明”。本文中被描述为“示例性”的任何方面不一定被解释为排他性的、优选的或优于其它方面。

在本说明书中,术语“应用”还可以包括具有可执行内容的文件,例如目标代码、脚本、字节代码、标记语言文件和补丁。另外,本文所提及的“应用”还可以包括本质上不可执行的文件,例如可能需要打开的文档或需要被访问的其它数据文件。

如本说明书中所使用的,术语“组件”、“数据库”、“模块”、“系统”、“热能生成组件”、“处理组件”、“热侵害方(thermalaggressor)”等旨在指计算机相关的实体,可以是硬件、固件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。通过说明的方式,在计算设备上运行的应用和计算设备两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,并且组件可以位于一个计算机上和/或分布在两个或更多个计算机之间。另外,这些组件可以从其上存储有各种数据结构的各种计算机可读介质执行。这些组件可以通过本地的和/或远程的进程的方式,例如根据具有一个或多个数据分组的信号(例如,来自与本地系统、分布式系统中另一个组件进行交互的一个组件的数据,和/或通过信号的方式越过诸如互联网之类的网络与其它系统进行交互的一个组件的数据)来进行通信。

在本说明书中,术语“中央处理单元(“cpu”)”、“数字信号处理器(“dsp”)”、“图形处理单元(“gpu”)”、和“芯片”可互换使用。此外,cpu、dsp、gpu或者芯片可以由通常在本文中称为“核心”的一个或多个不同的处理组件组成。另外,在某种程度上,cpu、dsp、gpu、芯片或者核心是pcd内的、消耗各种等级的功率以在各种等级的功能效率下操作的功能组件,本领域普通技术人员将认识到,这些术语的使用并没有将所公开的实施例或其等同物的应用限制到pcd内的处理组件的情境。也就是说,尽管在处理组件的情境下描述许多实施例,但是可以预见到,情境感知热管理策略可以应用于pcd内的任何功能性组件,包括但不限于调制解调器、相机、无线网络接口控制器(“wnic”)、显示器、视频编码器、外围设备、电池等。

除了以上定义的内容之外,“处理组件”或“热能生成组件”或“热侵害方”可以是但不限于中央处理单元、图形处理单元、核心、主核心、子核心、处理区域、硬件引擎等、或驻留在便携式计算设备内的集成电路内或在其外部的任何组件。此外,在某种程度上,术语“热负荷”、“热分布”、“热特征”、“热足迹”、“热动力学”、“热处理负荷”、“热图”、“tsens图”等指示可能在特定处理器上和/或在整个芯片上运行的工作负荷负担,本领域普通技术人员将认识到,本公开内容中这些“热”术语的使用可以是关于进程负荷分布、工作负荷负担和功耗的。

在本说明书中,将理解的是,术语“热”和“热能”可以结合能够生成或耗散可以以“温度”单位来测量的能量的设备或组件来使用。另外,将理解的是,术语“热图”、“热动力学”等可以在pcd内的两个或更多个组件之间的热关系的上下文中使用,并且可以以温度单位来量化。因此,还将理解的是,参考某个标准值,术语“温度”预见可以指示“热能”生成设备的相对温暖或热缺失,或指示组件之间的热关系的任何测量。例如,当两个组件处于“热”平衡时,这两个组件的“温度”是相同的。

在本说明书中,术语“热缓解技术”、“热策略”、“热管理”、“热缓解措施”、“调节(throttling)到性能等级”、“热缓解决定”等可互换使用。要注意的是,本领域普通技术人员将认识到,取决于具体的使用情境,本段落中列出的任何术语可以用于描述可操作为以热能生成为代价来提高性能、以性能为代价来减少热能生成、或在这样的目标之间交替的硬件和/或软件。

在本说明书中,术语“便携式计算设备”(“pcd”)用于描述在诸如电池之类的有限容量电源上操作的任何设备。虽然电池运转的pcd已经使用了数十年,但随着可再充电电池的技术进步以及第三代(“3g”)和第四代(“4g”)无线技术的出现,已使得具有多种能力的许多pcd成为可能。因此,pcd可以是蜂窝电话、卫星电话、寻呼机、pda、智能手机、导航设备、智能本或阅读器、媒体播放器、前述设备的组合、具有无线连接的膝上型计算机等等。

在本说明书中,术语“性能设置”、“bin设置”、“功率等级”等可互换使用,以指代提供给pcd中的一个或多个热侵害型处理设备的功率等级。

在本说明书中,“情境变量”意在指在pcd外部的、影响pcd中的热能耗散的任何组件或测量的条件。因此,情境变量或情境变量的组合可以与相比于一些预期的或基线热能耗散速率的、热能耗散效率的增加或热能耗散效率的降低相关联。可以预见情境变量包括但不限于:环境温度、pcd的物理方位、与传导或隔热表面(例如,盖组件、桌子等)的接触、湿度等。任何一个或多个情境变量的变化都可能影响pcd的有效地对pcd内部的热事件作出反应的能力。

在不会不必要地影响服务质量(“qos”)的情况下管理pcd中的热能生成可以通过利用一个或多个传感器测量结果或数据输入来完成,该一个或多个传感器测量结果或数据输入建立pcd的环境情境。取决于当与pcd设计者最初假设的基线情境相比时pcd的环境是“不利的”还是“有益的”,可以调整热管理和工作负荷调度技术以优化用户的qos体验。

如本领域普通技术人员将理解的,当检测到pcd内部的热事件(例如核心结温度的增加超过预定门限)时,可以采取热缓解措施以减少pcd内的热侵害型组件的热能生成。要注意的是,考虑到环境情境假设(例如,25℃环境温度以及水平的pcd物理方位),不可避免地要预先确定定义热事件的热门限以及响应于热事件将采取的缓解措施。因此,环境情境的相对于假设的变化可能对响应于热事件而采取的缓解措施所得到的效率具有显著影响。

例如,当实际的情境参数比假设的情境参数更有利于热能耗散时,考虑到假设的情境参数而采取的热缓解措施将导致表现不佳的qos等级,这是由于对处理性能的不必要的影响。类似地,当实际的情境参数比假设的情境参数不利于热能耗散时,考虑到假设的情境参数而采取的热缓解措施将导致表现不佳的qos等级,这是由于对处理性能的不充分的调整,其导致进一步有害的热能生成和更加极端的热缓解响应。

要注意的是,虽然本文在中央处理单元(“cpu”)的情境中描述了情境感知热管理和工作负荷调度方法的示例性实施例,但是情境感知方法的应用不限于cpu。可以预见到的是,情境感知方法可以扩展到根据pcd的给定用例可能存在的、热侵害方和情境参数变量的任意组合。为了便于说明,本说明书中的一些说明主要包括作为pcd内的代表性热侵害方的cpu以及可以组合使用以定义pcd可能遭受的环境情境的仅三个情境变量的一集合;然而,将理解的是,任何数量的热侵害方可以是考虑任意数量的情境变量的组合的情境感知策略的对象。

图1是示出了考虑pcd的物理方位情境的、pcd的功率耗散效率的曲线图。从该曲线图中可以看出,y轴表示以瓦为单位测量的功率耗散(即,热能耗散速率),并且x轴表示给定pcd的表面积。如本领域普通技术人员将认识到的,越大的表面积通常提供越有效的热能耗散。因此,曲线绘图的下端可以表示采用蜂窝电话形式的典型pcd,而曲线绘图的上端可以表示采取平板电脑等形式的典型pcd。

pcd在空间中的物理方位可能对给定pcd耗散热能的能力具有显著的影响。例如,给定pcd的水平方位使得其面向下的表面与绝热芯片相关联,这可能是对于热能生成而言不那么理想的情境。出于示例性目的,下面的曲线绘图(以“小”虚线示出)表示这样的水平情境。同样,同一给定pcd的垂直方位可能更有利于热能耗散。出于示例性目的,上面的曲线绘图(以“大”虚线示出)表示这样的垂直情境。

从图1曲线图可以理解,可以有利地利用对给定pcd的物理方位的识别(可能连同其它情境参数)来修改被设计为对给定pcd内的热事件做出反应的热缓解策略。简而言之,如果在图1描绘中表示的示例性pcd处于垂直位置,则解决方案的实施例可以认识到这一点,并且修改热策略以相对于某些基线情境不那么积极地采取热缓解措施。另外,如果在图1中表示的示例性pcd处于水平位置,则解决方案的实施例可以认识到这一点,并且修改热策略以相对于某些基线情境更积极地采取热缓解措施。

图2是示出了用于在pcd100中实现情境感知热管理和工作负荷调度方法的片上系统102的实施例的功能框图。监控模块114可以被配置为监控和接收来自一个或多个温度传感器157和情境传感器199的测量结果。温度传感器157可以位于pcd100周围和pcd100内,以测量与以下各项中的一项或多项相关联的热能等级:结温度、外壳或“表皮”温度、pop存储器温度、电源温度等。情境传感器199可以被配置为测量和生成共同定义pcd100的环境情境的读数。例如,情境传感器199可以被配置为生成读数,读数指示但不限于:环境湿度、pcd100暴露于的环境温度、pcd100的物理方位、与pcd壳体(例如,保护罩)外的表面的接触等。要注意的是,由情境传感器测量的情境变量可能影响pcd100耗散热能的能力。

监控模块114与情境感知模块101通信。情境感知模块101从监控模块接收相关读数,并利用该读数来执行情境感知热管理和工作负荷调度技术。最初,可以由监控模块114和/或情境感知模块101建立和识别基线环境情境。了解到pcd100是在遭受基线情境的情况下进行执行,情境感知模块101可以使得执行与已知功率包络相关联的已知工作负荷。在执行已知工作负荷期间,监控模块114可以从温度传感器157的一些子集取得热读数,使得情境感知模块101可以生成热图(即,“tsens”图)。热图表示pcd100的基线热性能,并且与情境传感器199所测量的基线情境变量相关联地存储在情境数据库27中。以此方式,系统102可以建立当pcd100根据已知的工作负荷进行操作并且遭受基线情境参数时的预期热性能。可以考虑这些基线情境参数来建立基线缓解策略。

接下来,监控模块114和/或情境感知模块101可以识别情境变量读数相对于基线变量读数的变化,并且作为响应,执行已知的工作负荷。要注意的是,由于情境中的变化可能影响pcd100耗散热能的效率,因此执行已知的工作负荷可以用来基于来自温度传感器157的读数来生成新的热图。随后,情境感知模块101可以将新的热图与基线热图进行比较,并确定活动的情境变量读数(其与基线情境变量读数不同)是表示相对于基线情境而言更有效(“有益的”)或不那么有效(“不利的”)用于热能耗散的情境。随后,情境感知模块101可以将新的热能图和/或所确定的指定(“有益的”或“不利的”)连同新发现/识别的情境变量读数一起存储在情境数据库27中。

在操作中,当与情境感知模块101一起工作的监控模块114识别出先前针对已知工作负荷测试的情境变量读数的组合时,情境感知模块101可以查询情境数据库27,以确定这样的先前发现的情境相对于基线情境而言对于热能生成是“有益的”还是“不利的”。如果是“有益的”,则情境感知模块101可以与调度器29一起工作,以向cpu110和/或动态电压和频率缩放(“dvfs”)模块26分配大于正常工作负荷的工作负荷,以增加提供给cpu110的最大频率(“fmax”),因为知道pcd100所暴露于的活动情境相对于可能已经配置了热缓解策略的基线情境提供改进的热能耗散。类似地,如果活动的和先前发现的情境是“不利的”,则情境感知模块101可以与调度器29一起工作,以向cpu110和/或dvfs模块26分配小于正常工作负荷的工作负荷(或策略性地重新分配工作负荷),以降低提供给cpu110的最大频率(“fmax”),因为知道pcd100所暴露于的活动情境相对于可能已经配置了热缓解策略的基线情境提供降低的热能耗散效率。以这些方式,解决方案的实施例可以利用指示环境情境的信息来调整热缓解策略,使得qos被优化。

图3是示出了解决方案的实施例已经在情境数据库27中发现和记录的、pcd的示例性情境的图表。如前所述,发现的情境稍后可以由解决方案的实施例利用以修改或调整对pcd100内的热事件作出反应的热管理策略。

转到图3的图表,基线情境可能已被定义为情境变量的集合,其包括:环境温度(“tamb”);pcd100的方位,其可以由例如陀螺仪或3轴加速计形式的情境传感器来测量和量化;以及与影响热能耗散的表面(如电话机盖)的接触。情境变量的基线读数,如示例性的图3图表中所示,tamb是25℃,方位是“水平”,表面接触是“无”。利用指示基线情境的情境变量读数,情境感知模块101将期望pcd100与基线tsens图一致地进行热执行。

在操作中,情境感知模块101可能已经发现与基线变量读数不同的情境变量读数的组合,并且作为响应,执行了已知工作负荷,生成了对每个发现的组合唯一的tsens图,并且确定每个发现的组合是“有益的”还是“不利的”。对于情境变量读数的每个发现的组合,情境感知模块101可以将该组合连同其tsens图和/或指定一起存储在情境数据库27中,如根据示例性的图3图表可以理解的。

图4是以无线电话的形式示出了图2的pcd的示例性、非限制性方面的功能框图,该无线电话用于实现用于情境感知热管理和工作负荷调度的方法和系统。如图所示,pcd100包括片上系统102,片上系统102包括耦合在一起的多核中央处理单元(“cpu”)110和模拟信号处理器126。如本领域普通技术人员所理解的,cpu110可以包括第0核心222、第一核心224和第n核心230。此外,如本领域普通技术人员所理解的,替代cpu110,还可以使用数字信号处理器(“dsp”)。

通常,动态电压和频率缩放(“dvfs”)模块26可以负责对各个处理组件(例如核心222、224、230)以增量方式实现调节技术,以帮助pcd100优化其节点功率等级并保持高等级功能,而不会有害地超过某些温度门限。

监控模块114与分布在整个片上系统102上的多个操作传感器(例如,热传感器157a、157b和情境传感器199)并且与pcd100的cpu110以及与情境感知模块101通信。监控模块114还可以针对与pcd100和/或任何“片外”情境传感器199的触摸温度相关联的温度读数,来监控“片外”传感器157c。情境感知模块101可以与监控模块114一起工作,以建立基线情境和基线热性能,发现如情境传感器读数的组合所指示的新情境,以及建立与所发现的情境相关联的热性能期望,并考虑先前发现的活动情境来调整热缓解策略。

如图4中所示,显示控制器128和触摸屏控制器130耦合到数字信号处理器110。片上系统102外部的触摸屏显示器132耦合到显示控制器128和触摸屏控制器130。pcd100还可以包括视频编码器134,例如,逐行倒相(“pal”)编码器、顺序传送与存储彩色(“secam”)编码器、国家电视系统委员会(“ntsc”)编码器、或任何其它类型的视频编码器134。视频编码器134耦合到多核心中央处理单元(“cpu”)110。视频放大器136耦合到视频编码器134和触摸屏显示器132。视频端口138耦合到视频放大器136。如图4中所示,通用串行总线(“usb”)控制器140耦合到cpu110。而且,usb端口142耦合到usb控制器140。存储器112和用户身份模块(sim)卡146也可以耦合到cpu110。此外,如图4中所示,数码相机148可以耦合到cpu110。在示例性方面,数码相机148是电荷耦合器件(“ccd”)相机或互补金属氧化物半导体(“cmos”)相机。

如在图4中进一步所示,立体声音频编解码器150可以耦合到模拟信号处理器126。另外,音频放大器152可以耦合到立体声音频编解码器150。在示例性方面,第一立体声扬声器154和第二立体声扬声器156耦合到音频放大器152。图4显示了麦克风放大器158也可以耦合到立体声音频编解码器150。另外,麦克风160可以耦合到麦克风放大器158。在特定方面,频率调制(“fm”)无线电调谐器162可以耦合到立体声音频编解码器150。而且,fm天线164耦合到fm无线电调谐器162。此外,立体声耳机166可以耦合到立体声音频编解码器150。

图4还指示射频(“rf”)收发机168可以耦合到模拟信号处理器126。rf开关170可以耦合到rf收发机168和rf天线172。如图4所示,小键盘174可以耦合到模拟信号处理器126。另外,具有麦克风的单声道耳机176可以耦合到模拟信号处理器126。此外,振动器设备178可以耦合到模拟信号处理器126。图4还示出了电源188(例如电池)通过pmic180耦合到片上系统102。在特定方面,电源包括可再充电dc电池或dc电源,其源自连接到ac电源的交流电(“ac”)到dc变压器。

cpu110还可以耦合到一个或多个内部的、片上热传感器157a、157b、一个或多个外部的、片外热传感器157c和/或一个或多个情境传感器199。片上热传感器157可以包括一个或多个与绝对温度(“ptat”)成比例的温度传感器,所述温度传感器基于垂直pnp结构并且通常专用于互补金属氧化物半导体(“cmos”)超大规模集成(“vlsi”)电路。片外热传感器157可以包括一个或多个热敏电阻器。热传感器157可以产生利用模数转换器(“adc”)控制器103转换成数字信号的压降。然而,在不脱离本发明的范围的情况下,可以采用其它类型的热传感器157a、157b、157c。情境传感器199可以包括被配置用于读取和量化情境变量的传感器,其例如是但不限于湿度传感器、环境温度传感器、方位传感器、表面接触传感器等。要注意的是,取决于解决方案的实施例,与由来自传感器199的变量读数来表示相反,一个或多个情境变量也可以由用户指定的固定输入来表示。

dvfs模块26、调度器29(图4中未示出)和情境感知模块101可以包括由cpu110执行的软件。然而,在不脱离本发明的范围的情况下,dvfs模块26、调度器29和情境感知模块101也可以由硬件和/或固件形成。情境感知模块101连同dvfs模块26和/或调度器29可以负责以可以帮助pcd100避免热降级(thermaldegradation)同时保持高等级的功能和用户体验的方式来应用调节策略或者分配工作负荷。

触摸屏显示器132、视频端口138、usb端口142、相机148、第一立体声扬声器154、第二立体声扬声器156、麦克风160、fm天线164、立体声头戴式受话器166、rf开关170、rf天线172、小键盘174、单声道头戴式耳机176、振动器178、电源188、pmic180和热传感器157c在片上系统102外部。然而,应理解的是,监控模块114还可以通过模拟信号处理器126和cpu110从这些外部设备中的一个或多个设备接收一个或多个指示或信号,以帮助实时管理在pcd100上可操作的资源。

在特定方面中,本文所描述的方法步骤中的一个或多个可以由形成一个或多个情境感知模块101、调度器29和dvfs模块26的、存储在存储器112中的可执行指令和参数来实现。形成模块101、29和26的这些指令可以由cpu110、模拟信号处理器126或另一个处理器(除了adc控制器103之外)执行以执行本文所描述的方法。此外,处理器110、处理器126、存储器112、存储在存储器中的指令、或其组合可以作为用于执行本文所描述的方法步骤中的一个或多个的单元。

图5是示出了图4的用于情境感知热管理和工作负荷调度的pcd的示例性软件架构200的示意图。任何数量的算法可以形成至少一个热管理策略或者是其一部分,所述至少一个热管理策略可以在某些情境变量读数组合被识别时由情境感知模块101调整、修改或者应用,然而,在优选的实施例中,情境感知模块101与dvfs模块26和/或调度器29一起工作以调整对芯片102中的各个热侵害方的工作负荷或增量地向芯片102中的各个热侵害方应用电压和频率缩放策略,该各个热侵害方包括但不限于核心222、224和230。工作负荷调整和/或增量的缩放努力可以是响应于情境感知模块101已经识别出与先前发现和量化的情境变量读数组合一致的活动情境变量读数。

如图5所示,cpu或数字信号处理器110经由总线211耦合到存储器112。如上所述,cpu110是具有n个核心处理器的多核处理器。也就是说,cpu110包括第一核心222、第二核心224和第n核心230。如本领域普通技术人员所公知的,第一核心222、第二核心224和第n核心230中的每一个都可用于支持专用应用或程序。替代地,一个或多个应用或程序可以被分布用于跨越可用核心中的两个或更多个核心进行处理。

cpu110可以从可包括软件和/或硬件的情境感知模块101和/或dvfs模块26和/或调度器29接收命令。如果体现为软件,则模块101、26、29包括由cpu110执行的指令,cpu110向由cpu110和其它处理器执行的其它应用程序发出命令。

cpu110的第一核心222、第二核心224至第n核心230可以集成在单个集成电路管芯上,或者它们可以集成或耦合在多电路封装中的单独管芯上。经由一个或多个共享高速缓存,设计者可以耦合第一核心222、第二核心224至第n核心230,并且经由网络拓扑(诸如总线、环、网状结构和纵横式拓扑),他们可以实现消息或指令传递。

如本领域已知的,经由一个或多个有线或无线连接,总线211可以包括多个通信路径。总线211可以具有额外的元件以实现通信,但是为了简单起见将额外的元件省略了,例如控制器、缓冲器(高速缓存)、驱动器、转发器和接收器。此外,总线211可以包括地址、控制和/或数据连接,以启用上述组件之间的适当通信。

当由pcd100使用的逻辑单元以软件来实现时,如图5中所示,应注意的是,启动逻辑单元250、管理逻辑单元260、情境感知接口逻辑单元270、应用存储区280中的应用、以及文件系统290的部分中的一项或多项可以存储在任何计算机可读介质或设备上,以由任何计算机相关的系统或方法使用或结合任何计算机相关的系统或方法来使用。

在本文档的上下文中,计算机可读介质是可以包含或存储由计算机相关的系统或方法使用的或结合计算机相关的系统或方法来使用的计算机程序和数据的电、磁、光或其它物理设备或单元。各种逻辑元件和数据存储区可以体现在任何计算机可读介质中,以由指令执行系统、装置或设备使用或结合指令执行系统、装置或设备来使用,诸如可以从指令执行系统、装置或设备取得指令并执行指令的基于计算机的系统、包含处理器的系统、或其它系统。在本文档的上下文中,“计算机可读介质”可以是能够存储、传送、传播或传输由指令执行系统、装置或设备使用或结合指令执行系统、装置或设备来使用的程序的任何单元。

计算机可读介质可以是但不限于例如电、磁、光、电磁、红外线或半导体系统、装置、设备或传播介质。计算机可读介质的更具体的示例(非穷尽性列表)将包括以下各项:具有一个或多个导线的电连接(电的)、便携式计算机磁盘(磁的)、随机存取存储器(ram)(电的)、只读存储器(rom)(电的)、可擦除可编程只读存储器(eprom、eeprom或闪存)(电的)、光纤(光的)以及便携式压缩光盘只读存储器(cdrom)(光的)。要注意的是,计算机可读介质甚至可以是纸或在其上打印有程序的另一适当介质,因为程序可以以电子方式获取,例如经由对纸或其它介质进行光学扫描,随后编译、解释或者如果需要的话以其它适当的方式进行处理,随后存储在计算机存储器中。

在替代实施例中,在以硬件实现启动逻辑单元250、管理逻辑单元260和可能的情境感知接口逻辑单元270中的一个或多个的情况下,各种逻辑单元可以利用以下技术中的任何技术或组合来实现,其中每一种技术在本领域中是公知的:具有用于对数据信号实现逻辑函数的逻辑门的分立逻辑电路、具有适当的组合逻辑门的专用集成电路(asic)、可编程门阵列(pga)、现场可编程门阵列(fpga)等。

存储器112可以包括诸如闪存或固态存储器设备之类的非易失性数据存储设备。尽管描绘为单个设备,但是存储器112可以是具有耦合到数字信号处理器110(或额外的处理器核心)的单独数据存储区的分布式存储器设备。

启动逻辑单元250包括用于选择性地识别、加载和执行选择程序的一个或多个可执行指令,该选择程序用于情境感知管理或控制诸如第一核心222、第二核心224至第n核心230之类的一个或多个可用核心的性能。启动逻辑单元250可以识别、加载和执行选择的情境感知程序。示例性选择程序可以在嵌入式文件系统290的程序存储区296中找到,并且由性能缩放算法297和情境参数集合298的特定组合来定义。当示例性选择程序由cpu110中的一个或多个核心处理器执行时,示例性选择程序可以根据由监控模块114提供的一个或多个信号结合由一个或多个情境感知模块101和dvfs模块26以及调度器29提供的控制信号来操作,以考虑活动的环境情境来分配工作负荷和/或将相应处理器核心的性能“放大”或“缩小”以优化qos。对此,监控模块114可以提供关于事件、过程、应用、资源状态条件、经过的时间、热因子状态、情境变量读数等的一个或多个指示符。

管理逻辑单元260包括用于在一个或多个相应的处理器核心上终止情境感知程序以及选择性地识别、加载和执行更加适当的替换程序的一个或多个可执行指令,所述更加适当的替代程序用于管理或控制可用核心中的一个或多个核心的性能。管理逻辑单元260被布置成在运行时或者在pcd100被供电并且由设备的操作者使用时执行这些功能。替换程序可以在嵌入式文件系统290的程序存储区296中找到,并且在一些实施例中,可以由性能缩放算法297和情境参数集合298的特定组合来定义。

当替换程序由数字信号处理器中的核心处理器中的一个或多个执行时,替换程序可以根据由监控模块114提供的一个或多个信号或者在各处理器核心的相应控制输入上提供的一个或多个信号来操作,以缩放相应处理器核心的性能。对此,响应于源自情境感知模块101的控制信号,监控模块114可以提供关于事件、过程、应用、资源状态条件、经过的时间、温度等的一个或多个指示符。

接口逻辑单元270包括用于呈现、管理外部输入以及与外部输入交互以观察、配置或以其它方式更新存储在嵌入式文件系统290中的信息的一个或多个可执行指令。在一个实施例中,接口逻辑单元270可以结合经由usb端口142接收的制造商输入来操作。这些输入可以包括要从程序存储区296删除或添加到程序存储区296的一个或多个程序。替代地,输入可以包括对程序存储区296中的一个或多个程序的编辑或改变。另外,输入可以识别对启动逻辑单元250和管理逻辑单元260中的一个或两者的一个或多个改变或全部替换。通过举例的方式,所述输入可以包括对用于给定热侵害方的可用bin设置的改变。

接口逻辑单元270使得制造商能够在pcd100上在定义的操作条件下可控制地配置和调整终端用户的体验。当存储器112是闪存时,启动逻辑单元250、管理逻辑单元260、接口逻辑单元270,应用存储区280中的应用程序或嵌入式文件系统290中的信息中的一个或多个可以被编辑、替换或以其它方式修改。在一些实施例中,接口逻辑单元270可以允许pcd100的终端用户或操作者搜索、定位、修改或替换启动逻辑单元250、管理逻辑单元260、应用存储区280中的应用和嵌入式文件系统290中的信息。操作者可以使用所得到的接口以做出在pcd100的下一次启动时将实现的改变。替代地,操作者可以使用所得到的接口来做出在运行时间期间实现的改变。

嵌入式文件系统290包括分层布置的热技术存储区292。对此,文件系统290可以包括其总文件系统容量的保留部分,以用于存储针对各种参数298的配置和管理的信息以及由pcd100使用的热管理算法297。如图5所示,存储区292包括程序存储区296,程序存储区296包括一个或多个热管理程序,该一个或多个热管理程序可以包括情境感知热管理程序。

图6是示出了用于图2的pcd中的情境感知热管理和工作负荷调度的方法600的逻辑流程图。从框605开始,可以定义情境变量集合。如前所述,情境变量集合可以是用于识别和量化pcd在操作期间可能暴露于的环境情境的变量的任意组合。要注意的是,不同的环境情境可能影响pcd在耗散过多的热能时的相对效率。因此,当暴露于一种情境时,与暴露于另一情境相比,pcd在耗散能量方面可能相对更有效率。

返回到方法600,在框610处,可以建立用于情境变量集合的值或读数的基线集合,并且在遭受基线情境变量设置的情况下执行具有已知功率包络的已知工作负荷。随后,在框615处,可以监控并测量在已知工作负荷正在被处理同时pcd遭受基线情境变量读数时由pcd生成和耗散的热能。可以生成基线温度图,并将其与基线情境值相关联地存储在情境数据库27中。

利用建立的基线情境,在框620处,可以针对与基线情境不同的环境情境的任何指示来监控情境传感器。在决定框625处,只要情境变量读数等于基线值,则沿着“是”分支回到框620,并且如上所描述的继续监控情境传感器。只要情境传感器读数没有指示环境情境相对于基线情境的改变,则解决方案的实施例可以不支配对活动热管理策略的修改或调整。

在决定框625处,如果情境变量读数不同于基线值,则沿着“否”分支回到决定框630。在决定框630处,方法600确定情境变量读数是否与先前由方法600发现的情境变量读数的组合一致。如果情境变量读数与先前由方法600发现的情境变量读数的组合不一致,则该方法继续进行到框635。

在框635处,方法600建立情境变量读数的活动集合作为新发现的情境,并且在框640处,执行先前用于量化与基线情境相关联的pcd的热性能的已知工作负荷。在框645处,使用pcd内的各种温度传感器来监控热能生成以生成热图。热图可以与新发现的情境变量读数组合相关联地存储在情境数据库中。随后,在框650处,将当运行已知工作负荷时结合新发现的情境变量读数组合生成的热图与运行已知工作负荷时结合基线情境变量读数组合先前生成的基线热图进行比较。基于该比较,新发现的情境变量读数组合可以被指定为相对于与情境变量读数的基线集合相关联的热能耗散效率而言对于热能耗散是“有益的”或“不利的”。该方法返回到框620并且监控情境传感器。

循环回到决定框630,如果情境变量读数组合与先前发现的情境变量读数集合(例如,相对于框635-650描述的发现的情境)一致,则方法600沿着“是”分支到框660。在框660处,可以查询情境数据库27以确定与发现的情境相关联的热耗散性能是“有益的”还是“不利的”。在框655处,如果发现的情境与有益的热耗散性能相关联,则情境感知模块101可以与调度器29和/或dvfs模块26一起工作,以向一个或多个处理组件增加工作负荷分配和/或增加fmax。相比之下,如果发现的情境与不利的热耗散性能相关联,则情境感知模块101可以与调度器29和/或dvfs模块26一起工作,以向一个或多个处理组件减少/重新分配工作负荷和/或减小fmax。以这些方式,解决方案的实施例考虑如由pcd正在其中操作的环境情境所支配的、pcd的热耗散性能来调整热管理策略,并且这么做,优化用户所体验的qos。该方法从框655继续回到框620。

本说明书中所描述的过程或者过程流中的某些步骤本质上在其它步骤之前,以便本发明按照所描述的来运行。然而,如果这样的顺序或次序不改变发明的功能,那么发明不被限制于所描述的步骤的顺序。也就是说,认识到在不脱离本发明的范围和精神的情况下,一些步骤可以在其它步骤之前、之后或并行于(基本上同时地)其它步骤来执行。在一些实例中,在不脱离本发明的情况下,某些步骤可以被省略或不执行。此外,诸如“此后”、“随后”、“接下来”等的词语并不旨在限制所述步骤的顺序。这些词语仅仅被用来引导读者全篇阅读示例性方法的描述。

另外,编程领域的普通技术人员能够基于例如本说明书中的流程图和相关联的描述来不费劲地写出计算机代码或识别适当的硬件和/或电路,以实现所公开的发明。因此,为了充分理解如何制作和使用本发明而公开具体程序代码指令集或详细硬件设备并不被认为是必要的。在上述描述中以及结合附图详细解释了所要求保护的计算机实现过程的发明性功能,附图可以示出各种过程流程。

在一个或多个示例性方面,所描述的功能可以以硬件、软件、固件、或其任意组合来实现。如果以软件来实现,则可以将这些功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传送。计算机可读介质包括计算机存储介质和通信介质,通信介质包括有助于将计算机程序从一个地方传送到另一个地方的任意介质。存储介质可以是可以由计算机访问的任意可用介质。通过举例而非限制性的方式,这样的计算机可读介质可以包括ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁存储设备、或可以用来以指令或数据结构的形式携带或存储期望的程序代码单元并且可以由计算机访问的任何其它介质。

此外,任何连接可以被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤光缆、双绞线、数字用户线(“dsl”)、或诸如红外线、无线电和微波之类的无线技术从网站、服务器或其它远程源传输软件,则同轴电缆、光纤光缆、双绞线、dsl或诸如红外线、无线电和微波之类的无线技术包括在介质的定义内。

如本文所使用的,磁盘和光盘包括压缩光盘(“cd”)、激光光盘、光盘、数字多功能光盘(“dvd”)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘利用激光光学地复制数据。以上的组合也应当包括在计算机可读介质的范围内。

因此,虽然已经详细说明和描述了精选的方面,但是将理解的是,可以在不脱离如由所附权利要求限定的本发明的精神和范围的情况下做出各种替换和变更。

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