PCI Express デザイン・ガイド ――LSI開発者のための設計Tips
それでは,ソフトウェア層と物理層について,もう少し詳しく見てみましょう.
1)ソフトウェア層
ソフトウェア層は,既存のPCIと互換性を保ったロード・ストア・アーキテクチャ(プロセッサが直接I/Oレジスタをアクセスする方式)を継承しています(図4).しかし,PCI Expressで拡張された同期転送やRAS(reliability,availability and serviceability)などの機能を使用するには,PCI Express拡張空間にアクセスする必要があります.
つまり,PCI Expressの新しい機能が不要な場合に限り,PCIのソフトウェアをそのまま使用することができます.
PCIとの互換性については,いわゆる「PCIと互換性がある」仕様というより,「PCIで培った開発技術をそのまま応用できる」仕様と考えるべきでしょう.新しいハードウェアが登場すると,それをサポートするソフトウェアのリリースまでの時間差が問題になりますが,PCI Expressでは,従来の開発資産を再利用して開発期間を短くできるように考えられています.割り込みも,PCIと同じMSI(message signal interrupt)を使用します.
高バンド幅,スケーラビリティ,高信頼性を実現するための変更など,PCI Expressの新しい試みは,主にソフトウェア層以外の層を利用して実現されています.
〔図4〕メモリ・マップ
PCIのコンフィグレーション空間のレイアウト.既存PCIとの互換エリアであるPCIコンフィグレーション・スペースに加え,新たに4KバイトのPCI Express拡張空間が追加された.