ES2588027T3 - Sistema y procedimiento para la gestión térmica adaptativa en un dispositivo informático portátil - Google Patents

Sistema y procedimiento para la gestión térmica adaptativa en un dispositivo informático portátil Download PDF

Info

Publication number
ES2588027T3
ES2588027T3 ES13730960.5T ES13730960T ES2588027T3 ES 2588027 T3 ES2588027 T3 ES 2588027T3 ES 13730960 T ES13730960 T ES 13730960T ES 2588027 T3 ES2588027 T3 ES 2588027T3
Authority
ES
Spain
Prior art keywords
temperature
performance level
pcd
particular temperature
duration
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
ES13730960.5T
Other languages
English (en)
Inventor
Paras S. DOSHI
Ankur Jain
Unnikrishnan Vadakkanmaruveedu
Vinay MITTER
Anil VOOTUKURU
Ronald F. ALTON
Jon J. Anderson
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2588027T3 publication Critical patent/ES2588027T3/es
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/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3031Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a motherboard or an expansion card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • 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)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Telephone Function (AREA)
  • Microcomputers (AREA)

Abstract

Un procedimiento (400) para la gestión térmica adaptativa en un dispositivo informático portátil, PCD, comprendiendo el procedimiento: definir un número discreto de niveles de rendimiento de uno o más componentes de procesamiento en el PCD, en el que cada uno de los niveles de rendimiento está asociado con una frecuencia de tensión y de reloj suministrada al uno o más componentes de procesamiento; definir (402) umbrales de temperatura asociados con uno o más componentes sensibles a la temperatura en el PCD; monitorizar (404) una pluralidad de sensores de temperatura en el PCD, en el que cada sensor de temperatura está asociado con uno o más de los componentes sensibles a la temperatura; recibir una señal de interrupción de una de la pluralidad de sensores de temperatura; muestrear señales de temperatura desde uno o más de la pluralidad de sensores de temperatura; determinar que una señal de temperatura particular indica que uno particular de los umbrales de temperatura ha sido violado; reducir (420; 438) el nivel de rendimiento de uno o más de los componentes de procesamiento desde un nivel de rendimiento máximo a un siguiente nivel de rendimiento más alto en el número discreto definido de niveles de rendimiento en respuesta a la indicación de que uno particular de los umbrales de temperatura ha sido violado; continuar (430; 446) el muestreo de la señal de temperatura particular; determinar a partir de la señal de temperatura particular que la violación del umbral de temperatura particular se ha eliminado; caracterizado por: mantener (434; 448) el nivel de rendimiento del uno o más componentes de procesamiento en el siguiente nivel de rendimiento más alto durante un primer período de penalización que tiene una duración predeterminada después de que se haya eliminado la violación del umbral de temperatura particular; aumentar (435; 450) el nivel de rendimiento del uno o más componentes de procesamiento desde el siguiente nivel de rendimiento más alto al nivel de máximo rendimiento al final del primer período de penalización; y monitorizar la pluralidad de sensores de temperatura durante un período de reinicio, en el que: si, durante el período de reinicio, la señal de temperatura particular indica que el umbral de temperatura particular se ha vuelto a violar, se aumenta la duración de un período de penalización posterior en relación con la duración del primer periodo de penalización; y si, durante el período de reinicio, la señal de temperatura particular indica que el umbral de temperatura particular no se ha vuelto a violar, se reinicia la duración de un período de penalización posterior a una duración por defecto.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Sistema y procedimiento para la gestion termica adaptativa en un dispositivo informatico portatil
descripciOn de la tecnica relacionada
Los dispositivos informaticos portatiles ("PCDs") se estan convirtiendo en artfculos de primera necesidad para la gente en niveles personales y profesionales. Estos dispositivos pueden incluir telefonos moviles, asistentes digitales portatiles ("PDAs"), consolas de juegos portatiles, ordenadores de bolsillo y otros dispositivos electronicos portatiles.
Un aspecto unico de PCDs es que tfpicamente no tienen dispositivos de refrigeracion activa, como ventiladores, que se encuentran a menudo en los dispositivos informaticos mas grandes, tales como ordenadores portatiles y de escritorio. En lugar de utilizar ventiladores, los PCDs pueden depender de la disposicion espacial de embalaje electronico, de modo que dos o mas componentes activos y de produccion de calor no estan posicionados de manera proximal entre si. Muchos PCDs tambien pueden basarse en dispositivos de refrigeracion pasivos, tales como disipadores de calor, para gestionar la energfa termica entre los componentes electronicos que forman colectivamente un PCD respectivo.
La realidad es que los PCDs estan tfpicamente limitados en tamano y, por lo tanto, el espacio para los componentes dentro de un pCd a menudo tiene su precio. Como tal, usualmente no hay suficiente espacio dentro de un PCD para que los ingenieros y los disenadores mitiguen la degradacion termica o el fallo de los componentes de procesamiento mediante el uso de disposiciones espaciales inteligentes o la colocacion estrategica de los componentes de refrigeracion pasiva. Por lo tanto, los sistemas y procedimientos actuales se basan en diferentes sensores de temperatura incorporados en el chip del PCD para monitorizar la disipacion de energfa termica y, a continuacion, utilizar las mediciones para activar la aplicacion de tecnicas de gestion termica que ajustan asignaciones de carga de trabajo, velocidades de procesamiento, etc., para reducir la generacion de energfa termica.
Por ejemplo, los sistemas y procedimientos actuales regulan la tension y la frecuencia de un procesador a "niveles" predefinidos de rendimiento. Sobre la base de una lectura de temperatura observada, el procesador puede reducir hasta un nivel que fue predeterminado para mitigar la generacion de energfa termica cuando el procesador esta bajo una gran carga de trabajo. Cabe destacar que, para aligerar las cargas de trabajo que son menos exigentes en recursos de procesamiento, la disminucion de la tension y la frecuencia de un procesador a un nivel que estaba predeterminado para mitigar la generacion de energfa termica bajo una gran carga de trabajo puede afectar innecesariamente a la calidad del servicio (“QoS") proporcionada a un usuario. Por lo tanto, lo que se necesita en la tecnica es un sistema y procedimiento para la gestion termica adaptativa en un PCD. Mas especfficamente, lo que se necesita en la tecnica es un sistema y un procedimiento que, en lugar de tomar decisiones de mitigacion estaticas predeterminadas que asumen el peor de los casos de uso, determina las decisiones de mitigacion termicas en tiempo de ejecucion en base a las lecturas de temperatura y a niveles de frecuencia/tension actuales de componentes de procesamiento individuales.
El documento US 2007/156370 (A1) divulga multiples nucleos logicos de circuitos integrados y procesadores que se pueden configurar para operar a frecuencias y tensiones independientes entre sf. Ademas, otros componentes, tales como un puente comun configurado para interconectarse con los nucleos logicos, pueden operar a una tension y frecuencia independientes de la tension y de la frecuencia a las que los nucleos logicos estan operando. La frecuencia y/o la tension de operacion de un nucleo logico se pueden ajustar de forma independiente por diversas razones, incluyendo la administracion de energfa y el control de temperatura. La circuiterfa logica en una interfaz entre el controlador y los nucleos logicos puede traducir senales logicas de una tension y/o frecuencia a otra para permitir la comunicacion entre el puente y el nucleo logico cuando los dos estan operando a diferentes tensiones y/o frecuencias.
El documento US 2008/036613 (A1) divulga un microprocesador que incluye un sensor de temperatura que monitoriza una temperatura del nucleo logico del microprocesador durante la operacion y la informacion del punto operativo desde el que N puntos operativos pueden determinarse en los que el nucleo del microprocesador puede operar de forma fiable a una primera temperatura. Cada uno de los N puntos operativos tiene una combinacion diferente de la frecuencia y tension operativa. Los N puntos operativos N comprenden un punto mas alto de funcionamiento, un punto operativo mas bajo y una pluralidad de puntos operativos intermedios entre los puntos operativos mas alto y mas bajo. El microprocesador tambien incluye un circuito de control que hace la transicion de la operacion de la logica del nucleo entre los N puntos operativos para intentar mantener la temperatura operacion de la logica de nucleo proporcionada por el sensor de temperatura dentro de un intervalo de temperaturas cuyo lfmite superior es la primera temperatura.
SUMARIO DE LA DIVULGAClON
Se divulgan varios modos de realizacion de procedimientos y sistemas para las tecnicas de gestion termica adaptativas implementadas en un dispositivo informatico portatil ("PCD"). Cabe destacar que, en muchos PCDs, los
5
10
15
20
25
30
35
40
45
50
55
60
65
umbrales de temperatura asociados con diversos componentes en el PCD, tales como, pero no limitados a, temperatures de derivacion de la matriz, temperaturas de memoria de paquete en paquete ("PoP") y la "temperatura de toque" de las superficies externas del propio dispositivo limitan el grado en que se pueden explotar las capacidades de rendimiento del PCD. Generalmente, cuanta mas energfa se consume mediante los distintos componentes de un PCD, la generacion resultante de la energfa termica puede hacer que se superen los umbrales de temperatura, necesitando por ello que el rendimiento del PCD sea sacrificado en un esfuerzo para reducir la generacion de energfa termica. La invencion se define en las reivindicaciones independientes.
Es una ventaja de los diversos modos de realizacion de procedimientos y sistemas para la gestion termica adaptativa que, cuando se viola un umbral de temperatura, el rendimiento del PCD se sacrifica solo en la cantidad y durante el tiempo necesario para eliminar la violacion antes de autorizar el componente(s) de procesado termicamente agresivo(s) para volver a una potencia operativa maxima. Uno de tales procedimientos para la gestion termica adaptativa en un PCD incluye, en primer lugar, la definicion de un numero discreto de niveles de rendimiento para uno o mas componentes de procesamiento en el PCD. Cada nivel de rendimiento se asocia con una tension y frecuencia de reloj que se puede suministrar al uno o mas componentes de procesamiento. Cada componente de procesamiento funciona por defecto en su maximo nivel de rendimiento.
A continuacion, se definen los umbrales de temperatura asociados con uno o mas componentes sensibles o crfticos de temperatura en el PCD. En particular, como para muchos componentes en un PCD, la cantidad de energfa termica generada directamente se correlaciona con el nivel de potencia al que se permite que el componente funcione, estos umbrales de temperatura pueden ser vistos como temperaturas operativas "objetivo" a las que un sistema de gestion termica adaptativo puede buscar para accionar los componentes de procesamiento en el PCD. En algunos modos de realizacion de un sistema y procedimiento de gestion termica adaptativa, los umbrales de temperatura estan asociados con uno o mas componentes, incluyendo un componente de derivacion, un componente de memoria PoP o un componente de carcasa exterior.
En operacion, se monitorizan los sensores de temperatura que se pueden utilizar para medir o deducir temperaturas asociadas con los componentes sensibles a la temperatura. En particular, uno o mas de los componentes sensibles a la temperatura tambien pueden ser un componente termicamente agresivo - un ejemplo no limitativo de un componente sensible a la temperatura, que tambien puede ser un componente termicamente agresivo, es un nucleo en una unidad de procesamiento central (los aspectos de derivacion del nucleo son la temperatura crftica y el nucleo, en virtud del procesamiento de una carga de trabajo, consumos de energfa y generacion de energfa termica).
En algunos ejemplos, los sensores de temperatura se monitorizan para una senal de interrupcion que se desencadena por la violacion de un umbral inicial que es menor que cualquiera de los umbrales termicos preestablecidos asociados con componentes sensibles a la temperatura. Al recibir la interrupcion, modos de realizacion del sistema pueden comenzar lecturas de muestreo desde los sensores a intervalos basados en el tiempo definidos por una velocidad de muestreo relativamente lenta. Si una lectura de temperatura se toma en un intervalo que indica que uno o mas de los umbrales de temperatura ha sido violado, a continuacion, modos de realizacion pueden nivelar tecnicas de escalado ("DVFS") de la tension dinamica y de la frecuencia para reducir el nivel de rendimiento de uno o mas componentes de procesamiento termicamente agresivos desde el nivel operativo maximo por defecto a un nivel por debajo del maximo. En el siguiente intervalo, las lecturas de temperatura se sondean de nuevo y, si la violacion no ha sido eliminada, el nivel de rendimiento del componente(s) termicamente agresivo(s) se reduce al siguiente nivel mas alto. De esta manera, los modos de realizacion de gestion termica adaptativa aseguran que la potencia de procesamiento de cualquier componente de procesamiento dado solo se reduce tanto como sea necesario para mantener la temperatura por debajo de los umbrales.
En particular, en algunos ejemplos, la violacion de un umbral asociado con un componente de "mision crftica", tal como un componente de derivacion, puede disparar el sondeo de los sensores a una velocidad mas rapida para asegurar que se evitan las posibilidades de fuga termica del PCD. Ademas, en los modos de realizacion, los perfodos de penalizacion se imponen despues de la reduccion en los niveles de potencia de los componentes termicamente agresivos, reduciendo con exito la generacion de energfa termica a un nivel que permita la violacion del umbral que se ha de eliminar. Se preve que los perfodos de penalizacion puedan ser acumulativos segun la frecuencia o la rapidez, el sistema de gestion termica adaptativo requiere componente(s) de procesamiento termicamente agresivos para entrar, o volver a entrar, un estado de disminucion para eliminar una violacion del umbral de temperatura.
BREVE DESCRIPCION DE LOS DIBUJOS
En los dibujos, numeros de referencia similares se refieren a partes similares en todas las diversas vistas, a menos que se indique lo contrario. Para numeros de referencia con designacion de letra de caracteres, tales como "102A" o "102B", las designaciones de caracteres de letras pueden diferenciar dos partes o elementos presentes en la misma figura. Las designaciones de caracteres de letra para numeros de referencia pueden omitirse cuando se pretende que un numero de referencia abarque todas las partes que tienen el mismo numero de referencia en todas las figuras.
5
10
15
20
25
30
35
40
45
50
55
60
65
La figura 1 es un diagrama de bloques funcional que ilustra un modo de realizacion de un sistema en chip para la implementacion de metodologfas de gestion termica adaptativa en un dispositivo informatico portatil ("PCD");
La figura 2 es un diagrama de bloques funcional que ilustra un aspecto ejemplar no limitativo del PCD de la figura
1 en la forma de un telefono inalambrico para la aplicacion de procedimientos y sistemas para la gestion termica adaptativa de componentes de procesamiento individuales basados en las lecturas de temperatura y los niveles de frecuencia/tension actuales en tiempo de ejecucion;
La figura 3A es un diagrama de bloques funcional que ilustra una disposicion espacial ejemplar de hardware para el chip que se ilustra en la figura 2;
La figura 3B es un diagrama esquematico que ilustra una arquitectura de software ejemplar del PCD de la figura
2 para gestion termica adaptativa;
La figura 4 es un diagrama de flujo logico que ilustra un procedimiento para la gestion adaptativa de generacion de energfa termica en el PCD de la figura 1;
La figura 5 es un diagrama de estado ejemplar que ilustra varios estados de adaptacion de polfticas de gestion termica provocadas por las lecturas de temperatura asociadas con varias areas o componentes dentro del PCD de la figura 1 y el comportamiento pasado de los componentes de procesamiento dentro del PCD de la figura 1;
La figura 6 es un diagrama que ilustra ejemplos de condiciones asociadas con los estados de polftica particulares ilustrados en la figura 5; y
La figura 7 es un diagrama de flujo logico que ilustra un subprocedimiento o subrutinas para aplicar tecnicas de reduccion termica de escalado de tension y frecuencia dinamica ("DVFS").
DESCRIPCION DETALLADA
La palabra "ejemplar' se utiliza en el presente documento para significar "que sirve como ejemplo, caso, o ilustracion". Cualquier aspecto descrito en el presente documento como "ejemplar" no debe interpretarse necesariamente como exclusivo, preferente o ventajoso sobre otros aspectos.
En esta descripcion, el termino "aplicacion" tambien puede incluir archivos que tienen contenido ejecutable, tales como: codigo de objeto, secuencias de comandos, codigo de bytes, archivos de lenguaje de marcas y parches. Ademas, una "aplicacion" referida en el presente documento tambien puede incluir archivos que no son ejecutables en naturaleza, tales como documentos que pueden necesitar ser abiertos u otros archivos de datos que necesitan ser accedidos.
Tal como se utiliza en esta descripcion, los terminos "componente", "base de datos", "modulo", "sistema", "componente de generacion de energfa termica", "componente de procesamiento" y similares estan destinados para referirse a una entidad relacionada con el equipo, ya sea hardware, firmware, una combinacion de hardware y software, software o software en ejecucion. Por ejemplo, un componente puede ser, pero no se limita a, un proceso que se ejecuta en un procesador, un procesador, un objeto, un ejecutable, un hilo de ejecucion, un programa y/o un ordenador. A modo de ilustracion, una aplicacion que se ejecuta en un dispositivo informatico y el dispositivo informatico pueden ser un componente. Uno o mas componentes pueden residir dentro de un proceso y/o hilo de ejecucion, y un componente puede estar localizado en un ordenador y/o distribuido entre dos o mas ordenadores. Ademas, estos componentes pueden ejecutarse desde diversos medios legibles por ordenador que tienen diversas estructuras de datos almacenadas en el mismo. Los componentes pueden comunicarse por medio de procesos locales y/o remotos, tal como de acuerdo con una serial que tiene uno o mas paquetes de datos (por ejemplo, datos de un componente que interactua con otro componente en un sistema local, sistema distribuido, y/o a traves de una red como Internet con otros sistemas por medio de la serial).
En esta descripcion, los terminos "unidad de procesamiento central ("CPU")", "procesador de serial digital ("DSP")", "unidad de procesamiento grafico ("GPU")," y "chip" se utilizan indistintamente. Por otra parte, una CPU, DSP, GPU o chip pueden estar compuestos de uno o mas componentes distintos de procesamiento, que se refieren en general en el presente documento como "nucleo(s)". Ademas, en la medida en que una CPU, DSP, GPU, chip o nucleo es un componente funcional dentro de un PCD que consume diversos niveles de energfa para funcionar a varios niveles de eficiencia funcional, un experto ordinario en la tecnica reconocera que el uso de estos terminos no limita la aplicacion de los modos de realizacion divulgados, o sus equivalentes, al contexto de componentes de procesamiento dentro de un PCD. Es decir, aunque muchos de los modos de realizacion se describen en el contexto de un componente de procesamiento, se preve que las polfticas de gestion termica adaptativa puedan aplicarse a cualquier componente funcional dentro de un PCD incluyendo, pero no limitado a, un modem, una camara, un controlador de interfaz de red inalambrica ("WNIC"), una pantalla, un codificador de video, un dispositivo periferico, una baterfa, etc.
5
10
15
20
25
30
35
40
45
50
55
60
65
En esta descripcion, se entendera que los terminos "termico" y "energfa termica" puede ser utilizados en asociacion con un dispositivo o componente capaz de generar o disipar la energfa que se puede medir en unidades de "temperatura". En consecuencia, ademas, se entendera que el termino "temperatura", con relacion a un valor estandar, preve cualquier medicion que pueda ser indicativa de la calidez relativa, o ausencia de calor, de un dispositivo o componente de generacion de "energfa termica". Por ejemplo, la "temperatura" de dos componentes es la misma cuando los dos componentes estan en equilibrio "termico".
En esta descripcion, los terminos "carga de trabajo", "carga de proceso" y "carga de trabajo de proceso" se utilizan indistintamente y en general estan dirigidos hacia la carga de procesamiento o el porcentaje de carga de procesamiento, asociado con un componente de procesamiento determinado en un modo de realizacion dado. Adicionalmente a lo que se ha definido anteriormente, un "componente de procesamiento" o "componente de generacion de energfa termica" o "agresor termico" pueden ser, pero no se limitan a, una unidad central de procesamiento, una unidad de procesamiento grafico, un nucleo, un nucleo principal, un sub-nucleo, un area de procesamiento, un motor de hardware, etc., o cualquier componente que resida dentro de, o en su exterior, un circuito integrado en un dispositivo informatico portatil. Por otra parte, en la medida en que los terminos "carga termica", "distribucion termica", "firma termica", "carga de procesamiento termico" y similares son indicativos de las cargas de carga de trabajo que se esten ejecutando en un procesador, un experto ordinario en la tecnica reconocera que el uso de estos terminos "termicos" en la presente divulgacion puede estar relacionado con distribuciones de carga de proceso, lfmites de la carga de trabajo y consumo de energfa.
En esta descripcion, los terminos "tecnica(s) de reduccion termica", "polfticas termicas", "gestion termica", "medida(s) de mitigacion termica", "regulacion a un nivel de rendimiento" y similares, se usan indistintamente. En particular, un experto ordinario en la tecnica reconocera que, dependiendo del contexto particular de uso, cualquiera de los terminos enumerados en este parrafo puede servir para describir hardware y/o software operable para aumentar el rendimiento a costa de la generacion de energfa termica, disminuir la generacion de energfa termica a expensas del rendimiento o alternar entre dichos objetivos.
En esta descripcion, el termino "dispositivo informatico portatil" ("PCD") se utiliza para describir cualquier dispositivo que funcione con una fuente de suministro de capacidad limitada, tal como una baterfa. A pesar de que PCDs operados con baterfa han estado en uso durante decadas, los avances tecnologicos en las baterfas recargables, junto con la llegada de la tercera generacion ("3G") y cuarta generacion ("4G") de la tecnologfa inalambrica han permitido numerosos PCDs con multiples capacidades. Por lo tanto, un PCD puede ser un telefono movil, un telefono satelital, un buscapersonas, un PDA, un telefono inteligente, un dispositivo de navegacion, un libro inteligente o un lector, un reproductor de medios, una combinacion de los dispositivos mencionados anteriormente, un ordenador portatil con una conexion inalambrica, entre otros.
La gestion de la generacion de energfa termica en un PCD, sin afectar innecesariamente a la calidad del servicio ("QoS"), se puede lograr mediante el aprovechamiento de una o mas mediciones de sensor que se correlacionan con las temperaturas de las derivaciones de silicio en el nucleo(s), componentes de memoria paquete en paquete ("PoP"), y la carcasa exterior, es decir, "piel" del PCD. Mediante la monitorizacion de cerca de las temperaturas asociadas con estos componentes, un modulo gestor de polfticas termicas adaptativas en un PCD puede reducir uno cada vez sistematica e individualmente los niveles de rendimiento de los componentes de procesamiento termicamente agresivos en un esfuerzo por mitigar la generacion de energfa termica y evitar los umbrales crfticos de temperatura. Ventajosamente, centrandose en determinados puntos de temperatura en los que es aceptable operar componentes especfficos, en lugar de saltar de manera reactiva a un nivel de rendimiento de procesamiento reducido predeterminado para mitigar la generacion de energfa termica en el peor de los casos, los sistemas y procedimientos de gestion termica adaptativa pueden optimizar la calidad de servicio bajo cualquier carga de trabajo. Ademas, y como uno con experiencia ordinaria en la tecnica reconocera, como los procedimientos de gestion termica adaptativa pueden aplicarse sin tener en cuenta la mecanica especffica de disipacion de la energfa termica en un PCD dado bajo una carga de trabajo dada, los ingenieros y los disenadores pueden aprovechar un enfoque de gestion termica adaptativa sin tener en cuenta el factor de forma particular de un PCD.
En particular, aunque se describen ejemplos de modo de realizacion de los procedimientos de gestion termica adaptativa en el presente documento en el contexto de nucleos dentro de una unidad central de procesamiento ("CPU"), la aplicacion de metodologfas de gestion termica adaptativa no se limita a los nucleos dentro de una CPU. Se contempla que los modos de realizacion de los procedimientos de gestion termica adaptativa puedan extenderse a cualquier componente que pueda residir dentro de un sistema en un chip ("SoC") y ser operable en multiples niveles de rendimiento, tales como, pero no limitados a, una unidad de procesamiento grafico ("GPU"), un procesador de modem, una camara, etc. Ademas, se contempla que un algoritmo de gestion termica adaptativa pueda ser aprovechado de forma individual en cualquier componente dentro de un SoC que puede ser operado en multiples niveles de rendimiento. En estos casos, tambien se preve que cada instancia de un algoritmo de gestion termica adaptativa dado en tales componentes del SoC puede compartir su propio estado de rendimiento con otros casos para determinar el mejor estado de rendimiento posible para el SoC en general dentro de las restricciones termicas.
Como un ejemplo no limitativo de como se puede aplicar un enfoque de gestion termica adaptativa a un nucleo de
5
10
15
20
25
30
35
40
45
50
55
60
65
procesamiento en un PCD ejemplar, se supone que un numero discreto de niveles de rendimiento, P1, P2, P3, P4... P15 (donde P15 representa un nivel maximo rendimiento y P1 representa un nivel de rendimiento mas bajo) se ha definido para el nucleo. Como uno de experiencia ordinaria en la tecnica entendera, el nivel P15 puede estar asociado con un alto nivel de calidad de servicio y un alto nivel de generacion de energfa termica para un lfmite determinado de carga de trabajo. Del mismo modo, para el mismo lfmite de carga de trabajo, el nivel P1 puede estar asociado con un bajo nivel de calidad de servicio y un bajo nivel de generacion de energfa termica. Supongamos tambien que:
un umbral lfmite de temperatura de la derivacion se ha fijado en 125 °C;
un lfmite de temperatura de la derivacion crftico se ha fijado en 145 °C;
un umbral lfmite de temperatura de memoria PoP se ha fijado en 85 °C;
un umbral lfmite de temperatura de la piel del PCD se ha fijado en 55 °C;
un algoritmo de tiempo de reposicion, ALGO_RESET_TIME, se ha fijado en 30 segundos;
una alta tasa de muestreo, HIGH_SAMPLING_RATE, se ha fijado en 50 ms;
una baja tasa de muestreo, LOW_SAMPLING_RATE, se ha fijado en 250 ms; y
una cantidad de penalizacion, PENALTY_UNIT_TIME, se ha fijado en 500 ms.
En el ejemplo no limitativo, el muestreo de los sensores de temperatura asociados, respectivamente, con las derivaciones de matriz, componentes de memoria PoP y temperatura de la piel del PCD se inicia a partir de un umbral inicial prefijado (inferior a lo que serfa reconocido como una violacion de cualquier umbral de temperatura PoP, de la piel o derivacion) que se reconoce que se han cruzado. Se preve que, en algunos modos de realizacion, la activacion de la iniciacion de la toma de muestras del sensor se pueda realizar mediante el uso de sensores basados en interrupcion. Una vez que la interrupcion se genera, un modulo de gestion termica adaptativa ("ATM") y/o modulo de monitorizacion en el PCD comienza la monitorizacion de los sensores de temperatura designados en alguna tasa de muestreo, como se explica a continuacion. Cabe destacar que, como un experto ordinario en la tecnica reconocera, los diversos sensores de temperatura controlados en un sistema de gestion termica adaptativa pueden generar lecturas de temperatura que indican estrechamente las temperaturas reales de los componentes con los que los sensores estan asociados o, en la alternativa, pueden generar lecturas de temperatura a partir de las cuales se pueden inferir las temperaturas reales de ciertos componentes.
Volviendo al ejemplo no limitativo, en el caso de una violacion de temperatura de derivacion reconocida, el modulo ATM puede funcionar a una tasa de muestreo mas alta posible, HIGH_SAMPLING_RATE. Para las violaciones de temperatura de la piel y PoP, el modulo ATM puede funcionar a una tasa mas lenta, LOW_SAMPLING_RATE. Cabe destacar que, como se vera en el ejemplo no limitativo, en algunos modos de realizacion, la tasa de muestreo puede dictar la tasa a la que un componente de procesamiento disminuye.
Cuando no hay violaciones y la toma de muestras se ha iniciado, el modulo ATM monitoriza los diferentes sensores de temperatura en la LOW_SAMPLING_RATE. Si se produce una violacion PoP o de la piel en ausencia de cualquier violacion de derivacion, entonces el modulo ATM puede continuar en la LOW_SAMPLING_RATE. Sin embargo, tan pronto como se produce una violacion de derivacion, el modulo ATM puede cambiar la tasa de muestreo a la HIGH_SAMPLING_RATE. Cuando se eliminan todas las violaciones de derivacion de todos los componentes de procesamiento, el modulo ATM puede volver a la LOW_SAMPLING_RATE.
Antes de que se supere el umbral de temperatura inicial que se menciono anteriormente, un nucleo ejemplar puede estar funcionando a su maximo nivel de rendimiento, es decir, nivel ejemplar P15. Incluso despues de que se supere el umbral de temperatura inicial, el nucleo puede continuar funcionando a un nivel P15, mientras no se haya registrado ninguna violacion de derivacion, PoP o de la piel. Cabe destacar que, a pesar de los diversos modos de realizacion descritos en esta memoria descriptiva incluyen umbrales de temperatura asociados con temperaturas de derivacion, PoP y piel, se preve que algunos modos de realizacion de un sistema de gestion termica adaptativa puedan no controlar las temperaturas de derivacion, PoP y de la piel. Es decir, se preve que algunos modos de realizacion puedan monitorizar temperaturas asociadas con otras combinaciones de componentes y, como tales, los modos de realizacion de un sistema y procedimiento de gestion termica adaptativa no se limitaran a la monitorizacion de temperaturas especfficas asociadas con las combinaciones ejemplares de componentes ilustrados en esta descripcion.
Volviendo al ejemplo no limitativo, antes del reconocimiento de cualquier violacion de la temperatura, el nivel de rendimiento de un nucleo de procesamiento ejemplar es P15. Un umbral de temperatura se supera, y asf el modulo ATM provoca la entrada en un estado RAMP_DOWN. Dependiendo de la tasa de muestreo en el que el modulo ATM se esta ejecutando en ese momento, en el estado RAMP_DOWN el nivel de rendimiento del nucleo se reduce un nivel despues de cada intervalo de muestreo hasta que la violacion de la temperatura se elimina. Por lo tanto, supongamos, por ejemplo, para una cierta carga de trabajo que hizo que la temperatura de la piel fuera superior a 55 °C, el nivel de rendimiento del nucleo puede disminuir de P15 a P12 en tres ciclos muestreados en LOW_SAMPLING_RATE, causando de este modo la eliminacion de la violacion de la piel en un tiempo total de 750 ms despues de que se observara la primera violacion. Del mismo modo, si la violacion habfa sido una violacion de derivacion que requirio seis niveles de reduccion de rendimiento antes de que la energfa termica generada por el nucleo se redujera a un punto que permitio eliminar la violacion, a continuacion, entonces el nucleo se habrfa ido del
5
10
15
20
25
30
35
40
45
50
55
60
65
nivel de rendimiento P15 al nivel de rendimiento P9 en 300 ms (en caso de una violacion de derivacion, la tasa de muestreo habna cambiado a 50 ms HIGH_SAMPLING_RATE). Una vez que se alcanza un nivel de rendimiento seguro, es decir, el maximo nivel rendimiento al que el nucleo puede funcionar sin causar que se supere el umbral de temperatura dado, se puede aplicar un calculo de tiempo de penalizacion, tal como se explica a continuacion.
En particular, como un experto ordinario en la tecnica reconocera, la disminucion del nucleo puede continuar ocurriendo solamente hasta el nivel P1. Una vez en el nivel de rendimiento P1, el modulo ATM puede optar por mantener el nucleo funcionando al nivel P1 si la violacion observada fuera solo una violacion de piel y/o PoP. En tal caso, se preve que todos los componentes de procesamiento sujetos al procedimiento de gestion termica adaptativa pueden converger a su respectivo nivel de rendimiento P1. Esta convergencia al nivel de rendimiento mas bajo disponible puede producirse por cualquier numero de razones, incluyendo, pero no limitado a, umbrales que no se establecen correctamente o la temperatura ambiente a la que el PCD esta expuesto es tan alta que la energfa termica no se puede disipar a una velocidad que permitina eliminar las violaciones mediante cualquier medio. Si se supera un ftmite de umbral de temperatura de derivacion, tal como el ftmite de derivacion crftico ejemplar de 145 °C, el modulo ATM puede elegir alimentar el colapso del nucleo en un esfuerzo para evitar danos permanentes en el nucleo.
En algunos ejemplos, una penalizacion puede aplicarse en el estado RAMP_DOWN solo despues de terminar la ralentizacion. Asf, por ejemplo, despues de eliminar la violacion de la piel en el ejemplo no limitativo, el modulo ATM puede causar un tiempo de penalizacion calculado que se gasta antes de que el nucleo este autorizado a volver al nivel de rendimiento maximo P15. En el ejemplo, la duracion de la penalizacion se establecio en 500 ms, por lo que el modulo ATM hara que el nucleo permanezca en el ultimo nivel de rendimiento de P12 durante 500 ms adicionales, despues de que la violacion de la piel se elimine (es decir, 2 ciclos a lenta tasa de muestreo). Todavfa otros modos de realizacion pueden incluir un penodo de penalizacion que se acumula en su duracion, dependiendo de la frecuencia y/o la duracion en que un nucleo entra en un estado RAMP_DOWN.
Como un experto ordinario en la tecnica reconocena, en el estado RAMP_DOWN, un sistema y procedimiento para la gestion termica adaptativa pueden aprovechar los medios para regular un nucleo de forma incremental a la baja hasta un nivel optimo de rendimiento. Como se describe mas espedficamente a continuacion, las estrategias de regulacion de varios procedimientos, aplicaciones y/o algoritmos que pueden ser empleados por el PCD para aumentar su rendimiento mediante el ajuste de parametros de hardware y/o de software, tal como la velocidad del reloj de una unidad de procesamiento central ("CPU") o similares. Ciertas estrategias de regulacion pueden aumentar el rendimiento de un PCD a expensas de un aumento de la generacion de energfa termica; sin embargo, ciertas otras estrategias de regulacion pueden mitigar un aumento perjudicial de la temperatura operativa, reduciendo el rendimiento del PCD. Un procedimiento de regulacion ejemplar que puede ser aprovechado por una polftica de gestion termica adaptativa es un procedimiento de escalado dinamico de la tension y frecuencia ("DVFS"), que se describe con mas detalle en relacion con la figura 7. A pesar de que las diversos modos de realizacion ejemplares descritos en esta memoria descriptiva utilizan metodologfas de regulacion, tal como DVFS, para mitigar la generacion de energfa termica mediante un componente de procesamiento termicamente agresivo, se preve que los sistemas y procedimientos para la gestion termica adaptativa no se limitaran a la utilizacion de tecnicas de regulacion en un esfuerzo por orientar una temperatura de funcionamiento adecuada. Es decir, se preve que algunos modos de realizacion pueden, adicional o exclusivamente, utilizar tecnicas de reduccion termica al nivel del sistema operativo tales como, pero no limitadas a, tecnicas de carga de trabajo cambiantes.
La figura 1 es un diagrama de bloques funcional que ilustra un ejemplo de modo de realizacion de un sistema en chip 102 para la gestion termica adaptativa en un dispositivo informatico portatil 100. Para establecer los umbrales de temperatura para la activacion de la entrada de un estado RAMP_DOWN en el que un componente de procesamiento, tal como la CPU 110, se regula su nivel de maximo rendimiento en un esfuerzo por mitigar la generacion de energfa termica, el sistema en chip 102 puede aprovechar varios sensores 157 para la medicion de temperaturas asociadas con diversos componentes tales como los nucleos 222, 224, 226, 228, la memoria PoP 112A y la carcasa exterior del PCD 24. Ventajosamente, mediante la monitorizacion de las temperaturas asociadas con los diversos componentes y la regulacion de forma incremental de los niveles de rendimiento de los agresores termicos 222, 224, 226, 228, la calidad de servicio experimentada por un usuario del PCD 100 se puede optimizar al evitar la regulacion excesiva innecesaria. Por otra parte, la calidad de servicio experimentada por un usuario del PCD 100 puede optimizarse aun mas mediante la autorizacion de retorno a un nivel de rendimiento maximo en la primera oportunidad razonable.
En general, el sistema emplea dos modulos principales que, en algunos modos de realizacion, pueden estar contenidos en un unico modulo: (1) un modulo de gestion termica adaptativa ("ATM") 101 para el analisis de las lecturas de temperatura monitorizadas por un modulo de monitorizacion 114 (en particular, el modulo de monitorizacion 114 y el modulo ATM 101 puede ser uno y el mismo, en algunos modos de realizacion) y provocar la entrada en y fuera de un estado de polftica RAMP_DOWN; y (2) un modulo DVFS 26 para la implementacion de estrategias de limitacion incrementales en componentes individuales de procesamiento de acuerdo a las instrucciones recibidas desde el modulo ATM 101. Ventajosamente, los modos de realizacion del sistema y procedimiento que incluyen los dos modulos principales utilizan los datos de temperatura para optimizar el nivel de rendimiento autorizado para los componentes 110 dentro del PCD 100 sin poner en riesgo de degradacion termica a
5
10
15
20
25
30
35
40
45
50
55
60
65
otros componentes dentro del PCD 100 o exceder los umbrales crfticos de temperatura.
La figura 2 es un diagrama de bloques funcional que ilustra un aspecto ejemplar no limitativo del PCD 100 de la figura 1 en la forma de un telefono inalambrico para la aplicacion de procedimientos y sistemas para la gestion termica adaptativa de componentes de procesamiento individuales basados en las lecturas de temperatura y los niveles de frecuencia/tension actuales reconocidos en tiempo de ejecucion. Como se muestra, el PCD 100 incluye un sistema en chip 102 que incluye una unidad central de procesamiento de multiples nucleos ("CPU") 110 y un procesador de senal analogica 126 que estan acoplados juntos. La CPU 110 puede comprender un nucleo de orden cero 222, un primer nucleo 224, y un nucleo N-esimo 230 como se entiende por un experto ordinario en la tecnica. Ademas, en lugar de una CPU 110, un procesador de senal digital ("DSP") puede tambien ser empleado como se entiende por un experto ordinario en la tecnica.
En general, el modulo de escalado de tension dinamica y frecuencia ("DVFS") 26 puede ser responsable de la implementacion de las tecnicas de regulacion a los componentes individuales de procesamiento, tales como los nucleos 222, 224, 230 en forma incremental para ayudar a un PCD 100 a optimizar su nivel de potencia y mantener un alto nivel de funcionalidad sin exceder perjudicialmente ciertos umbrales de temperatura.
El modulo de monitorizacion 114 se comunica con varios sensores operativos (por ejemplo, sensores termicos 157A, 157B) distribuidos en todo el sistema en chip 102 y con la CPU 110 del PCD 100, asf como con el modulo ATM 101. En algunos modos de realizacion, el modulo de monitorizacion 114 tambien puede monitorizar los sensores de temperatura de piel 157C para lecturas de temperatura asociadas con una temperatura de contacto del PCD 100. En otros modos de realizacion, el modulo de monitorizacion 114 puede inferir temperaturas de contacto basadas en una variacion probable con las lecturas tomadas por los sensores de temperatura en chip 157A, 157B. El modulo ATM 101 puede trabajar con el modulo de monitorizacion 114 para identificar los umbrales de temperatura que se han superado e instruir la aplicacion de estrategias de limitacion a los componentes identificados en el chip 102, en un esfuerzo para reducir las temperaturas.
Como se ilustra en la figura 2, un controlador de pantalla 128 y un controlador de pantalla tactil 130 se acoplan al procesador de senal digital 110. Una pantalla tactil 132 externa al sistema en chip 102 esta acoplada al controlador de pantalla 128 y al controlador de pantalla tactil 130. El PCD 100 puede incluir ademas un codificador de video 134, por ejemplo, un codificador de lfnea de fase alternada ("PAL"), un codificador de color secuencial con memoria ("SECAM"), un codificador del comite de sistema(s) de television nacional ("NTSC") o cualquier otro tipo de codificador de video 134. El codificador de video 134 esta acoplado a la unidad de procesamiento central ("CPU") 110 de multiples nucleos. Un amplificador de video 136 esta acoplado al codificador de video 134 y a la pantalla tactil 132. Un puerto de video 138 esta acoplado al amplificador de video 136. Como se muestra en la figura 2, un controlador bus serie universal ("USB") 140 esta acoplado a la CPU 110. Ademas, un puerto USB 142 esta acoplado al controlador USB 140. Una memoria 112 y un modulo de identidad de abonado (SIM) 146 tambien pueden estar acoplados a la CPU 110. Ademas, como se muestra en la figura 2, una camara digital 148 puede estar acoplada a la CPU 110. En un aspecto ejemplar, la camara digital 148 es una camara de dispositivo de carga acoplada ("CCD") o una camara de semiconductor de oxido metalico complementario ("CMOS").
Como se ilustra adicionalmente en la figura 2, un CODEC de audio estereo 150 puede estar acoplado al procesador de senal analogica 126. Ademas, un amplificador de audio 152 puede estar acoplado al CODEC de audio estereo 150. En un aspecto ejemplar, un primer altavoz estereo 154 y un segundo altavoz estereo 156 estan acoplados al amplificador de audio 152. La figura 2 muestra que un amplificador de microfono 158 tambien puede estar acoplado al CODEC de audio estereo 150. Ademas, un microfono 160 puede estar acoplado al amplificador de microfono 158. En un aspecto particular, un sintonizador de radio de modulacion de frecuencia ("FM") 162 puede estar acoplado al CODEC de audio estereo 150. Ademas, una antena FM 164 esta acoplado al sintonizador de radio FM 162. Ademas, unos auriculares estereo 166 pueden estar acoplados al CODEC de audio estereo 150.
La figura 2 indica ademas que un transceptor de frecuencia de radio ("RF") 168 puede estar acoplado al procesador de senal analogica 126. Un conmutador RF 170 puede estar acoplado al transceptor RF 168 y una antena RF 172. Como se muestra en la figura 2, un teclado 174 puede estar acoplado al procesador de senal analogica 126. Ademas, un auricular mono con un microfono 176 puede estar acoplado al procesador de senal analogica 126. Ademas, un dispositivo vibrador 178 puede estar acoplado al procesador de senal analogica 126. La figura 2 tambien muestra que una fuente de alimentacion 188, por ejemplo, una baterfa, acoplada al sistema en chip 102 a traves de PMIC 180. En un aspecto particular, la fuente de alimentacion incluye una baterfa de CC recargable o una fuente de alimentacion de CC que se deriva de una corriente alterna ("AC") a un transformador de CC que esta conectado a una fuente de alimentacion de CA.
La CPU 110 tambien puede estar acoplada a uno o mas sensores internos, sensores termicos en chip 157A, asf como uno o mas sensores termicos 157C externos fuera de chip. Los sensores termicos en chip 157a pueden comprender uno o mas sensores de temperatura proporcionales a la temperatura absoluta ("PTAT") que se basan en la estructura PNP vertical y se dedican generalmente a circuitos semiconductores complementarios de oxido metalico ("CMOS") con integracion a gran escala (circuitos "VLSI"). Los sensores termicos fuera de chip 157C pueden comprender uno o mas termistores. Los sensores termicos 157C puede producir una cafda de tension que
5
10
15
20
25
30
35
40
45
50
55
60
65
se convierte en senales digitales con un controlador de convertidor analogico a digital ("ADC") 103. Sin embargo, otros tipos de sensores termicos 157A, 157B, 157C se pueden emplear sin apartarse del alcance de la invencion.
El(los) modulo(s) DVFS 26 y el(los) modulo(s) ATM 101 pueden comprender software que se ejecuta por la CPU 110. Sin embargo, el(los) modulo(s) DVFS 26 y el(los) modulo(s) ATM 101 tambien se pueden formar a partir de hardware y/o firmware sin apartarse del alcance de la invencion. El(los) modulo(s) ATM 101, en relacion con el(los) modulo(s) DVFS 26 puede(n) ser responsable(s) de la aplicacion de las directivas de limitacion que pueden ayudar a un PCD 100 a evitar la degradacion termica, manteniendo un alto nivel de funcionalidad y experiencia de usuario.
La pantalla tactil 132, el puerto de video 138, el puerto USB 142, la camara 148, el primer altavoz estereo 154, el segundo altavoz estereo 156, el microfono 160, la antena FM 164, los auriculares estereo 166, el conmutador RF 170, la antena RF 172, el teclado 174, el auricular mono 176, el vibrador 178, la fuente de alimentacion 188, el PMIC 180 y los sensores 157C termica son externos al sistema en chip 102. Sin embargo, se debe entender que el modulo de monitorizacion 114 tambien puede recibir una o mas indicaciones o senales de uno o mas de estos dispositivos externos por medio del procesador de senal analogica 126 y la CPU 110 para ayudar en la gestion en tiempo real de los recursos operables en el PCD 100.
En un aspecto particular, una o mas de las etapas del procedimiento descritas en este documento pueden implementarse mediante instrucciones ejecutables y parametros almacenados en la memoria 112 que forman el uno o mas modulos ATM 101 y modulo(s) DVFS 26. Estas instrucciones que forman el(los) modulo(s) 101, 26 pueden ser ejecutadas por la CPU 110, el procesador de senal analogica 126 u otro procesador, ademas del controlador ADC 103 para llevar a cabo los procedimientos descritos en el presente documento. Ademas, los procesadores 110, 126, la memoria 112, las instrucciones almacenadas en la misma, o una combinacion de los mismos pueden servir como medios para realizar una o mas de las etapas del procedimiento descritas en el presente documento.
La figura 3A es un diagrama de bloques funcional que ilustra una disposicion espacial ejemplar de hardware para el chip 102 que se ilustra en la figura 2. De acuerdo con este modo de realizacion ejemplar, la CPU de aplicaciones 110 se coloca en la region lateral extrema izquierda del chip 102, mientras que la CPU de modem 168, 126 se coloca en una region lateral extrema derecha del chip 102. La CPU de aplicaciones 110 puede comprender un procesador de multiples nucleos que incluye un nucleo de orden cero 222, un primer nucleo 224 y un nucleo enesimo 230. La CPU de aplicaciones 110 puede estar ejecutando un modulo ATM 101A y/o modulo DVFS 26A (cuando se realizan en software) o puede incluir un modulo ATM 101A y/o modulo DVFS 26A (cuando se realizan en hardware). La CPU de aplicacion 110 se ilustra adicionalmente para incluir un modulo de sistema operativo ("O/S") 207 y un modulo de monitorizacion 114. Mas detalles sobre el modulo de monitorizacion 114 se describiran a continuacion en relacion con la figura 3B.
La CPU de aplicaciones 110 puede estar acoplada a uno o mas bucles de fase bloqueados ("PLLs") 209A, 209B, que se colocan adyacentes a la CPU de aplicaciones 110 y en la region lateral izquierda del chip 102. Adyacente a los PLLs 209A, 209B y por debajo, la CPU de aplicaciones 110 puede comprender un controlador 103 ("ADC") de analogico a digital que puede incluir su propio modulo de gestion termica adaptativa 101B y/o el modulo DVFS 26B que funciona en conjuncion con los modulos principales 101A, 26A de la CPU de aplicaciones 110.
El gestor termico adaptativo 101B del controlador ADC 103 puede ser responsable de la monitorizacion y el seguimiento de multiples sensores termicos 157 que pueden proporcionarse "en el chip" 102 y "fuera del chip" 102. Los sensores termicos internos en chip 157A, 157B se pueden situar en diversos lugares y estar asociados con agresor(es) termico(s) proximos a los lugares (tal como con el sensor 157A3 a continuacion de un segundo y tercer transformadores graficos termicos 135B y 135C) o componentes sensibles a la temperatura (tal como con el sensor 157B al lado de la memoria 112).
Como un ejemplo no limitativo, un primer sensor termico interno 157B1 se puede colocar en una region central superior del chip 102 entre la CPU de aplicaciones 110 y la CPU del modem 168, 126 y adyacente a la memoria interna 112. Un segundo sensor termico interno 157A2 puede estar situado por debajo de la CPU del modem 168, 126 en una region lateral derecha del chip 102. Este segundo sensor termico interno 157A2 tambien se puede situar entre una maquina de conjunto de instrucciones ("ARM") 177 de un ordenador de conjunto de instrucciones reducido avanzado ("RISC") y un primer procesador de graficos 135A. Un controlador de senal digital a analogica ("DAC") 173 puede colocarse entre el segundo sensor termico interno 157A2 y la CPU del modem 168, 126.
Un tercer sensor termico interno 157A3 puede estar situado entre un segundo procesador de graficos 135B y un tercer procesador de graficos 135C en una region extrema derecha del chip 102. Un cuarto sensor termico interno 157A4 puede estar situado en una region extrema derecha del chip 102 y por debajo de un cuarto procesador de graficos 135D. Y quinto sensor termico interno 157A5 puede estar situado en una region extrema izquierda del chip 102 y adyacente a los PLLs y al controlador ADC 103.
Uno o mas sensores termicos externos 157C tambien pueden estar acoplados al controlador ADC 103. El primer sensor termico externo 157C1 puede estar situado fuera del chip y adyacente a un cuadrante derecho superior del chip 102, que puede incluir la CPU del modem 168, 126, ARM 177 y el DAC 173. Un segundo sensor termico
5
10
15
20
25
30
35
40
45
50
55
60
65
externo 157C2 puede estar situado fuera del chip y adyacente a un cuadrante inferior derecho del chip 102, que puede incluir el tercer y cuarto procesadores de graficos 135C, 135D. Cabe destacar que uno o mas de los sensores termicos externos 157c puede aprovecharse para indicar la temperatura de contacto del PCD 100, es decir, la temperature que puede experimentarse por un usuario en contacto con el PCD 100.
Un experto ordinario en la tecnica reconocera que otras diversas disposiciones espaciales del hardware que se ilustran en la figura 3A se pueden proporcionar sin apartarse del alcance de la invencion. La figura 3A ilustra todavfa una disposicion espacial ejemplar y como los modulos principales ATM y DVFS 101A, 26A y el controlador ADC 103 con sus modulos ATM y DVFS 101B, 26B pueden reconocer las condiciones termicas que son una funcion de la disposicion espacial ejemplar ilustrada en la figura 3A, comparar los umbrales de temperatura con temperaturas operativas y/o temperaturas de contacto y aplicar polfticas incrementales de regulacion.
La figura 3B es un diagrama esquematico que ilustra una arquitectura de software ejemplar del PCD 100 de la figura 2 y la figura 3A para soportar la aplicacion de las polfticas de gestion termica adaptativas basadas en umbrales de temperatura. Cualquier numero de algoritmos puede formar o ser parte de al menos una polftica de gestion termica que puede aplicarse mediante el modulo ATM 101 cuando se cumplen ciertas condiciones termicas, sin embargo, en un modo de realizacion preferente, el modulo ATM 101 trabaja con el modulo DVFS 26 para aplicar de forma incremental polfticas de escalado de tension y frecuencia a los agresores termicos individuales en el chip 102 incluyendo, pero no limitado a, los nucleos 222, 224 y 230.
Como se ilustra en la figura 3B, la CPU o el procesador de senal digital 110 esta acoplada a la memoria 112 a traves de un bus 211. La CPU 110, como se senalo anteriormente, es un procesador de nucleo que tiene N procesadores de nucleo. Es decir, la CPU 110 incluye un primer nucleo 222, un segundo nucleo 224 y un N'esim° nucleo 230. Como es conocido por un experto ordinario en la tecnica, cada uno del primer nucleo 222, el segundo nucleo 224 y el N_ esimo nucleo 230 estan disponibles para soportar una aplicacion o programa dedicado. Alternativamente, una o mas aplicaciones o programas pueden estar distribuidos para su procesamiento a traves de dos o mas de los nucleos disponibles.
La CPU 110 puede recibir comandos desde el modulo(s) ATM 101 y/o modulo(s) DVFS 26 que pueden comprender software y/o hardware. Si se realiza como software, el(los) modulo(s) 101, 26 comprenden instrucciones que son ejecutadas por la CPU 110 que emite comandos para otros programas de aplicacion que se ejecutan en la CPU 110 y otros procesadores.
El primer nucleo 222, el segundo nucleo 224 hasta el enesimo nucleo 230 de la CPU 110 pueden estar integrados en un unico chip de circuito integrado, o pueden estar integrados o acoplados en matrices separadas en un paquete de varios circuitos. Los disenadores pueden acoplar el primer nucleo 222, el segundo nucleo 224 hasta el N_esimo nucleo 230 a traves de una o mas caches compartidas y pueden implementar un mensaje o instruccion que pasa a traves de las topologfas de red, tales como topologfas de bus, anillo, malla y transversales.
El bus 211 puede incluir multiples rutas de comunicacion a traves de una o mas conexiones cableadas o inalambricas, como es conocido en la tecnica. El bus 211 puede tener elementos adicionales, que se omiten por razones de simplicidad, tales como controladores, memorias intermedias (caches), drivers, repetidores y receptores, para permitir las comunicaciones. Ademas, el bus 211 puede incluir conexiones de direccion, control, y/o datos para permitir las comunicaciones apropiadas entre los componentes antes mencionados.
Cuando la logica utilizada por el PCD 100 se implementa en software, como se muestra en la figura 3B, debe senalarse que una o mas de la logica de inicio 250, la logica de gestion 260, la logica de la interfaz de gestion termica adaptativa 270, las aplicaciones en el almacen de aplicaciones 280 y las porciones del sistema de archivos 290 se pueden almacenar en cualquier medio legible por ordenador para su uso por, o en conexion con, cualquier sistema o procedimiento relacionado con el ordenador.
En el contexto de este documento, un medio legible por ordenador es un dispositivo ffsico electronico, magnetico, optico, u otro, o medios que pueden contener o almacenar un programa de ordenador y datos para su uso por o en conexion con un sistema o procedimiento relacionado con el ordenador. Los diversos elementos de logica y almacenes de datos pueden realizarse en cualquier medio legible por ordenador para su uso por o en conexion con un sistema, aparato o dispositivo de ejecucion de instrucciones, tal como un sistema basado en ordenador, sistema que contiene procesador u otro sistema que puede traer las instrucciones del sistema, aparato o dispositivo de ejecucion de instrucciones y ejecutar las instrucciones. En el contexto de este documento, un "medio legible por ordenador" puede ser cualquier medio que pueda almacenar, comunicar, propagar o transportar el programa para su uso por, o en conexion con, el sistema, aparato o dispositivo de ejecucion de instrucciones.
El medio legible por ordenador puede ser, por ejemplo, pero no limitado a, un sistema electronico, magnetico, optico, electromagnetico, infrarrojo, o semiconductor, aparato, dispositivo o medio de propagacion. Ejemplos mas especfficos (una lista no exhaustiva) del medio legible por ordenador incluirfan los siguientes: una conexion electrica (electronica) que tiene uno o mas cables, un disquete de ordenador portatil (magnetico), una memoria de acceso aleatorio (RAM) (electronica), una memoria de solo lectura (ROM) (electronica), una memoria de solo lectura
5
10
15
20
25
30
35
40
45
50
55
60
65
programable y borrable (EPROM, EEPROM, o memoria flash) (electronica), una fibra optica (optica), y un disco compacto portatil de solo lectura memoria (CDROM) (optico). Debe tenerse en cuenta que el medio legible por ordenador podrfa incluso ser papel u otro medio adecuado sobre el cual se imprime el programa, ya que el programa puede ser capturado electronicamente, por ejemplo, a traves de la exploracion optica del papel u otro medio, luego compilado, interpretado o procesado de otro modo de una manera adecuada si es necesario, y luego almacenado en una memoria de ordenador.
En un modo de realizacion alternativo, donde una o mas de la logica de inicio 250, la logica de gestion 260 y tal vez la logica de la interfaz de gestion termica adaptativa 270 se implementan en hardware, las diversas logicas pueden implementarse con cualquiera o una combinacion de las siguientes tecnologfas , que son cada una bien conocida en la tecnica: un circuito(s) logico discreto que tiene puertas logicas para implementar funciones logicas de las senales de datos, un circuito integrado de aplicacion especffica (ASIC) que tiene puertas logicas combinacionales apropiadas, una matriz(ces) de puertas programable (PGA), una matriz de campo de puertas programables (FPGA), etc.
La memoria 112 es un dispositivo de almacenamiento de datos no volatil, tal como una memoria flash o un dispositivo de memoria de estado solido. Aunque se representa como un unico dispositivo, la memoria 112 puede ser un dispositivo de memoria distribuida con almacenes de datos separados acoplados al procesador digital de senal 110 (o nucleos de procesador adicionales).
La logica de inicio 250 incluye una o mas instrucciones ejecutables para identificar, cargar y ejecutar selectivamente un programa de seleccion para la gestion o el control de la ejecucion de uno o mas de los nucleos disponibles, tales como el primer nucleo 222, el segundo nucleo 224 hasta el N'esim° nucleo 230. La logica de inicio 250 puede identificar, cargar y ejecutar un programa de seleccion basado en la comparacion, mediante el modulo ATM 101, de varias mediciones de temperatura con los ajustes de temperatura umbral asociados con un componente o aspecto PCD. Un programa de seleccion ejemplar se puede encontrar en el almacen de programas 296 del sistema de archivos integrado 290 y se define por una combinacion especffica de un algoritmo de escalado de rendimiento 297 y un conjunto de parametros 298. El programa de seleccion a modo de ejemplo, cuando se ejecuta mediante uno o mas de los procesadores de nucleo en la CPU 110, puede operar de acuerdo con una o mas senales proporcionadas por el modulo de monitorizacion 114 en combinacion con las senales de control proporcionadas por el uno o mas modulos ATM 101 y modulo (s) DVFS 26 para escalar el rendimiento del respectivo nucleo del procesador "arriba" o "abajo". En este sentido, el modulo de monitorizacion 114 puede proporcionar uno o mas indicadores de eventos, procesos, aplicaciones, condiciones de estado de recursos, tiempo transcurrido, asf como la temperatura, como se recibieron desde el modulo ATM 101.
La logica de gestion 260 incluye una o mas instrucciones ejecutables para la terminacion de un programa de gestion termica en uno o mas de los respectivos nucleos de procesador, asf como identificar, cargar y ejecutar selectivamente un programa de sustitucion mas adecuado para la gestion o el control del rendimiento de uno o mas de los nucleos disponibles. La logica de gestion 260 esta dispuesta para realizar estas funciones en tiempo de ejecucion o mientras el PCD 100 es alimentado y en uso por parte de un operador del dispositivo. Un programa de sustitucion se puede encontrar en el almacen de programas 296 del sistema de archivos integrado 290 y, en algunos modos de realizacion, puede definirse por una combinacion especffica de un algoritmo de escalado de rendimiento 297 y un conjunto de parametros 298.
El programa de sustitucion, cuando se ejecuta por uno o mas de los procesadores de nucleo en el procesador de senal digital puede funcionar de acuerdo con una o mas senales proporcionadas por el modulo de monitorizacion 114 o una o mas senales proporcionadas en las respectivas entradas de control de varios nucleos de procesador para escalar el rendimiento del nucleo del procesador respectivo. En este sentido, el modulo de monitorizacion 114 puede proporcionar uno o mas indicadores de eventos, procesos, aplicaciones, condiciones de estado de recursos, tiempo transcurrido, temperatura, etc. en respuesta a las senales de control que se originan desde el modulo ATM 101.
La logica de la interfaz 270 incluye una o mas instrucciones ejecutables para la presentacion, gestion e interaccion con las entradas externas para observar, configurar o actualizar la informacion almacenada en el sistema de archivos integrado 290. En un modo de realizacion, la logica de interfaz 270 puede operar junto con entradas de fabricante recibidas a traves del puerto USB 142. Estas entradas pueden incluir uno o mas programas para borrarse o anadirse al almacen de programas 296. Alternativamente, las entradas pueden incluir modificaciones o cambios en uno o mas de los programas en el almacen de programas 296. Por otra parte, las entradas pueden identificar uno o mas cambios o sustituciones enteras de una o ambas de la logica de inicio 250 y la logica de gestion 260. A modo de ejemplo, las entradas pueden incluir un cambio en la logica de gestion 260 que indica al PCD 100 suspender todo el escalado de rendimiento en el transceptor RF 168 cuando la potencia de senal recibida cae por debajo de un umbral identificado. A modo de ejemplo adicional, las entradas pueden incluir un cambio en la logica de gestion 260 que indica al PCD 100 aplicar un programa deseado cuando el codec de video 134 esta activo.
La logica de interfaz 270 permite a un fabricante configurar y ajustar la experiencia del usuario final en condiciones de funcionamiento definidas en el PCD 100 de manera controlable. Cuando la memoria 112 es una memoria flash,
5
10
15
20
25
30
35
40
45
50
55
60
65
una o mas de la logica de inicio 250, la logica de gestion 260, la logica de interfaz 270, los programas de aplicacion en el almacen de aplicaciones 280 o la informacion en el sistema de archivos integrado 290 se pueden editar, sustituir o modificar de otro modo. En algunos modos de realizacion, la logica de interfaz 270 puede permitir que un usuario final o el operador del PCD 100 busque, localice, modifique o sustituya la logica de inicio 250, la logica de gestion 260, aplicaciones en el almacen de aplicaciones 280 y la informacion en el sistema de archivos integrado 290. El operador puede utilizar la interfaz que resulta de hacer cambios que se implementaran en el siguiente inicio del PCD 100. Como alternativa, el operador puede utilizar la interfaz que resulta de hacer cambios que se implementan durante el tiempo de ejecucion.
El sistema de archivos 290 integrado incluye un almacen de tecnicas termicas 292 dispuestas jerarquicamente. En este sentido, el sistema de archivos 290 puede incluir una seccion reservada de su capacidad del sistema total de archivos para el almacenamiento de informacion para la configuracion y gestion de los diversos parametros 298 y algoritmos de gestion termica 297 utilizados por el PCD 100. Como se muestra en la figura 3B, el almacen 292 incluye un almacen de nucleo 294, que incluye un almacen de programas 296, que incluye uno o mas programas de gestion termica.
La figura 4, que incluye las figuras 4A-4D, es un diagrama de flujo logico que ilustra un procedimiento 400 para la gestion adaptativa de generacion de energfa termica en el PCD 100. El procedimiento 400 de la figura 4 comienza con un primer bloque 402 en el que se establecen los parametros iniciales. Los parametros incluyen un parametro de tiempo de restauracion, altas y bajas tasas de muestreo, unidad de tiempo de penalizacion y umbrales de temperatura. Una vez que se establecen los parametros, en el bloque 404 un modulo de gestion termica adaptativa 101 puede funcionar en conjuncion con el modulo de monitorizacion 114 para monitorizar los diversos parametros de umbral de temperatura. En un ejemplo de modo de realizacion, los umbrales de temperatura pueden estar asociados con las derivaciones del nucleo, componentes de memoria PoP y temperatura de la piel del PCD 100.
Como los sensores asociados con los diferentes umbrales de temperatura se controlan en el bloque 404, en el bloque de decision 406 se determina si se ha excedido un umbral inicial. El umbral inicial puede ser significativamente menor que cualquier umbral de temperatura asociado a un aspecto de derivacion, PoP o de la piel. Si no ha superado el umbral inicial, la rama "no" se sigue de nuevo al bloque 404 y los sensores se siguen monitorizando. Si se viola el umbral inicial, una senal de interrupcion se envfa al modulo de monitorizacion 114 y/o el modulo ATM 101 y la rama "si" se sigue al bloque 408. En el bloque 408, el muestreo de los diversos sensores 157 se inicia a una baja tasa de muestreo.
Con los sensores monitorizados a una baja tasa de muestreo en el bloque 408, la temperatura de la derivacion, la temperatura PoP y/o temperatura de la piel se comparan con sus respectivos umbrales preestablecidos. Si en los bloques de decision 410 y 412 se verifica que se no se ha superado ninguno de los umbrales de derivacion, PoP y/o de contacto, las ramas "no" se siguen al bloque 414 y los sensores se muestrean de nuevo en el siguiente intervalo. En particular, como un experto ordinario en la tecnica reconocerfa, la duracion del intervalo esta dictada por la velocidad de muestreo que, en el bloque 414, se mantiene como una baja tasa de muestreo. En el bloque de decision 416, despues del intervalo de tiempo adicional del bloque 414, si se determina que la violacion del umbral inicial se ha eliminado, a continuacion, se sigue la rama "si" al bloque 418 y termina el esfuerzo de muestreo. Cabe destacar, en este punto en el procedimiento 400, que un nucleo ejemplar ha estado funcionando a un nivel de maximo rendimiento.
Volviendo al bloque de decision 416, si se determina que la violacion del umbral de temperatura inicial no se ha eliminado, se sigue la rama "no" de nuevo a los bloques de decision 410 y 412. Suponiendo que todavfa no hay violaciones de temperatura de derivacion, PoP y/o de la piel en los bloques de decision 410 y 412, el ciclo se repite para otro intervalo en baja tasa de muestreo. Si en el bloque de decision 410, sin embargo, se determina que se ha excedido un lfmite de temperatura de la union, entonces se sigue la rama "si" al bloque 420 (figura 4B). Del mismo modo, si en el bloque de decision 412 se determina que un lfmite de temperatura PoP o de la piel ha sido violado, la rama "si" se sigue al bloque 438 (figura 4C).
Suponiendo ahora que no se ha violado un lfmite de derivaciones, pero se ha violado un lfmite de temperatura PoP y/o de la piel, el procedimiento 400 avanza desde el bloque de decision 412 al bloque 438, donde el nucleo de procesamiento ejemplar se regula a partir de un nivel de rendimiento maximo a un nivel de rendimiento inmediatamente inferior. La frecuencia de muestreo continua en la baja tasa de muestreo y, en el siguiente intervalo, el bloque de decision 440 consulta si la violacion del umbral de temperatura PoP y/o de la piel se ha eliminado. Es decir, dado que el nivel de rendimiento del nucleo a modo de ejemplo, se redujo un nivel de rendimiento maximo predeterminado, en el bloque de decision 440 se determina si dicha reduccion en el consumo de energfa era adecuada para mitigar la generacion de energfa termica, de manera que la lectura de la temperatura cayo de nuevo por debajo del umbral. Si la violacion del umbral se elimino, entonces la rama "sf" se sigue al bloque 448 y el nivel de rendimiento inferior se mantiene durante un perfodo de tiempo igual al perfodo de penalizacion configurado en el bloque 402. Cabe destacar que, en algunos ejemplos, se preve que el perfodo de penalizacion no puede imponerse en este punto en el procedimiento 400 debido a que la carga de trabajo no era lo suficientemente pesada como para justificar una severa regulacion de multiples niveles del nucleo ejemplar antes de que se permita aumentar de nuevo a su nivel de maximo rendimiento en el bloque 450.
5
10
15
20
25
30
35
40
45
50
55
60
65
En relacion con el perfodo de la penalizacion, se preve que algunos ejemplos puedan no aprovechar un perfodo de penalizacion en absoluto. Otros ejemplos pueden imponer un perfodo de penalizacion cuando se cumplen solo ciertas condiciones tales como, pero no limitadas a, la reentrada en el estado RAMP_DOWN antes de que expire un perfodo de reinicio. Otros ejemplos pueden aumentar el perfodo de penalizacion a medida que la metodologfa de gestion termica adaptativa progresa a traves del procesamiento de una variedad de cargas de trabajo.
Volviendo al procedimiento 400, si en el bloque de decision 440 se determina que la violacion del umbral de temperatura PoP y/o de la piel no se ha eliminado despues del intervalo de muestreo, la rama "no" se sigue al bloque de decision 442 y se determina si un siguiente nivel de potencia mas bajo esta disponible para el nucleo ejemplar. Si es asf, entonces el nucleo permanece en el estado RAMP_DOWN y el nivel de potencia del nucleo ejemplar se reduce en un nivel individual adicional en el bloque 444. El muestreo continua a la baja tasa de muestreo de un intervalo adicional en el bloque 446 y el procedimiento vuelve al bloque de decision 440, donde los umbrales se comprueban otra vez para eliminacion.
Si en el bloque de decision 442 se determina que un siguiente nivel de rendimiento inferior no esta disponible para el componente de procesamiento ejemplar, es decir, el ciclo de rampa descendente ha continuado sin eliminar la violacion de temperatura hasta que el procesador esta funcionando a su nivel de potencia mas bajo disponible, entonces la rama "no" se sigue al bloque 452 y se mantiene el nivel de rendimiento mas bajo. La(s) violacion(es) de temperatura PoP y/o de contacto se verifica(n) continuamente en los intervalos de baja frecuencia de muestreo en el bloque de decision 454 hasta que todos se ponen a cero. Una vez que se borran todas las violaciones de temperatura PoP y/o de contacto, la rama "sf" se sigue desde el bloque de decision 454 al bloque 448. Como se describio anteriormente, en el bloque 448 se impone el perfodo de penalizacion, en su caso, y el componente de procesamiento ejemplar se mantiene en su nivel de potencia mas bajo para la duracion del perfodo de penalizacion antes de recibir autorizacion para aumentarse de nuevo a su nivel de rendimiento maximo en el bloque 450.
Una vez que se permite que el nucleo ejemplar salga del estado RAMP_DOWN en el bloque 450 y aumente su nivel de potencia de nuevo a un maximo, el procedimiento 400 continua al bloque 456 de la figura 4D. En el bloque 456, ciertos procedimientos para la gestion termica adaptativa pueden imponer un perfodo de reinicio que se ha configurado en el bloque 402. Durante el perfodo de reinicio, en el bloque 458, los diferentes sensores de temperatura 157 se controlan y sus lecturas se comparan con los umbrales de temperatura asociados. Si en el bloque de decision 460 se determina que los umbrales no fueron violados durante el perfodo de reinicio, a continuacion, se sigue la rama "no" al bloque 462 y cualquier perfodo de penalizacion que se haya acumulado a ese punto se elimina y el proceso vuelve al bloque 404 de la figura 4A. Sin embargo, si en el bloque de decision 460 se determina que cualquiera de los diversos umbrales son violados antes del final del perfodo de reinicio, entonces el perfodo de penalizacion podra aumentarse en el bloque 464 por el valor de penalizacion.
De esta manera, un gran volumen de trabajo que provoca un umbral de temperatura que se viola casi inmediatamente despues de que se autorice que el nucleo salga del estado RAMP_DOWN influira en la duracion que el nucleo permanece en el estado RAMP_DOWN sobre la reentrada, lo que aumenta de manera constante la oportunidad de disipacion de la energfa termica hasta que la carga de trabajo se ha completado. Despues del bloque 464, el procedimiento 400 procede al bloque 420 o al bloque 438. En particular, si el umbral de temperatura que fue violado antes del final del perfodo de reinicio era un umbral de temperatura PoP o de la piel, entonces el proceso vuelve al bloque 438 de la figura 4C y el procedimiento se realiza como se ha descrito anteriormente, con la salvedad de que cualquier perfodo de penalizacion impuesto en el bloque 448 se habra incrementado como consecuencia de las medidas adoptadas en el bloque 464. Sin embargo, si el umbral de temperatura que fue violado antes del final del perfodo de reinicio era un umbral de temperatura de derivacion, entonces el proceso vuelve al bloque 420 de la figura 4B y el procedimiento se realiza como se describira a continuacion, con la salvedad de que cualquier perfodo de penalizacion impuesto en el bloque 434 se incrementara como consecuencia de las medidas adoptadas en el bloque 464.
Volviendo al bloque de decision 410 de la figura 4A, si se supera el umbral de temperatura de derivacion, entonces se sigue la rama "sf" al bloque 420 de la figura 4B. En particular, como un experto ordinario en la tecnica entendera, las temperaturas asociadas con los aspectos de derivacion de los componentes de procesamiento en un PCD pueden ser crfticos para la salud del PCD.
En el bloque 420, el nivel de potencia del nucleo ejemplar se reduce en un nivel y el sensor de temperatura 157A asociado con la derivacion del nucleo se muestrea a una alta tasa de muestreo. Despues de un intervalo de muestra, el sensor de temperatura 157A se comprueba para determinar si la violacion del lfmite de derivacion se elimino como resultado del nivel de potencia reducida. Si no es asf, se sigue la rama "no" al bloque de decision 424 y se determina si un umbral superior mas crftico se ha excedido mientras tanto. Cabe destacar que, bajo una condicion de desbordamiento termico, por ejemplo, la temperatura del nucleo podrfa seguir aumentando independientemente de la reduccion del nivel de potencia en el nucleo. Si se ha excedido un nivel de temperatura crftico, se sigue la rama "sf" desde el bloque de decision 424 al bloque 436 y se colapsa la potencia al nucleo. Al apagar el nucleo en el bloque 436, la degradacion termica del nucleo puede evitarse y mantenerse la salud del PCD.
5
10
15
20
25
30
35
40
45
50
55
60
65
Volviendo al bloque de decision 424, si el umbral crftico no ha sido violado (incluso si el umbral de violacion de derivacion no se ha eliminado para el bloque 422), entonces se sigue la rama "no" al bloque de decision 426. En el bloque de decision 426 se determina si un nivel de rendimiento mas bajo esta disponible y, si es asf, la rama "si" se sigue al bloque 428. Si no, la rama "no" se sigue al bloque 436 y el nucleo se colapsa en potencia. En algunos modos de realizacion, el nucleo puede mantenerse en el nivel mas bajo, en lugar de colapsar la potencia con la esperanza de que la violacion del umbral de derivacion se pueda eliminar posteriormente.
Si un siguiente nivel de potencia mas bajo esta disponible y se aplica en el bloque 428, entonces en el bloque 430 se continua la alta velocidad de muestreo y el proceso vuelve al bloque de decision 422. Si en cualquier momento en el bloque de decision 422 se determina que la violacion del umbral de temperatura de derivacion se elimina, entonces se sigue la rama "si" al bloque de decision 432. En el bloque de decision 432, se determina si sigue habiendo una violacion de temperatura PoP y/o de contacto y, si es asf, se sigue la rama "si" de nuevo al bloque 438 de la figura 4C (descrito anteriormente). Si no se reconoce ninguna violacion de temperatura PoP y/o de la piel en el bloque de decision 432 (es decir, todas las violaciones se han eliminado), entonces se sigue la rama "no" al bloque 434. En el bloque 434, el nivel de rendimiento al que el nucleo ejemplar se redujo durante el perfodo de RAMP_DOWN se mantiene durante el perfodo de penalizacion. Al final del perfodo de penalizacion, en el bloque 435, el componente de procesamiento ejemplar esta autorizado a salir del perfodo RAMP_DOWN y se reanudan las cargas de trabajo de procesamiento al nivel de potencia maxima. El proceso vuelve al bloque 456 de la figura 4D para la aplicacion del periodo de reinicio y el posible ajuste de un perfodo de penalizacion posterior.
La figura 5 es un diagrama de estado 500 ejemplar que ilustra diversos estados de polftica de gestion termica adaptativa 505, 510, 515 provocados por las lecturas de temperatura asociadas con los sensores 157 dentro del PCD de la figura 1. El primer estado de polftica 505 puede comprender un estado MAX_PERF en el que el modulo ATM 101 ha autorizado un componente de procesamiento ejemplar para procesar cargas de trabajo a un nivel de maximo rendimiento. Como se describio anteriormente, el componente de procesamiento puede permanecer en el estado MAX_PERF a menos que y hasta que se reconozca una violacion del umbral de temperatura.
En el caso de que una violacion del umbral de temperatura se reconoce mientras que un componente de procesamiento esta en el estado MAX_PERF, el modulo ATM 101 puede dar instrucciones al componente de procesamiento de entrar en el segundo estado de polftica 510 y disminuir su nivel de rendimiento un solo nivel. En el estado RAMP_DOWN, el nivel de potencia del componente de procesamiento se reduce sistematicamente y de manera progresiva hasta que la generacion de energfa termica por el componente alcanza un nivel que permite eliminar la violacion del umbral observada. Una vez que todas las violaciones se eliminan, el componente de procesamiento puede ser autorizado a salir del estado RAMP_DOWN y aumentar su nivel de potencia al nivel maximo.
Cuando esta en el estado de polftica RAMP_DOWN, el modulo ATM 101 puede trabajar con un modulo DVFS 26 para rebajar el nivel de rendimiento del componente de procesamiento un nivel hasta que se determine el nivel de consumo de energfa mas alto a la que el componente de procesamiento termicamente agresivo pueda operar sin provocar una violacion de temperatura. De esta manera, es una ventaja de los sistemas y procedimientos de gestion termica adaptativa para poder optimizar la experiencia del usuario y la calidad de servicio independientemente del factor de forma del PCD o de la carga de trabajo especffica que se esta procesando.
Si uno o mas umbrales de temperatura no se eliminan como resultado de la reduccion de los niveles de potencia en el estado RAMP_DOWN, el componente de procesamiento puede ser instruido por el modulo ATM 101 para entrar en el tercer estado de polftica 515, CORE_OFF y colapsar la potencia. Un componente de procesamiento puede colapsarse en potencia en un esfuerzo por evitar la degradacion termica fuera de control y permanente del componente. Con posterioridad al colapso de la potencia en el estado CORE_OFF, el componente de procesamiento puede reiniciarse al estado MAX_PERF despues de eliminar todas las violaciones.
La figura 6 es un diagrama que ilustra condiciones asociadas ejemplares con los estados de polftica 505, 510, 515 particulares ilustrados en la figura 5. Mientras esta en el estado MAX_PERF 505, un componente de procesamiento puede estar contribuyendo a las condiciones de temperatura que exceden un umbral inicial, pero ninguna temperatura ha sido reconocida como superior a un umbral termico asociado con un lfmite de derivacion, lfmite de memoria PoP y/o lfmite de temperatura de contacto. En consecuencia, el componente de procesamiento puede funcionar a plena potencia y frecuencia, procesando asf cargas de trabajo a su maxima eficiencia. El estado MAX_PERF 505 se caracteriza por las bajas tasas de muestreo, si hay alguna tasa de muestreo, y por la alta calidad de servicio y experiencia de usuario.
En el segundo estado RAMP_DOWN 510, un umbral de temperatura puede haber sido superado de tal manera que la reduccion de potencia del componente de procesamiento esta garantizada en un esfuerzo para reducir la generacion de energfa termica y desactivar la violacion de la temperatura. Como se describio anteriormente, el nivel de potencia se puede reducir de forma incremental hasta que se elimine la violacion. De esta manera, se determina el nivel de procesamiento maximo al que el procesador puede operar sin hacer que el umbral de temperatura dado sea violado. Un componente de procesamiento en el segundo estado RAMP_dOwN 510 puede permanecer en el estado RAMP_DOWN 510 durante un perfodo de penalizacion despues de que todas las violaciones de temperatura
5
10
15
20
25
30
35
40
45
50
55
60
65
se hayan eliminado. El estado RAMP_DOWN 510 se caracteriza por una calidad de servicio y experiencia del usuario reducidas, aunque la calidad de servicio se optimiza a la vista de las condiciones de temperatura buscadas para su administracion.
En el tercer estado CORE_OFF 510, un componente de procesamiento puede colapsarse en potencia en un esfuerzo por evitar el dano permanente al componente u otros componentes dentro del PCD 100. En ciertos modos de realizacion, un componente de procesamiento puede entrar en el estado CORE_OFF 515 como resultado de un lfmite de temperatura de derivacion que se supera sin eliminarse en el estado RAMP_DOWN 510.
La figura 7 es un diagrama de flujo logico que ilustra un subprocedimiento o subrutina 420, 438 para aplicar tecnicas de reduccion termica de escalado de tension y frecuencia dinamica ("DVFS"). Como se describio anteriormente, las tecnicas DVFS pueden ser aprovechadas por un modulo ATM 101 en la aplicacion de las polfticas de gestion termica adaptativa. En ciertos modos de realizacion, las tecnicas de regulacion DVFS se pueden aplicar a los componentes individuales de procesamiento de forma incremental, reduciendo los niveles de potencia a un determinado nucleo en un nivel hasta que se elimina una violacion de la temperatura.
Tal como se entiende por un experto ordinario en la tecnica, la demanda de procesadores que proporcionan un alto rendimiento y un bajo consumo de energfa ha conducido al uso de diversas tecnicas de administracion de energfa, tal como, por ejemplo, tension dinamica y escalado de frecuencia, a veces referido como tension dinamica y escalado de corriente ("DVCS") en disenos de procesadores. DVFS permite el equilibrio entre el consumo de energfa y el rendimiento. Los procesadores 110 y 126, por ejemplo, pueden estar disenados para tomar ventaja del DVFS, permitiendo que la frecuencia de reloj de cada procesador se ajuste con un ajuste correspondiente en la tension.
Una reduccion en la tension operativa usualmente resulta en un ahorro proporcional en la potencia consumida. Una cuestion principal para activar los procesadores 110, 126 con DVFS habilitado es como controlar el equilibrio entre el rendimiento y el ahorro de energfa.
El bloque 705 es la primera etapa en el subprocedimiento o subrutina 420, 438 para la aplicacion de las tecnicas de reduccion termica DVFS en un marco de gestion termica adaptativa. En este primer bloque 705, el modulo ATM 101 puede determinar que un umbral de temperatura, tal como un umbral de derivacion se ha violado, basado en lecturas de temperatura proporcionadas por los sensores termicos 157A. De acuerdo con ello, el modulo ATM 101 puede entonces instruir al componente de procesamiento para entrar en el estado RAMP_DOWN 510 e iniciar instrucciones al modulo DVFS 26 para revisar los ajustes actuales DVFS en el bloque 710. A continuacion, en el bloque 715, el modulo DVFS 26 puede determinar que puede reducirse el nivel de potencia del componente de procesamiento.
A continuacion, en el bloque 720, el modulo DVFS 26 puede ajustar o ejecutar comandos para ajustar incrementalmente la configuracion actual DVFS, que puede incluir la tension y/o frecuencia, para mitigar las condiciones de carga termica. El ajuste de la configuracion puede comprender el ajuste o "escalado" de la frecuencia de reloj maxima permitida en el algoritmo DVFS. Como se describio anteriormente, el modulo DVFS 26 puede estar dedicado a un componente de procesamiento y de forma incremental ajustar el nivel de potencia del componente de procesamiento un nivel hasta que se indique mediante el modulo ATM 101 que no se requiere ninguna reduccion adicional de la configuracion DVFS. Cabe destacar que, aunque el modulo de monitorizacion 114, el modulo de ATM 101 y el modulo de DVFS 26 se han descrito en la presente divulgacion como modulos separados con funcionalidades separadas, se entendera que en algunos modos de realizacion los distintos modulos o aspectos de los distintos modulos pueden estar combinados en un modulo comun para la implementacion de polfticas de gestion termica adaptativa.
Ademas, un experto ordinario en la programacion es capaz de escribir un codigo de ordenador o identificar hardware y/o circuitos apropiados para poner en practica la invencion descrita sin dificultad sobre la base de los diagramas de flujo y la descripcion asociada en esta memoria descriptiva, por ejemplo. Por lo tanto, no se considera necesaria la divulgacion de un conjunto particular de instrucciones de codigo de programa o dispositivos de hardware detallados para una adecuada comprension de como hacer y utilizar la invencion. La funcionalidad de la invencion de los procesos reivindicados implementados en ordenador se explica con mas detalle en la descripcion anterior y en conjuncion con los dibujos, que pueden ilustrar diversos flujos de proceso.
En uno o mas aspectos ejemplares, las funciones descritas pueden implementarse en hardware, software, firmware, o cualquier combinacion de los mismos. Si se implementan en software, las funciones pueden almacenarse o transmitirse como una o mas instrucciones o codigo en un medio legible por ordenador. Los medios legibles por ordenador incluyen soportes informaticos de almacenamiento y medios de comunicacion que incluyen cualquier medio que facilite la transferencia de un programa informatico de un lugar a otro. Un medio de almacenamiento puede ser cualquier medio disponible al que se pueda acceder por un ordenador. A modo de ejemplo, y no de limitacion, tales medios legibles por ordenador pueden comprender RAM, ROM, EEPROM, CD-ROM u otro almacenamiento de disco optico, almacenamiento en disco magnetico u otros dispositivos de almacenamiento magnetico, o cualquier otro medio que puede utilizarse para llevar o almacenar codigo de programa deseado en
forma de instrucciones o estructuras de datos y que se pueden acceder mediante un ordenador.
Ademas, cualquier conexion se denomina correctamente un medio legible por ordenador. Por ejemplo, si el software se transmite desde un sitio web, servidor u otra fuente remota usando un cable coaxial, cable de fibra optica, par 5 trenzado, lfnea de abonado digital ("DSL") o tecnologfas inalambricas, tales como infrarrojos, radio y microondas, entonces el cable coaxial, cable de fibra optica, par trenzado, DSL o tecnologfas inalambricas tales como infrarrojos, radio y microondas se incluyen en la definicion de medio.
Disco, tal como se usa en el presente documento, incluye discos compactos ("CD"), discos laser, discos opticos, 10 discos versatiles digitales ("DVD"), disquetes y discos Blu-ray, donde los discos generalmente reproducen datos magneticamente, mientras que los discos reproducen datos opticamente con laseres. Las combinaciones de lo anterior tambien deberfan incluirse dentro del alcance de medios legibles por ordenador.

Claims (14)

10
15
20
25
30
35
40
2.
45
3.
4. 50
5.
55 6.
60
REIVINDICACIONES
Un procedimiento (400) para la gestion termica adaptativa en un dispositivo informatico portatil, PCD, comprendiendo el procedimiento:
definir un numero discreto de niveles de rendimiento de uno o mas componentes de procesamiento en el PCD, en el que cada uno de los niveles de rendimiento esta asociado con una frecuencia de tension y de reloj suministrada al uno o mas componentes de procesamiento;
definir (402) umbrales de temperatura asociados con uno o mas componentes sensibles a la temperatura en el PCD;
monitorizar (404) una pluralidad de sensores de temperatura en el PCD, en el que cada sensor de
temperatura esta asociado con uno o mas de los componentes sensibles a la temperatura;
recibir una senal de interrupcion de una de la pluralidad de sensores de temperatura;
muestrear senales de temperatura desde uno o mas de la pluralidad de sensores de temperatura;
determinar que una senal de temperatura particular indica que uno particular de los umbrales de
temperatura
ha sido violado;
reducir (420; 438) el nivel de rendimiento de uno o mas de los componentes de procesamiento desde un nivel de rendimiento maximo a un siguiente nivel de rendimiento mas alto en el numero discreto definido de niveles de rendimiento en respuesta a la indicacion de que uno particular de los umbrales de temperatura ha sido violado;
continuar (430; 446) el muestreo de la senal de temperatura particular;
determinar a partir de la senal de temperatura particular que la violacion del umbral de temperatura particular se ha eliminado; caracterizado por:
mantener (434; 448) el nivel de rendimiento del uno o mas componentes de procesamiento en el siguiente nivel de rendimiento mas alto durante un primer perfodo de penalizacion que tiene una duracion predeterminada despues de que se haya eliminado la violacion del umbral de temperatura particular;
aumentar (435; 450) el nivel de rendimiento del uno o mas componentes de procesamiento desde el siguiente nivel de rendimiento mas alto al nivel de maximo rendimiento al final del primer perfodo de penalizacion; y
monitorizar la pluralidad de sensores de temperatura durante un perfodo de reinicio, en el que:
si, durante el perfodo de reinicio, la senal de temperatura particular indica que el umbral de temperatura particular se ha vuelto a violar, se aumenta la duracion de un perfodo de penalizacion posterior en relacion con la duracion del primer periodo de penalizacion; y
si, durante el perfodo de reinicio, la senal de temperatura particular indica que el umbral de temperatura particular no se ha vuelto a violar, se reinicia la duracion de un perfodo de penalizacion posterior a una duracion por defecto.
El procedimiento de la reivindicacion 1, en el que cada uno de los componentes sensibles a la temperatura se selecciona de un grupo compuesto de un componente de derivacion, un componente de memoria de paquete en paquete, PoP y un componente de carcasa exterior.
El procedimiento de la reivindicacion 1, en el que el uno particular de los umbrales de temperatura esta asociado con un componente de memoria paquete en paquete, PoP.
El procedimiento de la reivindicacion 1, en el que el uno particular de los umbrales de temperatura esta asociado con un componente de carcasa exterior.
El procedimiento de la reivindicacion 1, en el que el uno particular de los umbrales de temperatura esta asociado con un componente de derivacion.
Un sistema de ordenador (100) para la gestion termica adaptativa en un dispositivo informatico portatil, comprendiendo el sistema:
medios para definir un numero discreto de niveles de rendimiento de uno o mas componentes de procesamiento en el PCD, en el que cada uno de los niveles de rendimiento esta asociado con una frecuencia de tension y de reloj suministrada al uno o mas componentes de procesamiento; medios para definir umbrales de temperatura asociados con uno o mas componentes sensibles a la temperatura en el PCD;
medios (114) para monitorizar una pluralidad de sensores de temperatura (157A; 157B) en el PCD, en el que cada sensor de temperatura esta asociado con uno o mas de los componentes sensibles a la temperatura;
medios para recibir una senal de interrupcion de una de la pluralidad de sensores de temperatura;
5
10
15
20
25
30
35
40
45
50
55
60
65
medios (103) para muestrear senales de temperature desde uno o mas de la pluralidad de sensores de temperatura;
medios para determinar que una senal de temperatura particular, indica que uno particular de los umbrales de temperatura ha sido violado;
medios (26; 101) para reducir el nivel de rendimiento de uno o mas de los componentes de procesamiento desde un nivel de rendimiento maximo a un siguiente nivel de rendimiento mas alto en el numero discreto definido de niveles de rendimiento en respuesta a la indicacion de que uno particular de los umbrales de temperatura ha sido violado;
medios (103) para continuar el muestreo de la senal de temperatura particular;
medios para determinar a partir de la senal de temperatura particular que la violacion del umbral de temperatura particular se ha eliminado; caracterizado por:
medios (434; 448) para mantener el nivel de rendimiento del uno o mas componentes de procesamiento en el siguiente nivel de rendimiento mas alto durante un primer perfodo de penalizacion que tiene una duracion predeterminada despues de que se haya eliminado la violacion del umbral de temperatura particular;
medios (26; 101) para aumentar el nivel de rendimiento del uno o mas componentes de procesamiento desde el siguiente nivel de rendimiento mas alto al nivel de maximo rendimiento al final del primer perfodo de penalizacion; y
medios (114) para monitorizar la pluralidad de sensores de temperatura durante un perfodo de reinicio, en el que:
si, durante el perfodo de reinicio, la senal de temperatura particular indica que el umbral de temperatura particular se ha vuelto a violar, se aumenta la duracion de un perfodo de penalizacion posterior en relacion con la duracion del primer periodo de penalizacion; y
si, durante el perfodo de reinicio, la senal de temperatura particular indica que el umbral de temperatura particular no se ha vuelto a violar, se reinicia la duracion de un perfodo de penalizacion posterior a una duracion por defecto.
7. El sistema de ordenador de la reivindicacion 6, en el que cada uno de los componentes sensibles a la temperatura se selecciona de un grupo compuesto de un componente de derivacion, un componente de memoria de paquete en paquete, PoP y un componente de carcasa exterior.
8. El sistema de ordenador de la reivindicacion 6, en el que el uno particular de los umbrales de temperatura esta asociado con un componente de memoria paquete en paquete, PoP.
9. El sistema de ordenador de la reivindicacion 6, en el que el uno particular de los umbrales de temperatura esta asociado con un componente de carcasa exterior.
10. El sistema de ordenador de la reivindicacion 6, en el que el uno particular de los umbrales de temperatura esta asociado con un componente de derivacion.
11. Un producto de programa de ordenador que comprende un medio utilizable por ordenador que tiene un codigo de programa legible por ordenador incorporado en el mismo, estando dicho codigo de programa legible por ordenador adaptado para ser ejecutado para implementar un procedimiento para la gestion termica adaptativa en un dispositivo informatico portatil, comprendiendo dicho procedimiento:
definir un numero discreto de niveles de rendimiento de uno o mas componentes de procesamiento en el PCD, en el que cada uno de los niveles de rendimiento esta asociado con una frecuencia de tension y de reloj suministrada al uno o mas componentes de procesamiento;
definir umbrales de temperatura asociados con uno o mas componentes sensibles a la temperatura en el PCD;
monitorizar una pluralidad de sensores de temperatura en el PCD, en el que cada sensor de temperatura esta asociado con uno o mas de los componentes sensibles a la temperatura; recibir una senal de interrupcion de una de la pluralidad de sensores de temperatura; muestrear senales de temperatura desde uno o mas de la pluralidad de sensores de temperatura; determinar que una senal de temperatura particular indica que uno particular de los umbrales de temperatura ha sido violado;
reducir el nivel de rendimiento de uno o mas de los componentes de procesamiento desde un nivel de rendimiento maximo a un siguiente nivel de rendimiento mas alto en el numero discreto definido de niveles de rendimiento en respuesta a la indicacion de que uno particular de los umbrales de temperatura ha sido violado;
continuar el muestreo de la senal de temperatura particular;
determinar a partir de la senal de temperatura particular que la violacion del umbral de temperatura particular se ha eliminado; caracterizado por:
5
10
15
20
25
mantener el nivel de rendimiento del uno o mas componentes de procesamiento en el siguiente nivel de rendimiento mas alto durante un primer penodo de penalizacion, que tiene una duracion predeterminada despues de que se haya eliminador la violacion del umbral de temperatura particular; aumentar el nivel de rendimiento del uno o mas componentes de procesamiento desde el siguiente nivel de rendimiento mas alto al nivel de maximo rendimiento al final del primer penodo de penalizacion; y
monitorizar la pluralidad de sensores de temperatura durante un penodo de reinicio, en el que:
si, durante el penodo de reinicio, la senal de temperatura particular indica que el umbral de temperatura particular se ha vuelto a violar, se aumenta la duracion de un penodo de penalizacion posterior en relacion con la duracion del primer periodo de penalizacion; y
si, durante el penodo de reinicio, la senal de temperatura particular indica que el umbral de temperatura particular no se ha vuelto a violar, se reinicia la duracion de un penodo de penalizacion posterior a una duracion por defecto.
12. El producto de programa de ordenador de la reivindicacion 11, en el que cada uno de los componentes sensibles a la temperatura se selecciona de un grupo compuesto de un componente de derivacion, un componente de memoria de paquete en paquete, PoP y un componente de carcasa exterior.
13. El producto de programa de ordenador de la reivindicacion 11, en el que el uno particular de los umbrales de temperatura esta asociado con un componente de memoria paquete en paquete, PoP.
14. El producto de programa de ordenador de la reivindicacion 11, en el que el uno particular de los umbrales de temperatura esta asociado con un componente de carcasa exterior.
15. El producto de programa de ordenador de la reivindicacion 11, en el que el uno particular de los umbrales de temperatura esta asociado con un componente de derivacion.
ES13730960.5T 2012-06-29 2013-05-13 Sistema y procedimiento para la gestión térmica adaptativa en un dispositivo informático portátil Active ES2588027T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/537,315 US8972759B2 (en) 2012-06-29 2012-06-29 Adaptive thermal management in a portable computing device including monitoring a temperature signal and holding a performance level during a penalty period
US201213537315 2012-06-29
PCT/US2013/040787 WO2014003902A2 (en) 2012-06-29 2013-05-13 System and method for adaptive thermal management in a portable computing device

Publications (1)

Publication Number Publication Date
ES2588027T3 true ES2588027T3 (es) 2016-10-28

Family

ID=48672791

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13730960.5T Active ES2588027T3 (es) 2012-06-29 2013-05-13 Sistema y procedimiento para la gestión térmica adaptativa en un dispositivo informático portátil

Country Status (8)

Country Link
US (2) US8972759B2 (es)
EP (1) EP2867742B1 (es)
JP (1) JP5781255B1 (es)
KR (1) KR101566152B1 (es)
CN (1) CN104412198B (es)
ES (1) ES2588027T3 (es)
HU (1) HUE030132T2 (es)
WO (1) WO2014003902A2 (es)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101840852B1 (ko) * 2011-10-10 2018-03-22 삼성전자주식회사 모바일 장치의 표면 온도 관리 방법 및 멀티칩 패키지의 메모리 열관리 방법
US8972759B2 (en) 2012-06-29 2015-03-03 Qualcomm Incorporated Adaptive thermal management in a portable computing device including monitoring a temperature signal and holding a performance level during a penalty period
US20150277520A1 (en) * 2012-09-28 2015-10-01 Hewlett-Packard Development Company, L.P. Temperature regulation of a cpu
US9218044B2 (en) * 2012-11-27 2015-12-22 International Business Machines Corporation Computing system frequency target monitor
US9323300B2 (en) * 2012-11-27 2016-04-26 International Business Machines Corporation Computing system voltage control
US9354126B2 (en) * 2012-11-30 2016-05-31 International Business Machines Corporation Calibrating thermal behavior of electronics
US9404812B2 (en) * 2013-03-14 2016-08-02 Samsung Electronics Co., Ltd. Method for detecting environmental value in electronic device and electronic device
US9665141B2 (en) * 2013-06-05 2017-05-30 Apple Inc. Thermal management of an integrated circuit
US10025329B2 (en) * 2013-08-21 2018-07-17 Google Technology Holdings LLC Method and apparatus for adjusting portable electronic device operation based on ambient temperature
US9557786B2 (en) * 2013-11-11 2017-01-31 Mediatek Inc. Power thermal policy using micro-throttle
KR102160909B1 (ko) * 2013-12-03 2020-09-29 삼성전자 주식회사 영상처리장치 및 그 제어방법
JP5820001B2 (ja) * 2014-02-24 2015-11-24 ファナック株式会社 Cpuの異常検出機能を備えた制御装置
WO2015144086A1 (en) * 2014-03-28 2015-10-01 Mediatek Inc. Method for performing system power budgeting within electronic device, and associated apparatus
JP6269253B2 (ja) * 2014-03-29 2018-01-31 富士通株式会社 分散ストレージシステム、記憶装置制御方法、および記憶装置制御プログラム
US10082847B2 (en) 2014-04-01 2018-09-25 Qualcomm Incorporated Method and system for optimizing performance of a PCD while mitigating thermal generation
US9977439B2 (en) * 2014-04-08 2018-05-22 Qualcomm Incorporated Energy efficiency aware thermal management in a multi-processor system on a chip
US9971609B2 (en) * 2014-06-05 2018-05-15 American Megatrends, Inc. Thermal watchdog process in host computer management and monitoring
JP6236572B2 (ja) * 2014-09-17 2017-11-22 聯發科技股▲ふん▼有限公司Mediatek Inc. マルチプロセッサシステムにおける動的周波数スケーリング
US10557944B2 (en) 2014-10-27 2020-02-11 Qualcomm Incorporated Timing circuit calibration
EP3196732B1 (en) * 2014-12-12 2021-03-24 VIA Alliance Semiconductor Co., Ltd. System and method for dynamically adjusting voltage frequency
US10061331B2 (en) 2015-01-22 2018-08-28 Qualcomm Incorporated Systems and methods for detecting thermal runaway
US20160266629A1 (en) * 2015-03-09 2016-09-15 Advanced Micro Devices, Inc. Changing power limits based on device state
US9958921B2 (en) 2015-03-09 2018-05-01 Advanced Micro Devices, Inc. Power management to change power limits based on device skin temperature
US10848408B2 (en) * 2015-03-26 2020-11-24 Vmware, Inc. Methods and apparatus to control computing resource utilization of monitoring agents
US9785209B2 (en) * 2015-03-31 2017-10-10 Qualcomm Incorporated Thermal management in a computing device based on workload detection
US10215800B2 (en) * 2015-04-24 2019-02-26 Qualcomm Incorporated Device specific thermal mitigation
US10114649B2 (en) 2015-05-26 2018-10-30 International Business Machines Corporation Thermal availability based instruction assignment for execution
KR102387203B1 (ko) * 2015-06-03 2022-04-15 삼성전자주식회사 병합된 파워 레일을 통해 전원전압을 공급받는 시스템 온 칩 및 이를 포함하는 모바일 시스템
US20170038806A1 (en) 2015-08-06 2017-02-09 Qualcomm Incorporated System and method for improved thermal management of a portable computing device with skin temperature sensors
US10401235B2 (en) * 2015-09-11 2019-09-03 Qualcomm Incorporated Thermal sensor placement for hotspot interpolation
KR101719074B1 (ko) * 2015-12-09 2017-04-05 성균관대학교산학협력단 동적 열적 마진을 이용하는 반도체 프로세서 장치를 위한 열 관리 방법 및 장치
US10120426B2 (en) 2015-12-09 2018-11-06 Research & Business Foundation Sungkyunkwan University Thermal management apparatus and method using dynamic thermal margin, and semiconductor processor device, non-volatile data storage device and access control method using the same
US10037258B2 (en) 2016-02-01 2018-07-31 Qualcomm Incorporated System and method for intelligent thermal management using dynamic performance floors in a portable computing device
US10168752B2 (en) * 2016-03-08 2019-01-01 Qualcomm Incorporated Systems and methods for determining a sustained thermal power envelope comprising multiple heat sources
US10496141B2 (en) * 2016-03-17 2019-12-03 Qualcomm Incorporated System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture
US10101799B2 (en) * 2016-04-01 2018-10-16 Quanta Computer Inc. System and method for smart power clamping of a redundant power supply
US11399720B2 (en) 2016-04-05 2022-08-02 Qulacomm Incorporated Circuits and methods providing temperature mitigation for computing devices
US10175731B2 (en) 2016-06-17 2019-01-08 Microsoft Technology Licensing, Llc Shared cooling for thermally connected components in electronic devices
CN106227604A (zh) * 2016-07-27 2016-12-14 李媛媛 芯片中温度降低方法及系统
WO2018018448A1 (zh) * 2016-07-27 2018-02-01 李媛媛 芯片中温度降低方法及系统
US10216246B2 (en) * 2016-09-30 2019-02-26 Intel Corporation Multi-level loops for computer processor control
KR102661491B1 (ko) 2016-12-26 2024-04-29 삼성전자주식회사 동적 전압 주파수 스케일링을 사용하는 시스템 온 칩 및 그것의 동작 방법
KR102643797B1 (ko) * 2017-01-10 2024-03-05 삼성전자주식회사 동적 발열 관리 방법
US11042174B2 (en) * 2017-02-03 2021-06-22 Qualcomm Incorporated System and method for thermal management of a wearable computing device based on proximity to a user
US10403189B2 (en) 2017-12-19 2019-09-03 Dell Products L.P. Compensating for temperature induced differences in a computing device having dual-displays or a foldable display
US10732699B2 (en) * 2018-02-23 2020-08-04 Intel Corporation Redundancy in distribution of voltage-frequency scaling parameters
CN108804293A (zh) * 2018-06-27 2018-11-13 郑州云海信息技术有限公司 一种服务器及其非接触式存储设备温度监测装置
US10817039B2 (en) 2018-08-31 2020-10-27 Hewlett Packard Enterprise Development Lp Adjusting a power limit in response to a temperature difference
US10782754B2 (en) * 2018-09-21 2020-09-22 Quanta Computer Inc. Thermal management via virtual BMC manager
US10853547B2 (en) * 2018-10-26 2020-12-01 Dell Products, L.P. System and method to identify critical FPGA card sensors
CN112470100A (zh) * 2018-11-05 2021-03-09 惠普发展公司,有限责任合伙企业 动态热控制
KR20200069905A (ko) * 2018-12-07 2020-06-17 삼성전자주식회사 스토리지 시스템 및 스토리지 시스템의 동작 방법
US11079820B2 (en) * 2019-01-15 2021-08-03 Microsoft Technology Licensing, Llc Method and apparatus for improving removable storage performance
US11368907B2 (en) 2019-01-29 2022-06-21 Google Llc Adaptive connection management for marginal network conditions
US11140243B1 (en) * 2019-03-30 2021-10-05 Snap Inc. Thermal state inference based frequency scaling
US11442513B1 (en) 2019-04-16 2022-09-13 Snap Inc. Configuration management based on thermal state
US11379023B2 (en) * 2019-07-15 2022-07-05 Microsoft Technology Licensing, Llc Regulating device surface temperature
US11520311B2 (en) 2019-07-25 2022-12-06 Microsoft Technology Licensing, Llc High performance removable storage devices
US11109299B2 (en) 2019-12-12 2021-08-31 Google Llc Adaptive public land mobile network management for varying network conditions
US11762439B2 (en) * 2019-12-17 2023-09-19 Mediatek Inc. Method and apparatus of dynamic thermal management based on surface temperatures of portable device
US11832426B2 (en) * 2020-06-11 2023-11-28 Google Llc Thermal mitigation for an electronic speaker device and associated apparatuses and methods
US11301028B2 (en) * 2020-06-24 2022-04-12 Motorola Mobility Llc Time-based and temperature-based device thermal mitigation
US11126440B1 (en) * 2020-06-25 2021-09-21 Amazon Technologies, Inc. Identifying critical thermal conditions in multiple system-on-a-chip (SoC) systems
US11443802B2 (en) 2020-07-09 2022-09-13 Numem Inc. Adaptive memory management and control circuitry
US11436025B2 (en) * 2020-07-09 2022-09-06 Numem Inc. Smart compute resistive memory
CN115936080A (zh) * 2021-10-01 2023-04-07 三星电子株式会社 用于大规模计算的设备和方法
CN113840362B (zh) 2021-11-26 2022-03-04 华中科技大学 一种基于能耗中断概率的手机终端优化方法
CN116095801B (zh) * 2023-04-13 2023-06-30 中国电信股份有限公司浙江分公司 一种基站设备高可靠性节能方法及装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940785A (en) * 1996-04-29 1999-08-17 International Business Machines Corporation Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit
US6535798B1 (en) * 1998-12-03 2003-03-18 Intel Corporation Thermal management in a system
US7231531B2 (en) 2001-03-16 2007-06-12 Dualcor Technologies, Inc. Personal electronics device with a dual core processor
US6889332B2 (en) * 2001-12-11 2005-05-03 Advanced Micro Devices, Inc. Variable maximum die temperature based on performance state
US7814350B2 (en) * 2002-10-03 2010-10-12 Via Technologies, Inc. Microprocessor with improved thermal monitoring and protection mechanism
KR100935574B1 (ko) 2002-11-04 2010-01-07 삼성전자주식회사 Cpu 과열방지시스템
US7085945B2 (en) * 2003-01-24 2006-08-01 Intel Corporation Using multiple thermal points to enable component level power and thermal management
JP3912297B2 (ja) * 2003-02-27 2007-05-09 ソニー株式会社 ファン制御装置およびファン制御方法
US7051221B2 (en) * 2003-04-28 2006-05-23 International Business Machines Corporation Performance throttling for temperature reduction in a microprocessor
US7062933B2 (en) 2004-03-24 2006-06-20 Intel Corporation Separate thermal and electrical throttling limits in processors
US20060161375A1 (en) 2004-12-30 2006-07-20 Allen Duberstein Optimizing processing speed based on measured temperatures
US7480586B2 (en) * 2005-11-29 2009-01-20 International Business Machines Corporation Thermal interrupt generation
US7460932B2 (en) 2005-11-29 2008-12-02 International Business Machines Corporation Support of deep power savings mode and partial good in a thermal management system
US7263457B2 (en) * 2006-01-03 2007-08-28 Advanced Micro Devices, Inc. System and method for operating components of an integrated circuit at independent frequencies and/or voltages
US7552346B2 (en) * 2006-05-03 2009-06-23 International Business Machines Corporation Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index
US7793125B2 (en) 2007-01-10 2010-09-07 International Business Machines Corporation Method and apparatus for power throttling a processor in an information handling system
US20090327656A1 (en) 2008-05-16 2009-12-31 Dan Baum Efficiency-based determination of operational characteristics
US8775830B2 (en) 2009-12-16 2014-07-08 Qualcomm Incorporated System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature
US9667280B2 (en) 2010-09-24 2017-05-30 Qualcomm Incorporated Methods and apparatus for touch temperature management based on power dissipation history
US9317082B2 (en) * 2010-10-13 2016-04-19 Advanced Micro Devices, Inc. Controlling operation of temperature sensors
KR20120063340A (ko) 2010-12-07 2012-06-15 전남대학교산학협력단 3차원 구조의 멀티코어 프로세서의 온도 조절 방법 및 그 방법을 이용한 3차원 구조의 멀티코어 프로세서 시스템
US8972759B2 (en) 2012-06-29 2015-03-03 Qualcomm Incorporated Adaptive thermal management in a portable computing device including monitoring a temperature signal and holding a performance level during a penalty period

Also Published As

Publication number Publication date
HUE030132T2 (en) 2017-04-28
EP2867742B1 (en) 2016-05-25
US9360907B2 (en) 2016-06-07
US20150169016A1 (en) 2015-06-18
US8972759B2 (en) 2015-03-03
EP2867742A2 (en) 2015-05-06
WO2014003902A3 (en) 2014-03-20
JP2015528160A (ja) 2015-09-24
KR101566152B1 (ko) 2015-11-04
CN104412198A (zh) 2015-03-11
CN104412198B (zh) 2016-06-08
US20140006818A1 (en) 2014-01-02
WO2014003902A2 (en) 2014-01-03
JP5781255B1 (ja) 2015-09-16
KR20150032314A (ko) 2015-03-25

Similar Documents

Publication Publication Date Title
ES2588027T3 (es) Sistema y procedimiento para la gestión térmica adaptativa en un dispositivo informático portátil
ES2861260T3 (es) Sistema y procedimiento para el arranque de dispositivos térmicamente consciente
KR101833601B1 (ko) 휴대용 컴퓨팅 디바이스로부터 주위 온도를 추정하기 위한 시스템 및 방법
KR101814264B1 (ko) 최적 전력 레벨들을 예측하기 위해 열 저항 값들을 사용하는 휴대용 컴퓨팅 디바이스에서의 열 관리를 위한 시스템 및 방법
KR101529419B1 (ko) 휴대용 컴퓨팅 디바이스에서의 열 로드 관리
JP5189921B2 (ja) コンピュータの放熱システム
US20130173946A1 (en) Controlling power consumption through multiple power limits over multiple time intervals
KR101698877B1 (ko) 총 플랫폼 전력 제어
JP5805881B2 (ja) 漏洩電流の測定値から熱管理ポリシーを決定するためのシステムおよび方法
US20140236380A1 (en) System and method for thermal management in a multi-functional portable computing device
BR112019015521A2 (pt) Sistema e método de gerenciamento térmico de um dispositivo de computação vestível com base na proximidade a um usuário
ES2710430T3 (es) Gestión térmica en un dispositivo informático basándose en la detección de la carga de trabajo
WO2014134061A2 (en) System and method for tuning a thermal strategy in a portable computing device based on location
EP2912534A1 (en) Modal workload scheduling in a heterogeneous multi-processor system on a chip
JP5911970B2 (ja) ユーザコンフィギュレーション機能を伴う適応的温度スロットリング