シンプルなペリフェラルバス (SPB)
システム オン チップ (SoC) 集積回路は、プラットフォーム周辺機器に接続するために、シンプルで低ピン数および低消費電力のシリアル相互接続を広く使用します。 I2C、SPI、UART が例です。 SoC ベースのプラットフォームの場合、Windows は Simple Peripheral Bus (SPB) ハードウェアの一般的な抽象化を提供します。この抽象化には、Advanced Configuration and Power Interface (ACPI) 名前空間からの新しいサポートが必要です。
SPB コントローラー デバイス
SPB コントローラー デバイスは、ベンダー割り当てハードウェア ID (_HID) と消費されるリソースのセット (_CRS) と共に名前空間で識別されます。
SPB 名前空間オブジェクト
SPB コントローラーとそのコントローラーに接続する周辺機器は、ACPI によって列挙されます。 この接続については、シリアル バス接続リソース記述子を使用して説明します。 詳細については、ACPI 5.0 仕様の 6.4.3.8 章「接続記述子」を参照してください。
SPB リソース記述子
GPIO 接続の場合と同様に、SPB 接続は、新しいリソース記述子を介して、使用しているデバイスによってオペレーティング システムに記述されます。 汎用シリアル バス リソース記述子は、I2C 接続、SPI 接続、UART 接続を宣言するために使用され、これから、他のシリアル バスの種類をサポートするために拡張可能です。
これらの記述子のリソース テンプレート マクロについては、ACPI 5.0 仕様の 19.5.55 章「I2CSerialBus (I2C シリアルバス接続リソース記述子マクロ)」で説明しています。
GenericSerialBus OpRegions
また、GPIO と同様に、ACPI 5.0 は SPB コントローラー GenericSerialBus (ACPI 5.0 仕様の 5.5.2.4.5 章) で使用する OpRegion を定義します。 SPB は通信バスであるため、GenericSerialBus OpRegions は SPB ターゲット デバイスにアクセスするためのさまざまなプロトコルをサポートしています。 詳細については、ACPI 5.0 仕様の 5.5.2.4.5.3 章「GenericSerialBus プロトコルの使用」を参照してください。
SPB では多くの場合に、ASL 制御メソッドがそのデバイスのオペレーティング システム ドライバーとSPB ターゲット デバイスへのアクセスを共有することが必要です。 これらのアクセスの同期を確保するために、ACPI 5.0 は Device Lock Mutex (_DLM) オブジェクトを定義します。 詳細については、ACPI 5.0 仕様の 5.7.5 章を参照してください。