La gestión dinámica de la energía optimiza el rendimiento sobre la energía en las aplicaciones integradas para los procesadores Blackfin™
El rápido aumento de la demanda de los consumidores de productos que utilizan procesadores multimedia integrados requiere tanto un alto rendimiento como un bajo consumo de energía. Pero la mayor complejidad computacional y las velocidades de reloj más rápidas necesarias para el procesamiento de alto rendimiento son difíciles de conseguir utilizando esquemas de diseño tácticos de ahorro de energía. Lo que se necesita es una forma estratégica de gestionar el consumo de energía para optimizar el rendimiento frente a la energía para la aplicación integrada específica. Este enfoque es posible gracias a la tecnología inherente al ordenador gestión dinámica de la energía de las capacidades de la familia de procesadores Blackfin.
Los DSP de aleta negra son procesadores de señal digital de punto fijo dobles de 16 bits-MAC/duales de 40 bits-ALU. Son ideales para las aplicaciones multimedia sensibles a la energía porque admiten un enfoque de varios niveles de gestión de la energía que ajusta el rendimiento según los requisitos del sistema. Echemos un vistazo a algunas de las consideraciones clave sobre la energía en los sistemas embebidos y veamos cómo la familia Blackfin utiliza la gestión dinámica de la energía para resolverlas.
¿Cuáles son las estrategias típicas para ahorrar energía?
1. Cambiar la frecuencia y la tensión
Los DSP modernos se diseñan normalmente en un proceso que utiliza interruptores FET CMOS, que son totalmente en (y muy poco cargado) o completamente en (excepto las corrientes de fuga) durante el estado estacionario. La disipación de potencia estática (la potencia en reposo cuando el procesador está inactivo) suele ser mucho menor que la disipación de potencia dinámica causada por la carga y descarga de las capacitancias de carga de los transistores de efecto de campo a frecuencias de conmutación muy altas, cuando el dispositivo conmuta activamente y las tensiones oscilan.
La carga (Q) almacenada en la capacidad de carga equivalente del dispositivo es igual a la capacidad multiplicada por la tensión almacenada a través de ella (que es la tensión de alimentación del núcleo del DSP, Vnúcleo),
Q = CVnúcleo
Dado que la corriente del dispositivo para cargar esta capacitancia se define como la tasa de cambio de carga con respecto al tiempo, la corriente dinámica, Idynviene dada por
Idyn = dQ/dt = C(dVnúcleo/dt)
La tasa de cambio de la tensión del condensador con respecto al tiempo, dVnúcleo/dtes una medida de la velocidad de carga y descarga del condensador. Para una frecuencia de reloj determinada, Fel tiempo más rápido para una carga o descarga completa es un ciclo de reloj. Por lo tanto,
dVnúcleo/dt = Vnúcleo(F)
Idyn = C(dVnúcleo/dt) = CVnúcleoF
Por último, la disipación de potencia dinámica es proporcional a Vnúcleo × Idyno
Pdyn µ CVnúcleo2F
Así, es evidente que la disipación de potencia dinámica es proporcional al cuadrado de la tensión de funcionamiento y linealmente proporcional a la frecuencia de funcionamiento. Por lo tanto, al disminuir F disminuirá linealmente la disipación de potencia dinámica, al tiempo que se reduce Vnúcleo lo bajará exponencialmente (véase la figura 1).
Considera las tres funciones DSP diferentes combinadas en la Figura 1, todas ellas con requisitos de rendimiento muy diferentes:
F0(x) | 1.5 V | 300 MHz |
F1(y) | 1.0 V | 100 MHz |
F2(z) | 1.3 V | 225 MHz |
Por ejemplo, F0(x) podría ser un algoritmo de procesamiento de vídeo, F1(y) podría ser un modo de supervisión (en el que el DSP recoge datos y realiza un procesamiento mínimo), y F2(z) podría ser un proceso de transmisión de vídeo comprimido desde un puerto serie.
Cambiar sólo la frecuencia (no el voltaje) en una aplicación sensible a la energía es útil cuando el DSP tiene un periodo prolongado de actividad de control. En otras palabras, si el DSP estuviera esperando un disparo externo, no necesitaría funcionar a la máxima frecuencia.
Sin embargo, en algunas aplicaciones alimentadas por batería, el simple cambio de frecuencia puede no ser suficiente para ahorrar energía. Por ejemplo, si una aplicación ejecuta tres secciones de código, reducir la frecuencia de funcionamiento de una de esas secciones significa que esa sección de código en concreto tardará más en ejecutarse. Pero si el DSP funciona más tiempo, se gastará la misma cantidad de energía cuando se completen las tres secciones. Si, por ejemplo, la frecuencia se reduce en un factor de dos, el código tardará el doble en ejecutarse, por lo que no se consigue un ahorro neto de energía.
Por otro lado, se puede conseguir un considerable ahorro de energía reduciendo tanto la tensión como la frecuencia. Este ahorro en el consumo de energía puede modelarse mediante la siguiente ecuación:
PR/PN =(FCR/FCN)(VDDR/VNMS)2(TES/TFN)
donde
- PR/PN es la relación entre la potencia reducida y la potencia nominal
- FCN es la frecuencia de reloj nominal del núcleo
- FCR es la frecuencia de reloj reducida del núcleo
- VNMS es la tensión nominal de alimentación interna
- VDDR es la tensión de alimentación interna reducida
- TES es la duración de la corriente en FCR
- TFN es la duración de la corriente en FCN
Por ejemplo, la figura 2 muestra un escenario con las siguientes características:
- FCN = 300 MHz
- FCR = 100 MHz
- VNMS = 1.5 V
- VDDR = 1.0 V
- TES = 3
- TFN = 1
Así,
(PR/PN) = (100/300)(1.0/1.5)2 × (3/1) = 0.44 → ¡56% de ahorro!
Dado que los procesadores Blackfin no sólo tienen una frecuencia de funcionamiento programable, sino que también permiten cambiar el voltaje del núcleo junto con los cambios de frecuencia, se consumirá menos energía al ejecutar una sección de código a una frecuencia y voltaje menores, aunque el tiempo de ejecución sea mayor. La transición de tensión a frecuencia se realiza automáticamente en el ADSP-BF532, mientras que en el ADSP-BF535 se sigue una secuencia sencilla. Por supuesto, es importante recordar que los desarrolladores deben garantizar la integridad de los canales periféricos conectados a sistemas externos durante cualquier cambio en la frecuencia del reloj del sistema.
Una aplicación de videoteléfono ilustra cómo la capacidad de variar tanto la frecuencia de funcionamiento y de funcionamiento puede aprovecharse para alargar considerablemente la vida de la batería. Si, por ejemplo, sólo se necesita el máximo rendimiento (máxima frecuencia de reloj del núcleo) durante una conexión de vídeo, la frecuencia del núcleo puede reducirse a un determinado valor predefinido cuando el teléfono se utilice sólo para transacciones de voz. Para operar sólo con funciones de valor añadido insensibles al tiempo (por ejemplo, un organizador personal), la frecuencia puede reducirse aún más. Cada una de estas transiciones de frecuencia del PLL puede realizarse en menos de 40 microsegundos en los procesadores Blackfin.
Aplicación
Unidad de generación de reloj de aleta negra
El sitio generación del reloj unidadque alberga el bucle de bloqueo de fase (PLL) y los circuitos de control asociados, es una parte integral de la unidad gestión dinámica de la energía en los procesadores de aleta negra. El PLL es altamente programable, lo que permite al usuario controlar dinámicamente las características de rendimiento y la disipación de energía del procesador.
La figura 3 muestra un diagrama de bloques simplificado de la unidad de generación de reloj del ADSP-BF532. Se aplica una señal de entrada de cristal u oscilador (de 10 a 33 MHz) a la patilla CLKIN. A continuación, el PLL multiplica esta señal por un factor programable de 1× a 31×. A continuación, los divisores A y B generan de forma independiente las frecuencias del reloj central (CCLK) y del reloj del sistema/periférico (SCLK). La lógica de control garantiza que la frecuencia del reloj del sistema no supere la frecuencia del reloj central.
La gran ventaja de este enfoque es que el CCLK y el SCLK pueden cambiarse "sobre la marcha", con muy poca sobrecarga de ciclos. Así, los diseñadores no tienen que pensar dos veces en cambiar las frecuencias de reloj para satisfacer los diferentes requisitos de rendimiento de los distintos segmentos de su código. El ahorro lineal resultante en la disipación de potencia dinámica no tiene ningún coste de implementación desde la perspectiva del diseñador.
Otra característica de la unidad de generación de reloj es que se puede puentear para que la señal CLKIN pase directamente a CCLK. Esto permite utilizar un CCLK de muy baja frecuencia durante los intervalos de funcionamiento en vacío, para reducir aún más la disipación de energía total.
2. Modos flexibles de gestión de la energía
Muchas aplicaciones implican un conjunto de modos de funcionamiento que difieren notablemente en sus requisitos de procesamiento. Considera el sistema de la Figura 4, en el que un sensor alimentado por batería contiene un DSP que actúa como procesador central. Uno de los periféricos del DSP puede utilizarse para muestrear parámetros del entorno. En este "Modo A", que requiere muy poca potencia de procesamiento, el DSP puede leer paquetes esporádicos de datos de telemetría. Cuando ha leído suficientes datos para invocar un algoritmo de cálculo, el DSP pasa al "Modo B", un modo de cálculo intensivo. Es probable que también exista un "Modo C", para proporcionar una disipación de energía ultrabaja cuando no se espera ninguna información del sensor y no se requiere ningún procesamiento.
Los procesadores Blackfin tienen cuatro modos de funcionamiento distintos (correspondientes a cuatro perfiles de alimentación diferentes) que ofrecen características de rendimiento y disipación de energía seleccionables. El cuadro 1 resume las características de funcionamiento de cada modo.
Tabla 1. Características operativas
Modo de funcionamiento | Reloj central | Reloj del sistema | Ahorro de energía |
Full-on | Activado | Activado | Mínimo |
Activo (PLL puenteado) | Activado | Activado | Medio |
Dormir | Fuera de | Activado | Top |
Sueño profundo | Fuera de | Fuera de | Máximo |
Modo de funcionamiento completo
Full-on es el modo de máximo rendimiento del Blackfin. En este estado de ejecución, el procesador y todos los periféricos habilitados funcionan a plena velocidad. El PLL está activado, por lo que CCLK funciona a un múltiplo de CLKIN.
Modo activo
En Activos en modo activo, el PLL está habilitado pero puenteado, por lo que el CCLK viene directamente de CLKIN. Como CLKIN procede de una entrada de oscilador externo de no más de 33 MHz, este modo proporciona un importante ahorro de energía. La frecuencia del reloj del sistema (SCLK) también se reduce, ya que nunca supera a CCLK. Con el PLL anulado en este modo, es posible cambiar con seguridad la relación del multiplicador del PLL; sin embargo, los cambios sólo tienen efecto cuando el DSP vuelve a estar en Full-on modo. En el modo Activo, no sólo se puede anular el PLL, sino que también se puede desactivar, para un mayor ahorro de energía.
Modo de reposo
El sitio Dormir el modo de reposo reduce en gran medida la disipación de energía al desactivar el CCLK, que pone en reposo al núcleo del DSP. Sin embargo, el SCLK permanece habilitado para que la transferencia de datos siga teniendo lugar a la memoria L2 y a los periféricos. Para despertar del modo de reposo, el Blackfin proporciona una capacidad de despertar del núcleo del DSP, que funciona independientemente del controlador de eventos.
Modo de sueño profundo
El sitio Sueño profundo el modo de reposo profundo maximiza el ahorro de energía desactivando el PLL, el CCLK y el SCLK. En este modo, el núcleo del procesador y todos los periféricos, excepto el reloj en tiempo real (RTC) están desactivados. En el modo de sueño profundo, el pin de salida DEEP_SLEEP está activado, para permitir el control externo del modo de alimentación. El modo de sueño profundo sólo puede ser abandonado por un RTC interrumpir o restablecimiento del hardware evento. Una interrupción del RTC hace que el procesador pase al modo activo; un reinicio duro inicia la secuencia de reinicio duro.
3. Dominios de potencia separados
Los procesadores Blackfin admiten varios dominios de potencia, incluido un dominio de potencia dedicado bucle de bloqueo de fase (PLL), un dominio de potencia reloj en tiempo real (RTC) que puede alimentarse con una pequeña pila de botón externa, y dominios separados para los distintos periféricos. El procesador central también tiene su propio dominio de potencia. El uso de múltiples dominios de potencia maximiza la flexibilidad al tiempo que mantiene la conectividad directa con una amplia variedad de dispositivos disponibles en el mercado, como la SDRAM y la SRAM. Como se muestra en la Figura 5, los dominios de potencia separados permiten variar el voltaje del núcleo de la Blackfin sin interrumpir las conexiones con los dispositivos externos. Esta es una ventaja clave porque, como hemos visto antes, la potencia que consume un procesador es proporcional al cuadrado de su tensión de funcionamiento.
4. Utilizar una arquitectura de procesador eficiente
Otra forma, a menudo ignorada, de reducir el consumo de energía para una aplicación determinada es elegir una arquitectura de procesador eficiente arquitectura eficiente del procesador para esta aplicación. Características como las instrucciones especializadas y las estructuras de memoria rápidas pueden reducir significativamente el consumo de energía al disminuir el tiempo de ejecución global de los algoritmos. Además, las aplicaciones conscientes de la energía hacen que sea imperativo estructurar los algoritmos de forma eficiente, aprovechando las características arquitectónicas nativas, como los búferes de bucle de hardware y las cachés de instrucciones/datos. Esto es importante: los algoritmos complejos suelen consumir más energía, ya que utilizan más recursos. Si un algoritmo está optimizado, necesita menos instrucciones para ejecutarse. Cuanto más rápido complete todos sus pasos, más rápido podrá reducirse la tensión y la frecuencia del núcleo.
El consumo de energía puede optimizarse aún más en las arquitecturas que admiten la desactivación selectiva de los bloques funcionales no utilizados (por ejemplo, memorias en el chip, periféricos, relojes, etc.)
Los procesadores Blackfin proporcionan una capacidad adicional de control de la energía al permitir la programación dinámica de las entradas de reloj a cada dispositivo. Esto permite un control más fino de la disipación de energía. Además, los relojes internos se dirigen sólo a las partes habilitadas del dispositivo. Por ejemplo, en el ADSP-BF535, la memoria L2 de 256KB en el chip consta de ocho bancos de 32KB. Estos bancos se sincronizan sólo cuando se accede a ellos, una característica que puede suponer un importante ahorro de energía.
5. Herramientas de perfilado
La suite de herramientas Blackfin VisualDSP++ ofrece otra forma de optimizar el consumo de energía, ya que permite perfilar las aplicaciones para determinar los requisitos exactos de procesamiento de cada sección de un algoritmo. Las herramientas permiten a un diseñador de sistemas, en tiempo real, cuantificar el tiempo empleado en un determinado segmento de código. Al utilizar esta técnica en las aplicaciones alimentadas por batería, las frecuencias del núcleo y del sistema, así como la tensión del núcleo, pueden modificarse para que "coincidan" con los valores mínimos necesarios para realizar la tarea.
6. Regulación inteligente de la tensión
A partir del ADSP-BF532, los procesadores Blackfin ofrecen regulación de voltaje del núcleo en el chip. El primer procesador Blackfin, el ADSP-BF535, requiere un chip externo de gestión de la energía para permitir el control dinámico de los niveles de tensión del núcleo. El ADP3053 es un chip complementario que soporta la gestión de la energía del ADSP-BF535. El DSP utilizará hasta 3 pines para controlar los niveles de potencia proporcionados por el ADP3053. La pieza permite incrementos de tensión en el núcleo de 100 milivoltios, de 0,9V a 1,5V. Además, el ADP3053 proporciona una fuente de alimentación PLL de bajo ruido.
Conclusión
Los diseñadores que utilizan DSPs no deben sacrificar la potencia por el rendimiento. Hay muchas alternativas para ayudarles a equilibrar estos requisitos, a menudo conflictivos. Si se considera la gestión de la energía de forma estratégica, en lugar de táctica, se puede conseguir un ahorro significativo. La familia de procesadores Blackfin proporciona una plataforma excelente para realizar aplicaciones integradas de bajo consumo y alto rendimiento.
Si quieres conocer otros artículos parecidos a La gestión dinámica de la energía optimiza el rendimiento sobre la energía en las aplicaciones integradas para los procesadores Blackfin™ puedes visitar la categoría Generalidades.
Deja una respuesta
¡Más Contenido!