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が存在しない"ビットを設定する必要があります。

時刻とアラームデバイスの時間機能は、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

    • _ACxx ファンxをオンにする必要がある温度。

ACPIサーマルゾーンの詳細については ACPI 5.0仕様の第11章 「温度管理」 を参照してください。

温度軽減策としての論理プロセッサのアイドル状態

プラットフォームは、サーマルゾーンのプロセッサコアをアイドル状態にする必要があることをオペレーティングシステムに示すことができます (スロットルではなく) 。 これを行うには、プロセッサアグリゲーターデバイス (ACPI000C) を1つまたは複数のサーマルゾーンに含めます。 Windowsは、サーマルゾーンの_PSVが交差したときに、いくつかのコアをパークします。 番号は次のいずれかである (1 - <zone passive limit>) * <サーマルゾーンのコア数>, または_PURで報告されたコア数のいずれか大きい方。 詳細については ACPI 5.0仕様のセクション8.5.1 「論理プロセッサのアイドル状態」 を参照してください。

Oemは、Windows用のMicrosoft熱拡張機能をサポートするために、デバイス固有の方法(_DSM) を含めることができます。 詳細については、 「Microsoft Thermal Extensionsのデバイス固有の方法」 を参照してください。