PCIe Configuration Registerとは
PCIeインターフェースは、今では広く使われている技術ですが、規格書(PCIe Specification)だけでは少し分かり難いため、本コラムでは、規格書から抜粋したトピックについて説明していきます。
PCIe Deviceの基本的なRegisterは、Configuration Registerと呼ばれる領域にあります。
このConfiguration Registerには様々なRegisterがありますが、ここではConfiguration Space Headerについて説明します。
Configuration Space HeaderはType0とType1に分かれていて、共通部分とType個別部分で構成されています。Type 0 Configuration Space HaderはEndpoint Deviceに、Type 1 Configuration Space HeaderはRoot PortやPCIe SwitchのUpstream Port/Downstream Portに、使用されます。
以下にフォーマットを記載します。詳細についてはPCIe規格をご確認ください。

*上記フォーマット内のType Specific Fieldは、Type 0とType 1でそれぞれ異なるRegisterを構成します。
フォーマットの違い
以下に、Type 0 Configuration Space RegisterとType 1 Configuration Space Registerのフォーマットの違いを説明します。


Type 0 Configuration Space HeaderにはType 0 Configuration Read/Write、Type 1 Configuration Space HeaderにはType 1 Configuration Read/Writeを、それぞれ使用してアクセスすることができます。
お問い合わせ
本記事に関して、ご質問がありましたら以下より問い合わせください。