(57)【要約】  ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)システムにおけるトランザクション固有属性の伝達を開示する。PCIeシステムは、ホストシステムと少なくとも1つのPCIeエンドポイントとを含む。PCIeエンドポイントは、既定のホストトランザクションの効率および性能を向上させることのできる1つまたは複数のトランザクション固有属性を判定するように構成される。この場合、一態様では、PCIeエンドポイントが、少なくとも1つのPCIeトランザクションレイヤパケット(TLP)のTLPプレフィックスにおけるトランザクション固有属性を符号化し、PCIe TLPをホストシステムに提供する。別の態様では、ホストシステムにおけるPCIeルートコンプレックス(RC)が、PCIeエンドポイントから受信されたPCIe TLPのTLPプレフィックスにおいてトランザクション固有属性を検出し抽出するように構成される。PCIe TLPのTLPプレフィックスにおいてトランザクション固有属性を伝達することによって、既存のPCIe規格を侵害せずにPCIeシステムの効率および性能を向上させることが可能である。
2018523217.tif 000002
【特許請求の範囲】
【請求項１】
ホストシステムであって、
トランザクションレイヤパケット(TLP)プレフィックスを含む少なくとも1つのペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)TLPを受信するために複数のPCIeエンドポイントに結合されるように構成されるバスインターフェースと、
属性プレフィックス検出およびパーズ論理を含むPCIeルートコンプレックス(RC)であって、
前記バスインターフェースから前記少なくとも1つのPCIe TLPを受信することと、
少なくとも1つのPCIe TLPにおいて前記TLPプレフィックスを検出することと、
既定のホストトランザクションに関連する1つまたは複数のトランザクション固有属性を抽出するために前記TLPプレフィックスをパーズすることと、
前記1つまたは複数のトランザクション固有属性を属性インターフェースに提供することと
を行うように構成されるPCIeルートコンプレックスと
を備える、ホストシステム。
【請求項２】
前記既定のホストトランザクションは、読取り要求、書込み要求、およびアトミック動作要求からなるグループから選択されるメモリトランザクションである、請求項1に記載のホストシステム。
【請求項３】
内部バスに結合されるメモリコントローラであって、メモリを制御するように構成されるメモリコントローラと、
前記内部バスに通信可能に結合されるメモリ管理ユニット(MMU)であって、
前記属性インターフェースから前記1つまたは複数のトランザクション固有属性を受信することと、
前記1つまたは複数のトランザクション固有属性を1つまたは複数のバス固有属性に変換することと、
前記1つまたは複数のバス固有属性を前記メモリコントローラに提供することと
を行うように構成される属性変換器を備えるMMUと
をさらに備える、請求項1に記載のホストシステム。
【請求項４】
前記属性変換器は、
前記1つまたは複数のトランザクション固有属性を1つまたはアドバンストエクステンシブルインターフェース(AXI)固有属性に変換することと、
前記1つまたは複数のAXI固有属性を前記メモリコントローラに提供することと
を行うようにさらに構成される、請求項3に記載のホストシステム。
【請求項５】
前記1つまたは複数のトランザクション固有属性は、キャッシュ可能属性を含む、請求項1に記載のホストシステム。
【請求項６】
前記1つまたは複数のトランザクション固有属性は、バッファ可能属性を含む、請求項1に記載のホストシステム。
【請求項７】
前記1つまたは複数のトランザクション固有属性は、読取り割振り属性を含む、請求項1に記載のホストシステム。
【請求項８】
前記1つまたは複数のトランザクション固有属性は、書込み割振り属性を含む、請求項1に記載のホストシステム。
【請求項９】
前記1つまたは複数のトランザクション固有属性は、命令/データ属性、特権/ユーザ属性、ライトスルー属性、ならびに順序付き書込みおよび順序付き読取り属性からなるグループから選択されるトランザクション固有属性を含む、請求項1に記載のホストシステム。
【請求項１０】
前記PCIe RCは、前記少なくとも1つのPCIe TLPにおけるペイロードおよび標準属性をパーズするように構成されるトランザクションパーズ論理をさらに備える、請求項1に記載のホストシステム。
【請求項１１】
集積回路(IC)に組み込まれる、請求項1に記載のホストシステム。
【請求項１２】
セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、スマートフォン、タブレット、ファブレット、サーバ、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビ、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、ポータブルデジタルビデオプレーヤ、および自動車からなるグループから選択されるデバイスの中に統合される、請求項1に記載のホストシステム。
【請求項１３】
ホストシステムにおいてトランザクション固有属性を受信するための方法であって、
トランザクションレイヤパケット(TLP)プレフィックスを含む少なくとも1つのペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)TLPを受信するステップと、
少なくとも1つのPCIe TLPにおいて前記TLPプレフィックスを検出するステップと、
既定のホストトランザクションに関連する1つまたは複数のトランザクション固有属性を抽出するために前記TLPプレフィックスをパーズするステップと、
前記1つまたは複数のトランザクション固有属性を属性インターフェースに提供するステップと
を含む、方法。
【請求項１４】
前記属性インターフェースから前記1つまたは複数のトランザクション固有属性を受信するステップと、
前記1つまたは複数のトランザクション固有属性を1つまたは複数のバス固有属性に変換するステップと、
前記1つまたは複数のバス固有属性をメモリコントローラに提供するステップと
をさらに含む、請求項13に記載の方法。
【請求項１５】
前記1つまたは複数のトランザクション固有属性を1つまたはアドバンストエクステンシブルインターフェース(AXI)固有属性に変換するステップと、
前記1つまたは複数のAXI固有属性を前記メモリコントローラに提供するステップと
をさらに含む、請求項14に記載の方法。
【請求項１６】
前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおけるキャッシュ可能属性を受信するステップをさらに含む、請求項13に記載の方法。
【請求項１７】
前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおけるバッファ可能属性を受信するステップをさらに含む、請求項13に記載の方法。
【請求項１８】
前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおいて読取り割振り属性を受信するステップをさらに含む、請求項13に記載の方法。
【請求項１９】
前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおいて書込み割振り属性を受信するステップをさらに含む、請求項13に記載の方法。
【請求項２０】
ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)エンドポイントであって、
処理回路であって、
既定のホストトランザクションに関する1つまたは複数のトランザクション固有属性を判定することと、
少なくとも1つのPCIeトランザクションレイヤパケット(TLP)のTLPプレフィックスにおける前記1つまたは複数のトランザクション固有属性を符号化することと、
前記PCIeエンドポイントに通信可能に結合されるホストシステムに前記少なくとも1つのPCIe TLPを提供することと
を行うように構成される処理回路
を備える、PCIeエンドポイント。
【請求項２１】
前記既定のホストトランザクションは、読取り要求、書込み要求、およびアトミック動作要求からなるグループから選択されるメモリトランザクションである、請求項20に記載のPCIeエンドポイント。
【請求項２２】
前記1つまたは複数のトランザクション固有属性は、キャッシュ可能属性を含む、請求項20に記載のPCIeエンドポイント。
【請求項２３】
前記1つまたは複数のトランザクション固有属性は、バッファ可能属性を含む、請求項20に記載のPCIeエンドポイント。
【請求項２４】
前記1つまたは複数のトランザクション固有属性は、読取り割振り属性を含む、請求項20に記載のPCIeエンドポイント。
【請求項２５】
前記1つまたは複数のトランザクション固有属性は、書込み割振り属性を含む、請求項20に記載のPCIeエンドポイント。
【請求項２６】
トランザクション固有属性をペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)エンドポイントからホストシステムに伝達するための方法であって、
既定のホストトランザクションに関する1つまたは複数のトランザクション固有属性を判定するステップと、
少なくとも1つのPCIeトランザクションレイヤパケット(TLP)のTLPプレフィックスにおける前記1つまたは複数のトランザクション固有属性を符号化するステップと、
前記少なくとも1つのPCIe TLPを前記ホストシステムに提供するステップと
を含む、方法。
【請求項２７】
前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおいてキャッシュ可能属性を提供するステップをさらに含む、請求項26に記載の方法。
【請求項２８】
前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおいてバッファ可能属性を提供するステップをさらに含む、請求項26に記載の方法。
【請求項２９】
前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおいて読取り割振り属性を提供するステップをさらに含む、請求項26に記載の方法。
【請求項３０】
前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおいて書込み割振り属性を提供するステップをさらに含む、請求項26に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権主張
本出願は、2015年6月22日に出願された、"ENHANCING PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIE) ATTRIBUTES TO SUPPORT ADVANCED SYSTEM BUSES"という名称の米国仮特許出願第62/182,807号の優先権を主張し、米国仮特許出願第62/182,807号の内容全体が参照により本明細書に組み込まれる。
【０００２】
本出願は、また2016年5月31日に出願された、"COMMUNICATING TRANSACTION-SPECIFIC ATTRIBUTES IN A PERIPHERAL COMPONENT INTERCONNECT EXPRESS (PCIE) SYSTEM"という名称の米国特許出願第15/168,574号の優先権を主張し、米国特許出願第15/168,574号の内容全体が参照により本明細書に組み込まれる。
【０００３】
本開示の技術は概して、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)に関する。
【背景技術】
【０００４】
モバイル通信デバイスは、現代社会においてますます一般的になっている。これらのモバイル通信デバイスの普及は、一つには、現在そのようなデバイス上で可能にされる多くの機能によって推進されている。そのようなデバイスの処理機能の増大は、モバイル通信デバイスが、純粋な通信ツールから、ユーザエクスペリエンスの向上を可能にする高性能モバイルエンターテインメントセンターに進化したことを意味する。そのような機能の増大は、ますます複雑になる集積回路(IC)をモバイル通信デバイス内に含めることによって可能になる。モバイル通信デバイス内のICの数および複雑さが増しているので、様々なICが互いに通信することが必要になる。
【０００５】
ICが互いに通信することを可能にする様々なプロトコルについて略述したいくつかの規格が公開されている。普及しているプロトコルは、ペリフェラルコンポーネントインターコネクト(PCI)プロトコルであり、PCIプロトコルは、エクスプレス(PCIe)プロトコルを含む様々な形態を有する。PCIおよびPCIeは、IC間通信プロトコルとして有用であるが、ケーブルまたはその他のコネクタを通してモバイル端末をリモートデバイスに結合するのに使用される場合もある。
【０００６】
アドバンストマイクロコントローラバスアーキテクチャ(AMBA)は、システムオンチップ(SoC)における機能ブロックの接続および管理に関する、オープンスタンダードのオンチップインターコネクト仕様である。AMBAは、高性能、高クロック周波数システム設計用のアドバンストエクステンシブルインターフェース(AXI)を使用可能にする。AXIは、AXI自体を高速サブマイクロメートルインターコネクトに適合させる機能を含み、属性をトランザクションに割り当てるのも可能にして性能を向上させる。PCIeでは、そのような属性を使用することができない。すなわち、PCIeは、優先順位属性および順序付け属性などのいくつかのトランザクション間属性を有するが、これらは、あるトランザクションの他のトランザクションに対する属性であり、PCIeトランザクションレイヤパケット(TLP)のヘッダ内に設けられる。PCIeは、性能向上属性を使用することによって恩恵を受けることができる。
【発明の概要】
【課題を解決するための手段】
【０００７】
発明を実施するための形態で開示する態様は、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)システムにおいてトランザクション固有属性を伝達することを含む。PCIeシステムは、ホストシステムと少なくとも1つのPCIeエンドポイントとを含む。PCIeエンドポイントは、既定のホストトランザクションの効率および性能を向上させることのできる1つまたは複数のトランザクション固有属性(たとえば、キャッシュ可能、バッファ可能、読取り割振り、および書込み割振り)を判定するように構成される。この場合、一態様では、PCIeエンドポイントが、少なくとも1つのPCIeトランザクションレイヤパケット(TLP)のTLPプレフィックスにおけるトランザクション固有属性を符号化し、PCIe TLPをホストシステムに提供する。別の態様では、ホストシステムにおけるPCIeルートコンプレックス(RC)が、PCIeエンドポイントから受信されたPCIe TLPのTLPプレフィックスにおいてトランザクション固有属性を検出し抽出するように構成される。PCIe TLPのTLPプレフィックスにおいてトランザクション固有属性を伝達することによって、既存のPCIe規格を侵害せずにPCIeシステムの効率および性能を向上させることが可能である。
【０００８】
この場合、一態様では、メモリシステムが提供される。ホストシステムは、TLPプレフィックスを含む少なくとも1つのPCIe TLPを受信するために複数のPCIeエンドポイントに結合されるように構成されるバスインターフェースを含む。ホストシステムはまた、属性プレフィックス検出およびパーズ論理を含むPCIe RCを含む。属性プレフィックス検出およびパーズ論理は、バスインターフェースから少なくとも1つのPCIe TLPを受信するように構成される。属性プレフィックス検出およびパーズ論理はまた、少なくとも1つのPCIe TLPにおいてTLPプレフィックスを検出するように構成される。属性プレフィックス検出およびパーズ論理はまた、既定のホストトランザクションに関連する1つまたは複数のトランザクション固有属性を抽出するためにTLPプレフィックスをパーズするように構成される。属性プレフィックス検出およびパーズ論理はまた、1つまたは複数のトランザクション固有属性を属性インターフェースに提供するように構成される。
【０００９】
別の態様では、ホストシステムにおいてトランザクション固有属性を受信するための方法が提供される。本方法は、TLPプレフィックスを含む少なくとも1つのPCIe TLPを受信するステップを含む。本方法はまた、少なくとも1つのPCIe TLPにおいてTLPプレフィックスを検出するステップを含む。本方法はまた、既定のホストトランザクションに関連する1つまたは複数のトランザクション固有属性を抽出するためにTLPプレフィックスをパーズするステップを含む。本方法はまた、1つまたは複数のトランザクション固有属性を属性インターフェースに提供するステップを含む。
【００１０】
別の態様では、PCIeエンドポイントが提供される。このPCIeエンドポイントは処理回路を含む。処理回路は、既定のホストトランザクションに関する1つまたは複数のトランザクション固有属性を判定するように構成される。処理回路はまた、少なくとも1つのPCIe TLPのTLPプレフィックスにおける1つまたは複数のトランザクション固有属性を符号化するように構成される。処理回路はまた、PCIeエンドポイントに通信可能に結合されるホストシステムに少なくとも1つのPCIe TLPを提供するように構成される。
【００１１】
別の態様では、トランザクション固有属性をPCIeエンドポイントからホストシステムに伝達するための方法が提供される。本方法は、既定のホストトランザクションに関する1つまたは複数のトランザクション固有属性を判定するステップを含む。本方法はまた、少なくとも1つのPCIe TLPのTLPプレフィックスにおける1つまたは複数のトランザクション固有属性を符号化するステップを含む。本方法はまた、少なくとも1つのPCIe TLPをホストシステムに提供するステップを含む。
【図面の簡単な説明】
【００１２】
【図１】例示的な従来のペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)システムの概略図である。
【図２Ａ】PCIe基本仕様改訂3.0(PCIe仕様)において定義された例示的なPCIeトランザクションレイヤパケット(TLP)の概略図である。
【図２Ｂ】PCIe仕様において定義された図2AのPCIe TLPにおけるTLPヘッダの概略図である。
【図２Ｃ】トランザクション間属性を伝達するための図2BのTLPヘッダにおける第1の属性フィールドおよび第2の属性フィールドを例示する概略図である。
【図３】PCIeシステムにおける効率および性能を向上させるために複数のPCIeエンドポイントがトランザクション固有属性をホストシステムに伝達するのを可能にするように構成される例示的なPCIeシステムの概略図である。
【図４】図3のPCIeエンドポイントの各々が、図2AのPCIe TLPのTLPプレフィックスにおける図3のトランザクション固有属性を、図3のホストシステムに伝達できるように符号化するのに使用することができる例示的なデータ構造の概略図である。
【図５】図3のホストシステムにおいてトランザクション固有属性を受信するための例示的なホストプロセスのフローチャートである。
【図６】トランザクション固有属性を図3のホストシステムに伝達するための例示的なPCIeエンドポイントプロセスのフローチャートである。
【図７】図3のPCIeシステムを含むことができる例示的なプロセッサベースのシステムのブロック図である。
【発明を実施するための形態】
【００１３】
次に図面を参照しながら、本開示のいくつかの例示的な態様について説明する。「例示的な」という単語は、本明細書では、「例、実例、または例証として機能する」を意味するために使用される。本明細書において「例示的」として説明するいずれの態様も、必ずしも他の態様よりも好ましいか、または有利であると解釈されるべきでない。
【００１４】
発明を実施するための形態で開示する態様は、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)システムにおいてトランザクション固有属性を伝達することを含む。PCIeシステムは、ホストシステムと少なくとも1つのPCIeエンドポイントとを含む。PCIeエンドポイントは、既定のホストトランザクションの効率および性能を向上させることのできる1つまたは複数のトランザクション固有属性(たとえば、キャッシュ可能、バッファ可能、読取り割振り、および書込み割振り)を判定するように構成される。この場合、一態様では、PCIeエンドポイントが、少なくとも1つのPCIeトランザクションレイヤパケット(TLP)のTLPプレフィックスにおけるトランザクション固有属性を符号化し、PCIe TLPをホストシステムに提供する。別の態様では、ホストシステムにおけるPCIeルートコンプレックス(RC)が、PCIeエンドポイントから受信されたPCIe TLPのTLPプレフィックスにおいてトランザクション固有属性を検出し抽出するように構成される。PCIe TLPのTLPプレフィックスにおいてトランザクション固有属性を伝達することによって、既存のPCIe規格を侵害せずにPCIeシステムの効率および性能を向上させることが可能である。
【００１５】
本開示の特定の態様を含むPCIeシステムにおいてトランザクション固有属性を伝達する例示的な態様について説明する前に、まず図1において従来のPCIeシステムについて簡単に説明する。次に、図2A〜図2Cを参照して、2010年11月10日にペリフェラルコンポーネントインターコネクト(PCI)スペシャルインタレストグループ(SIG)(PCI-SIG)によって公開されたPCIe基本仕様改訂3.0(PCIe仕様)において定義されたPCIe TLPフォーマットおよび性能最適化属性について簡単に説明する。PCIeシステムにおいてトランザクション固有属性を伝達する特定の例示的な態様についての説明では、最初に図3を参照する。
【００１６】
この場合、図1は、例示的な従来のPCIeシステム100の概略図である。従来のPCIeシステム100は、ホストシステム102と複数のPCIeエンドポイント104(1)〜104(N)とを含む。非制限的な例では、PCIeエンドポイント104(N)は、PCIeエンドポイント104(N)(1)〜104(N)(M)を制御するPCIeスイッチ104(N)である。この例では、PCIeエンドポイント104(N)(1)〜104(N)(M)は、PCIeスイッチ104(N)を介してホストシステム102と通信するように構成される。
【００１７】
ホストシステム102は、少なくとも1つのプロセッサ106と、メモリコントローラ108と、メモリ管理ユニット(MMU)110とを含む。プロセッサ106、メモリコントローラ108、およびMMU110は、内部バス112(たとえば、システムネットワークオンチップ(SNoC)バス)に結合される。メモリコントローラ108は、たとえば、ダイナミックランダムアクセスメモリ(DRAM)またはダブルデータレート(DDR)DRAMなどのメモリ114を制御するように構成される。ホストシステム102はまた、MMU110と通信可能に結合されるPCIeルートコンプレックス(RC)116を含む。PCIe RC116は、バスインターフェース118を介してPCIeエンドポイント104(1)〜104(N)を制御するように構成される。PCIe RC116とPCIeエンドポイント104(1)〜104(N)との間の通信はTLP(図示せず)に基づく。各TLPは、PCIe RC116がTLPを正しくPCIeエンドポイント104(1)〜104(N)に転送するのを可能にするアドレス情報を含む。この場合、PCIe RC116は、インターネット-プロトコル(IP)ネットワークのルータに類似しており、TLPは、IPネットワークにおいて伝達されるIPパケットに類似している。
【００１８】
PCIe仕様によれば、TLPは、読取りおよび書込みなどのトランザクション、ならびにある種のイベントをPCIe RC116とPCIeエンドポイント104(1)〜104(N)との間で伝達するのに使用される。PCIe仕様は、メモリトランザクション、入力/出力(I/O)トランザクション、構成トランザクション、およびメッセージトランザクションを含む4種類のトランザクションを定義している。メモリトランザクションは、読取り要求トランザクション、書込み要求トランザクション、およびアトミック動作要求トランザクションを含む。そのようなトランザクションは、ホストシステム102があるPCIeトランザクションを別のPCIeトランザクションに対してどのように処理するかを定義する、優先順位属性、順序付け属性、およびスヌープ可能属性などのトランザクション間属性を伴う場合がある。トランザクション間属性は、PCIe仕様に従ってTLP内に設けられる場合がある。PCIe仕様に従ってトランザクション間属性を伝達するにはTLPをどのように構成すればよいかについての理解の助けとして、次に図2A〜図2Cについて説明する。
【００１９】
この場合、図2Aは、PCIe仕様において定義されている例示的なPCIe TLP200の概略図である。PCIe TLP200は、TLPプレフィックス202と、TLPヘッダ204と、データペイロード206と、TLPダイジェスト208とを含む。TLPプレフィックス202およびTLPダイジェスト208は、PCIe仕様によればオプションである。非制限的な例では、TLPプレフィックス202は、ベンダ固有情報を伝達するためにベンダによって定義されたデータ構造に従って符号化される。PCIe仕様によれば、トランザクション間属性はTLPヘッダ204において伝達される。
【００２０】
この点に関して、図2Bは、PCIe仕様において定義されている図2AのPCIe TLP200内のTLPヘッダ204の概略図である。TLPヘッダ204はタイプフィールド210を含む。タイプフィールド210は、たとえば、メモリ読取り要求、メモリ書込み要求、入力/出力読取り要求、および入力/出力書込み要求などのトランザクションのタイプを示すように符号化されてもよい。TLPヘッダ204はまた、第1の属性フィールド212(図2BではAttrと短縮されている)と、第2の属性フィールド214(図2BではAttrと短縮されている)と、トラフィッククラスフィールド216(図2BではTCと短縮されている)とを含む。第1の属性フィールド212、第2の属性フィールド214、およびトラフィッククラスフィールド216は、図1のPCIe RC116とPCIeエンドポイント104(1)〜104(N)との間でトランザクション情報を伝達するPCIeトランザクション記述子(図示せず)の一部である。
【００２１】
PCIe仕様によれば、第1の属性フィールド212および第2の属性フィールド214は、トランザクション間属性を伝達するように構成される。この場合、図2Cは、トランザクション間属性を伝達するための図2BのTLPヘッダ204における第1の属性フィールド212および第2の属性フィールド214を例示的に示す概略図である。PCIe仕様によれば、第1の属性フィールド212は、それぞれの長さが1バイナリビット(1ビット)であり、識別情報(ID)ベースの順序付け属性を識別するように構成される。第2の属性フィールド214は、それぞれの長さが2バイナリビット(2ビット)であり、厳密でない順序付け属性および非スヌープ属性を識別するように構成される。第1の属性フィールド212および第2の属性フィールド214において伝達される属性(たとえば、IDベースの順序付け属性、厳密でない順序付け属性、非スヌープ属性)を以下では標準属性と呼ぶ。
【００２２】
再び図1を参照する。ホストシステム102は、図2AのPCIe TLP200におけるデータペイロード206をパーズするように構成されるトランザクションパーズ論理120を含む。トランザクション解析論理120はまた、図2BのTLPヘッダ204における第1の属性フィールド212および第2の属性フィールド214をパーズするように構成される。トランザクションパーズ論理120は、第1の属性フィールド212および第2の属性フィールド214において受信された属性をMMU110に渡す。トランザクションパーズ論理120はまた、バストランザクション122を生成し、バストランザクション122をMMU110に提供する。MMU110は、バストランザクション122を内部バス112を介してメモリコントローラ108に提供する。
【００２３】
前述のように優先順位属性、順序付け属性、およびスヌープ可能属性などのトランザクション間属性は、ホストシステム102があるPCIeトランザクションを別のPCIeトランザクションに対してどのように処理するかを定義する。PCIe仕様において定義されるように、メモリトランザクションには読取り要求トランザクション、書込み要求トランザクション、およびアトミック動作要求トランザクションが含まれる。この場合、トランザクション間属性は、読取り要求トランザクションと書込み要求トランザクションとアトミック動作トランザクションとの間の優先順位および/または順序を定義する。しかし、いくつかのホストシステムアーキテクチャ設計、たとえば、英国の会社ARM Holdingsによって開発されたマイクロプロセッサアーキテクチャでは、ホストシステム102の効率および性能を向上させるためにトランザクション内属性を含めることが可能である。
【００２４】
非制限的な例では、トランザクション内属性には、キャッシュ可能属性、バッファ可能属性、読取り割振り属性、書込み割振り属性、命令/データ属性、特権/ユーザ属性、ライトスルー属性、順序付き書込みおよび順序付き読取り属性が含まれる。キャッシュ可能属性は、宛先エンティティ(たとえば、PCIeエンドポイント104(1))におけるデータが発信側エンティティ(たとえば、プロセッサ106)における元のフォーマットと一致する必要があるかどうかを定義する。メモリトランザクションがキャッシュ可能属性においてキャッシュ可能であると定義されている場合、宛先エンティティにおけるデータは発信側エンティティにおける元のフォーマットと一致する必要がない。この場合、ホストシステム102は、キャッシュ可能トランザクションのデータと他のトランザクションのデータをTLPにおいて混合してもよい。バッファ可能属性は、宛先エンティティに到達したときにデータをバッファできる(遅延させることができる)かどうかを定義する。読取り割振り属性は、読取りトランザクションがキャッシュにおいてミスした場合にその読取りトランザクションに関連するデータをキャッシュ(図示せず)において割り振らなければならないかどうかを定義する。書込み割振り属性は、書込みトランザクションがキャッシュにおいてミスした場合にその書込みトランザクションに関連するデータをキャッシュにおいて割り振らなければならないかどうかを定義する。命令/データ属性は、データがバストランザクション命令であるかそれともトランザクションデータであるかを示す。MMU110および/またはメモリコントローラ108は、命令/データ属性に基づいて読取り/書込み許可を検査する代わりにバストランザクション命令を実行することを決定することができる。特権/ユーザ属性は、バストランザクション122がユーザモードアクセスであるかそれとも特権モードアクセスであるかを示す。MMU110および/またはメモリコントローラ108は、特権/ユーザ属性を使用してメモリアクセス許可を判定することができる。ライトスルー属性は、キャッシュ(図示せず)がバストランザクション122をライトスルーとして処理すべきかそれともライトバックとして処理すべきかを示す。ライトスルー属性は、ホストシステム102内の様々なキャッシュ(たとえば、システムキャッシュ、レベル2(L2)キャッシュなど)によって使用されてもよい。順序付き書込みおよび順序付き読取り属性は、並行バストランザクション(書込みまたは読取り)を順序付けする必要があることを示す。順序付き書込みおよび順序付き読取り属性は、バストランザクション122をすべての以前のバストランザクションに対して順序付けるために内部バス112によって使用される。この場合、トランザクション内属性は、特定のトランザクションに関するトランザクション処理選好を定義する。たとえば、読取り割振り属性は読取り要求トランザクションに関する場合があり、書込み割振り属性は書込み要求トランザクションに関する場合がある。したがって、上述のトランザクション内属性を以下ではトランザクション固有属性と呼ぶ。
【００２５】
上述のトランザクション固有属性は、ホストシステム102の効率および性能の向上を助けることができる。しかし、メモリトランザクションがPCIeエンドポイント104(1)〜104(N)から発信するとき、ホストシステム102は、トランザクションの特性に関して限られた知識しか有さず(たとえば、読取り要求、書込み要求、アトミック動作要求)、したがって、PCIeエンドポイント104(1)〜104(N)に関するトランザクション固有属性を判定することはできない。これに対して、PCIeエンドポイント104(1)〜104(N)は、トランザクション固有属性を認識するが、PCIe仕様ではトランザクション固有属性を伝達するための機構を設けないので、トランザクション固有属性をホストシステム102に渡すことはできない。したがって、PCIeエンドポイント104(1)〜104(N)が、PCIe仕様の順守を維持しつつトランザクション固有属性をPCIe RC116に伝達することが望ましい場合がある。
【００２６】
この場合、図3は、複数のPCIeエンドポイント302(1)〜302(N)がPCIeシステム300において効率および性能を向上させるようにトランザクション固有属性をホストシステム304に伝達するのを可能にするように構成される例示的なPCIeシステム300の概略図である。非制限的な例では、PCIeエンドポイント302(N)は、PCIeエンドポイント302(N)(1)〜302(N)(M)を制御するPCIeスイッチ302(N)である。この例では、PCIeエンドポイント302(N)(1)〜302(N)(M)は、PCIeスイッチ302(N)を介してホストシステム304と通信するように構成される。
【００２７】
説明の便宜のために、以下では非制限的な例としてPCIeエンドポイント302(1)について説明する。PCIeエンドポイント302(1)を参照して説明した構成および動作がPCIeエンドポイント302(1)〜302(N)およびPCIeエンドポイント302(N)(1)〜302(N)(M)の各々に適用可能であることを了解されたい。
【００２８】
図3を参照する。ホストシステム304は、少なくとも1つのプロセッサ306と、メモリコントローラ308と、MMU310とを含む。プロセッサ306、メモリコントローラ308、およびMMU310は、内部バス312(たとえば、SNoCバス)に結合される。メモリコントローラ308は、たとえば、DRAMまたはDDR DRAMなどのメモリ314を制御するように構成される。ホストシステム304はまた、属性インターフェース318を介してMMU310と通信可能に結合されるPCIeRC316を含む。非限定的な例では、属性インターフェース318は物理インターフェースまたは論理インターフェースである。PCIe RC316は、バスインターフェース320を介してPCIeエンドポイント302(1)〜302(N)を制御するように構成される。PCIe RC316とPCIeエンドポイント302(1)〜302(N)との間の通信は、図2Aを参照して説明したようにTLPに基づく。ホストシステム304は、図2AのPCIe TLP200におけるデータペイロード206をパーズするように構成されるトランザクションパーズ論理322を含む。トランザクションパーズ論理322はまた、図2BのTLPヘッダ204における第1の属性フィールド212および第2の属性フィールド214をパーズするように構成される。
【００２９】
図2Aにおいてすでに説明したように、PCIe TLP200は場合によっては、ベンダ固有情報を伝達するためにベンダによって定義されたデータ構造に従って符号化される場合があるTLPプレフィックス202を含む。上記の説明の例示的な態様によれば、PCIeエンドポイント302(1)は、ベンダによって定義されたデータ構造をPCIe TLP200におけるTLPプレフィックス202内に埋め込むことによってトランザクション固有属性をPCIe RC316に伝達するように構成される。
【００３０】
この点に関して、図4は、PCIeエンドポイント302(1)〜302(N)の各々が、図2AのPCIe TLP200のTLPプレフィックス202における図3のトランザクション固有属性を、図3のホストシステム304に伝達できるように符号化するのに使用することができる例示的なデータ構造400の概略図である。非制限的な例では、データ構造400は、バッファ可能属性ビット402と、キャッシュ可能属性ビット404と、読取り割振り属性ビット406と、書込み割振り属性ビット408とを含む。データ構造400をより多くの属性ビットを含むように拡張できることを了解されたい。
【００３１】
図4を参照する。バッファ可能属性ビット402は、PCIeエンドポイント302(1)から発信したトランザクションがそれぞれバッファ不能であるかあるいはバッファ可能であることを示す0または1に設定される。キャッシュ可能属性ビット404は、PCIeエンドポイント302(1)から発信したトランザクションがそれぞれキャッシュ不能であるかあるいはキャッシュ可能であることを示す0または1に設定される。読取り割振り属性ビット406は、PCIeエンドポイント302(1)から発信したトランザクションがそれぞれ非読取り割振りであるかあるいは読取り割振りであることを示す0または1に設定される。書込み割振り属性ビット408は、PCIeエンドポイント302(1)から発信したトランザクションがそれぞれ非書込み割振りであるかあるいは書込み割振りであることを示す0または1に設定される。
【００３２】
再び図3を参照する。PCIeエンドポイント302(1)は、たとえば、読取り要求であっても、書込み要求であっても、またはアトミック動作要求であってもよい既定のホストトランザクションに関する1つまたは複数のトランザクション固有属性を判定するように構成される処理回路327を含む。PCIeエンドポイント302(1)は、少なくとも1つのPCIe TLP324のTLPプレフィックス202における既定のホストトランザクションに関連するトランザクション固有属性を符号化するように構成される。PCIeエンドポイント302(1)は次いで、PCIe TLP324をホストシステム304に伝達できるようにバスインターフェース320に提供する。
【００３３】
PCIe RC316は、バスインターフェース320を介してPCIe TLP324を受信する。トランザクションパーズ論理322は、PCIe TLP324におけるデータペイロード206(および標準属性のうちのいずれか)をパーズする。トランザクションパーズ論理322は、既定のホストトランザクションに関するバストランザクション326を生成し、バストランザクション326をMMU310に提供する。MMU310は、バストランザクション326を内部バス312を介してメモリコントローラ308に提供するように構成される。
【００３４】
PCIe RC316は、属性プレフィックス検出およびパーズ論理328を含む。属性プレフィックス検出およびパーズ論理328は、バスインターフェース320からPCIe TLP324を受信し、受信されたPCIe TLP324におけるTLPプレフィックス202を検出するように構成される。属性プレフィックス検出およびパーズ論理328は、PCIe TLP324におけるデータペイロード206(および標準属性のいずれか)をパーズするトランザクションパーズ論理322と実質的に並行して、TLPプレフィックス202をパーズし、PCIeエンドポイント302(1)によって図4のデータ構造400内に符号化されたトランザクション固有属性を抽出する。属性プレフィックス検出およびパーズ論理328は次いで、トランザクション固有属性を属性インターフェース318に提供する。
【００３５】
MMU310は、属性インターフェース318からトランザクション固有属性を受信するように構成される属性変換器330(図3ではACと短縮されている)を含む。属性変換器330は、トランザクション固有属性を1つまたは複数のバス固有属性332に変換し、バス固有属性332をメモリコントローラ308に提供する。第1の非限定的な例では、バス固有属性332はバストランザクション326のインバンド信号として伝達される。その結果、バス固有属性332はバストランザクション326と同期する。第2の非限定的な例では、バス固有属性332はサイドバンド信号としてバストランザクション326に伝達される。その結果、バス固有属性332をホストシステム304によってバストランザクション326と同期させる必要がある。その場合、メモリコントローラ308は、ホストシステム304の性能を向上させるためにトランザクション固有属性を使用してもよい。非制限的な例では、属性変換器330は、トランザクション固有属性を1つまたは複数のアドバンストエクステンシブルインターフェース(AXI)固有属性に変換し、AXI固有属性を内部バス312を介してメモリコントローラ308に提供するように構成される。
【００３６】
図4においてすでに説明したように、データ構造400をより多くの属性ビットを含むように拡張してもよい。したがって、属性プレフィックス検出およびパーズ論理328は、他のトランザクション固有属性(たとえば、非メモリトランザクション属性)を受信してパーズし、これらのトランザクション固有属性を属性インターフェース318に提供するように構成されてもよい。したがって、回路336は、機能的にMMU310とは異なり、属性インターフェース318を介して上記の他のトランザクション固有属性を受信し、ホストシステム304において他の既定のホストトランザクションを実行するように構成されてもよい。非制限的な例では、回路336は、MMU310を通過する必要のない属性を受信する。そのような属性は、アドレス変換属性および/または他のメモリページ属性に依存しない。回路336は、受信された属性(たとえば、順序付き書込みおよび順序付き読取り属性)を直接内部バス312に導入することができる。
【００３７】
ホストシステム304は、ホスト側プロセスに従ってPCIeエンドポイント302(1)からトランザクション固有属性を受信するように構成されてもよい。この点に関して、図5は、図3のホストシステム304においてトランザクション固有属性を受信するための例示的なホストプロセス500のフローチャートである。
【００３８】
図5を参照する。属性プレフィックス検出およびパーズ論理328は、図2BのTLPプレフィックス202を含むPCIe TLP324を受信する(ブロック502)。属性プレフィックス検出およびパーズ論理328は、PCIe TLP324においてTLPプレフィックス202を検出する(ブロック504)。属性プレフィックス検出およびパーズ論理328は、TLPプレフィックス202をパーズし、既定のホストトランザクションに関連するトランザクション固有属性を抽出する(ブロック506)。属性プレフィックス検出およびパーズ論理328は次いで、トランザクション固有属性を属性インターフェース318に提供する(ブロック508)。
【００３９】
再び図3を参照する。PCIeエンドポイント302(1)は、PCIeエンドポイント側プロセスに従ってトランザクション固有属性をホストシステム304に提供するように構成されてもよい。この点に関して、図6は、トランザクション固有属性を図3のホストシステム304に伝達するための例示的なPCIeエンドポイントプロセス600のフローチャートである。
【００４０】
図6を参照する。PCIeエンドポイント302(1)は、既定のホストトランザクションに関するトランザクション固有属性を判定する(ブロック602)。PCIeエンドポイント302(1)は次いで、PCIe TLP324の図2AのTLPプレフィックス202におけるトランザクション固有属性を符号化する(ブロック604)。PCIeエンドポイント302(1)は次いで、PCIe TLP324をホストシステム304に提供する(ブロック606)。
【００４１】
再び図3を参照する。ホストシステム304におけるPCIe RC316は、PCIe仕様との後方互換性を有効化するように構成される。この場合、属性プレフィックス検出およびパーズ論理328は、PCIe TLP324におけるTLPプレフィックス202が図4のデータ構造400を含まないことを検出した場合、符号化されたトランザクション固有属性を抽出するためのTLPプレフィックス202のパーズを行わない。その結果、属性プレフィックス検出およびパーズ論理328は、トランザクション固有属性を属性インターフェース318に提供せず、MMU310における属性変換器330は、トランザクション固有属性のバス固有属性332への変換を行わない。
【００４２】
PCIeエンドポイント302(1)はまた、PCIe仕様との後方互換性を有効化するように構成される。この場合、PCIe RC316とPCIeエンドポイント302(1)との間で機能メッセージングを行うことが可能であってもよい。具体的には、PCIe仕様では、一意の機能識別子を有する新しい機能構造を定義することができる。PCIe RC316によってPCIeエンドポイント302(1)が検出されると、PCIe RC316は、PCIe RC316自体がデータ構造400をサポートする場合に初期セットアップの一部として機能問合せ(図示せず)を送る。PCIeエンドポイント302(1)は、データ構造400をサポートする場合、一意の機能識別子によって応答する。PCIeエンドポイント302(1)は、データ構造400をサポートしない場合、PCIe RC316からの機能問合せを無視する。PCIeエンドポイント302(1)は、初期セットアップ時にPCIe RC316から機能問合せを受信しなかった場合、PCIe RC316がデータ構造400(たとえば、レガシーPCIe RC)をサポートしていないと結論付けてもよい。したがって、PCIeエンドポイント302(1)は、PCIe TLP324におけるTLPプレフィックス202内へのデータ構造400の付加を行わない場合がある。PCIeエンドポイント302(1)は、内部レジスタ(図示せず)を使用して、初期セットアップの結果に基づいてPCIe RC316がデータ構造400をサポートするかどうかを示してもよい。
【００４３】
本明細書において開示される態様による図3のホストシステム304は、任意のプロセッサベースデバイス内に設けられるか、または組み込まれてもよい。例としては、限定ではないが、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、携帯電話、セルラーフォン、スマートフォン、タブレット、ファブレット、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビ、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、ポータブルデジタルビデオプレーヤおよび自動車が含まれる。すべてのそのようなデバイスが本開示によって恩恵を受ける場合があるが、ワイヤレス接続に依存しRFFEバスを有するデバイスが本開示の態様を使用すると最大の利益が得られる。
【００４４】
この点に関して、図7は、図3のホストシステム304をサポートすることのできるプロセッサベースシステム700の一例を示す。この例では、プロセッサベースシステム700は、各々が1つまたは複数のプロセッサ704(たとえば、図3のプロセッサ306)を含む1つまたは複数の中央処理ユニット(CPU)702を含む。CPU702は、一時的に記憶されたデータに迅速にアクセスできるようにプロセッサ704に結合されるキャッシュメモリ706を有する場合がある。CPU702は、図3の内部バス312であることが可能なシステムバス708に結合される。よく知られているように、CPU702は、システムバス708を介してアドレス情報、制御情報、およびデータ情報を交換することによって、他のデバイスと通信する。図7には示されていないが、複数のシステムバス708が設けられることがあり、その場合、各システムバス708は異なるファブリックを構成する。
【００４５】
他のマスタデバイスおよびスレーブデバイスをシステムバス708に接続することができる。図7に示すように、これらのデバイスは、例として、メモリシステム710と、1つまたは複数の入力デバイス712と、1つまたは複数の出力デバイス714と、1つまたは複数のネットワークインターフェースデバイス716と、1つまたは複数のディスプレイコントローラ718と、図3のMMU310とを含むことができる。入力デバイス712は、限定はしないが、入力キー、スイッチ、音声プロセッサなどを含む、任意のタイプの入力デバイスを含むことができる。出力デバイス714は、限定はしないが、オーディオ、ビデオ、他の視覚インジケータなどを含む任意のタイプの出力デバイスを含むことができる。ネットワークインターフェースデバイス716は、ネットワーク720との間のデータの交換を可能にするように構成される、任意のデバイスとすることができる。ネットワーク720は、限定はしないが、有線ネットワークまたはワイヤレスネットワーク、プライベートネットワークまたは公衆ネットワーク、ローカルエリアネットワーク(LAN)、ワイヤレスローカルエリアネットワーク(WLAN)、ワイドエリアネットワーク(WAN)、BLUETOOTH(登録商標)ネットワーク、またはインターネットを含む、任意のタイプのネットワークとすることができる。ネットワークインターフェースデバイス716は、所望の任意のタイプの通信プロトコルをサポートするように構成することができる。メモリシステム710は、1つまたは複数のメモリユニット722(0〜N)と、図3のメモリコントローラ308であってもよいメモリコントローラ724とを含むことができる。
【００４６】
また、CPU702は、1つまたは複数のディスプレイ726に送信される情報を制御するために、システムバス708を介してディスプレイコントローラ718にアクセスするように構成される場合もある。ディスプレイコントローラ718は、1つまたは複数のビデオプロセッサ728を介して表示すべき情報をディスプレイ726に送信し、ビデオプロセッサ728は、表示すべき情報を、ディスプレイ726に適したフォーマットになるように処理する。ディスプレイ726は、限定はしないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、発光ダイオード(LED)ディスプレイなどを含む、任意のタイプのディスプレイを含むことができる。
【００４７】
本明細書で開示する態様に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムは、電子ハードウェアとして実装される場合も、メモリもしくは別のコンピュータ可読媒体に記憶され、プロセッサもしくは他の処理デバイスによって実行される命令として実装される場合も、またはその両方の組合せとして実装される場合もあることが、当業者はさらに理解されよう。本明細書において説明するマスタデバイスおよびスレーブデバイスは、例として、任意の回路、ハードウェアコンポーネント、集積回路(IC)、またはICチップにおいて使用されてもよい。本明細書で開示するメモリは、任意のタイプおよびサイズのメモリであってもよく、任意のタイプの所望の情報を記憶するように構成されてもよい。この互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がどのように実装されるかは、特定の適用例、設計選択、および/または全体的なシステムに課される設計制約によって決まる。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装してもよいが、そのような実装形態の決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【００４８】
本明細書で開示する態様に関して説明する種々の例示的な論理ブロック、モジュール、および回路は、プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタロジック、個別ハードウェアコンポーネント、または本明細書で説明する機能を実行するように設計されるそれらの任意の組合せを用いて実装または実行される場合がある。プロセッサは、マイクロプロセッサである場合があるが、代替としてプロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンである場合がある。プロセッサはまた、コンピューティングデバイスの組合せ(たとえば、DSPとマイクロプロセッサ、複数のマイクロプロセッサ、またはDSPコアと連携する1つもしくは複数のマイクロプロセッサの各組合せ、あるいは任意の他のそのような構成)として実装されてもよい。
【００４９】
本明細書で開示する態様は、ハードウェアとして具現化され、かつハードウェアに記憶されている命令として具現化されてもよく、命令は、たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において知られている任意の他の形態のコンピュータ可読媒体内に存在してもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取ること、および記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサに一体化されてもよい。プロセッサおよび記憶媒体は、ASIC内に存在してもよい。ASICは、リモート局の中に存在してもよい。代替として、プロセッサおよび記憶媒体は、リモート局、基地局、またはサーバの中で個別コンポーネントとして存在する場合がある。
【００５０】
本明細書の例示的な態様のいずれかにおいて説明した動作ステップはまた、例示および説明のために記載されていることに留意されたい。上述の動作は、図示したシーケンス以外の多数の異なるシーケンスにおいて実行される場合がある。さらに、単一の動作ステップにおいて説明した動作は、実際にはいくつかの異なるステップにおいて実行される場合がある。追加として、例示的な態様において説明した1つまたは複数の動作ステップが組み合わされてもよい。当業者には容易に明らかであるように、フローチャート図に示す動作ステップが数多くの異なる修正を受けてもよいことを理解されたい。当業者にはまた、情報および信号が様々な異なる技術および技法のいずれを使用して表されてもよいことが理解されよう。たとえば、上記の説明全体を通じて参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁気粒子、光場あるいは光粒子、またはそれらのオプションの組合せによって表現されてもよい。
【００５１】
本開示の前の説明は、いかなる当業者も本開示を作成または使用することができるようにするために提供される。本開示の様々な変更は、当業者には容易に明らかになり、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用されてもよい。したがって、本開示は、本明細書で説明した例および設計に限定されるものではなく、本明細書で開示する原理および新規の特徴と一致する最も広い範囲を与えられるべきである。
【符号の説明】
【００５２】
100  PCIeシステム
102  ホストシステム
104(1)〜(N)  PCIeエンドポイント、PCIeスイッチ
106  プロセッサ
108  メモリコントローラ
110  MMU
112  内部バス
114  メモリ
116  PCIeルートコンプレックス
118  バスインターフェース
120  トランザクションパーズ論理
122  バストランザクション
200  PCIe TLP
202  TLPプレフィックス
204  TLPヘッダ
206  データペイロード
208  TLPダイジェスト
210  タイプフィールド
212  第1の属性フィールド
214  第2の属性フィールド
216  トラフィッククラスフィールド
300  PCIeシステム
302(1)〜(N)  PCIeエンドポイント、PCIeスイッチ
304  ホストシステム
306  プロセッサ
308  メモリコントローラ
310  MMU
312  内部バス
314  メモリ
316  PCIe RC
318  属性インターフェース
320  バスインターフェース
322  トランザクションパーズ論理
324  PCIe TLP
326  バストランザクション
327  処理回路
328  属性プレフィックス検出およびパーズ論理
330  属性変換器
332  バス固有属性
336  回路
400  データ構造
402  バッファ可能属性ビット
404  キャッシュ可能属性ビット
406  読取り割振り属性ビット
408  書込み割振り属性ビット
500  ホストプロセス
600  PCIeエンドポイントプロセス
700  プロセッサベースシステム
702  中央処理ユニット
704  プロセッサ(CPU)
706  キャッシュメモリ
708  システムバス
710  メモリシステム
712  入力デバイス
714  出力デバイス
716  ネットワークインターフェースデバイス
718  ディスプレイコントローラ
720  ネットワーク
722(0〜N)  メモリユニット
724  メモリコントローラ
726  ディスプレイ
728  ビデオプロセッサ
【図１】
2018523217.tif 000003
【図２Ａ】
2018523217.tif 000004
【図２Ｂ】
2018523217.tif 000005
【図２Ｃ】
2018523217.tif 000006
【図３】
2018523217.tif 000007
【図４】
2018523217.tif 000008
【図５】
2018523217.tif 000009
【図６】
2018523217.tif 000010
【図７】
2018523217.tif 000011
【国際調査報告】
2018523217.tif 000012
2018523217.tif 000013
2018523217.tif 000014