ES2678296T3 - Ajuste a escala adaptativo de voltaje - Google Patents

Ajuste a escala adaptativo de voltaje Download PDF

Info

Publication number
ES2678296T3
ES2678296T3 ES15173586.7T ES15173586T ES2678296T3 ES 2678296 T3 ES2678296 T3 ES 2678296T3 ES 15173586 T ES15173586 T ES 15173586T ES 2678296 T3 ES2678296 T3 ES 2678296T3
Authority
ES
Spain
Prior art keywords
avs
voltage level
operating
operating frequency
voltage
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
ES15173586.7T
Other languages
English (en)
Inventor
Richard Moore
Gerald Michalak
Jeffrey Bridges
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 ES2678296T3 publication Critical patent/ES2678296T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05FSYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
    • G05F1/00Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
    • G05F1/10Regulating voltage or current
    • G05F1/46Regulating voltage or current wherein the variable actually regulated by the final control device is dc
    • G05F1/462Regulating voltage or current wherein the variable actually regulated by the final control device is dc as a function of the requirements of the load, e.g. delay, temperature, specific voltage/current characteristic
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • 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
    • 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
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/01Details
    • H03K3/012Modifications of generator to improve response time or to decrease power consumption
    • 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 Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Power Sources (AREA)

Abstract

Un procedimiento para establecer un nivel de voltaje asociado a cada una de una o más frecuencias operativas, comprendiendo el procedimiento: aprender adaptativamente un primer nivel de voltaje operativo durante el funcionamiento de un circuito funcional, mediante un módulo Ajustador Adaptativo a Escala de Voltaje, AVS, para una primera de las frecuencias operativas, siendo el primer nivel de voltaje operativa un nivel de voltaje mínimo aceptable que permite el funcionamiento estable de un circuito funcional en la primera frecuencia operativa; almacenar el primer nivel de voltaje operativo en una base de datos con la primera frecuencia operativa; determinar una o más frecuencias operativas adicionales en la base de datos, que sean más bajas que la primera frecuencia operativa y que tengan respectivos niveles asociados de voltaje operativo que son más altos que el primer nivel de voltaje operativo (152, 154); y para cada una de las una o más frecuencias operativas adicionales, reemplazar su nivel actual de voltaje operativo asociado por el primer nivel de voltaje operativo.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCIÓN
Ajuste a escala adaptativo de voltaje ANTECEDENTES
I. Campo de la divulgación
[1] La tecnología de la presente solicitud se refiere a ajustadores a escala adaptativos de voltaje (AVS) y a sistemas relacionados para controlar el nivel de voltaje que alimenta un circuito a una frecuencia operativa dada.
II. Antecedentes
[2] Los circuitos digitales síncronos, tales como las unidades de procesamiento central (CPU) o los procesadores de señales digitales (DSP), como ejemplos, requieren una señal de reloj para coordinar la temporización de la lógica en el circuito. La frecuencia de la señal del reloj controla la velocidad de conmutación o velocidad de la lógica y, por lo tanto, el rendimiento del circuito. Existe una relación entre la frecuencia operativa y el nivel de voltaje. Un aumento en la frecuencia operativa aumenta el nivel de voltaje mínimo requerido para alimentar el circuito para un funcionamiento adecuado. Por lo tanto, un aumento en la frecuencia operativa generalmente da como resultado un mayor consumo de energía. El consumo de energía puede reducirse disminuyendo el nivel de voltaje que alimenta el circuito. Sin embargo, una disminución en el nivel de voltaje disminuye la frecuencia operativa máxima posible para el circuito. El nivel de voltaje puede reducirse hasta que se alcance un nivel de voltaje de umbral mínimo para el circuito, necesario para un funcionamiento adecuado.
[3] Aunque generalmente se desea maximizar el rendimiento de un circuito maximizando la frecuencia operativa de un circuito, puede haber momentos en los que no se requiera o se desee maximizar la frecuencia operativa. En este caso, el nivel de voltaje que alimenta el circuito podría reducirse para conservar energía sin afectar el funcionamiento correcto del circuito. En este sentido, se puede emplear un ajustador a escala dinámico de voltaje (DVS). El DVS puede determinar la frecuencia operativa deseada para el circuito y controlar un generador de reloj para producir una señal de reloj para el circuito a la frecuencia operativa deseada. El DVS también puede usar la frecuencia operativa determinada para determinar un nivel de voltaje mínimo para el circuito. El DVS puede entonces controlar un regulador de voltaje para producir el nivel de voltaje mínimo deseado. De esta manera, el DVS puede ajustar el voltaje hasta un nivel de voltaje mínimo a una frecuencia operativa dada para conservar energía, manteniendo a la vez el funcionamiento adecuado del circuito.
[4] Otros factores pueden elevar el nivel de voltaje mínimo requerido para alimentar un circuito a una frecuencia operativa dada. Por ejemplo, la variabilidad en los procesos de circuitos integrados (IC) nanométricos, utilizados para fabricar circuitos digitales síncronos y sus componentes, puede causar variaciones del retardo. Las condiciones ambientales, tales como la temperatura de funcionamiento y el efecto de envejecimiento de los transistores, pueden afectar el retraso de propagación. Los niveles de voltaje suministrados por los suministros de voltaje pueden reducirse momentáneamente debido a las variaciones en el consumo de corriente, reduciendo así momentáneamente el rendimiento. En este sentido, un DVS puede configurarse para controlar el nivel de voltaje mínimo para el circuito de acuerdo a los escenarios de peor caso de retardo, para garantizar el funcionamiento adecuado del circuito, cuando, en realidad, los escenarios de peor caso de retardo no están presentes en todo momento. Cuando no se presentan los peores escenarios de retardo, el nivel del voltaje podría reducirse y el circuito funciona correctamente. La diferencia entre el nivel de voltaje mínimo del peor caso y el nivel de voltaje mínimo real, requerido para alimentar un circuito para una frecuencia operativa dada en un momento particular, se conoce como margen de voltaje o de potencia. El margen de voltaje representa la energía consumida que, idealmente, no tenía que consumirse para que un circuito funcione correctamente a una frecuencia operativa determinada.
[5] La solicitud de patente WO 2006/073845se refiere a la reducción del consumo de energía en sistemas integrados. El consumo de energía puede reducirse controlando de manera independiente y dinámica múltiples particiones de potencia. Los estados de funcionamiento se definen en una tabla. Los voltajes en la tabla se actualizan dinámicamente durante un tiempo de ejecución del sistema utilizando un módulo de realimentación de temporización, que está conectado a un trayecto crítico en una partición. La salida es un vector que indica el margen de temporización para ese trayecto crítico. Usando este margen de temporización, el voltaje aumenta o disminuye para optimizar el consumo de energía de esa partición.
SUMARIO DE LA DIVULGACIÓN
[6] Aspectos de la presente invención se exponen en las reivindicaciones adjuntas.
BREVE DESCRIPCIÓN DE LAS FIGURAS
[7]
5
10
15
20
25
30
35
40
45
50
55
60
65
La Figura 1 es un diagrama esquemático de un ajustador a escala adaptativo de voltaje (AVS) ejemplar, un sistema de AVS y circuito(s) funcional(es);
la Figura 2 es una tabla ejemplar de niveles de frecuencia / voltaje de AVS almacenada en una base de datos de AVS;
la Figura 3 es un diagrama ejemplar de frecuencia operativa frente a nivel de voltaje que ilustra regiones de funcionamiento de uno o más circuitos funcionales;
la Figura 4 es un diagrama de flujo que proporciona un proceso ejemplar para utilizar una base de datos de AVS para almacenar y usar de manera adaptativa niveles de voltaje aprendidos para establecer el nivel de voltaje del (de los) circuito(s) funcional(es) en función de la frecuencia operativa para evitar o reducir el margen de voltaje;
la Figura 5 es un diagrama ejemplar de temporización de frecuencia operativa de una señal de reloj generada por un generador de reloj bajo el control del AVS en la Figura 1;
la Figura 6A es un diagrama ejemplar de temporización de nivel de voltaje de la señal de voltaje generada por un regulador de voltaje bajo el control del AVS en la Figura 1;
la Figura 6B es un diagrama ejemplar de temporización de nivel de voltaje de una señal de voltaje si el AVS no pudo establecer un nuevo nivel de voltaje sin tener que esperar a que se estableciera una nueva frecuencia operativa;
la Figura 7 es una tabla ejemplar de valores aprendidos de AVS que puede incluirse en una base de datos de AVS para almacenar niveles de voltaje aprendidos para frecuencias operativas exploradas;
la Figura 8 es un diagrama ejemplar de frecuencia operativa frente a nivel de voltaje que ilustra diferentes regiones de funcionamiento para uno o más circuitos funcionales;
la Figura 9 es un diagrama de flujo que proporciona un proceso ejemplar para explorar la región inválida de funcionamiento de uno o más circuitos funcionales a una frecuencia operativa dada y almacenar un nivel de voltaje revisado basándose en dicha exploración;
la figura 10 es un diagrama ejemplar de frecuencia operativa frente a nivel de voltaje que ilustra las regiones de funcionamiento de uno o más circuitos funcionales;
la Figura 11 es una tabla ejemplar de niveles de frecuencia / voltaje de AVS almacenada en una base de datos de AVS;
la Figura 12 es una tabla ejemplar de diferencias de niveles de voltaje almacenada en una base de datos de AVS;
la Figura 13 es un diagrama de flujo que proporciona un proceso ejemplar para acelerar la población de niveles de voltaje para frecuencias operativas dadas en una base de datos de AVS;
la Figura 14 es un ejemplo de población acelerada de niveles de voltaje en una base de datos de AVS;
la Figura 15 es una tabla ejemplar de frecuencia operativa / nivel de voltaje de AVS, almacenada en una base de datos de AVS para diferentes temperaturas operativas;
la figura 16 es un diagrama de flujo que proporciona un proceso ejemplar para añadir un margen de voltaje a un nivel de voltaje cuando el(los) circuito(s) funcional(es) entra(n) en una región de funcionamiento inválida;
la figura 17 es una tabla ejemplar de límites de nivel de voltaje mínimo, almacenada en una base de datos de AVS correspondiente a diferentes frecuencias operativas;
la Figura 18 es un diagrama ejemplar de frecuencia operativa frente a voltaje que ilustra diferentes regiones de funcionamiento para uno o más circuitos funcionales;
la Figura 19 es un diagrama de flujo que proporciona un proceso ejemplar para añadir una corrección del nivel de voltaje al (a los) nivel(es) de voltaje en una base de datos de AVS basándose en un efecto de inestabilidad de temperatura de sesgo negativo (NBTI);
la Figura 20 es un diagrama esquemático de otro sistema ejemplar de AVS; y
la Figura 21 es un diagrama de bloques de un circuito funcional ejemplar de la unidad de procesamiento central (CPU) y un sistema relacionado que emplea un AVS.
5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCIÓN DETALLADA
[8] Las realizaciones divulgadas en la descripción detallada incluyen ajustadores a escala adaptativos de voltaje (AVS), sistemas de AVS y circuitos y procedimientos relacionados. Los AVS y los sistemas, circuitos y procedimientos de AVS están configurados para ajustar adaptativamente el nivel de voltaje que alimenta uno o más circuitos funcionales basándose en una frecuencia operativa de destino y condiciones de variación de retardo para uno o más circuitos funcionales, para evitar o reducir el margen de voltaje. Evitar o reducir el margen de voltaje puede ahorrar energía manteniendo a la vez el funcionamiento adecuado de los uno o más circuitos funcionales. Las variaciones de retardo pueden incluir una o más variaciones de fabricación específicas para cada AVS y uno o más circuitos funcionales, y / o variaciones operativas causadas por variaciones en las condiciones ambientales. Las condiciones de variación de retardo pueden desplazar la relación entre la frecuencia operativa y el nivel de voltaje mínimo necesario para el funcionamiento adecuado de los uno o más circuitos funcionales. Los uno o más circuitos funcionales pueden ser uno o más circuitos digitales síncronos, como ejemplo. El AVS también se puede incluir como un ajustador adicional a escala de voltaje para un ajustador dinámico a escala de voltaje (DVS), para establecer la frecuencia operativa y el nivel de voltaje para uno o más circuitos funcionales.
[9] En una realización, el AVS comprende al menos un circuito de retardo configurado para recibir una señal de entrada. El AVS retrasa la señal de entrada en una magnitud de retardo relacionada con al menos un trayecto de retardo de un circuito funcional para producir una señal de salida de retardo. El AVS también comprende un circuito de AVS acoplado a una base de datos de AVS. El circuito de AVS es sensible a la señal de salida de retardo. El circuito de AVS está configurado para generar una señal de ajuste de nivel de voltaje basándose en un nivel de voltaje en la base de datos, asociado a una frecuencia operativa para el circuito funcional y a la información de retardo en la señal de salida de retardo. La base de datos de AVS se puede configurar para almacenar niveles de voltaje para varias frecuencias operativas de uno o más circuitos funcionales, para evitar o reducir el margen de voltaje.
[10] En otra realización, la base de datos de AVS puede configurarse para almacenar configuraciones aprendidas de niveles de voltaje, previamente exploradas por el AVS en busca de frecuencias operativas dadas de los uno o más circuitos funcionales. De esta manera, el circuito de AVS puede tomar rápidas determinaciones del nivel de voltaje después de que se proporcione una nueva frecuencia operativa para los uno o más circuitos funcionales, sin tener que esperar a que la nueva frecuencia operativa se asiente en los uno o más circuitos funcionales. La base de datos de AVS se puede configurar para continuar siendo actualizada con niveles de voltaje aprendidos. El circuito de AVS puede actualizar los niveles de voltaje aprendidos en la base de datos de AVS. La base de datos de AVS puede configurarse con un ajuste de nivel de voltaje mínimo para todas las frecuencias operativas que no puedan ser incumplidas. En este caso, no se usará un nivel de voltaje determinado aprendido, menor que el ajuste del nivel de voltaje mínimo para que los uno o más circuitos funcionales funcionen correctamente, para establecer el nivel de voltaje.
[11] Los ajustes de nivel de voltaje mínimo en la base de datos de AVS pueden configurarse para proporcionar un nivel de voltaje con un margen de voltaje de tolerancia, para evitar el riesgo de operar el(los) circuito(s) funcional(es) en una región de operación inválida. Sin embargo, en otra realización, el circuito de AVS está configurado para explorar la región de funcionamiento inválida de los circuitos funcionales durante la operación en tiempo de funcionamiento, para evitar o reducir adicionalmente el margen de voltaje de tolerancia. En esta realización, el AVS puede comprender al menos un circuito de retardo configurado para recibir una señal de entrada y retardar la señal de entrada en una magnitud relacionada con al menos un trayecto de retardo de un circuito funcional para producir una señal de salida de retardo. El AVS también puede comprender un circuito de AVS sensible a la señal de salida de retardo. El circuito de AVS puede configurarse para generar una señal de ajuste de nivel de voltaje basándose en una frecuencia operativa de destino para el circuito funcional y en la información de retardo en la señal de salida de retardo. El circuito de AVS también se puede configurar para aumentar el retardo del al menos un trayecto de retardo para simular una frecuencia operativa incrementada para que el circuito funcional explore una región inválida de funcionamiento del circuito funcional. El punto de transición a la región inválida de funcionamiento puede ser utilizado por el circuito de AVS para determinar un ajuste de nivel de voltaje revisado para la frecuencia operativa actual, para evitar o reducir aún más el margen de voltaje de tolerancia.
[12] En otra realización, el circuito de AVS puede configurarse para acelerar la población de la base de datos de AVS con ajustes de nivel de voltaje para frecuencias operativas dadas. Una vez que el circuito de AVS aprende un nivel de voltaje para una frecuencia operativa actual, el circuito de AVS consulta los niveles de voltaje para frecuencias operativas inferiores en la base de datos de AVS. Si los niveles de voltaje almacenados para frecuencias operativas inferiores son mayores que el nivel de voltaje aprendido para la frecuencia operativa actual, el circuito de AVS puede reemplazar el nivel de voltaje para las frecuencias operativas inferiores por el nivel de voltaje inferior aprendido en la base de datos de AVS. Se sabe que los uno o más circuitos funcionales son capaces de funcionar adecuadamente al nivel de voltaje aprendido para frecuencias operativas inferiores. De esta manera, la base de datos de AVS se puebla más rápidamente con ajustes de voltaje inferiores, si es posible, de modo que el margen de voltaje se evite o reduzca más rápidamente durante el funcionamiento.
5
10
15
20
25
30
35
40
45
50
55
60
65
[13] En otra realización, se incorpora un sensor de temperatura en el AVS para proporcionar el nivel de temperatura operativa actual para los uno o más circuitos funcionales. La temperatura operativa de los uno o más circuitos funcionales puede desplazar el ajuste de nivel de voltaje mínimo para una frecuencia operativa dada de los uno o más circuitos funcionales. El circuito de AVS utiliza el nivel de temperatura operativa para almacenar y actualizar los niveles de voltaje en la base de datos de AVS en función del nivel de temperatura operativa. El circuito de AVS también puede usar el nivel de temperatura operativa recibida desde el sensor de temperatura para seleccionar un nivel de voltaje correspondiente a la frecuencia operativa actual y al nivel de temperatura operativa durante el funcionamiento. De esta manera, cualquier desplazamiento en el nivel de voltaje para una frecuencia operativa dada, basándose en la temperatura operativa, puede tenerse en consideración para evitar o reducir el margen de voltaje al mismo tiempo que se evita operar los uno o más circuitos funcionales en una región de funcionamiento inválida. El circuito de AVS puede almacenar niveles de voltaje en función del nivel de temperatura operativa en la base de datos de AVS. Por ejemplo, la base de datos de AVS puede contener una pluralidad de tablas de configuración de niveles de voltaje aprendidos, correspondiendo cada una a una región de temperatura operativa diferente.
[14] En otra realización, el AVS puede configurarse para aprender cuándo un nivel de voltaje hizo que los uno o más circuitos funcionales funcionaran en la región de funcionamiento inválida. En esta realización, se puede proporcionar un AVS que comprende al menos un circuito de retardo configurado para recibir una señal de entrada y retardar la señal de entrada en una magnitud relacionada con al menos un trayecto de retardo de un circuito funcional para producir una señal de salida de retardo. El AVS puede incluir un circuito de AVS sensible a la señal de salida de retardo y configurado para generar una señal de ajuste de nivel de voltaje en función de la información de retardo en la señal de salida de retardo. El circuito de AVS puede configurarse adicionalmente para agregar un margen de voltaje a la señal de ajuste del nivel de voltaje si el nivel de voltaje hizo que el circuito funcional funcionara en una región de funcionamiento inválida. De esta manera, el circuito de AVS se puede configurar para "retroceder" la configuración del nivel de voltaje actual en la base de datos de AVS aumentando el ajuste del nivel de voltaje para la frecuencia operativa actual.
[15] En otra realización, el AVS puede configurarse para compensar los niveles de voltaje para la inestabilidad de temperatura de sesgo negativo (NBTI). En esta realización, el AVS puede comprender al menos un circuito de retardo configurado para recibir una señal de entrada y retardar la señal de entrada en una magnitud relacionada con al menos un trayecto de retardo de un circuito funcional para producir una señal de salida de retardo. El AVS también puede comprender un circuito de AVS sensible a la señal de salida de retardo y configurado para generar una señal de ajuste de nivel de voltaje en función de la información de retardo en la señal de salida de retardo y una corrección del nivel de voltaje basándose en un indicador de envejecimiento del circuito funcional. De esta manera, el AVS se puede configurar para compensar la NBTI elevando el nivel de voltaje mínimo para las frecuencias operativas a lo largo del tiempo. El AVS puede configurarse para elevar los niveles mínimos de voltaje a lo largo del tiempo en la base de datos de AVS. El AVS puede configurarse entonces para imponer el ajuste de nivel de voltaje mínimo compensado si el nivel de voltaje determinado para cualquier frecuencia operativa está por debajo del nivel de voltaje compensado mínimo. Los niveles de voltaje aprendidos pueden actualizarse con el nivel de voltaje compensado en la base de datos de AVS.
[16] En otra realización, se proporciona un procedimiento para ajustar a escala un nivel de voltaje para un circuito funcional. El procedimiento comprende recibir una señal de entrada en al menos un circuito de retardo. El procedimiento comprende además retrasar la señal de entrada en una magnitud de retardo relativa a al menos un trayecto de retardo de un circuito funcional, para producir una señal de salida de retardo, y generar una señal de ajuste de nivel de voltaje en función de un nivel de voltaje en una base de datos asociada a una frecuencia operativa de destino para el circuito funcional y la información de retardo en la señal de salida de retardo.
[17] En otra realización, se proporciona un medio legible por ordenador que tiene almacenadas en el mismo instrucciones ejecutables por ordenador. Las instrucciones se proporcionan para provocar que un módulo de AVS genere una señal de ajuste de nivel de voltaje basándose en un nivel de voltaje en una base de datos asociada a una frecuencia operativa de destino para un circuito funcional e información de retardo en una señal de salida de retardo que representa una magnitud de retardo relacionada con al menos un trayecto de retardo del circuito funcional.
[18] Con referencia ahora a las figuras en los dibujos, se describen varias realizaciones ejemplares de la presente divulgación. El término "ejemplar" se usa en el presente documento en el sentido de "que sirve de ejemplo, caso o ilustración". No debe considerarse necesariamente que cualquier modo de realización descrito en el presente documento como "ejemplar" sea preferido o ventajoso con respecto a otros modos de realización.
[19] Las realizaciones divulgadas en la descripción detallada incluyen ajustadores a escala adaptativos de voltaje (AVS), sistemas de AVS y circuitos y procedimientos relacionados. Los AVS y los sistemas, circuitos y procedimientos de AVS están configurados para ajustar adaptativamente el nivel de voltaje que alimenta uno o más circuitos funcionales basándose en una frecuencia operativa, de destino o deseada, y en condiciones de variación de retardo para uno o más circuitos funcionales, para evitar o reducir el margen de voltaje. Evitar o reducir el margen de voltaje puede ahorrar energía manteniendo a la vez el funcionamiento adecuado de los uno o más circuitos
5
10
15
20
25
30
35
40
45
50
55
60
65
funcionales. Las variaciones de retardo pueden incluir una o más variaciones de fabricación específicas para cada AVS y uno o más circuitos funcionales, y / o variaciones operativas causadas por variaciones en las condiciones ambientales. Las condiciones de variación de retardo pueden desplazar la relación entre la frecuencia operativa y el nivel de voltaje mínimo necesario para el funcionamiento adecuado de los uno o más circuitos funcionales. Los uno o más circuitos funcionales pueden ser uno o más circuitos digitales síncronos, como ejemplo. El AVS también se puede incluir como un ajustador adicional a escala de voltaje para un ajustador dinámico a escala de voltaje (DVS), para establecer la frecuencia operativa y el nivel de voltaje para uno o más circuitos funcionales.
[20] A este respecto, se ilustra esquemáticamente un sistema de ajustador adaptativo a escala de voltaje (AVS) 10 ejemplar en la figura 1. El sistema de AVS 10 incluye un AVS 11 que está configurado para determinar y establecer una frecuencia operativa de una señal de reloj 12 generada por un generador de reloj 14 para controlar la velocidad de conmutación o velocidad de la lógica en uno o más circuitos funcionales 15. Los uno o más circuitos funcionales 15 pueden ser un circuito digital síncrono, como ejemplo. El AVS 11 genera una señal de ajuste de frecuencia operativa 16 como una entrada en el generador de reloj 14, para controlar la frecuencia operativa de la señal de reloj 12. El generador de reloj 14 puede proporcionar una señal de reloj convencional, una señal de reloj libre de fallas o cualquier otro tipo de señal de reloj deseada.
[21] El AVS 11 también controla un nivel de voltaje de una señal de voltaje 18 proporcionada a los uno o más circuitos funcionales 15 para alimentar los uno o más circuitos funcionales 15. El AVS 11 genera una señal de ajuste de nivel de voltaje 20 como entrada en un regulador de voltaje 22 para controlar el nivel de voltaje de la señal de voltaje 18. El nivel de voltaje se determina en función de la frecuencia operativa determinada por el AVS 11 y las condiciones de variación de retardo. Existe una relación entre la frecuencia operativa de los uno o más circuitos funcionales 15 y el nivel de voltaje mínimo para alimentar los uno o más circuitos funcionales 15 para un funcionamiento adecuado. Un aumento en la frecuencia operativa aumenta el nivel de voltaje mínimo para alimentar los uno o más circuitos funcionales 15, para un funcionamiento adecuado. Una disminución en la frecuencia operativa disminuye el nivel de voltaje mínimo para alimentar los uno o más circuitos funcionales 15 para un funcionamiento adecuado, al menos hasta que se alcance un voltaje de umbral mínimo necesario para alimentar los uno o más circuitos funcionales 15.
[22] Con referencia continua a la Figura 1, el AVS 11 determina de forma adaptativa la frecuencia operativa y el nivel de voltaje para los uno o más circuitos funcionales 15 repetidamente a lo largo del tiempo, ya sea periódicamente o aperiódicamente, en un bucle de sintonía 24. La señal de ajuste de frecuencia operativa 16 se controla de forma adaptativa para evitar o reducir el margen de rendimiento de los uno o más circuitos funcionales 15, sin exceder las capacidades de rendimiento. La señal de ajuste de nivel de voltaje 20 también se controla de forma adaptativa para evitar o reducir el margen de voltaje, para conservar energía para los uno o más circuitos funcionales 15 mientras se mantiene la frecuencia operativa de destino. La señal de voltaje 18 es producida por el regulador de voltaje 22 de acuerdo a la señal de ajuste del nivel de voltaje 20 generada por un módulo de AVS 28 en el AVS 11. El módulo de AVS 28 es un circuito. El AVS 11 genera la señal de ajuste de frecuencia operativa 16 y la señal de ajuste de nivel de voltaje 20 en respuesta a la estimación de la carga de trabajo 27.
[23] Uno o más circuitos de retardo 25 están provistos en el AVS 11 para producir un retardo basado en las condiciones de variación de retardo proporcionadas en los uno o más circuitos funcionales 15. Las demoras en los uno o más circuitos funcionales 15 pueden variar debido a las variaciones en el proceso de fabricación y / o las condiciones operativas. El circuito de retardo 25 incluye la lógica de reloj de línea de retardo 26 que recibe como señal de entrada la señal de reloj 12 generada por el generador de reloj 14 como parte del bucle de sintonía 24. La lógica de reloj de línea de retardo 26 genera una señal de salida 29, que representa un retraso de la señal de reloj 12, hacia las líneas de retardo 30 y una señal de salida 32, que representa un retardo de la señal de reloj 12, hacia un retardo de periodo de reloj 34. Las líneas de retardo 30 tienen una pluralidad de trayectos de retardo (no mostrados) configurados para corresponderse con uno o más trayectos de retardo seleccionados en los uno o más circuitos funcionales 15. Las trayectorias de retardo seleccionadas tienen retardos asociados que están configurados para simular y ajustar, de la misma manera o de manera similar a las trayectorias de retardo seleccionadas en los uno o más circuitos funcionales 15 en función de las condiciones de variación de retardo durante el funcionamiento. Por ejemplo, las trayectorias de retardo pueden incluir trayectos de retardo dominados por compuerta, dominados por cable y / o dominados por capacitancia de difusión, en donde uno de los trayectos de retardo producirá el mayor retardo, según las condiciones operativas actuales de los uno o más circuitos funcionales 15. Las trayectorias de retardo seleccionadas también pueden corresponder a uno o más trayectos críticos en los uno o más circuitos funcionales 15. Las líneas de retardo 30 pueden ser programables para permitir que las trayectorias de retardo seleccionadas en las mismas estén sintonizadas con los uno o más circuitos funcionales específicos 15 acoplados al AVS 11.
[24] Las líneas de retardo 30 en el circuito de retardo 25 generan salidas de línea de retardo 36 que se introducen en los comparadores 38 en esta realización. Los comparadores 38 pueden ser circuitos bi-estables de comparación, como un ejemplo. Los comparadores 38 generan una señal de salida de retardo 42 al recibir una señal de retardo de período de reloj 40 desde el retardo de periodo de reloj 34. La señal de salida de retardo 42 se recibe desde el circuito de retardo 25 como una entrada al módulo de AVS 28. La señal de salida de retardo 42 representa la selección del trayecto de retardo más largo en las líneas de retardo 30 y, por lo tanto, el margen de retardo o de
5
10
15
20
25
30
35
40
45
50
55
60
65
temporización en los uno o más circuitos funcionales 15. El módulo de AVS 28 usa la información de margen de temporización para estimar la siguiente frecuencia operativa para mantener el funcionamiento adecuado de los uno o más circuitos funcionales 15, mientras se evita o se reduce el margen de voltaje. El módulo de AVS 28 selecciona la siguiente frecuencia operativa de los uno o más circuitos funcionales 15. Más específicamente, el módulo de AVS 28 genera la señal operativa de ajuste de frecuencia 16 para controlar el generador de reloj 14, para cambiar la señal de reloj 12 de acuerdo a la siguiente frecuencia operativa. En esta realización, el módulo de AVS 28 es un procesador o controlador controlado por software. Sin embargo, el módulo de AVS 28 también podría proporcionarse mediante lógica discreta sin un procesador o software, o parcialmente controlable por el software que se ejecuta en un circuito.
[25] El módulo de AVS 28 a continuación determina un nuevo nivel de voltaje para alimentar los uno o más circuitos funcionales 15 en base a una nueva solicitud de frecuencia operativa. El nuevo nivel de voltaje es un nivel de voltaje mínimo seguro para que la frecuencia operativa opere correctamente los uno o más circuitos funcionales 15 mientras también se evita o se reduce el margen de voltaje. El módulo de AVS 28 puede ajustar el nivel de voltaje en función de las condiciones de variación de retardo que pueden desplazar la relación entre la frecuencia operativa y el nivel de voltaje en los uno o más circuitos funcionales 15. En el presente documento se describen diversas realizaciones que ilustran ejemplos del módulo de AVS 28, que determina el nuevo nivel de voltaje para la nueva frecuencia operativa. Una vez que el módulo de AVS 28 determina el nuevo nivel de voltaje para la nueva frecuencia operativa, el módulo de AVS 28 aplica el nuevo nivel de voltaje. El módulo de AVS 28 genera la señal de ajuste del nivel de voltaje 20 para proporcionar el nuevo nivel de voltaje al regulador de voltaje 22. El regulador de voltaje 22 genera la señal de voltaje 18 en el nuevo nivel de voltaje para alimentar los uno o más circuitos funcionales 15. La señal de reloj 12 y la señal de voltaje 18 también son entradas hacia el AVS 11 durante una siguiente iteración del circuito de sintonía 24 para proporcionar un control adaptativo del nivel de voltaje de los uno o más circuitos funcionales 15, en función de la frecuencia operativa y las condiciones de variación de retardo en los uno o más circuitos funcionales 15.
[26] El módulo de AVS 28 puede usar adicionalmente una señal de nivel de temperatura operativa 46 recibida desde un sensor de temperatura 48, optativamente incluido en el AVS 11 para ajustar adicionalmente el nivel de voltaje para la siguiente frecuencia operativa. El nivel de temperatura puede desplazar el nivel de voltaje mínimo para mantener el funcionamiento correcto de los uno o más circuitos funcionales 15 en una frecuencia operativa dada. Más información sobre el uso de un nivel de temperatura operativo por el AVS 11, para determinar la siguiente configuración de nivel de voltaje, se describirá más adelante en esta solicitud.
[27] Como se ha expuesto anteriormente, el módulo de AVS 28 determina un nuevo nivel de voltaje para alimentar los uno o más circuitos funcionales 15 para una nueva y determinada frecuencia operativa dada. Un ejemplo del módulo de AVS 28, que determina el nuevo nivel de voltaje, se proporciona en la tabla de niveles de frecuencia / voltaje de AVS 50 en la Figura 2. La tabla de niveles de frecuencia / voltaje de AVS 50 puede almacenarse en una base de datos de AVS 44 y el módulo de AVS 28 puede acceder a ella para determinar el nuevo nivel de voltaje. El módulo de AVS 28 también puede actualizar los niveles de voltaje aprendidos en la tabla de niveles de frecuencia / voltaje de AVS 50, como se describirá en el presente documento. El módulo de AVS 28 puede ser un módulo o procesador controlado por software que ejecuta instrucciones de software para acceder a niveles de voltaje en la tabla de niveles de frecuencia / voltaje de AVS 50 para determinar el siguiente nivel de voltaje. Alternativamente, el módulo de AVS 28 puede ser parcialmente controlable por software ejecutado por el módulo de AVS 28. El módulo de AVS 28 también puede ejecutar instrucciones de software para determinar los siguientes frecuencia operativa y nivel de voltaje. Proporcionar el módulo de AVS 28 como un módulo basado en software permite que los parámetros y algoritmos contenidos en el mismo para determinar la frecuencia operativa y los niveles de voltaje, así como la información almacenada en la base de datos de AVS 44, sean fácilmente configurados o reconfigurados después de que el AVS 11 y los uno o más circuitos funcionales 15 estén diseñados y / o fabricados. Sin embargo, el módulo de AVS 28 también podría proporcionarse en circuitos eléctricos sin el uso de módulos o dispositivos basados en software.
[28] La tabla de niveles de frecuencia / voltaje de AVS 50 en la figura 2 representa un nivel de voltaje mínimo seguro, preseleccionado para los uno o más circuitos funcionales 15, para varias frecuencias operativas dadas, para evitar o reducir el margen de voltaje manteniendo a la vez el funcionamiento adecuado de los uno o más circuitos funcionales 15. Por lo tanto, la tabla de niveles de frecuencia / voltaje de AVS 50 es específica para los uno o más circuitos funcionales 15. La tabla de niveles de frecuencia / voltaje de AVS 50 en esta realización contiene un número finito de pares de frecuencia operativa y nivel de voltaje 52. Por ejemplo, como se ilustra en la figura 2, el nivel de voltaje mínimo almacenado en la tabla de niveles de frecuencia / voltaje de AVS 50 para una frecuencia operativa de 1,0 GigaHertz (GHz) es de 1,32 voltios (V). El nivel de voltaje mínimo disminuye a medida que disminuye la frecuencia operativa. La tabla de niveles de frecuencia / voltaje de AVS 50 podría diseñarse para contener cualquier número de pares de frecuencia operativa y de nivel de voltaje, deseados en la base de datos de AVS 44. Los niveles de voltaje para los puntos de frecuencia operativa, no contenidos en la tabla de niveles de frecuencia / voltaje de AVS 50, pueden ser interpolados por el módulo de AVS 28 en esta realización. Si no se desea suponer la linealidad, el módulo de AVS 28 podría establecer el nivel de voltaje, para una frecuencia operativa no contenida en la tabla de niveles de frecuencia / voltaje de AVS 50, en el nivel de voltaje de la siguiente frecuencia operativa más alta contenida en la tabla de niveles de frecuencia / voltaje de AVS 50.
5
10
15
20
25
30
35
40
45
50
55
60
65
[29] Al reiniciar el AVS 11, el bucle de sintonía 24 todavía no ha iterado para permitir que el módulo de AVS 28 determine de forma adaptativa el nivel de voltaje. Por lo tanto, en una realización, la tabla de niveles de frecuencia / voltaje de AVS 50 puede inicializarse con niveles de voltaje seguros y conocidos para cada punto de frecuencia operativa contenido en la misma, hasta que se aprendan niveles de voltaje adaptativos. Alternativamente, la tabla de niveles de frecuencia / voltaje de AVS 50 podría registrar inicialmente todos los puntos de frecuencia operativa contenidos en ella, como no inicializados. El módulo de AVS 28 podría poblar los niveles de voltaje en la tabla de niveles de frecuencia / voltaje de AVS 50, ya que cada nueva frecuencia operativa contenida en el mismo es explorada por el módulo de AVS 28 y se determina un nuevo nivel de voltaje para la nueva frecuencia operativa.
[30] Aunque la tabla de niveles de frecuencia / voltaje de AVS 50 en la figura 2 contiene un número finito de pares de frecuencia operativa y de nivel de voltaje 52, esta representación es simplemente una función del almacenamiento digital de puntos a lo largo de una curva característica de frecuencia operativa ante nivel de voltaje de los uno o más circuitos funcionales 15. En la figura 3, un ejemplo de una frecuencia operativa ejemplar, la curva característica de nivel de voltaje 54 (también mencionada aquí como "curva característica 54") para los uno o más circuitos funcionales 15 se ilustra en un diagrama de nivel de frecuencia operativa frente a nivel de voltaje 55, proporcionado en la misma. La curva característica 54 representa el nivel de voltaje mínimo requerido por los uno o más circuitos funcionales 15 para una frecuencia operativa dada en el rango de frecuencias operativas posibles. Cualquier punto de frecuencia operativa y nivel de voltaje por debajo de la curva característica 54 está en una región inválida de funcionamiento 56 para los uno o más circuitos funcionales 15. Cualquier punto de frecuencia operativa y nivel de voltaje en o por encima de la curva característica 54 está en una región válida de funcionamiento 58 para los uno o más circuitos funcionales 15. Obsérvese que la curva característica 54 también ilustra el voltaje operativo mínimo para operar de forma adecuada los uno o más circuitos funcionales 15 independientemente de la frecuencia operativa, que es de 0,85 V en el ejemplo de la figura 3.
[31] Como alternativa a la tabla de niveles de frecuencia / voltaje de AVS 50, la frecuencia operativa y los pares de niveles de voltaje 52 podrían determinarse mediante un polinomio proporcionado en la base de datos de AVS 44 o el módulo de AVS 28 que se aproxima a la curva característica 54. La curva característica 54 también podría estar representada por polinomios múltiples, representando cada uno un sub-intervalo de frecuencias operativas en la curva característica 54, que puede permitir que se usen polinomios de orden inferior para representar la curva característica 54.
[32] Aunque la curva característica de frecuencia operativa y nivel de voltaje 54 representa los niveles mínimos ideales de voltaje para las frecuencias operativas de los uno o más circuitos funcionales 15 en este ejemplo, las condiciones de variación de retardo pueden desplazar la curva característica 54 de las condiciones ideales. Las condiciones de variación de retardo pueden ser condiciones cualesquiera que puedan cambiar el retardo en un trayecto de retardo dado en un circuito funcional. Por ejemplo, las condiciones de variación de retardo pueden incluir variaciones de proceso entre circuitos integrados (IC) individuales resultantes durante la fabricación de los circuitos integrados. Las condiciones ambientales, tales como la temperatura operativa y el efecto de envejecimiento de los transistores, también pueden afectar al retardo de propagación en los uno o más circuitos funcionales 15. Los niveles de voltaje suministrados por los suministros de voltaje pueden reducirse momentáneamente debido a las variaciones en el consumo de corriente, reduciendo así momentáneamente el rendimiento de los uno o más circuitos funcionales 15. Por lo tanto, el AVS 11 puede incluir varias características y dispositivos adicionales de acuerdo a otras formas de realización para proporcionar beneficios y rendimiento adicionales para optimizar adicionalmente de forma adaptativa la evitación o reducción del margen de voltaje manteniendo a la vez el funcionamiento correcto de los uno o más circuitos funcionales 15. Estas características adicionales y formas de realización del dispositivo se describirán a continuación.
[33] En una realización, la base de datos de AVS 44 puede utilizarse para almacenar ajustes de nivel de voltaje, óptimos y aprendidos, que ya han sido explorados por el AVS 11 para una o más frecuencias operativas dadas. De esta manera, el módulo de AVS 28 puede generar la señal de ajuste de nivel de voltaje 20 para devolver rápidamente los uno o más circuitos funcionales 15 a un ajuste de nivel de voltaje específico y óptimo, para nuevas frecuencias operativas que se han explorado previamente, sin tener que esperar que la nueva frecuencia operativa se asiente. Cualquier margen de voltaje adicional presente entre el momento de la configuración de la nueva frecuencia operativa por el módulo de AVS 28 y el asentamiento de la nueva frecuencia operativa puede evitarse o reducirse para conservar aún más el consumo total de energía por parte de los uno o más circuitos funcionales 15.
[34] A este respecto, la figura 4 proporciona un diagrama de flujo de un proceso ejemplar que puede ser realizado por el módulo de AVS 28 en el AVS 11 para determinar de forma adaptativa y establecer la frecuencia operativa y el nivel de voltaje para los uno o más circuitos funcionales 15 basándose en configuraciones almacenadas y aprendidas de niveles de voltaje, almacenadas en la base de datos de AVS 44. El proceso en la figura 4 es ejecutado por el módulo de AVS 28 como parte del bucle de sintonía 24 en esta realización. El proceso comienza (bloque 59) por el módulo de AVS 28 que recibe una nueva solicitud de frecuencia operativa para los uno o más circuitos funcionales 15 (bloque 60). El módulo de AVS 28 recibe la nueva solicitud de frecuencia operativa como la estimación de carga de trabajo 27, como se ilustra en la Figura 1. En esta realización, el módulo de AVS 28 determina a continuación el nivel de voltaje para el voltaje operativo actual y actualiza la base de datos de AVS 44
5
10
15
20
25
30
35
40
45
50
55
60
65
en consecuencia, como se describirá con mayor detalle a continuación, antes de establecer una nueva frecuencia operativa y un nuevo nivel de voltaje (etapa 61). Alternativamente, el módulo de AVS 28 podría configurarse para ejecutar y actualizar la base de datos de AVS 44 después de que se hayan establecido una nueva frecuencia operativa y un nuevo nivel de voltaje para los uno o más circuitos funcionales 15. El módulo de AVS 28 puede realizar otras características y funciones, como también se describirá con más detalle a continuación. El módulo de AVS 28 determina entonces si la nueva frecuencia operativa es mayor que la frecuencia operativa actual (bloque 62). Si la nueva frecuencia operativa no es mayor que la frecuencia operativa actual, el módulo de AVS 28 puede avanzar inmediatamente en la configuración de la señal de ajuste de frecuencia operativa 16 para la nueva frecuencia operativa, sin tener que determinar si el nivel de voltaje para los uno o más circuitos funcionales 15 debería ajustarse (bloque 63). Se sabe que los uno o más circuitos funcionales 15 pueden funcionar adecuadamente a una frecuencia operativa inferior para el ajuste del nivel de voltaje actual. Sin embargo, aún se desea reducir el nivel de voltaje actual, si es posible, para evitar o reducir el margen de voltaje. A este respecto, el módulo de AVS 28 espera que la nueva frecuencia operativa se asiente en los uno o más circuitos funcionales 15 (bloque 64) para determinar un nuevo nivel de voltaje para los uno o más circuitos funcionales 15. Esto puede llevar varios ciclos de reloj e iteraciones del bucle de sintonía 24.
[35] Una vez que la nueva frecuencia operativa se ha estabilizado, el módulo de AVS 28 determina si la nueva frecuencia operativa ha sido explorada previamente por el módulo de AVS 28 en la base de datos de AVS 44 (bloque 65). Si no es así, el módulo de AVS 28 programa el nivel de voltaje en un nivel de voltaje seguro conocido para la nueva frecuencia operativa (bloque 66). El nivel de voltaje seguro puede basarse en una configuración de DVS. Si la nueva frecuencia operativa ha sido explorada previamente por el módulo de AVS 28 en la base de datos de AVS 44 (bloque 65), el módulo de AVS 28 establece la señal de ajuste de nivel de voltaje 20 en el nuevo nivel de voltaje para los uno o más circuitos funcionales 15 basándose en el nivel de voltaje aprendido almacenado en la base de datos de AVS 44 (bloque 67). Como se expone con más detalle a continuación, el módulo de AVS 28 está configurado para almacenar los niveles de voltaje aprendidos correspondientes a las frecuencias operativas exploradas en la base de datos de AVS 44, para evitar o reducir el margen de voltaje en función de las condiciones de variación y funcionamiento de los uno o más circuitos funcionales 15. El nivel de voltaje aprendido será habitualmente más bajo que el nivel de voltaje seguro, reduciendo así el consumo de energía por los uno o más circuitos funcionales 15. Por lo tanto, el nivel de voltaje puede reducirse más rápidamente en los uno o más circuitos funcionales 15 que lo que sería mediante el uso de la base de datos de AVS 44 para almacenar los niveles de voltaje aprendidos. Esto se ilustra, por ejemplo, en las Figuras 5 y 6, que se exponen a continuación.
[36] La figura 5 ilustra un diagrama ejemplar de temporización de frecuencia operativa 80 de la señal de reloj 12 generada por el generador de reloj 14 bajo el control del AVS 11 en la figura 1. La Figura 6A ilustra un correspondiente diagrama ejemplar de temporización de nivel de voltaje 82 de la señal de voltaje 18 generada por el regulador de voltaje 22, también bajo el control del AVS 11 en la Figura 1. Como se ilustra en la Figura 5, la señal de reloj 12 está en la frecuencia operativa f3 desde el momento t3 al momento t4. En el momento t4, el módulo de AVS 28 ha establecido la nueva frecuencia operativa para el generador de reloj 14 en f (véase, por ejemplo, la Figura 4, bloque 63). La frecuencia operativa de la señal de reloj 12 comienza a caer desde f3 a f entre los momentos t4 y t5 y se estabiliza en la frecuencia f en el momento t5. Una vez que el módulo de AVS 28 ha determinado que la nueva frecuencia operativa se ha asentado en los uno o más circuitos funcionales 15 (véase, por ejemplo, la figura 4, bloque 64), el módulo de AVS 28 consulta la base de datos de AVS 44. El módulo de AVS 28 consulta la base de datos de AVS 44 para determinar si un nivel de voltaje para la nueva frecuencia operativa f ha sido previamente explorado y aprendido (véase, por ejemplo, la Figura 4, bloque 65). En este ejemplo, la base de datos de AVS 44 contenía un nivel de voltaje previamente explorado y aprendido para la nueva frecuencia operativa f (véase, por ejemplo, la Figura 4, bloque 67). Así, como se ilustra en el diagrama de temporización de nivel de voltaje 82 en la figura 6A, el módulo de AVS 28 fue capaz de fijar la señal de ajuste de nivel de voltaje 20 en el nivel de voltaje nuevo y previamente aprendido durante un ciclo de reloj sin tener que esperar que la nueva frecuencia operativa se asiente. De lo contrario, el módulo de AVS 28 no podría fijar la señal de ajuste del nivel de voltaje 20 en el nuevo nivel de voltaje en un ciclo de reloj como se ilustra en el diagrama de temporización de nivel de voltaje 83 de la Figura 6B. El proceso continúa regresando al inicio (bloque 59) para repetir las etapas en la Figura 4 en una forma de bucle cada vez que el módulo de AVS 28 recibe una nueva solicitud de frecuencia operativa.
[37] Si la nueva frecuencia de funcionamiento es mayor que la frecuencia operativa actual (bloque 62), como se ilustra, por ejemplo, en el momento t1 en el diagrama de temporización de nivel de voltaje 82 de la figura 6A, el módulo de AVS 28 no fija inmediatamente la señal de ajuste de frecuencia operativa 16 en la nueva frecuencia operativa. Esto se ilustra, por ejemplo, en el momento t1 en el diagrama de temporización de frecuencia operativa 80 de la Figura 5. Esto se debe a que el módulo de AVS 28 determina primero un nuevo nivel de voltaje para garantizar que los uno o más circuitos funcionales 15 funcionen correctamente antes de establecer la nueva frecuencia operativa. A este respecto, el módulo de AVS 28 determina si la nueva frecuencia operativa ha sido explorada previamente por el módulo de AVS 28 en la base de datos de AVS 44 (bloque 70). Si no es así, el módulo de AVS 28 programa el nivel de voltaje en un nivel de voltaje seguro conocido para la nueva frecuencia operativa (bloque 71). El nivel de voltaje seguro puede basarse en una configuración de DVS. Si la nueva frecuencia operativa ha sido explorada previamente por el módulo de AVS 28 en la base de datos de AVS 44 (bloque 70), el módulo de AVS 28 fija la señal de ajuste de nivel de voltaje 20 en el nuevo nivel de voltaje para los uno o más circuitos funcionales 15 basándose en el nivel de voltaje aprendido almacenado en la base de datos de AVS 44 (bloque 72). Nuevamente, el
5
10
15
20
25
30
35
40
45
50
55
60
65
módulo de AVS 28 está configurado para almacenar niveles de voltaje aprendidos correspondientes a frecuencias operativas exploradas en la base de datos de AVS 44, para reducir más rápidamente el nivel de voltaje para evitar o reducir el margen de voltaje en función de las condiciones de variación y funcionamiento de los uno o más circuitos funcionales 15. El nivel de voltaje aprendido será habitualmente más bajo que el nivel de voltaje seguro, reduciendo así el consumo de energía por los uno o más circuitos funcionales 15. A partir de entonces, el módulo de AVS 28 espera que el nuevo nivel de voltaje se asiente en los uno o más circuitos funcionales 15 (bloque 73) (por ejemplo, t1 a t2). Puede haber margen de frecuencia adicional mientras el módulo de AVS 28 espera a que se estabilice el nuevo nivel de voltaje antes de que se pueda establecer la nueva frecuencia operativa. Después de que el nuevo nivel de voltaje se ha asentado, el módulo de AVS 28 puede ajustar de forma segura la nueva frecuencia operativa para los uno o más circuitos funcionales 15 en la frecuencia operativa más alta (bloque 74) (por ejemplo, t1 a t3). El proceso continúa regresando al inicio (bloque 59) para repetir las etapas en la Figura 4 en una forma de bucle cada vez que el módulo de AVS 28 recibe una nueva solicitud de frecuencia operativa.
[38] La figura 7 ilustra un ejemplo de una tabla de valores aprendidos de AVS 90 que puede almacenarse y mantenerse en la base de datos de AVS 44 como parte de los niveles de voltaje de aprendizaje de AVS 11 para frecuencias operativas exploradas previamente. El módulo de AVS 28 en el AVS 11 puede consultar la tabla de valores aprendidos de AVS 90 para determinar si se ha explorado y aprendido previamente un nivel de voltaje para una frecuencia operativa particular, como se ha expuesto anteriormente (véase, por ejemplo, la Figura 4, bloques 65 y 70). El módulo de AVS 28 puede actualizar la tabla de valores aprendidos AVS 90 como parte de un proceso de actualización de la base de datos de AVS 44. En esta realización, como se ilustra en la figura 7, la tabla de valores aprendidos de AVS 90 es similar a la tabla de niveles de frecuencia / voltaje de AVS 50 en la figura 2. Sin embargo, la tabla de valores aprendidos de AVS 90 contiene una columna 'aprendido' 92 que indica si el nivel de voltaje correspondiente, almacenado en una columna de nivel de voltaje 94, fue explorado y aprendido previamente para la frecuencia operativa correspondiente en una columna de frecuencia operativa 96. Por ejemplo, la columna 'aprendido' 92 podría configurarse para almacenar un indicador de si el valor almacenado en la columna de nivel de voltaje 94 es un nivel válido de voltaje explorado y aprendido previamente o contiene datos iniciales o inválidos. Por ejemplo, el indicador podría ser un bit de validez 98 como se ilustra en la Figura 7. Un "1" lógico podría representar un valor válido, y un "0" lógico podría representar un valor inválido, o viceversa. Como se ilustra en la Figura 7, cada una de las frecuencias operativas, excepto 400 MHz, contiene niveles de voltaje previamente aprendidos.
[39] El módulo de AVS 28 puede continuar actualizando la tabla de valores aprendidos de AVS 90 en la base de datos de AVS 44 con ajustes de nivel de voltaje aprendido. Como se ha expuesto previamente, el módulo de AVS 28 puede configurarse con un ajuste de nivel de voltaje mínimo para todas las frecuencias operativas de los uno o más circuitos funcionales 15 que no pueden ser incumplidas. En este caso, el módulo de AVS 28 puede configurarse para no almacenar un ajuste de nivel de voltaje, aprendido en la base de datos de AVS 44, más bajo que el ajuste de nivel de voltaje mínimo para todas las frecuencias operativas de los uno o más circuitos funcionales 15.
[40] En este ejemplo, ciertos niveles de voltaje almacenados en la tabla de valores aprendidos de AVS 90 de la Figura 7 son menores que los niveles de voltaje correspondientes en la tabla de niveles de frecuencia / voltaje de AVS 50 en la Figura 2. Esto puede ser debido a que el AVS 11 tiene cuenta de las variaciones de retardo adicionales determinadas por el módulo de AVS 28 en la relación entre los niveles de voltaje y las frecuencias operativas en los uno o más circuitos funcionales 15. El módulo de AVS 28 puede configurarse para poblar los niveles de voltaje en la tabla de valores aprendidos de AVS 90, inicialmente con niveles seguros de voltaje para los uno o más circuitos funcionales, tales como los niveles de voltaje en la tabla de niveles de frecuencia / voltaje de AVS 50 de la Figura 2, hasta que el módulo de AVS 28 aprenda adaptativamente otros niveles de voltaje en función de las condiciones de variación del retardo. Habitualmente, los niveles de voltaje aprendidos serán más bajos en el nivel de voltaje que los niveles de voltaje iniciales, ya que el propósito del AVS 11 es reducir el margen de voltaje en función de los parámetros operativos y las condiciones de retardo en los uno o más circuitos funcionales 15.
[41] En otra realización, el AVS 11 está configurado para explorar la región de funcionamiento inválida de los uno o más circuitos funcionales 15 durante el tiempo de ejecución para evitar o reducir aún más el margen de voltaje. Antes de exponer las realizaciones de la exploración de la región inválida de funcionamiento de los uno o más circuitos funcionales 15, se describe en primer lugar un diagrama ejemplar de frecuencia operativa ante voltaje 100 en la Figura 8. Como se ilustra en la figura 8, los uno o más circuitos funcionales 15 tienen dos regiones de funcionamiento: una región válida de funcionamiento 102 y una región inválida de funcionamiento 104. Un conjunto de curvas características 106 de los uno o más circuitos funcionales 15 es una línea formada por los pares de valores de frecuencia operativa y de nivel de voltaje mínimo en la región válida de funcionamiento 102. La curva característica 106 separa la región válida de funcionamiento 102 de la región inválida de funcionamiento 104. Hay un nivel de voltaje mínimo para el funcionamiento adecuado de los uno o más circuitos funcionales 15, independientemente de la frecuencia operativa, que se ilustra, por ejemplo, como de 0,85 V en el diagrama de frecuencia operativa frente a voltaje 100 en la figura 8. Por encima de una frecuencia operativa definida, el nivel de voltaje mínimo debe aumentarse para mantener el funcionamiento correcto de los uno o más circuitos funcionales 15 en la región válida de funcionamiento 102.
[42] Una línea del ajustador dinámico a escala de voltaje (DVS) 108 indica el límite inferior de funcionamiento de los uno o más circuitos funcionales 15 en caso de que se emplee un DVS para controlar el nivel de voltaje en los uno
5
10
15
20
25
30
35
40
45
50
55
60
65
o más circuitos funcionales 15. La línea de DVS 108 proporciona el nivel de voltaje mínimo para la región de funcionamiento válida 102 entre todas las variaciones aceptables en los procesos y condiciones operativas en los uno o más circuitos funcionales 15. Las líneas de AVS 110 ilustran los límites de funcionamiento de los uno o más circuitos funcionales 15 inferiores a la línea de DVS 108. Las líneas de AVS 110 representan una reducción en el margen de voltaje debido a que el AVS 11 tiene en cuenta las variaciones de retardo en los procesos y las condiciones operativas en los uno o más circuitos funcionales 15 al determinar y establecer el nivel de voltaje en los uno o más circuitos funcionales 15. Hay dos líneas de AVS 112, 114 en el diagrama de frecuencia operativa frente a nivel de voltaje 100 en la Figura 8, que representan tres decisiones posibles del AVS 11 en la Figura 1. Esto se debe a los comparadores 38 que incluyen circuitos bi-estables de comparación que pueden tener alguna histéresis incorporada. Las tres decisiones posibles son las siguientes:
• condición "Vabajo", lo que significa que el nivel de voltaje actual es más alto que el necesario para el funcionamiento correcto de los uno o más circuitos funcionales 15;
• condición "Sin cambio", lo que significa que el nivel de voltaje actual es adecuado para el funcionamiento de los uno o más circuitos funcionales 15; y
• condición "Varaba", lo que significa que el nivel de voltaje actual es menor que el necesario para el funcionamiento adecuado de los uno o más circuitos funcionales 15.
[43] El punto deseable en el cual operar los uno o más circuitos funcionales 15 desde una perspectiva de consumo de potencia es la línea de AVS 114 que define la transición desde la región de operación, de "Sin cambio" a "Varaba". En esta línea de AVS 114, se proporciona el nivel de voltaje mínimo posible para mantener el funcionamiento adecuado de los uno o más circuitos funcionales 15. Sin embargo, se proporciona poca o ninguna tolerancia de margen de voltaje en la línea de AVS 114. Si la línea de AVS 114 fue utilizada por el módulo de AVS 28 para controlar el nivel de voltaje, podría producirse una condición "Varaba" que indicaría un funcionamiento inválido para los uno o más circuitos funcionales 15 debido al retardo de temporización asociado al AVS 11 que mide la frecuencia operativa de la señal del reloj 12. Como resultado, el módulo de AVS 28 puede establecer el nivel de voltaje en la región inválida de funcionamiento 104 durante ciertos períodos de tiempo. Una condición "Varaba" puede causar que el AVS 11 y los uno o más circuitos funcionales 15 se reinicien. Por lo tanto, en una realización del AVS 11, la línea de AVS 112 se usa para determinar el nivel de voltaje para una frecuencia operativa dada. La línea de AVS 112 reduce el margen de voltaje sobre la línea de DVS 108, pero incluye tolerancia de margen de voltaje sobre la línea de AVS 114 para evitar operar los uno o más circuitos funcionales 15 en la región inválida de funcionamiento 104. Las formas de realización descritas adicionalmente en la presente memoria reducen aún más el margen de voltaje desde la línea de AVS 112 hasta el margen de voltaje cero en la línea de AVS 114 o lo más cerca posible del margen de voltaje cero.
[44] A este respecto, una realización del AVS 11 está configurada para explorar la región inválida de funcionamiento de los uno o más circuitos funcionales 15 durante el tiempo de ejecución para reducir la tolerancia del margen de voltaje, tal como desde la línea de AVS 112 a la línea de AVS 114 en la Figura 8, como ejemplo. La exploración de la región inválida de funcionamiento permite que el módulo de AVS 28 determine si la tolerancia del margen de voltaje puede reducirse aún más dadas las restricciones inherentes de medición de tiempo del AVS 11. Con referencia a la figura 8 como ejemplo, esta realización puede permitir que el módulo de AVS 28 establezca el nivel de voltaje por debajo de la línea de AVS 112 y / o entre las líneas de AVS 112, 114 o la línea de AVS 114 para una tolerancia de margen de voltaje cero, si se desea. A este respecto, la figura 9 es un diagrama de flujo que ilustra un proceso ejemplar que puede ser realizado por el módulo de AVS 28 para explorar la región inválida de funcionamiento de los uno o más circuitos funcionales 15. Como está provisto en el mismo, el módulo 28 de AVS puede iniciar periódicamente una prueba de exploración de región inválida de funcionamiento (bloque 120). El módulo de AVS 28 registra la frecuencia operativa actual y el nivel de voltaje como un primer punto en la base de datos de AVS 44 (bloque 122). Este primer punto está etiquetado como p1 en la línea de AVS 112 ilustrada en el diagrama ejemplar de frecuencia operativa frente a nivel de voltaje 138 en la Figura 10. El diagrama ejemplar de frecuencia operativa frente a nivel de voltaje 138 en la Figura 10 es similar al diagrama 100 en la Figura 8, pero sin la línea de DVS 108 y con alguna información adicional incluida que será mencionada en el diagrama de flujo en la Figura 9.
[45] El módulo de AVS 28 simula a continuación aumentar la frecuencia operativa para determinar la región inválida de funcionamiento 104 (es decir, donde se produce una condición "Varaba") aumentando el retardo en las líneas de retardo 30 en el AVS 11 en la figura 1 (bloque 124). El módulo de AVS 28 determina entonces si se devuelve una condición "Varriba" en la señal de salida de retardo 42 como resultado del retardo incrementado (bloque 126). El módulo de AVS 28 continúa aumentando incrementalmente la magnitud del retardo proporcionado en las líneas de retardo 30 (bloque 128) hasta que se devuelve una condición "Varaba" al módulo de AVS 28 (bloque 126). Una vez que se devuelve una condición "Varaba", el módulo de AVS 28 registra el nivel de voltaje actual y la frecuencia operativa aumentada simulada como un segundo punto en la base de datos de AVS 44 (bloque 130), que se ilustra, por ejemplo, en la línea de AVS 114 en la figura 10 como el punto p2. El objetivo de esta prueba de AVS es determinar si el nivel de voltaje puede reducirse a la frecuencia operativa actual para reducir aún más el margen de voltaje en, o más cerca de, la línea de AVS 114, pero el punto p2 está en la frecuencia operativa simulada más
5
10
15
20
25
30
35
40
45
50
55
60
65
alta en la línea de AVS 114. Por lo tanto, el módulo de AVS 28 usa la pendiente de la línea de AVS 112, que puede determinarse a partir de los niveles de voltaje almacenados en la base de datos de AVS 44, para calcular un tercer punto p3 en la línea de AVS 114 (bloque 132). Se supone que las líneas de AVS 112, 114 tienen la misma pendiente, por lo que usar la pendiente de la línea de AVS 112 junto con la frecuencia operativa en el punto p2 puede permitir que el módulo de AVS 28 determine el nivel de voltaje más bajo en el punto p3 en la línea de AVS 114 para la frecuencia operativa actual.
[46] El módulo de AVS 28 puede entonces almacenar la nueva frecuencia operativa y el punto p3 de nivel de voltaje en la base de datos de AVS 44 (bloque 134), y la prueba de AVS termina (bloque 136). Por ejemplo, el módulo de AVS 28 puede almacenar el punto p3 en la tabla de valores aprendidos de AVS 90 (Figura 7) o la tabla de niveles de frecuencia / voltaje de AVS 50 (Figura 2) a utilizar para establecer el nuevo nivel de voltaje en la frecuencia operativa actual. Por ejemplo, como se ilustra en una tabla de frecuencia operativa ante nivel de voltaje 140 en la figura 11, el módulo de AVS 28 puede sobrescribir el nuevo nivel de voltaje (por ejemplo, el punto p3) sobre un nivel de voltaje almacenado actualmente para la frecuencia operativa (por ejemplo, el punto p1) en una tabla existente en la base de datos de AVS 44. Como otro ejemplo, la base de datos de AVS 44 puede configurarse para almacenar la diferencia entre el nivel de voltaje actual (por ejemplo, el punto p1) y el nivel de voltaje reducido para una frecuencia operativa dada provista por esta prueba (por ejemplo, el punto p3) en una tabla de diferencias de nivel de voltaje 142 ilustrada en la figura 12. El módulo de AVS 28 consultaría la tabla de diferencias de nivel de voltaje 142 para determinar si el nivel de voltaje determinado en la línea de AVS 112 podría reducirse aún más.
[47] Después de un reinicio, el módulo de AVS 28 todavía no habrá descubierto los niveles de voltaje para todas las frecuencias operativas posibles de los uno o más circuitos funcionales 15. El módulo de AVS 28 solo puede determinar niveles de voltaje a medida que se establece cada frecuencia operativa dada en la base de datos de AVS 44. Por lo tanto, cuando el módulo de AVS 28 establece una frecuencia operativa no fijada previamente, el módulo de AVS 28 puede seleccionar un nivel de voltaje inicial almacenado en la base de datos de AVS 44 para esa frecuencia operativa, como se ha descrito previamente. Puede haber margen de voltaje adicional para la nueva frecuencia operativa ya que el valor del nivel de voltaje inicial no es un nivel de voltaje aprendido de manera adaptativa por el módulo de AVS 28. Sin embargo, una vez que el módulo de AVS 28 aprende un nivel de voltaje para una frecuencia operativa dada, el módulo de AVS 28 podría acelerar la población de niveles de voltaje para frecuencias operativas en la base de datos de AVS 44. El módulo de AVS 28 podría configurarse para establecer automáticamente niveles de voltaje en la base de datos de AVS 44 a frecuencias operativas más bajas cuyos niveles de voltaje actuales son más altos que el nivel de voltaje descubierto. Esto es posible porque si se sabe que los uno o más circuitos funcionales pueden funcionar adecuadamente a un nivel de voltaje aprendido de manera adaptativa para una frecuencia operativa más alta, entonces ese nivel de voltaje también es adecuado para el funcionamiento a frecuencias más bajas.
[48] A este respecto, la figura 13 es un diagrama de flujo que proporciona un proceso ejemplar que puede ser realizado por el módulo de AVS 28 para acelerar la población de niveles de voltaje para frecuencias operativas en la base de datos de AVS 44. El módulo de AVS 28 puede ejecutar el proceso en cualquier momento, incluso una vez que se establece una nueva frecuencia operativa o en cualquier momento posterior. Como se ilustra en la figura 13, el proceso comienza (bloque 150), y el módulo de AVS 28 consulta la base de datos de AVS 44 por niveles de voltaje almacenados en la misma a frecuencias operativas que sean menores que la frecuencia operativa actual establecida por el módulo de AVS 28 (bloque 152). Si los niveles de voltaje almacenados en la base de datos de AVS 44 para cualquiera de las frecuencias operativas más bajas son mayores que el nivel de voltaje actual (bloque 154), el módulo de AVS 28 puede reemplazar los niveles de voltaje en la base de datos de AVS 44, para las frecuencias operativas más bajas, con el nivel de voltaje actual (bloque 156), y el proceso finaliza (bloque 158). De lo contrario, el proceso finaliza (bloque 158) sin alterar los niveles de voltaje para las frecuencias operativas más bajas en la base de datos de AVS 44. De esta manera, los niveles de voltaje para frecuencias operativas más bajas en la base de datos de AVS 44, que incluyen niveles de voltaje iniciales, por ejemplo, pueden poblarse rápidamente con niveles de voltaje inferiores de los que se sabe que mantienen un funcionamiento adecuado de los uno o más circuitos funcionales 15.
[49] La Figura 14 ilustra una tabla ejemplar de frecuencia operativa / nivel de voltaje de AVS 160 que puede almacenarse en la base de datos de AVS 44 de la Figura 1 para ilustrar adicionalmente una población acelerada de niveles de voltaje. Supóngase para este ejemplo que el módulo de AVS 28 determinó un nivel de voltaje de 1,0 V para una frecuencia operativa de 1 GHz, como se ilustra en la entrada 162 en la tabla de frecuencia operativa / nivel de voltaje de AVS 160. Si cualquier nivel de voltaje inicial en la tabla de frecuencia operativa / nivel de voltaje de AVS 160 es superior a 1,0 V, tal como las entradas 164, el módulo de AVS 28 podría reemplazar los niveles de voltaje para las entradas 164 con 1,0 V, como se ilustra en la figura 14. El margen de voltaje se reduce la primera vez que el módulo de AVS 28 establece la frecuencia operativa en la frecuencia de las entradas 164 en este ejemplo.
[50] Otra realización del AVS 11 incluye la incorporación de un sensor de temperatura en el AVS 11. Un sensor de temperatura 48 ya se ha expuesto previamente como un componente optativo en el AVS 11 en la figura 1. Si el sensor de temperatura 48 está incluido en el AVS 11, el módulo de AVS 28 puede almacenar determinados niveles de voltaje en función de la temperatura de funcionamiento actual en la base de datos de AVS 44. Como se ha
5
10
15
20
25
30
35
40
45
50
55
60
65
expuesto anteriormente, el nivel de temperatura de funcionamiento puede cambiar los niveles de voltaje para un funcionamiento adecuado de los uno o más circuitos funcionales 15. Por lo tanto, al almacenar niveles de voltaje adicionales en función del nivel de temperatura de funcionamiento, el módulo de AVS 28 puede evitar o reducir el margen de voltaje al mismo tiempo que garantiza el funcionamiento adecuado de los uno o más circuitos funcionales 15. A este respecto, la figura 15 proporciona una pluralidad de tablas ejemplares de frecuencia operativa / nivel de voltaje de AVS 170, cada una correspondiente a una temperatura operativa diferente T0 a Tn. Así, cuando el módulo de AVS 28 consulta la base de datos de AVS 44, como se provee en las realizaciones descritas en el presente documento, para determinar el nivel de voltaje para una frecuencia operativa dada, el módulo de AVS 28 puede usar los niveles de temperatura de funcionamiento recibidos desde la señal de nivel de temperatura 46 recibida desde el sensor de temperatura 48 para determinar qué tabla 170 consultar en la base de datos de AVS 44. Además, el módulo de AVS 28 puede usar los niveles de temperatura de funcionamiento recibidos desde el sensor de temperatura 48 para determinar qué tabla 170 en la base de datos de AVS 44 poblar con niveles de voltaje acelerados, explorados, aprendidos, iniciales, de acuerdo a las realizaciones divulgadas en el presente documento, u otros niveles de voltaje deseados cualesquiera. El módulo de AVS 28 puede configurarse para interpolar o extrapolar niveles de voltaje basados en múltiples tablas de frecuencia operativa / nivel de voltaje de AVS 170 si no se proporciona una tabla de frecuencia operativa / nivel de voltaje de AVS 170 en la base de datos de AVS 44 para un nivel de temperatura recibido desde el sensor de temperatura 48. Almacenar los niveles de voltaje en la base de datos de AVS 44 por nivel de temperatura operativa podría prolongar la frescura de los niveles de voltaje en la base de datos de AVS 44, ya que ciertas temperaturas operativas pueden no ocurrir a menudo a diferentes frecuencias operativas. Por lo tanto, podría incorporarse un elemento de tiempo optativo en la base de datos de AVS 44 para permitir que el módulo de AVS 28 invalide y / o devuelva entradas de nivel de voltaje más allá de una cierta edad a niveles de voltaje iniciales.
[51] Con cualquiera de las realizaciones mencionadas anteriormente, es posible que el módulo de AVS 28 pueda recibir una condición "Varriba". Los parámetros y / o algoritmos en el módulo de AVS 28 y / o la base de datos de AVS 44 pueden no tener perfectamente en cuenta todas las variaciones de retardo para todas las frecuencias operativas de los uno o más circuitos funcionales 15. Por lo tanto, en otra realización, el AVS 11 está configurado para "resguardar" o "retroceder" un nivel de voltaje previamente almacenado o aprendido para una frecuencia operativa actual si se generó una condición "Varriba" a la frecuencia operativa actual. Un "retroceso" o "resguardo" de un nivel de voltaje en la base de datos de AVS 44 incluye aumentar el nivel de voltaje para una frecuencia operativa dada en la base de datos de AVS 44, para aumentar el margen de voltaje si se produjera una condición "Varriba". Una condición "Varriba" es indicativa de un margen de voltaje negativo, en donde una región válida de funcionamiento de los uno o más o circuitos funcionales 15 requiere un margen cero o de voltaje positivo.
[52] A este respecto, la figura 16 proporciona un diagrama de flujo de un proceso ejemplar para aumentar el margen de voltaje cuando se detecta un reinicio de hardware involuntario que se cree causado por un nivel de voltaje demasiado bajo. Por ejemplo, una característica del bajo nivel de voltaje que causó un reinicio o avería puede ser la generación de errores de paridad de memoria caché, que son detectables. Este reinicio o avería de hardware puede dar como resultado una condición "Varriba" recibida por el módulo de AVS 28 en el AVS 11 de la Figura 1. En este caso, si tales errores ocurren una o más veces a una frecuencia operativa dada, el módulo de AVS 28 puede aumentar el nivel de voltaje correspondiente a la frecuencia operativa para aumentar el margen de voltaje para evitar reinicios futuros.
[53] A este respecto, como ejemplo, el módulo de AVS 28 puede configurarse para saltar a un controlador de excepciones mediante interrupción o de otro modo cuando se recibe una condición "Varriba" (bloque 180), como se ilustra en la Figura 16. En este caso, el módulo de AVS 28 luego agrega el margen de voltaje al nivel de voltaje, almacenado en la base de datos de AVS 44, asociado a la frecuencia operativa actual (bloque 182). El módulo de AVS 28 establece la señal de ajuste del nivel de voltaje 20 para hacer que el regulador de voltaje 22 añada el margen de voltaje al nivel de voltaje proporcionado a los uno o más circuitos funcionales 15 (bloque 184). El módulo de AVS 28 puede entonces marcar el nuevo nivel de voltaje en la frecuencia operativa actual como un nivel de voltaje mínimo que no puede ser penetrado por el módulo de AVS 28 al reiniciar y operar adicionalmente en esta realización (bloque 186), y el proceso finaliza (bloque 188). En otras palabras, una vez que se aprende que un nivel de voltaje dado generó una condición "Varriba" en el AVS 11, el módulo de AVS 28 no debería reducir el nivel de voltaje para la frecuencia operativa actual en el futuro. Alternativamente, el módulo de AVS 28 podría configurarse para permitir que se sobrescriba el nivel de voltaje en la base de datos de AVS 44 si se determina un nivel de voltaje inferior durante el funcionamiento normal futuro.
[54] La base de datos de AVS 44 puede configurarse para almacenar un nivel de voltaje mínimo para los uno o más circuitos funcionales 15, para todas las frecuencias operativas, para asegurar que el nivel de voltaje establecido por el módulo de AVS 28 no caiga por debajo del nivel de voltaje mínimo para el funcionamiento de los uno o más circuitos funcionales 15. A este respecto, la figura 17 ilustra una tabla ejemplar de límites de nivel de voltaje mínimo 190 que puede almacenarse en la base de datos de AVS 44. El módulo de AVS 28 puede configurarse para consultar la tabla de límites de nivel de voltaje mínimo 190 en la base de datos de AVS 44 para una frecuencia operativa actual dada antes de que se establezca un nivel de voltaje. Si el nivel de voltaje determinado por el módulo de AVS 28 es menor que el nivel de voltaje mínimo en la tabla de límites de nivel mínimo de voltaje 190 para la frecuencia operativa actual, el módulo de AVS 28 establecerá el nivel de voltaje en la tabla de límites de nivel de
5
10
15
20
25
30
35
40
45
50
55
60
65
voltaje mínimo 190. La tabla de límites de nivel de voltaje mínimo 90 puede contener inicialmente el mismo nivel de voltaje para todas las frecuencias operativas (por ejemplo, 0,85 V). Sin embargo, si el módulo de AVS 28 está configurado para agregar margen de voltaje para una frecuencia operativa dada tras una condición ''Varriba'', el margen de voltaje agregado se puede agregar al nivel de voltaje mínimo en la tabla de límites de nivel de voltaje mínimo 190. Por ejemplo, si se recibió una condición "Varriba" a una frecuencia operativa de 600 MHz, el nivel de voltaje fue de 0,90 V y el margen de voltaje agregado fue de 0,05 V, puede almacenarse un nivel de voltaje mínimo de 0,95 V para una frecuencia operativa de 600 MHz en la tabla de límites de nivel de voltaje mínimo 190, como se ilustra en la Figura 17.
[55] En otra realización, el AVS 11 puede configurarse para compensar el nivel de voltaje para la inestabilidad de temperatura de sesgo negativo (NBTI). El efecto de NBTI aumenta lentamente el nivel de voltaje mínimo necesario para que algunos dispositivos semiconductores funcionen adecuadamente a lo largo del tiempo. Por ejemplo, un proceso de semiconductor específico puede caracterizarse porque el efecto de NBTI eleva el nivel de voltaje mínimo en 50 mV durante veinticuatro (24) meses de funcionamiento encendido, como se ilustra en el diagrama ejemplar de frecuencia operativa / nivel de voltaje 192 en la Figura 18. Como se ilustra en este documento, un nivel mínimo inicial de voltaje 194 es de 0,85 V para los uno o más circuitos funcionales 15. Sin embargo, debido al efecto de NBTI, un posterior nivel de voltaje mínimo 196 puede elevarse a 0,9 V a lo largo del tiempo. El módulo de AVS 28 puede configurarse para compensar la NBTI rastreando el tiempo de potencia total y aplicando un factor de corrección a los mínimos de nivel de voltaje previamente conocidos, almacenados en la base de datos de AVS 44. El factor de corrección puede aplicarse a un nivel de voltaje mínimo absoluto para los uno o más circuitos funcionales 15 en la base de datos de AVS 44, tal como en la tabla de límites de nivel de voltaje mínimo 190 ilustrada en la figura 17, por ejemplo. Alternativamente, el factor de corrección se puede aplicar a los niveles mínimos de voltaje en una tabla de AVS, que incluye cualquiera de las tablas descritas anteriormente en este documento. El módulo de AVS 28 puede configurarse para imponer el ajuste de nivel de voltaje mínimo compensado en la base de datos de AVS 44 si los ajustes de nivel de voltaje para cualquiera de las frecuencias operativas almacenadas en la misma están por debajo del ajuste de nivel de voltaje mínimo.
[56] A este respecto, la Figura 19 proporciona un diagrama de flujo de un proceso ejemplar de los niveles de voltaje de compensación de AVS 11 para los uno o más circuitos funcionales 15, debido a la NBTI. El proceso puede realizarse periódicamente en cada iteración del bucle de sintonía 24, en el que el módulo de AVS 28 determina la siguiente frecuencia operativa para los uno o más circuitos funcionales 15, o menos frecuentemente. El proceso puede iniciarse en un indicador de envejecimiento, que puede ser valores de tiempo predeterminados basándose en sondear un temporizador o un controlador de interrupciones, como ejemplos. El módulo de AVS 28 puede iniciar y mantener un temporizador en la base de datos de AVS 44 al reiniciarse para rastrear el tiempo de encendido (bloque 200). El temporizador puede estar contenido en la memoria no volátil en la base de datos de AVS 44 para mantenerse durante ciclos de potencia. Una vez que el módulo de AVS 28 determina que debería aplicarse una corrección del nivel de potencia en función del tiempo transcurrido (bloque 201), el módulo de AVS 28 determina que la corrección del nivel de voltaje debería aplicarse para el tiempo de encendido total en función del valor del temporizador en la base de datos de AVS 44 (bloque 202). La corrección del nivel de voltaje puede ser de 0 V o superior a 0 V. Además, la corrección del nivel de voltaje puede ser desfase solo hasta el nivel mínimo de voltaje para los uno o más circuitos funcionales 15, o un desfase para todos los ajustes de nivel de voltaje de AVS almacenados en la base de datos de AVS 44. Además, el módulo de AVS 28 también podría configurarse para compensar los niveles de voltaje almacenados en la base de datos de AVS 44 antes de aplicarse durante el funcionamiento sin cambiar o sobrescribir los ajustes de nivel de voltaje determinados por otros medios y almacenados en la base de datos de AVS 44, incluidos los descritos anteriormente en lo que antecede. La corrección del nivel de voltaje se aplica a la base de datos de AVS 44 en cualquier caso (bloque 204). El proceso se repite (bloque 200).
[57] La Figura 20 ilustra otro sistema ejemplar de AVS 210. El sistema de AVS 210 incluye un AVS 11' que es similar al AVS 11 en la figura 1. Los componentes comunes están etiquetados con números de elementos comunes. El AVS 11' incluye el módulo de AVS 28, la base de datos de AVS 44, lógica de reloj de línea de retardo 26, líneas de retardo programables 30, retardo de periodo de reloj 34, comparadores 38 y sensor de temperatura 48, de manera similar al AVS 11 de la figura 1. El funcionamiento del AVS para establecer el nivel de voltaje mínimo puede funcionar de acuerdo a cualquiera de las realizaciones descritas anteriormente. Sin embargo, el AVS 11' en la figura 20 también incluye un módulo ajustador dinámico a escala de voltaje (DVS) 212 y una tabla de DVS 214. El AVS 11' en la figura 20 puede haber sido un diseño alterado o actualizado en el que el módulo de AVS 28 y la base de datos de AVS 44 se añadieron a un sistema que ya incluye el módulo DVS 212 y la tabla de DVS 214. El módulo DVS 212 realiza el ajuste dinámico a escala de voltaje comunicando una señal de ajuste de nivel de voltaje 216 al regulador de voltaje 22 de acuerdo a una estimación de carga de trabajo 213 para los uno o más circuitos funcionales 15. Sin embargo, en esta realización, el módulo de AVS 28 también está provisto para ajustar a escala adaptativamente el nivel de voltaje en función de las condiciones de variación de retardo en los uno o más circuitos funcionales 15. El módulo de AVS 28 proporciona un nivel determinado de voltaje de AVS o un ajuste del nivel de voltaje al módulo DVS 212 en respuesta a una solicitud del módulo DVS 212 al módulo de AVS 28. El módulo de AVS 28 consulta la base de datos de AVS 44 basándose en una frecuencia operativa actual y de destino, proporcionada desde el módulo DVS 212 al módulo de AVS 28. El módulo DVS 212 está configurado para establecer la señal de ajuste de nivel de voltaje 20 basándose en el nivel de voltaje almacenado en la tabla de DVS 214 que contiene niveles de
5
10
15
20
25
30
35
40
45
50
55
60
65
voltaje correspondientes a frecuencias operativas, según lo ajustado además por un nivel o margen de voltaje, proporcionado desde el módulo de AVS 28 a la Módulo DVS 212. El módulo de DVS 212 también genera una señal de ajuste de frecuencia operativa 218 para establecer la frecuencia operativa de la señal de reloj 12 generada por el generador de reloj 14 para controlar la conmutación de los uno o más circuitos funcionales 15.
[58] El nivel de voltaje determinado por el módulo de AVS 28 idealmente debería ser el mismo, o más bajo, que el nivel de voltaje determinado por el módulo DVS 212, ya que el módulo de AVS 28 está configurado para evitar o reducir adicionalmente el margen de voltaje. El módulo de AVS 28 puede establecer el retardo en las líneas de retardo (DL) 30 del circuito de retardo 25 mediante una señal de ajuste de línea de retardo 220, como se ilustra en la figura 20, para encontrar la región inválida de funcionamiento de los uno o más circuitos funcionales 15, como se ha descrito previamente. En esta realización, la señal de ajuste de línea de retardo 220 es un registro de retardo de 32 bits 222 que controla la magnitud del retardo. Los ajustes de retardo pueden ser lineales o no. La señal de ajuste de línea de retardo 220, con el valor del registro de retardo de 32 bits 222, se comunica a las líneas de retardo 30, como se ha expuesto previamente, en una pluralidad de circuitos de AVS 224 1 a N. Puede proporcionarse una pluralidad de registros de retardo 222, controlando cada uno la magnitud del retardo en un circuito de AVS dado 224. Aunque no se muestra, cada circuito de AVS 224 incluye lógica de reloj de línea de retardo 26, líneas de retardo 30, comparadores 38 y retardo de periodo de reloj 34, similares a lo proporcionado en el AVS 11 de la figura 1. Los circuitos de AVS 224 incluyen lógica de retardo para simular el retardo en varios tipos de circuitos incluidos en los uno o más circuitos funcionales 15. Se puede proporcionar cualquier número de circuitos de AVS 224 deseados. La frecuencia operativa de la lógica en el circuito de AVS 224 y la potencia también se proporcionan a partir de la señal de reloj 12 y la señal de voltaje 18 generadas, respectivamente, por el generador de reloj 14 y el regulador de voltaje 22. Los comparadores 38 proporcionan información de margen de temporización en otro registro de retardo de 32 bits 226, a comunicar mediante la señal de salida de retardo 42 para proporcionar información de margen de temporización al módulo de AVS 28. La información de temporización se usa para determinar la siguiente frecuencia operativa y el siguiente nivel de voltaje, como se ha descrito previamente.
[59] Los sistemas de AVS y los AVS y los procedimientos relacionados que se describen en este documento pueden proporcionarse en hardware discreto, o en componentes tanto de hardware como de software. Los sistemas de AVS y los AVS y los procedimientos relacionados descritos en este documento pueden usarse para establecer una frecuencia operativa y un nivel de voltaje para cualquier circuito o sistema, incluyendo, pero sin limitarse a, un circuito digital síncrono, un sistema de unidad de procesamiento central (CPU) y un circuito o sistema de memoria. Si se emplea en un circuito o sistema de memoria, el circuito o sistema de memoria puede emplear cualquier tipo de memoria. Los ejemplos incluyen, sin limitación, memoria de acceso aleatorio (RAM) estática (SRAM), RAM dinámica (DRAM), DRAM síncrona (sDrAM), SDRAM de doble velocidad de datos (DDR), SDRAM dos de doble velocidad de datos (DdR2), SDRAM tres de doble velocidad de datos (DDR3), SDRAM de dDr Móvil (MDDR), SDRAM de DDR de baja potencia (LP) y SDRAM de DDR2 de LP. Cualquiera de los componentes de un circuito o sistema de memoria cuya frecuencia operativa y nivel de voltaje están controlados por los AVS puede estar en cualquier dominio de voltaje entre una pluralidad de dominios de voltaje, siempre que la memoria esté alimentada por un dominio de voltaje que proporcione un nivel de voltaje suficiente para mantenga la célula de memoria funcional, si es requerido por la tecnología y / o diseño de la memoria.
[60] Los sistemas de AVS y los AVS según los diseños y procedimientos expuestos en este documento pueden incluirse o integrarse en un troquel semiconductor, un circuito integrado y / o un dispositivo, incluyendo un dispositivo electrónico y / o un dispositivo o sistema basado en procesador. Ejemplos de tales dispositivos incluyen, sin limitación, un decodificador, una unidad de entretenimiento, un dispositivo de navegación, un dispositivo de comunicaciones, un asistente digital personal (PDA), una unidad de datos de ubicación fija, una unidad de datos de ubicación móvil, un teléfono móvil, un teléfono celular, un ordenador, un ordenador portátil, un ordenador de escritorio, un monitor, un monitor de ordenador, un televisor, un sintonizador, una radio, una radio satelital, un reproductor de música, un reproductor de música digital, un reproductor de música portátil, un reproductor de vídeo, un reproductor de vídeo digital, un reproductor de disco de vídeo digital (DVD) y un reproductor de vídeo digital portátil.
[61] La Figura 21 ilustra un sistema 230 basado en procesador que puede emplear un AVS 232 y circuitos relacionados descritos anteriormente. El sistema 230 basado en procesador puede incluirse en un dispositivo electrónico 234. El AVS 232 puede incluirse en una CPU 236 para controlar una frecuencia operativa de una señal de reloj y un nivel de voltaje de una señal de voltaje proporcionada a uno o más procesadores 238 en la CPU 236. La CPU 236 está acoplada a un bus de sistema 240, que interconecta los otros dispositivos incluidos en el sistema basado en procesador 230. Un AVS 241 también se puede incluir en una unidad procesadora de gráficos (GPU) 243 acoplada al bus de sistema 240. Como es bien sabido, la CPU 236 y / o la GPU 243 pueden comunicarse con estos otros dispositivos intercambiando información de dirección, control y datos a través del bus de sistema 240. Estos dispositivos pueden incluir cualquier tipo de dispositivo. Como se ilustra en la figura 21, estos dispositivos pueden incluir memoria del sistema 242, uno o más dispositivos de entrada 244, uno o más dispositivos de salida 246, un dispositivo de interfaz de red 248 y un controlador de pantalla 250, como ejemplos.
[62] Los uno o más dispositivos de entrada 244 pueden incluir cualquier tipo de dispositivo de entrada, que incluye, pero no se limita a, teclas de entrada, conmutadores, procesadores de voz, etc. Los uno o más dispositivos
5
10
15
20
25
30
35
40
45
50
55
60
65
de salida 246 pueden incluir cualquier tipo de dispositivo de salida, incluyendo, pero sin limitarse a, audio, vídeo, otros indicadores visuales, etc. El dispositivo de interfaz de red 248 puede ser cualquier dispositivo configurado para permitir el intercambio de datos hacia y desde una red 252. La red 252 puede ser cualquier tipo de red, incluyendo, pero sin limitarse a, una red cableada o inalámbrica, una red privada o pública, una red de área local (LAN), una red de área local amplia (WLAN) e Internet. El dispositivo de interfaz de red 248 puede dar soporte a cualquier tipo de protocolo de comunicación deseado.
[63] La CPU 236 también puede acceder a la memoria del sistema 242 a través del bus de sistema 240. La memoria de sistema 242 puede incluir memoria estática y / o memoria dinámica. La memoria de sistema 242 puede incluir un almacén de programas 254 y un almacén de datos 256 para la CPU 236. La CPU 236 también puede acceder al controlador de pantalla 250 a través del bus de sistema 240 para controlar la información enviada a una pantalla 258. El controlador de pantalla 250 puede incluir un controlador de memoria 260 y una memoria 262 para almacenar datos a enviar a la pantalla 258 en respuesta a las comunicaciones con la CPU 236. El controlador de pantalla 250 comunica la información de pantalla a la pantalla 258 mediante un procesador de vídeo 264, que procesa la información a exhibir en un formato adecuado para la pantalla 258. La pantalla 258 puede incluir cualquier tipo de pantalla, incluyendo, pero sin limitarse a, un tubo de rayos catódicos (CRT), una pantalla de cristal líquido (LCD), una pantalla de plasma, etc.
[64] Los expertos en la técnica apreciarán además que los diversos bloques lógicos, módulos, circuitos y algoritmos ilustrativos descritos en relación con las realizaciones divulgadas en el presente documento pueden implementarse como hardware electrónico, instrucciones almacenadas en la memoria o en otro medio legible por ordenador y ejecutadas por un procesador u otro dispositivo de procesamiento, o combinaciones de ambas. Para ilustrar claramente esta intercambiabilidad, anteriormente se han descrito diversos componentes, bloques, módulos, circuitos y etapas ilustrativos, generalmente en términos de su funcionalidad. Cómo se implementa dicha funcionalidad depende de la aplicación en particular, de las elecciones de diseño y/o de las restricciones de diseño que se imponen en el sistema general. Los expertos en la técnica pueden implementar la funcionalidad descrita de formas distintas para cada aplicación particular, pero no debería interpretarse que dichas decisiones de implementación causan un alejamiento del alcance de la presente divulgación.
[65] Los diversos bloques lógicos, módulos y circuitos ilustrativos, descritos con relación a los modos de realización divulgados en el presente documento, pueden ser implementados o realizados con un procesador, un procesador de señales digitales (DSP), un Circuito Integrado Específico de la Aplicación (ASIC), una formación de compuertas programables en el terreno (FPGA) u otro dispositivo lógico programable, compuerta discreta o lógica de transistor, componentes discretos de hardware o cualquier combinación de los mismos diseñada para realizar las funciones descritas en el presente documento. Un procesador puede ser un microprocesador pero, como alternativa, el procesador puede ser cualquier procesador, controlador, micro-controlador o máquina de estado convencional. Un procesador también puede implementarse como una combinación de dispositivos informáticos, por ejemplo, una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores junto con un núcleo de DSP o cualquier otra configuración de este tipo.
[66] Las realizaciones divulgadas en el presente documento pueden realizarse en hardware y en instrucciones que se almacenan en hardware, y pueden residir, por ejemplo, en memoria de acceso aleatorio (RAM), memoria flash, memoria de sólo lectura (ROM), memoria ROM eléctricamente programable (EPROM), memoria ROM programable borrable eléctricamente (EEPROM), registros, un disco duro, un disco extraíble, un CD-ROM o en cualquier otra forma de medio legible por ordenador conocido en la técnica. Un medio de almacenamiento ejemplar está acoplado al procesador de tal manera que el procesador pueda leer información de, y escribir información en, el medio de almacenamiento. De forma alternativa, el medio de almacenamiento puede estar integrado en el procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC. El ASIC puede residir en una estación remota. Como alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en una estación remota, una estación base o un ordenador central.
[67] También se hace notar que las etapas operativas descritas en cualquiera de los modos de realización ejemplares en el presente documento están descritas para proporcionar ejemplos y debate. Las operaciones descritas pueden realizarse en numerosas secuencias diferentes distintas de las secuencias ilustradas. Además, las operaciones descritas en una única etapa operativa pueden realizarse realmente en varias etapas diferentes. Adicionalmente, pueden combinarse una o más etapas operativas analizadas en los modos de realización ejemplares. Se entenderá que las etapas operativas ilustradas en los diagramas de flujo pueden someterse a numerosas modificaciones diferentes, como resultará inmediatamente evidente para un experto en la técnica. Los expertos en la técnica también entenderán que la información y las señales pueden representarse usando cualquiera entre una diversidad de tecnologías y técnicas diferentes. Por ejemplo, los datos, las instrucciones, los comandos, la información, las señales, los bits, los símbolos y los elementos que puedan haber sido mencionados a lo largo de la descripción anterior pueden representarse mediante voltajes, corrientes, ondas electromagnéticas, campos o partículas magnéticos, campos o partículas ópticos o cualquier combinación de los mismos.
[68] La descripción previa de la invención se proporciona para permitir a cualquier persona experta en la técnica hacer o usar la invención.

Claims (13)

10
15
20 2.
3.
25
30
4.
35
5.
40
6.
45
50 7.
8.
55
60
REIVINDICACIONES
Un procedimiento para establecer un nivel de voltaje asociado a cada una de una o más frecuencias operativas, comprendiendo el procedimiento:
aprender adaptativamente un primer nivel de voltaje operativo durante el funcionamiento de un circuito funcional, mediante un módulo Ajustador Adaptativo a Escala de Voltaje, AVS, para una primera de las frecuencias operativas, siendo el primer nivel de voltaje operativa un nivel de voltaje mínimo aceptable que permite el funcionamiento estable de un circuito funcional en la primera frecuencia operativa;
almacenar el primer nivel de voltaje operativo en una base de datos con la primera frecuencia operativa;
determinar una o más frecuencias operativas adicionales en la base de datos, que sean más bajas que la primera frecuencia operativa y que tengan respectivos niveles asociados de voltaje operativo que son más altos que el primer nivel de voltaje operativo (152, 154); y
para cada una de las una o más frecuencias operativas adicionales, reemplazar su nivel actual de voltaje operativo asociado por el primer nivel de voltaje operativo.
El procedimiento de la reivindicación 1, en el que el nivel actual de voltaje operativo para cada una de las una o más frecuencias operativas adicionales determinadas, se reemplaza con el primer nivel de voltaje operativo una vez que el primer nivel de voltaje operativo se aprende o almacena en la base de datos.
El procedimiento de la reivindicación 1 o 2, en el que la determinación adaptativa del primer nivel de voltaje operativo comprende:
recibir una señal de entrada en al menos un circuito de retardo;
retardar la señal de entrada en una magnitud de retardo relacionada con al menos un trayecto de retardo de un circuito funcional para producir una señal de salida de retardo; y
determinar el primer nivel de voltaje operativo función de la señal de salida de retardo.
El procedimiento de la reivindicación 3, que comprende además almacenar una pluralidad de niveles de voltaje operativo, determinados de manera adaptativa, en la base de datos basándose en la información de retardo en la señal de salida de retardo.
El procedimiento de la reivindicación 4, que comprende además almacenar una pluralidad de niveles de voltaje aprendidos en la base de datos, basándose adicionalmente en un nivel de temperatura recibido desde un sensor de temperatura.
El procedimiento de la reivindicación 3, que comprende además:
aumentar la magnitud del retardo del al menos un trayecto de retardo para simular una frecuencia operativa incrementada para el circuito funcional; y
explorar una región de funcionamiento actualmente inválida del circuito funcional basándose en la frecuencia operativa aumentada simulada.
El procedimiento de la reivindicación 6, que comprende además determinar una tolerancia de margen de voltaje entre el nivel de voltaje actual para una frecuencia operativa actual del circuito funcional y la frecuencia operativa aumentada simulada en la región de funcionamiento inválida explorada.
Un procedimiento para proporcionar una señal de ajuste de nivel de voltaje, que comprende:
establecer un nivel de voltaje operativo asociado a cada una de una o más frecuencias operativas, de acuerdo a una cualquiera de las reivindicaciones 3 a 7;
recibir una solicitud de una señal de ajuste de nivel de voltaje para una frecuencia operativa;
determinar, a partir de la base de datos, si el nivel de voltaje asociado a la frecuencia operativa ha sido aprendido previamente para el circuito funcional; y
en el caso de que el nivel de voltaje haya sido aprendido previamente para el circuito funcional, generar una señal de ajuste de nivel de voltaje basándose en el nivel de voltaje asociado a la frecuencia operativa solicitada en la base de datos, sin esperar a que la señal de entrada se estabilice.
5
10
15
20
25
30
35
40
45
50
9. Un ajustador adaptativo a escala de voltaje, AVS (10), que comprende:
una base de datos (44) que almacena varias frecuencias operativas, teniendo cada frecuencia operativa un nivel de voltaje asociado almacenado en la base de datos;
un circuito de AVS (28) acoplado a la base de datos, estando configurado el circuito de AVS para generar una señal de ajuste de nivel de voltaje en función de un nivel de voltaje en la base de datos, asociada a una frecuencia operativa para el circuito funcional; y
medios para aprender de forma adaptativa un primera voltaje operativo durante el funcionamiento de un circuito funcional (15) para una primera de las frecuencias operativas, siendo el primer voltaje operativo un nivel de voltaje mínimo aceptable que permite un funcionamiento estable del circuito funcional en la primera frecuencia operativa;
en el que el AVS (10) está configurado para:
almacenar el primer voltaje operativo en la base de datos con la primera frecuencia operativa;
determinar una o más frecuencias operativas adicionales en la base de datos que sean más bajas que la primera frecuencia operativa y que tengan respectivos voltajes operativos asociados que sean más altos que el primer voltaje operativo (152, 154); y
para cada una de las una o más frecuencias operativas adicionales, reemplazar su voltaje operativo actual asociado por el primer voltaje operativo (156).
10. El AVS de la reivindicación 9, en el que el nivel de voltaje operativo actual para cada una de las una o más frecuencias operativas adicionales determinadas se reemplaza por el primer nivel de voltaje operativo una vez que se aprende o almacena el primer nivel de voltaje operativo en la base de datos.
11. El AVS de la reivindicación 9, en el que el circuito de AVS es controlable, al menos parcialmente, por
software.
12. El AVS de la reivindicación 9 u 11, comprendiendo los medios para determinar adaptativamente el primer voltaje al menos un circuito de retardo configurado para recibir una señal de entrada y retardar la señal de entrada en una magnitud de retardo relacionada con al menos un trayecto de retardo de un circuito funcional para producir una señal de salida de retraso.
13. El AVS de la reivindicación 12, en el que la base de datos (44) está compuesta por una pluralidad de niveles de voltaje iniciales que corresponden, cada uno, a una frecuencia operativa del circuito funcional; o
en el que el al menos un trayecto de retardo comprende al menos un trayecto de retardo programable.
14. El AVS según cualquiera de las reivindicaciones 9 a 13, en el que el circuito de AVS está configurado además
para almacenar una pluralidad de niveles de voltaje aprendidos en la base de datos, en función de la
información de retardo en la señal de salida de retardo.
15. Un circuito, que comprende: un circuito funcional; y
el ajustador adaptativo a escala de voltaje, AVS, de una cualquiera de las reivindicaciones 9 a 14, acoplado operativamente al circuito funcional.
ES15173586.7T 2009-03-30 2010-03-30 Ajuste a escala adaptativo de voltaje Active ES2678296T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US222779P 2000-08-03
US16488209P 2009-03-30 2009-03-30
US164882P 2009-03-30
US22277909P 2009-07-02 2009-07-02

Publications (1)

Publication Number Publication Date
ES2678296T3 true ES2678296T3 (es) 2018-08-10

Family

ID=42199391

Family Applications (2)

Application Number Title Priority Date Filing Date
ES10712241T Active ES2830123T3 (es) 2009-03-30 2010-03-30 Escalado de tensión adaptativo
ES15173586.7T Active ES2678296T3 (es) 2009-03-30 2010-03-30 Ajuste a escala adaptativo de voltaje

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES10712241T Active ES2830123T3 (es) 2009-03-30 2010-03-30 Escalado de tensión adaptativo

Country Status (8)

Country Link
US (3) US8797095B2 (es)
EP (2) EP2955605B1 (es)
JP (1) JP5259877B2 (es)
KR (1) KR101402178B1 (es)
CN (2) CN104536555B (es)
ES (2) ES2830123T3 (es)
HU (1) HUE038104T2 (es)
WO (1) WO2010117795A2 (es)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2955605B1 (en) 2009-03-30 2018-04-18 Qualcomm Incorporated Adaptive voltage scaling
US8661274B2 (en) * 2009-07-02 2014-02-25 Qualcomm Incorporated Temperature compensating adaptive voltage scalers (AVSs), systems, and methods
US8811068B1 (en) 2011-05-13 2014-08-19 Suvolta, Inc. Integrated circuit devices and methods
US8819603B1 (en) 2011-12-15 2014-08-26 Suvolta, Inc. Memory circuits and methods of making and designing the same
US8464199B1 (en) 2012-05-16 2013-06-11 International Business Machines Corporation Circuit design using design variable function slope sensitivity
US20140028364A1 (en) * 2012-07-27 2014-01-30 Lsi Corporation Critical path monitor hardware architecture for closed loop adaptive voltage scaling and method of operation thereof
TW201413437A (zh) * 2012-09-25 2014-04-01 Msi Computer Shenzhen Co Ltd 多階段降低cpu能耗的節能裝置
US20140136177A1 (en) * 2012-11-09 2014-05-15 Mediatek Inc. Critical path emulating apparatus using hybrid architecture
KR101979665B1 (ko) * 2012-11-22 2019-05-20 삼성전자 주식회사 구동 상태별 구동 조건 제어 방법 및 이를 지원하는 단말기
US9223327B1 (en) 2012-11-26 2015-12-29 Marvell International Ltd. Universal adaptive voltage scaling system
US9218044B2 (en) * 2012-11-27 2015-12-22 International Business Machines Corporation Computing system frequency target monitor
US8984308B2 (en) * 2012-12-03 2015-03-17 Qualcomm Incorporated System and method of adaptive voltage scaling
US9378803B2 (en) * 2013-03-15 2016-06-28 Qualcomm Incorporated System and method to regulate operating voltage of a memory array
DE102013206300B4 (de) * 2013-04-10 2014-11-27 RACYICS GmbH Hardware Performance Monitor für Mikroelektronische Schaltungen mit adaptiver Spannungsversorgungsregelung
US9304573B2 (en) * 2013-06-21 2016-04-05 Apple Inc. Dynamic voltage and frequency management based on active processors
US9195291B2 (en) 2013-06-21 2015-11-24 Apple Inc. Digital power estimator to control processor power consumption
CN103345299B (zh) * 2013-07-24 2016-03-30 华为技术有限公司 一种电压调整方法及相应的hpm、芯片和芯片系统
KR102135100B1 (ko) * 2013-08-23 2020-07-17 삼성전자주식회사 전자 장치의 동적 전압 주파수 제어 방법 및 장치
US9606605B2 (en) * 2014-03-07 2017-03-28 Apple Inc. Dynamic voltage margin recovery
CN104035018B (zh) * 2014-06-12 2017-04-19 华为技术有限公司 电压自适应调整电路和芯片
US10060955B2 (en) * 2014-06-25 2018-08-28 Advanced Micro Devices, Inc. Calibrating power supply voltages using reference measurements from code loop executions
KR102271469B1 (ko) 2014-10-24 2021-06-30 삼성전자주식회사 반도체 장치 및 이를 포함하는 반도체 시스템
WO2016087002A1 (en) * 2014-12-05 2016-06-09 Telefonaktiebolaget Lm Ericsson (Publ) Voltage regulator mechanism, electronic device, method and computer program
JP6377560B2 (ja) * 2015-03-24 2018-08-22 シャープ株式会社 情報処理装置、cpu印加電圧制御装置、情報処理装置の制御方法
US9484892B1 (en) 2015-09-10 2016-11-01 Qualcomm Incorporated Integrated circuit adaptive voltage scaling with de-aging
CN107132904B (zh) * 2016-02-29 2020-12-15 华为技术有限公司 一种ddr系统的控制系统及控制方法
KR20170124017A (ko) 2016-04-29 2017-11-09 삼성전자주식회사 동작 전압을 조절하는 메모리 장치, 메모리 장치를 제어하는 어플리케이션 프로세서 및 메모리 장치의 동작방법
US10338670B2 (en) 2016-06-10 2019-07-02 Microsoft Technology Licensing, Llc Input voltage reduction for processing devices
US10310572B2 (en) 2016-06-10 2019-06-04 Microsoft Technology Licensing, Llc Voltage based thermal control of processing device
US10209726B2 (en) 2016-06-10 2019-02-19 Microsoft Technology Licensing, Llc Secure input voltage adjustment in processing devices
US10248186B2 (en) 2016-06-10 2019-04-02 Microsoft Technology Licensing, Llc Processor device voltage characterization
KR20180055143A (ko) * 2016-11-16 2018-05-25 삼성전자주식회사 시스템 온 칩, 이를 포함하는 장치 및 이의 구동 방법
JP2018106591A (ja) * 2016-12-28 2018-07-05 ルネサスエレクトロニクス株式会社 半導体装置、動作制御方法、及びプログラム
US10430310B2 (en) * 2017-04-01 2019-10-01 Intel Corporation Dynamic voltage-frequency curve management
JP6297243B1 (ja) * 2017-07-11 2018-03-20 三菱電機株式会社 処理装置
CN109510621B (zh) * 2017-09-15 2022-06-17 瑞芯微电子股份有限公司 一种自适应电压频率调节方法和装置
WO2020152390A1 (en) * 2019-01-23 2020-07-30 Minima Processor Oy System with microelectronic circuit, and a method for controlling the operation of a microelectronic circuit
US11036275B2 (en) * 2019-03-29 2021-06-15 Intel Corporation Detection of known workload patterns
US11543872B2 (en) * 2019-07-02 2023-01-03 Microsoft Technology Licensing, Llc Dynamically adjusting device operating voltage based on device performance
US11579643B2 (en) * 2019-11-10 2023-02-14 Realtek Semiconductor Corp. Adaptive voltage scaling scanning method and associated electronic device
CN113031736A (zh) * 2019-12-09 2021-06-25 华为技术有限公司 一种电压调节方法和电子设备
US11747852B2 (en) * 2019-12-23 2023-09-05 Advanced Micro Devices, Inc. Method and apparatus for maintaining stable operation of servers in a data center

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944780B1 (en) 2002-01-19 2005-09-13 National Semiconductor Corporation Adaptive voltage scaling clock generator for use in a digital processing component and method of operating the same
US7698583B2 (en) * 2002-10-03 2010-04-13 Via Technologies, Inc. Microprocessor capable of dynamically reducing its power consumption in response to varying operating temperature
US7228242B2 (en) * 2002-12-31 2007-06-05 Transmeta Corporation Adaptive power control based on pre package characterization of integrated circuits
US20050076253A1 (en) * 2003-10-05 2005-04-07 De-Jen Lu Method of url-based power management and associated web browsing device
GB2408116B (en) * 2003-11-14 2006-09-20 Advanced Risc Mach Ltd Operating voltage determination for an integrated circuit
US7577859B2 (en) * 2004-02-20 2009-08-18 International Business Machines Corporation System and method of controlling power consumption in an electronic system by applying a uniquely determined minimum operating voltage to an integrated circuit rather than a predetermined nominal voltage selected for a family of integrated circuits
US8120410B2 (en) * 2004-06-15 2012-02-21 St-Ericsson Sa Adaptive control of power supply for integrated circuits
WO2006050747A1 (en) * 2004-11-10 2006-05-18 Freescale Semiconductor, Inc. Apparatus and method for controlling voltage and frequency using multiple reference circuits
US7257723B2 (en) * 2005-01-07 2007-08-14 Atheros Communications, Inc. Reducing power consumption in embedded systems by controlling voltage based on system state and partition designation
US7289921B1 (en) * 2005-05-26 2007-10-30 National Semiconductor Corporation System and method for providing an improved voltage monitor for an adjustable supply voltage in adaptive voltage scaling
US7417482B2 (en) * 2005-10-31 2008-08-26 Qualcomm Incorporated Adaptive voltage scaling for an electronics device
US7564259B2 (en) * 2005-12-13 2009-07-21 International Business Machines Corporation Digital circuit with dynamic power and performance control via per-block selectable operating voltage
CN100394797C (zh) * 2006-04-13 2008-06-11 上海交通大学 基于avs运动补偿的亮度插值器的vlsi实现方法
US9134782B2 (en) * 2007-05-07 2015-09-15 Nvidia Corporation Maintaining optimum voltage supply to match performance of an integrated circuit
WO2008141873A1 (en) * 2007-05-22 2008-11-27 International Business Machines Corporation Method and unit for power management of a microprocessor
EP2171489A2 (en) * 2007-07-19 2010-04-07 Nxp B.V. Semi-adaptive voltage scaling for low-energy digital vlsi-design
US8725488B2 (en) * 2007-07-26 2014-05-13 Qualcomm Incorporated Method and apparatus for adaptive voltage scaling based on instruction usage
US7915910B2 (en) 2009-01-28 2011-03-29 Apple Inc. Dynamic voltage and frequency management
EP2955605B1 (en) 2009-03-30 2018-04-18 Qualcomm Incorporated Adaptive voltage scaling
US8661274B2 (en) * 2009-07-02 2014-02-25 Qualcomm Incorporated Temperature compensating adaptive voltage scalers (AVSs), systems, and methods
US8378738B1 (en) * 2009-10-16 2013-02-19 Marvell International Ltd. Adaptive voltage scaling using a delay line
US8004329B1 (en) * 2010-03-19 2011-08-23 National Semiconductor Corporation Hardware performance monitor (HPM) with variable resolution for adaptive voltage scaling (AVS) systems
US8572426B2 (en) * 2010-05-27 2013-10-29 National Semiconductor Corporation Hardware performance monitor (HPM) with extended resolution for adaptive voltage scaling (AVS) systems
US8531225B1 (en) * 2012-05-18 2013-09-10 Mediatek Singapore Pte. Ltd. Configurable critical path emulator

Also Published As

Publication number Publication date
US20140225658A1 (en) 2014-08-14
WO2010117795A2 (en) 2010-10-14
CN104536555B (zh) 2017-05-24
KR101402178B1 (ko) 2014-05-30
US9092046B2 (en) 2015-07-28
JP5259877B2 (ja) 2013-08-07
EP2955605A1 (en) 2015-12-16
US9122291B2 (en) 2015-09-01
EP2414908B1 (en) 2020-08-12
ES2830123T3 (es) 2021-06-03
US8797095B2 (en) 2014-08-05
EP2955605B1 (en) 2018-04-18
CN104536555A (zh) 2015-04-22
CN102365606A (zh) 2012-02-29
JP2012522293A (ja) 2012-09-20
WO2010117795A3 (en) 2010-12-02
US20110080202A1 (en) 2011-04-07
KR20120003927A (ko) 2012-01-11
EP2414908A2 (en) 2012-02-08
HUE038104T2 (hu) 2018-09-28
US20140312951A1 (en) 2014-10-23
CN102365606B (zh) 2015-02-18

Similar Documents

Publication Publication Date Title
ES2678296T3 (es) Ajuste a escala adaptativo de voltaje
JP5499165B2 (ja) 温度補償適応型電圧スケーラ(avs)システムおよび方法
JP5745029B2 (ja) 測定された動作特性に基づいてクロック信号を調整するための回路、システムおよび方法
US8661284B2 (en) Method and system to improve the operations of a registered memory module
US20080001795A1 (en) Per die voltage programming for energy efficient integrated circuit (IC) operation
CN102246236B (zh) 使用多个电压域的电路中的信号路径延迟的自调谐
US11004499B1 (en) Latency control circuit and method
KR20100095830A (ko) 글리치 프리 및 파워 세이빙 기능을 갖는 시프트 레지스터 회로
US8988139B2 (en) Self-selected variable power integrated circuit
US12032840B2 (en) System level hardware mechanisms for dynamic assist control
US20230266899A1 (en) System level hardware mechanisms for dynamic assist control
KR20240072272A (ko) 메모리에 대한 동적 셋업 및 홀드 시간 조정
JP2011210336A (ja) 半導体装置及び制御方法