Advanced Configuration and Power Interface (ACPI) is an open standard that operating systems can use to discover and configure computer hardware components, to perform power management (e.g. putting unused hardware components to sleep), auto configuration (e.g. Plug and Play and hot swapping), and status monitoring. [1]
_System/Static Resource Affinity Table_ is described by the ACPI Specification 5.0a in section 5.2.16 as a table providing information that allows an OSPM (Operating System Power Management) "to associate processors and memory ranges, including ranges of memory provided by hot-added memory devices, with system localities proximity domains and clock domains." Basically, the SRAT provides information on relationships of resources in the system - namely the processor(s) and memory. The SRAT table associates each processor and blocks of memory to a plain ol' integer, called proximity domains in ACPI jargon. [2]
System Locality Distance Information like the SRAT table, gives you info about the relative memory latency distances [3]
Serial Port Console Redirection Table. This table is used to indicate whether a serial port or a non-legacy UART interface is available for use with Microsoft® Windows® Emergency Management Services (EMS).[4]
Processor Properties Topology Table, This optional table is used to describe the topological structure of processors controlled by the OSPM, and their shared resources, such as caches. TLDR: Gives details about CPU. [5]
The ACPI WMI interface is a proprietary extension of the ACPI specification made by Microsoft to allow hardware vendors to embed WMI (Windows Management Instrumentation) objects inside their ACPI firmware. Typical functions implemented over ACPI WMI are hotkey events on modern notebooks and configuration of BIOS options.[6]
The Boot Graphics Record Table (BGRT) is an optional ACPI table which contains a pointer to the image that has been drawn during boot.[7]
ACPI Machine Language is the virtual machine language for ACPI control methods on an ACPI-compatible OS. ACPI control methods can be written directly in AML, but people usually write them in ASL and then compile to AML. AML is the language processed by the ACPI AML interpreter. It is primarily a declarative language. It’s best not to think of it as a stream of code, but rather as a set of declarations that the ACPI AML interpreter will compile into the ACPI Namespace at definition block load time. TLDR the way that you can yell at the firmware of your system. [8]
Collaborative Processor Performance Control defined in the ACPI spec describes a mechanism for the OS to manage the performance of a logical processor on a contiguous and abstract performance scale. CPPC exposes a set of registers to describe abstract performance scale, to request performance levels and to measure per-cpu delivered performance. [9]
Functional Fixed Hardware allow ACPI to set some performance register. [10]
The ACPI Energy Performance Preference value is a range from 0 to 255 for indicating the processor/system power to performance preference.[11]
: Serial Port Console Redirection Table (SPCR) - Windows drivers | Microsoft Learn
: 5. ACPI Software Programming Model — ACPI Specification 6.4 documentation (uefi.org)
: 20. ACPI Machine Language (AML) Specification — ACPI Specification 6.4 documentation
: Collaborative Processor Performance Control (CPPC) — The Linux Kernel documentation
: 4. ACPI Hardware Specification — ACPI Specification 6.4 documentation
: Updated Intel Meteor Lake Tuning For Linux Shows Huge Performance/Power Improvements - Phoronix