Circuitería para la predicción de elementos en reposo y lógica anti-atascamiento.

Un procedimiento para reducir el consumo de energía de un procesador programable que comprende:

monitorizar un tiempo

(S2) desde una última petición para una operación (IC) de una de una pluralidad de unidades funcionales (21) del procesador programable;

monitorizar un tiempo transcurrido desde un último apagado de la una unidad funcional (21);

cuando la una unidad funcional (21) está encendida y el tiempo desde la última petición (IC) supera un umbral (S3, Thn) que tiene un valor igual a un valor actual, apagar (S8) la una unidad funcional (21) con el fin de reducir la energía consumida por la una unidad funcional (21);

después de apagar la una unidad funcional (21), reactivar (S12) la una unidad funcional (21) en respuesta a una petición posterior (S10) para la operación de la una unidad funcional (21);

si al momento de la reactivación de la una unidad funcional (21) el tiempo (IP) transcurrido desde el cierre es menor que un valor establecido (S63), aumentar el umbral (Thn + 1) para tener un valor mayor que el valor actual (S64); pero

si en el momento de la reactivación de la una unidad funcional (21) el tiempo (IP) transcurrido desde el cierre no es menor que el valor establecido (S63), reducir el umbral (S69, S66, Thn + 1) para tener un valor menor que el valor actual; y

cuando la una unidad funcional está encendida y el tiempo desde la última petición (IC) no supera el umbral (S3, Thn), a continuación, en respuesta a la petición posterior para la operación de la una unidad funcional (21) reducir el umbral (S69, S66, Thn + 1) para tener el valor menor que el valor actual.

Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/US2006/017880.

Solicitante: QUALCOMM INCORPORATED.

Nacionalidad solicitante: Estados Unidos de América.

Dirección: 5775 MOREHOUSE DRIVE SAN DIEGO, CA 92121 ESTADOS UNIDOS DE AMERICA.

Inventor/es: DOCKSER,KENNETH,ALAN.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION G — FISICA > COMPUTO; CALCULO; CONTEO > TRATAMIENTO DE DATOS DIGITALES ELECTRICOS (computadores... > Detalles no cubiertos en los grupos G06F 3/00 - G06F... > G06F1/32 (Medios destinados a economizar energía)

PDF original: ES-2547377_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

Circuitería para la predicción de elementos en reposo y lógica antl-atascamiento Campo técnico

Las presentes enseñanzas se refieren a técnicas y arquitecturas de procesador para proporcionar de manera eficiente lógica de procesamiento complejo con menor consumo de energía cuando las funciones de procesamiento requieren menos que la capacidad completa de procesamiento.

Antecedentes

Muchos dispositivos utilizan procesadores integrados, tales como microprocesadores y procesadores de señales digitales, con arreglos complejos de lógica para la realización de funciones de procesamiento de datos de acuerdo con instrucciones del programa. Muchas aplicaciones de estos procesadores, por ejemplo en dispositivos portátiles tienen fuentes de alimentación por batería, necesitan un cuidadoso control del consumo de energía, por lo general, para prolongar la vida de una carga de la fuente de alimentación por batería. Muchas de las funciones o aplicaciones del procesador no requieren la capacidad completa de procesamiento del dispositivo procesador, o requieren la capacidad completa de procesamiento solamente durante un tiempo muy limitado. Si está totalmente alimentado de forma continua, sin embargo, la lógica no utilizada está consumiendo energía innecesariamente.

Tradicionalmente las puertas lógicas Complementary Metal Oxide Semiconductor (CMOS) han sido muy buenos a la hora de minimizar la energía consumida por los elementos en reposo, ya que sólo consumen energía dinámica cuando un circuito está conmutando activamente. Sin embargo, tienen también un componente estático, o de fuga, relacionado a su consumo de energía. Comúnmente, el componente dinámico ha superado ampliamente al estático. Sin embargo, en las tecnologías más nuevas submicronas-profundas, el componente estático está comenzando a contribuir con una cantidad significativa al consumo total de energía. Para poder llegar a ser energéticamente eficiente, los dispositivos modernos pueden necesitar limitar activamente la cantidad de energía estática disipada.

Para lograr reducción de energía, para aplicaciones embebidas alimentadas a pilas, como los teléfonos celulares, se han hecho intentos de apagar las partes no utilizadas de la lógica, por tanto eliminando la pérdida de energía de fuga. Algunos se han basado en el software de control para desactivar componentes lógicos no utilizados. Con este fin, las instrucciones en el programa pueden activar ciertos elementos del procesador cuándo van a ser necesarios y desactivar cuando no sean necesarios. Si bien esto se traduce en ahorro de energía, impone una sobrecarga adicional sobre el software y requiere que el programador controle activamente diversas funciones del procesador.

Se pueden utilizar sistemas automatizados para apagar un componente no usado después de una determinada cantidad de tiempo. Sin embargo, surgen casos en los que el apagado de un elemento lógico en base al tiempo es potencialmente problemático. El despertar o activar el componente puede resultar en un consumo de energía adicional. En algunos casos, se necesita más para encender el elemento que el mantener el elemento encendido durante algún periodo de tiempo corto. Además, se necesita tiempo para volver a activar un componente. El retraso o latencia resultante en reiniciar el componente puede resultar en interrupciones de procesador, que degrada el rendimiento.

Por lo tanto, es conveniente asegurarse de que el componente no se apaga repetidamente sólo para volver a encenderse un poco más tarde. El apagado y encendido repetido se puede denominar "atasco". El documento US 2004/153263 A1 divulga aparatos controladores dinámicos de potencia, sistemas y procedimientos para controlar la energía a los componentes. Se emplean valores de tiempo de inactividad dinámicamente controlados basados en el uso histórico del componente. En un ejemplo, se ordena a un controlador de disco apagar un disco duro cuando su tiempo de inactividad equivale a un tiempo de reposo de control de potencia calculado dinámicamente. El documento WO 00/26756 A1 divulga un aparato para la gestión de energía para un circuito en un sistema basado en procesador. Se determina un tiempo de acceso al sistema del circuito y se determina si el tiempo de acceso al sistema es menor que un primer valor predeterminado. Si es así, se incrementa un período de accesibilidad del circuito. Existe la necesidad de una técnica para controlar selectivamente la energía a un elemento de un procesador, a fin de reducir efectivamente el consumo de energía a la vez que evitando el atasco indebido.

Resumen

En un aspecto, las enseñanzas de la presente divulgación se refieren a un procedimiento para reducir el consumo de energía de un procesador programable. El procedimiento implica monitorizar el tiempo desde una última petición para una operación de una de las unidades funcionales del procesador programable. El tiempo transcurrido desde una última parada anterior de la unidad también se controla. Cuando el tiempo desde la última petición supera un umbral actual, este procedimiento apaga la una unidad funcional, con el fin de reducir la energía consumida por la una unidad funcional. La unidad se reactiva en respuesta a una petición posterior para la operación de la una unidad funcional. El procedimiento también incluye el ajuste del umbral. En el momento de la reactivación de la una unidad

funcional, si el tiempo desde el apagado es inferior a un valor establecido, el procedimiento aumenta el umbral actual a un nuevo umbral más alto.

Por ejemplo, el valor establecido puede ser igual al valor de intervalo actual que se utiliza como el umbral. Si el tiempo de apagado a la siguiente petición es corto, por ejemplo, menos del umbral antiguo, el incremento en el umbral ayuda a reducir futuros atascos. El umbral puede también ajustarse de modo incremental, típicamente como una disminución en el umbral de tiempo, en respuesta al intervalo desde la última petición anterior. La gradual disminución ayuda a optimizar la conservación de energía.

Otros aspectos de las presentes enseñanzas se refieren a un control de energía y / o a un procesador de control de energía utilizando ajuste de umbral.

El control de energía puede Incluir circuitería acoplada a una de las unidades funcionales, para activar y apagar selectivamente la una unidad funcional. El control incluye medios para el seguimiento de tiempo. En concreto, el tiempo se controla tanto desde una última petición previa para la operación de la una unidad funcional y desde el último apagado previo de la unidad. Medios de control apagan la una unidad funcional si el tiempo desde la última petición para la operación de la unidad funcional supera un valor actual de umbral. Los medios de control también sirven para aumentar el valor del umbral por encima de su valor actual, si una petición para la una unidad funcional se produce en un tiempo desde el último apagado previo de menos de un valor establecido.

Un aspecto de procesador de las presentes enseñanzas podría incluir unidades funcionales para el procesamiento de datos de acuerdo con Instrucciones y circuitos acoplados a una de esas unidades, para activar y apagar selectivamente la una unidad funcional. Un controlador de energía supervisa peticiones de operación de la una unidad funcional durante el procesamiento de instrucciones y controla el circuito para apagar la unidad. El controlador apaga la una unidad funcional a medida que pasa cada un Intervalo de tiempo desde una de las últimas peticiones previas Igual a un umbral ajustable. El controlador también reactiva la unidad funcional en respuesta a cada nueva petición de operación de la una unidad funcional después de un apagado. También se proporcionan medios para ajustar... [Seguir leyendo]

 


Reivindicaciones:

1. Un procedimiento para reducir el consumo de energía de un procesador programable que comprende:

monitorizar un tiempo (S2) desde una última petición para una operación (lc) de una de una pluralidad de unidades funcionales (21) del procesador programable;

monitorizar un tiempo transcurrido desde un último apagado de la una unidad funcional (21); cuando la una unidad funcional (21) está encendida y el tiempo desde la última petición (le) supera un umbral (S3, Thn) que tiene un valor igual a un valor actual, apagar (S8) la una unidad funcional (21) con el fin de reducir la energía consumida por la una unidad funcional (21);

después de apagar la una unidad funcional (21), reactivar (S12) la una unidad funcional (21) en respuesta a una petición posterior (S10) para la operación de la una unidad funcional (21);

si al momento de la reactivación de la una unidad funcional (21) el tiempo (Ir) transcurrido desde el cierre es menor que un valor establecido (S63), aumentar el umbral (Thn + i) para tener un valor mayor que el valor actual (S64); pero

si en el momento de la reactivación de la una unidad funcional (21) el tiempo (Ir) transcurrido desde el cierre no es menor que el valor establecido (S63), reducir el umbral (S69, S66, Thn +1) para tener un valor menor que el valor actual; y

cuando la una unidad funcional está encendida y el tiempo desde la última petición (lc) no supera el umbral (S3, Thn), a continuación, en respuesta a la petición posterior para la operación de la una unidad funcional (21) reducir el umbral (S69, S66, Thn + i) para tener el valor menor que el valor actual.

2. El procedimiento de la reivindicación 1, en el que el valor establecido es igual al valor actual del umbral (Thn).

3. El procedimiento de la reivindicación 1, en el que el valor mayor que el valor actual es dos veces el valor actual.

4. El procedimiento de la reivindicación 1, en el que la reducción del umbral (S69, S66, Thn + i) para tener el valor

menor que el valor actual comprende además:

si el tiempo desde la última petición (lc) supera un segundo valor establecido (S65),

reducir el umbral (Thn +1) para tener un valor Igual al mayor de un valor mínimo (S68, S67) o una primera cantidad restada del valor actual (S66); pero si el tiempo transcurrido desde la última petición (lc) no supera el segundo valor establecido (S65), reducir el umbral (S69, Thn + 1) para tener un valor Igual a una segunda cantidad proporcional a la diferencia entre el valor actual y el tiempo desde la última petición (lc) restado del valor actual, pero no menor que la primera cantidad restada del valor actual (S70) y no mayor que la primera cantidad añadida al valor actual (S71).

5. El procedimiento de la reivindicación 1, en el que la unidad funcional (21) comprende un elemento de lógica para la ejecución de una función aritmética.

6. El procedimiento de la reivindicación 5, en el que la función aritmética comprende una función de multiplicación o de división.

7. Control de energía (23) para un procesador programable que comprende una pluralidad de unidades funcionales (21), el control de energía (23) comprendiendo:

circuitería acoplada a una de las unidades funcionales (21), para activar o apagar selectivamente la una unidad funcional (21);

medios (31) para monitorizar un tiempo (S2) desde una última petición para una operación (lc) de la una unidad funcional (21) y un tiempo (S61) transcurrido desde un último apagado (lp) de la una unidad funcional (21); medios (41, 43, 45) para controlar la circuitería para que cuando la una unidad funcional (21) esté encendida y el tiempo desde la última petición (lc) supera un umbral (S3, Thn) que tiene un valor igual a un valor actual, apagar (S8) la una unidad funcional (21) con el fin de reducir la energía consumida por la una unidad funcional (21);

después de apagar la una unidad funcional (21), los medios para controlar la circuitería reactivando (S12) la una unidad funcional (21) en respuesta a una petición posterior (S10) para la operación de la una unidad funcional (21);

si al momento de la reactivación de la una unidad funcional (21) el tiempo (lp) transcurrido desde el apagado es menor que un valor establecido (S63), los medios para controlar la circuitería aumentando el umbral (Thn +1) para tener un valor mayor que el valor actual (S64); pero si en el momento de la reactivación de la una unidad funcional (21) el tiempo (lp) transcurrido desde el cierre no es menor que el valor establecido (S63), los medios para controlar la circuitería reduciendo el umbral (S69, S66, Thn +1) para tener un valor menor que el valor actual; y

cuando la una unidad funcional está encendida y el tiempo (lc) desde la última petición no supera el umbral (S3, Thn), a continuación, en respuesta a la petición posterior para la operación de la una unidad funcional (21),

8.

los medios para controlar la circuitería reduciendo el umbral (S69, S66, Thn + i) para tener el valor menor que el valor actual.

El control de energía (23) según la reivindicación 7, en el que el valor establecido es Igual al valor actual del umbral.

9.

El control de energía (23) según la reivindicación 8, en el que el aumento del umbral comprende el establecimiento de un nuevo valor de umbral (Th + i) Igual al doble del valor actual del umbral (Th).

10 10.

El control de energía (23) de la reivindicación 7, en el que las unidades funcionales (21) forman una pluralidad de etapas de procesamiento de una cadena de procesamiento, las etapas incluyen una etapa de ejecución, y la una unidad funcional (21) comprende un elemento de la etapa de ejecución.