ACPI で定義されたデバイス
ACPI 5.0 仕様では、一般的なプラットフォーム機能を表し、制御するためのデバイスの種類を多数定義しています。 たとえば、ACPI は電源ボタン、スリープ ボタン、システム インジケーターを定義します。 SoCベースのプラットフォームでは、Windowsは、この記事で説明されているACPI定義のデバイスをサポートする組み込みのドライバーを提供します。
詳細については、ACPI 5.0仕様でセクション9 「ACPI定義デバイスとデバイス固有のオブジェクト」 を参照してください。
Lidデバイス
このデバイスについて説明し、クラムシェルデバイスのカバーの状態を報告します。 詳細については ACPI 5.0仕様のセクション9.4 「コントロールメソッドのLidデバイス」 を参照してください。 Lidデバイスの実装では、ACPI 5.0仕様のセクション5.6.5 「GPIO acpiイベント」 で説明されている、GPIOシグナル状態のACPIイベントメカニズムを使用します。
制御メソッドのバッテリデバイス
このデバイスは、プラットフォームのバッテリの状態を説明、構成、および報告します。 詳細については ACPI 5.0仕様のセクション10.2 「制御メソッドのバッテリ」 を参照してください。 SoCプラットフォームでの制御メソッドのバッテリ実装では、ACPI 5.0仕様のセクション5.6.5 「GPIOシグナルACPIイベント」 で説明されているGPIOシグナルACPIイベントメカニズムを使用します。 バッテリおよび充電ハードウェアへのアクセスは、ACPI 5.0仕様のセクション5.5.2.4.4および5.5.2.4.5で説明されているGPIOまたはSPB OpRegionsを介して動作するメソッドによって行われます。
Windowsでのバッテリ管理の詳細については、 「Windowsの電源とバッテリサブシステムの要件」 を参照してください。
バッテリデバイス固有のメソッド(_DSM)
プラットフォームによるバッテリのパッシブな温度管理をサポートするために、Microsoftは_DSMメソッドを定義して、バッテリの温度ゾーンによって設定された温度調整制限をプラットフォームファームウェアに通信します。 詳細については、次の記事をご覧ください。
制御メソッドの時刻とアラームデバイス
ACPI 5.0では、オプションの制御メソッドベースの時刻とアラームデバイスの操作と定義が定義されています。これにより、ハードウェアに依存しない抽象化と、リアルタイムクロック (RTC) に対するより堅牢な代替手段が提供されます。 詳細については ACPI 5.0仕様のセクション9.15 「PC/AT RTC/CMOSデバイス」 、およびセクション9.18 「時刻とアラームデバイス」 を参照してください。 標準の PC RTC が実装されていないか、または時刻とアラーム デバイスを支える RTC ハードウェアとして使用されている場合は、FADT ブート アーキテクチャ フラグ フィールドの "CMOS RTC Not Present" ビットを設定する必要があります。
時刻とアラームデバイスの時間機能は、InstantGo機能 (およびコネクトスタンバイ電源モード) をサポートするプラットフォームに必要です。 これらの機能は、システムの電源遷移間で時刻の情報を維持し、プラットフォームがオフになっている場合でも時間を追跡します。 異なるファームウェア インターフェイスを使用してプラットフォーム時刻を照会しても、プラットフォーム上の時刻が一貫していることが期待されます。 たとえば、時刻を取得するUEFI呼び出しは、オペレーティングシステムが時刻とアラームデバイスを使用して取得するのと同じ時刻を返す必要があります。
時刻とアラームデバイスは、UEFIタイムサービスと同じタイムソースから駆動する必要があります。
温度ゾーン
ACPI温度管理をサポートするために、システムデザイナーは、ハードウェアプラットフォームをサーマルゾーンと呼ばれる1つまたは複数の物理領域に論理的にパーティション分割します。 センサーデバイスは、各サーマルゾーンの温度を追跡します。 ある温度ゾーンが過熱し始めると、オペレーティング システムはそのゾーン内のデバイスを冷却するためのアクションを実行できます。 これらのアクションは、パッシブ冷却またはアクティブ冷却のいずれかに分類できます。
Windows での温度管理
Windowsの温度管理モデルは、ACPIのサーマルゾーンの概念に基づいています。 これは、適切に定義されたインターフェイスを使用して、センサーと冷却デバイスを中央の温度管理コンポーネントから抽象化する協調的なファームウェア/OS/ドライバーモデルです。 詳細については 「Windowsでの温度管理」 を参照してください。
ACPIサーマルゾーン
サーマルゾーンは、次の操作を行う子オブジェクトを含めるように定義されています。
サーマルゾーンに含まれているデバイスを特定します。
_TZD は、サーマル ゾーン内の非プロセッサ デバイスを一覧表示します。
_PSLは、サーマルゾーン内のプロセッサを一覧表示します。
アクションを実行する必要がある温度のしきい値を指定します。
_PSVは、オペレーティングシステムがパッシブ冷却制御を開始する温度を示します。
_HOTは、オペレーティングシステムが休止状態になる温度を示します。
_CRTは、オペレーティングシステムがシャットダウンする温度を示します。
サーマルゾーンのパッシブ冷却動作について説明します。
_TC1、_TC2温度応答性。
_TSPは、サーマルゾーンのパッシブ冷却のための適切な温度サンプリング間隔です。
サーマルゾーンの温度を報告します。
ファームウェアによって報告される温度の_TMP。
または、温度センサードライバーを読み込み、ハードウェアリソースを割り当てるための_HIDと_CRS。
必要に応じて、温度しきい値を超えた場合に通知を受け取ることもできます。
_NTT は、さらに多くのしきい値超過の通知を指定します。
_DTI は、さらに多くのしきい値超過の受信を指定します。
必要に応じて、サーマルゾーンのアクティブな冷却動作を記述します。
サーマルゾーンのファンを一覧表示するための_ALx 。
_ACx x ファンxをオンにする必要がある温度。
ACPIサーマルゾーンの詳細については ACPI 5.0仕様の第11章 「温度管理」 を参照してください。
温度軽減策としての論理プロセッサのアイドル状態
プラットフォームは、サーマルゾーンのプロセッサコアをアイドル状態にする必要があることをオペレーティングシステムに示すことができます (スロットルではなく) 。 これを行うには、プロセッサアグリゲーターデバイス (ACPI000C) を1つまたは複数のサーマルゾーンに含めます。 サーマル ゾーンの _PSV を超えると、Windows は多くのコアをパークします。 番号は次のいずれかである (1 - <zone passive limit>) * <サーマルゾーンのコア数>, または_PURで報告されたコア数のいずれか大きい方。 詳細については ACPI 5.0仕様のセクション8.5.1 「論理プロセッサのアイドル状態」 を参照してください。
Oemは、Windows用のMicrosoft熱拡張機能をサポートするために、デバイス固有の方法(_DSM) を含めることができます。 詳細については、 「Microsoft Thermal Extensionsのデバイス固有の方法」 を参照してください。