Abreviatura | APM |
---|---|
Estado | Obsoleto |
Primera publicación | 1992 |
Última versión | 1.2 1996 |
Organización | Intel , Microsoft |
Sucesor | ACPI |
Dominio | Gestión de energía |
La gestión avanzada de energía ( APM ) es un estándar técnico para la gestión de energía desarrollado por Intel y Microsoft y lanzado en 1992 [1] que permite que un sistema operativo que ejecuta una computadora personal compatible con IBM trabaje con el BIOS (parte del firmware de la computadora ) para lograr la gestión de energía . [2]
La revisión 1.2 fue la última versión de la especificación APM, publicada en 1996. ACPI es el sucesor de APM. Microsoft dejó de ofrecer soporte para APM en Windows Vista . El núcleo de Linux todavía admite APM en su mayor parte, aunque la compatibilidad con APM CPU idle se eliminó en la versión 3.0.
APM utiliza un enfoque en capas para administrar dispositivos. Las aplicaciones compatibles con APM (que incluyen controladores de dispositivos) se comunican con un controlador APM específico del sistema operativo. Este controlador se comunica con el BIOS compatible con APM, que controla el hardware. Existe la posibilidad de optar por no participar en el control de APM en cada dispositivo, lo que se puede utilizar si un controlador desea comunicarse directamente con un dispositivo de hardware.
La comunicación se produce en ambos sentidos: los eventos de gestión de energía se envían desde el BIOS al controlador APM, y el controlador APM envía información y solicitudes al BIOS mediante llamadas de función. De esta manera, el controlador APM es un intermediario entre el BIOS y el sistema operativo.
La administración de energía se realiza de dos maneras: a través de las llamadas de función mencionadas anteriormente desde el controlador APM al BIOS solicitando cambios en el estado de energía, y automáticamente en función de la actividad del dispositivo.
En APM 1.0 y APM 1.1, la administración de energía está controlada casi en su totalidad por el BIOS. En APM 1.2, el sistema operativo puede controlar el tiempo de administración de energía (por ejemplo, el tiempo de espera de suspensión).
Hay 12 eventos de energía (como solicitudes de modo de espera, suspensión y reanudación y notificaciones de batería baja), además de eventos definidos por OEM , que se pueden enviar desde el BIOS de APM al sistema operativo. El controlador de APM sondea regularmente para detectar notificaciones de cambio de eventos.
Eventos de administración de energía: [1]
Nombre | Código | Comentario |
---|---|---|
Notificación de solicitud de espera del sistema | 0x0001 | |
Notificación de solicitud de suspensión del sistema | 0x0002 | |
Notificación del sistema de reanudación normal | 0x0003 | |
Notificación crítica del sistema de currículum | 0x0004 | |
Notificación de batería baja | 0x0005 | |
Notificación de cambio de estado de energía | 0x0006 | |
Notificación de actualización de hora | 0x0007 | |
Notificación de suspensión crítica del sistema | 0x0008 | |
Notificación de solicitud de espera del sistema de usuario | 0x0009 | |
Notificación de solicitud de suspensión del sistema de usuario | 0x000A | |
Notificación de reanudación del modo de espera del sistema | 0x000B | |
Notificación de cambio de capacidades | 0x000C | Debido a la instalación o inserción/extracción del dispositivo |
Hay 21 llamadas de función APM definidas que el controlador APM puede usar para consultar estados de administración de energía o solicitar transiciones de estado de energía. [1] Los ejemplos de llamadas de función incluyen informar al BIOS sobre el uso actual de la CPU (el BIOS puede responder a dicha llamada colocando la CPU en un estado de bajo consumo de energía o devolviéndola a su estado de máximo consumo de energía), recuperando el estado de energía actual de un dispositivo o solicitando un cambio de estado de energía.
Nombre | Código | Comentario |
---|---|---|
Comprobación de la instalación de APM | 0x00 | |
Conexión de interfaz de modo real APM | 0x01 | |
Conexión de interfaz de 16 bits en modo protegido APM | 0x02 | Evita el modo real o virtual86. |
Conexión de interfaz de 32 bits en modo protegido APM | 0x03 | Evita el modo real o virtual86. |
Desconexión de la interfaz APM | 0x04 | |
CPU inactiva | 0x05 | Solicita la suspensión del sistema. 0) Reloj detenido hasta interrupción del tictac del temporizador. 1) Reloj lento [1] |
CPU ocupada | 0x06 | El controlador le dice al sistema APM que restaure la velocidad del reloj de la CPU. |
Establecer estado de energía | 0x07 | Establecer el sistema o dispositivo en estado de suspensión/en espera/apagado. |
Habilitar/deshabilitar la administración de energía | 0x08 | |
Restaurar los valores predeterminados de encendido del BIOS de APM | 0x09 | |
Obtener estado de energía | 0x0A | Admite el estado de CA "En modo de respaldo" y el estado de la batería. |
Obtener evento de PM | 0x0B | Comprueba los eventos de APM. Se debe llamar una vez por segundo. |
Obtener estado de energía | 0x0C | |
Habilitar/deshabilitar la administración de energía del dispositivo | 0x0D | |
Versión del controlador APM | 0x0E | |
Activar o desactivar la gestión de energía | 0x0F | Gestión de APM para un dispositivo específico. |
Obtener capacidades | 0x10 | |
Obtener/Establecer/Deshabilitar temporizador de reanudación | 0x11 | |
Habilitar/Deshabilitar reanudar en el indicador de llamada | 0x12 | |
Habilitar/deshabilitar solicitudes basadas en temporizador | 0x13 | |
Comprobación de la instalación del APM OEM | 0x80 | Indica si el BIOS APM admite funciones dependientes del hardware OEM. |
Función APM OEM | 0x80 | Acceso a funciones específicas OEM. |
La especificación APM define los estados de energía del sistema y los estados de energía del dispositivo.
APM define cinco estados de energía para el sistema informático:
APM también define los estados de energía que el hardware compatible con APM puede implementar. No existe ningún requisito que obligue a un dispositivo compatible con APM a implementar todos los estados.
Los cuatro estados son:
El núcleo de la CPU (definido en APM como el reloj de la CPU, la memoria caché , el bus del sistema y los temporizadores del sistema) recibe un tratamiento especial en APM, ya que es el último dispositivo que se apaga y el primero que se enciende nuevamente. El núcleo de la CPU siempre se controla a través del BIOS de APM (no hay ninguna opción para controlarlo a través de un controlador). Los controladores pueden usar llamadas de función de APM para notificar al BIOS sobre el uso de la CPU, pero es responsabilidad del BIOS actuar en función de esta información; un controlador no puede decirle directamente a la CPU que entre en un estado de ahorro de energía.
Las especificaciones ATA y SATA definen las disposiciones APM para discos duros, que especifican un equilibrio entre la frecuencia de giro hacia abajo y el rendimiento siempre activo. A diferencia de la APM del lado BIOS, la APM ATA y la APM SATA nunca han quedado obsoletas. [3]
Las frecuencias de reducción de velocidad agresivas pueden reducir la vida útil de la unidad al acumular ciclos de carga innecesariamente; la mayoría de las unidades modernas están especificadas para soportar 300.000 ciclos y suelen durar al menos 600.000. Por otro lado, no reducir la velocidad de la unidad provocará un consumo de energía adicional y la generación de calor; las altas temperaturas también reducen la vida útil de los discos duros. [4]
La especificación ATA presenta este dato: el código de subcomando 05h permite al host habilitar la administración avanzada de energía. Para habilitar la administración avanzada de energía, el host escribe el registro Sector Count con el nivel de administración avanzada de energía deseado y luego ejecuta un comando SET FEATURES con el código de subcomando 05h.