Inferensys

Glossary

Advanced Configuration and Power Interface (ACPI)

ACPI is an open industry standard that provides an operating system with direct control over hardware power management and configuration.
Developer building agentic RAG system, retrieval pipeline diagram on laptop, technical workspace with notes.
POWER-AWARE TINYML

What is Advanced Configuration and Power Interface (ACPI)?

The Advanced Configuration and Power Interface (ACPI) is an open industry standard that provides an operating system with direct control over the power management and configuration of hardware components like processors, memory, and peripherals.

The Advanced Configuration and Power Interface (ACPI) is an open industry standard that defines a hardware abstraction layer for operating system-directed configuration and power management. It provides a unified interface for the OS to discover hardware, configure resources like IRQs and memory ranges, and control power states (sleep, hibernate, off) without needing device-specific drivers. For TinyML deployment, understanding ACPI is crucial for designing power-aware systems where the OS can aggressively manage processor C-states and P-states to extend battery life during intermittent inference tasks.

ACPI operates via ACPI Machine Language (AML) bytecode stored in system firmware, which the OS interprets through an ACPI Source Language (ASL) compiler. This allows for Dynamic Power Management (DPM), enabling transitions between performance states based on workload. In energy-constrained edge devices, leveraging ACPI tables allows for fine-grained control, enabling techniques like clock gating and power gating of idle subsystems. This direct hardware control is foundational for implementing low-power inference modes and achieving energy-proportional computing in embedded AI systems.

ARCHITECTURAL FOUNDATIONS

Key Components of the ACPI Specification

The Advanced Configuration and Power Interface (ACPI) is a complex specification that defines a hardware abstraction layer for power and configuration management. Its operation is built upon several core tables and system states that the operating system interprets and executes.

02

ACPI Machine Language (AML)

ACPI Machine Language (AML) is a platform-independent, interpreted bytecode language stored within ACPI tables (primarily the DSDT and SSDTs). It encodes the hardware-specific control methods for power management, thermal control, and device configuration. The operating system loads an AML interpreter (part of the ACPI driver) to execute these methods. This abstraction allows a single OS driver to manage diverse hardware without needing custom drivers for every chipset. AML is compiled from a higher-level language called ACPI Source Language (ASL).

03

Global System States (G-States)

Global System States (G-States) define the overall power state of the entire system, ranging from full operation to mechanical off.

  • G0 (S0) - Working: The system is fully operational. This is the normal working state.
  • G1 - Sleeping: The system appears off but retains enough context (in memory) to return to G0 quickly. This includes the S1, S2, S3, and S4 sleep states.
  • G2 (S5) - Soft Off: The system is off but some components remain powered so it can be turned on via an external event (e.g., keyboard, LAN). Main system context is lost.
  • G3 - Mechanical Off: The system is completely disconnected from power; no electrical current is flowing. Returning to G0 requires a full boot.
04

Sleeping States (S-States)

Sleeping States (S-States) are a subset of the G1 state, defining increasingly deeper levels of system sleep with correspondingly longer wake-up latencies.

  • S1: A low-latency sleep where the CPU caches are flushed and the CPU(s) stop executing instructions. Power is maintained to CPU and RAM.
  • S2: A deeper state than S1; the CPU is powered off. Rarely implemented.
  • S3 (Suspend-to-RAM): The most common sleep state. System context is saved to DRAM, which remains powered. Nearly all other components are powered down. Provides a good balance of power savings and resume speed.
  • S4 (Suspend-to-Disk / Hibernation): All system context is saved to non-volatile storage (e.g., disk). The system is effectively off (power can be removed). Resume involves restoring the saved image from disk.
05

Device Power States (D-States)

Device Power States (D-States) define the power state of individual devices, independent of the global system state. This allows the OS to power down unused peripherals even when the system is in G0.

  • D0 (Fully On): The device is fully operational.
  • D1, D2: Intermediate device-specific low-power states. Definitions and power savings vary by device class.
  • D3 (Off): The device is powered off. D3hot means the device is physically connected to power and can assert a wake signal. D3cold means the device is completely disconnected from power rails.
06

Processor Power States (C-States & P-States)

These states manage CPU power and performance within the G0/S0 working state. Processor Performance States (P-States): These are active operational states defined by varying the CPU's voltage and frequency (via Dynamic Voltage and Frequency Scaling - DVFS). P0 is the highest performance state; P1, P2, etc., are lower-performance, more efficient states. Processor Idle States (C-States): These are idle states entered when the CPU core has no instructions to execute (HLT instruction). Deeper C-states (C1, C2, C3) turn off more internal CPU components (caches, clock) to save power, but have higher entry/exit latency. C0 is the active state.

SYSTEM POWER MANAGEMENT

How ACPI Enables Power-Aware TinyML

The Advanced Configuration and Power Interface (ACPI) is a critical industry standard that provides the operating system with direct, standardized control over hardware power states, enabling sophisticated energy management essential for battery-powered TinyML devices.

Advanced Configuration and Power Interface (ACPI) is an open industry standard that defines a unified interface for operating system-directed configuration, power management, and thermal management of computer hardware components. For TinyML systems, ACPI provides the software abstraction to transition the CPU, memory, and peripherals between predefined power states (C-states, P-states) and sleep states (S-states) based on workload, enabling aggressive power savings during idle periods between inference tasks. This allows the OS or a lightweight runtime to implement Dynamic Power Management (DPM) strategies, putting unused subsystems into low-power modes to extend battery life.

In a power-aware TinyML pipeline, ACPI tables describe the device's hardware topology and permissible power states to the system software. The runtime can then orchestrate power gating and clock gating via ACPI methods, dynamically scaling performance with Dynamic Voltage and Frequency Scaling (DVFS) to match the computational demand of the neural network inference. This fine-grained control is fundamental for achieving energy-proportional computing, where the system's energy consumption closely tracks its utilization, a critical requirement for always-on sensor nodes performing intermittent inference-per-watt optimized tasks.

PROCESSOR POWER STATES

ACPI Power States: Performance vs. Energy Savings

This table compares the ACPI-defined processor power states (C-states), detailing the trade-offs between wake-up latency, power savings, and the scope of hardware components powered down.

Power State (C-State)Description / ScopeTypical Wake LatencyPower Savings (vs. C0)Typical Use Case in TinyML

C0 (Active)

Processor core is fully active and executing instructions.

< 1 ns

0%

Active inference computation, on-device training.

C1 (Halt)

Core clock is gated; core context (registers, caches) is retained. An architecture-specific instruction (e.g., HLT) triggers entry.

1-2 µs

Low (Dynamic)

Brief pauses between inference batches or sensor polling loops.

C2 (Stop-Clock)

Core clocks are stopped; core caches may be flushed. Requires chipset coordination for entry/exit.

10-50 µs

Medium

Longer idle periods between scheduled inference tasks.

C3 (Deep Sleep)

Core caches are flushed and powered down. All core PLLs are turned off. Requires software to be OS-aware.

50-150 µs

High

Device is idle, waiting for a scheduled wake-up timer or external sensor interrupt.

C6 (Deep Power Down)

Core power rail is gated off (power gating). Core state is saved to a dedicated SRAM before shutdown. Requires complex save/restore.

100-500 µs

Very High (Dynamic + Leakage)

Extended deep sleep in battery-powered devices, awaiting a rare wake-on-event trigger.

Package C-States (e.g., PC2, PC6)

Entire processor package (multiple cores, shared caches, integrated GPU) enters a low-power state.

Varies (100 µs - 10 ms)

Extreme

All compute cores are idle for prolonged periods; system is in a sensing-only mode with AON domain active.

POWER-AWARE TINYML

Frequently Asked Questions

Questions about the Advanced Configuration and Power Interface (ACPI), the industry-standard specification that provides operating systems with direct control over hardware power management and configuration, a critical component for optimizing energy usage in edge and TinyML systems.

The Advanced Configuration and Power Interface (ACPI) is an open industry specification that defines a standardized interface for an operating system to discover, configure, and manage the power states of hardware components like the CPU, memory, and peripherals. It works by providing the OS with a set of tables (like the DSDT and SSDT) that describe the hardware layout and a set of methods written in ACPI Machine Language (AML). The OS interprets these methods to perform operations like putting a core to sleep (C-state), reducing its frequency (P-state), or turning off an unused USB controller. This abstraction allows for OS-directed power management (OSPM) without requiring detailed, proprietary knowledge of each hardware platform's circuitry.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.