Definición ACPI (Configuración avanzada e interfaz de alimentación)

Abril 24, 2024

ACPI, o interfaz de alimentación y configuración avanzada, es un estándar que proporciona una interfaz abierta para la configuración del dispositivo y la administración de energía por parte del sistema operativo. Permite que los sistemas realicen operaciones de ahorro de energía y gestión de dispositivos de forma dinámica y eficiente.

¿Qué es la interfaz de alimentación y configuración avanzada (ACPI)?

ACPI, o interfaz de energía y configuración avanzada, es una interfaz esencial a nivel de sistema y una especificación de administración de energía desarrollada para unificar y estandarizar la interacción entre los sistemas operativos y hardware para una administración y configuración efectiva de la energía. Proporciona los mecanismos para la detección, configuración y administración de energía de los componentes de hardware por parte del sistema operativo, lo que permite un control sofisticado de los recursos del sistema.

ACPI define una colección de tablas y código ejecutable (en forma de lenguaje de máquina ACPI o AML) que dictan cómo los componentes individuales y el sistema en su conjunto administran la energía y responden a las solicitudes de configuración. Esta especificación incluye metodologías detalladas para gestionar los estados de energía de dispositivos individuales (estados D), procesador estados (estados C para reducción de energía inactiva y estados P para escalamiento del rendimiento) y estados del sistema (estados S, como suspensión e hibernación). Además, ACPI va más allá de la mera administración de energía para incluir funcionalidades para el manejo de eventos del sistema, conexión en caliente de dispositivos y administración detallada de la batería y la temperatura.

¿Por qué es importante ACPI?

ACPI es importante por varias razones, principalmente porque mejora la funcionalidad de la computadora, la eficiencia energética y la experiencia del usuario:

  • Administración de energía Una de las funciones principales de ACPI es gestionar el consumo de energía en varios dispositivos conectados a un sistema informático. Esto es crucial para prolongar la duración de la batería en dispositivos portátiles como portátiles y teléfonos móviles. Al controlar cuándo los componentes individuales están activos o pueden ponerse en un estado de suspensión de bajo consumo, ACPI ayuda a conservar energía.
  • Estabilidad y rendimiento del sistema. ACPI facilita la gestión central de los recursos de hardware a través del sistema operativo. Este control centralizado permite un manejo más eficiente de los recursos y una mejor estabilidad del sistema. Dependiendo de la carga de trabajo actual, ACPI gestiona dinámicamente CPU estados de energía (estados C) y estados de rendimiento (estados P), optimizando el rendimiento y el uso de energía en tiempo real.
  • Abstracción de hardware. ACPI proporciona una forma estandarizada de interactuar con dispositivos de hardware, lo que simplifica el desarrollo del sistema operativo. Esta capa de abstracción permite que el sistema operativo realice la configuración del hardware y la administración de energía sin interactuar directamente con el hardware.
  • Configuraciones del sistema mejoradas. ACPI admite configuraciones complejas y sistemas a gran escala, incluidas funciones plug-and-play y intercambiables en caliente. Esta funcionalidad permite a los usuarios agregar y quitar dispositivos sin configurar manualmente el hardware ni reiniciar sus sistemas.

Una breve historia de ACPI

Desarrollado por las principales empresas tecnológicas Intel, Microsoft y Toshiba, ACPI se lanzó por primera vez en 1996. La iniciativa tenía como objetivo superar las limitaciones de estándares de administración de energía anteriores como APM (Advanced Power Management), que ofrecía solo un control limitado sobre la distribución de energía y no admite las entonces nuevas funcionalidades plug-and-play.

ACPI introdujo un método más sofisticado para administrar la energía que estaba controlado directamente por el sistema operativo, lo que permitía un control más preciso sobre los recursos de hardware. Esto fue crucial para el desarrollo de las computadoras portátiles, que exigían una mejor gestión de la batería para mejorar la usabilidad y la portabilidad. A medida que ACPI evolucionó, sus especificaciones se hicieron más ricas e incorporaron funciones que permitieron la gestión térmica, el intercambio en caliente y la generación de informes de estado más detallados del hardware.

Con revisiones sucesivas, como ACPI 2.0 en 2000 y versiones posteriores, el estándar agregó soporte para sistemas de 64 bits y nuevos tipos de hardware, mejorando la escalabilidad y la capacidad de manejar nuevas tecnologías a medida que surgían. Esta adaptabilidad aseguró la relevancia de ACPI a medida que los dispositivos informáticos se volvieron más diversos y los estándares de eficiencia energética más estrictos.

Hoy en día, ACPI es un componente fundamental en prácticamente todos los sistemas operativos y dispositivos informáticos, integral no sólo para la administración de energía sino también para garantizar una estabilidad y flexintegración de hardware ible.

Arquitectura ACPI

La arquitectura ACPI proporciona un marco integral para la configuración de dispositivos y la administración de energía. Está diseñado para permitir que los sistemas operativos interactúen con dispositivos de hardware de forma estandarizada, mejorando tanto la flexibilidad y eficiencia energética de un sistema. A continuación se ofrece una descripción general de los componentes clave que conforman la arquitectura ACPI.

Tablas ACPI

ACPI utiliza varias tablas para almacenar información sobre la configuración del hardware y el estado del sistema. Estas tablas son cruciales ya que contienen datos que el sistema operativo necesita para comprender las capacidades del hardware y cómo administrarlo. Las tablas más importantes son:

  • DSDT (Tabla de descripción del sistema diferenciado). Esta tabla contiene la mayoría de los datos ACPI de un sistema, incluidas las definiciones de la mayoría de los componentes de hardware y sus funciones de administración de energía.
  • SSDT (tabla de descripción del sistema secundario). Proporciona definiciones adicionales que podrían ser necesarias para los componentes del sistema no incluidos en el DSDT.
  • FADT (Tabla de descripción ACPI fija). Proporciona información estática necesaria para el funcionamiento correcto de varios componentes de hardware, incluida información a nivel del sistema y punteros a otras tablas.
  • MADT (Tabla de descripción APIC múltiple). Contiene información sobre los controladores de interrupciones del sistema y se utiliza principalmente en sistemas multiprocesador.

AML (lenguaje de máquina ACPI)

Las tablas ACPI están codificadas en un lenguaje de código de bytes llamado lenguaje de máquina ACPI (AML). Este lenguaje es interpretado por el componente ACPI en el sistema operativo, lo que permite que el sistema operativo administre los recursos de hardware del sistema directamente. AML se utiliza para definir eventos, configuraciones de dispositivos y estados de energía de manera independiente del hardware.

BIOS ACPI

El sistema de firmware or BIOS Incluye una implementación ACPI que proporciona las tablas e interfaces ACPI iniciales necesarias para que el sistema operativo asuma la gestión de los recursos del sistema. El BIOS ACPI es responsable de iniciar el entorno ACPI antes de entregar el control al sistema operativo.

Manejo de eventos

ACPI define un mecanismo para manejar varios eventos del sistema relacionados con la energía, la gestión térmica y otras funciones del sistema. Estos incluyen eventos como cambios en el estado de la batería, cambios de temperatura o actualizaciones del estado del hardware. El sistema operativo puede responder a estos eventos en tiempo real, ajustando las políticas del sistema dinámicamente para garantizar un rendimiento y un uso de energía óptimos.

Estados de poder

ACPI especifica varios estados de energía globales para el sistema, desde completamente encendido hasta completamente apagado, así como estados de energía específicos del dispositivo. Estos estados permiten que el sistema reduzca el uso de energía de forma incremental desactivando componentes no esenciales cuando no están en uso o según la configuración del usuario.

Interfaces del sistema operativo

El sistema operativo interactúa con ACPI a través de un componente llamado controlador ACPI. Este controlador es responsable de interpretar AML y ejecutar funciones ACPI. Actúa como un puente entre el hardware del sistema y el software, asegurando que el sistema operativo pueda administrar eficientemente los recursos de hardware de acuerdo con las especificaciones ACPI.

Capacidades ACPI

ACPI ofrece una amplia gama de capacidades esenciales para los sistemas informáticos modernos. Estas capacidades facilitan una mejor administración de dispositivos, eficiencia energética y capacidad de respuesta del sistema. A continuación se detallan algunas de las capacidades clave de ACPI.

Administración de energía

ACPI introduce varios estados de energía para los dispositivos y el sistema en su conjunto, lo que ayuda a reducir significativamente el consumo de energía cuando los dispositivos están inactivos, no en uso o cuando el sistema está en modo de bajo consumo. Los principales estados de poder incluyen:

  • Estados G (Estados Globales). Estos incluyen estados de todo el sistema, como trabajando (G0), durmiendo (G1) y apagado (G2). Cada estado tiene subestados que ofrecen distintos niveles de conservación de energía.
  • Estados-S (Estados del sueño). Estos son diferentes niveles de estados de suspensión del sistema, que van desde suspensión ligera (S1) hasta suspensión profunda (S4, también conocido como hibernación), donde se guarda más contexto del dispositivo para permitir tiempos de reanudación más rápidos.
  • Estados D (Estados del dispositivo). Estos se aplican a dispositivos individuales. D0 está completamente operativo y los números más altos (D1, D2, D3) indican modos de menor energía que conducen a estados apagados o no funcionales.
  • Estados C (Estados CPU). Estos estados reducen el uso de energía de la CPU al apagar progresivamente partes del procesador cuando está inactivo, desde energía reducida (C1) hasta modos de apagado profundo (C3 o superior).

Abstracción de hardware

ACPI abstrae los detalles de las interfaces de hardware, lo que permite que el sistema operativo realice operaciones genéricas sin necesidad de conocer detalles sobre el hardware. Esto simplifica el diseño del sistema y mejora la portabilidad entre diferentes plataformas de hardware.

Programación impulsada por eventos

ACPI admite un modelo de programación basado en eventos en el que los eventos de hardware pueden desencadenar acciones sin intervención directa de la CPU, mejorando así la eficiencia y la capacidad de respuesta del sistema. Eventos como presionar el botón de encendido, cambiar la tapa o cambiar el estado de la batería se pueden configurar para activar respuestas específicas del sistema automáticamente.

Transferencia térmica

ACPI permite una gestión térmica eficaz a través de estrategias que ajustan los parámetros operativos de los componentes de hardware en función de las condiciones térmicas actuales. Esto ayuda a mantener temperaturas de funcionamiento seguras, evitando así el sobrecalentamiento y posibles daños a los componentes del hardware.

Configuración del sistema y asignación de recursos

ACPI facilita la configuración dinámica y la asignación de recursos, lo que permite a los sistemas reconocer y configurar hardware y administrar recursos en tiempo de ejecución. Esta capacidad admite la funcionalidad plug-and-play, donde se pueden agregar o quitar dispositivos sin necesidad de reiniciar el sistema.

Gestión de baterías

ACPI proporciona capacidades detalladas de administración de la batería, incluidos informes del estado de la batería, la capacidad restante y los tiempos de ejecución estimados. Esta información permite a los sistemas operativos optimizar el uso de energía en función del estado actual de la batería y proporcionar a los usuarios estimaciones precisas de la duración de la batería.

Intercambio en caliente

ACPI admite el intercambio en caliente para algunos dispositivos, lo que permite reemplazarlos o eliminarlos mientras el sistema está en ejecución. Esto es particularmente importante en server entornos y para dispositivos como baterías y algunos medios de almacenamiento.

Capacidades de despertador

ACPI permite que los dispositivos activen el sistema desde estados de menor energía. Por ejemplo, las tarjetas de red se pueden configurar para reactivar el sistema en respuesta a la actividad de la red, y los teclados pueden reactivar el sistema desde un estado de suspensión cuando se presiona una tecla.


Anastasia
Spasojevic
Anastazija es una escritora de contenido experimentada con conocimiento y pasión por cloud informática, tecnología de la información y seguridad en línea. En phoenixNAP, se centra en responder preguntas candentes sobre cómo garantizar la solidez y seguridad de los datos para todos los participantes en el panorama digital.