目次:
-
PCIeとは?
-
PCIeのトポロジー
-
PCIeの速度
-
まとめ
PCIeとは?
PCIe(Peripheral Component Interconnect Express)は、コンピューターシステムでのデバイス間の高速なデータ通信を可能にするインタフェース規格です。旧来のPCI、PCI-X、AGPバス規格を置き換えるよう設計されており、より高速なデータ転送を実現し、システム設計を簡素化します。
主にCFexpressなどの拡張カードやストレージデバイスなどのコンピューターの周辺機器がPCIeを使用して接続されます。PCIeは従来のPCI(Peripheral Component Interconnect)バスよりも高速であり、データ転送速度が大幅に向上しています。通常、PCIeスロットはマザーボード上にあり、CFexpressカードやGPUなどのデバイスを接続するために使用されます。
PCIeのトポロジー
PCIeのトポロジーは、ツリー状の構造になっている、階層の最上位は CPU です。 一般に、コンポーネント RC (Root Complex)、スイッチ、端末デバイス EP (End Point)、およびその他のタイプの PCIE デバイスで構成されます。
次に、PCIe がどのように初期化され、下図で強調表示されている一般的なリンクを介して送信されるかを説明します。
RC(Root Complex):
CPU は通常非常にビジーであるため、多くのことを RC (Root Complex) に任せます。RC はメモリにアクセスし、内部 PCIe バスといくつかの PCIe ブリッジを介して他のいくつかの PCIe ポートを拡張できます。
RC の内部は非常に複雑です。主に完成した機能は、メモリドメインからPCIeバスドメインへのアドレス変換と物理信号の変換です。CPU と PCle トポロジ間のインターフェイスとして理解でき、RC は CPU からのリクエストを 4 つの異なる PCIe リクエスト (configuration、Memory、I/O、Message) に変換し、接続されているデバイスに送信します。
switch (スイッチ):
PCIe バスはエンドツーエンド接続方式を採用しているため、各 PCIe リンクは両端に 1 つのデバイスしか接続できませんが、さらに多くの PCIe デバイスを搭載する必要がある場合は、スイッチ アダプターを使用する必要があります。
スイッチは PCIe ポートを拡張し、1 つの PCIe ポートを複数の PCIe ポートに拡張します。RC に近いポートはupstream portと呼ばれ、拡張されたポートはdownstream portと呼ばれます。 ダウンストリーム ポートは、他のスイッチまたはEP (End Point)をマウントして管理できます。 上流から来るデータは次のように識別する必要があります。
- それが自分自身に渡されたデータであるかどうか、そうである場合は受信されます。
- それは自身のダウンストリーム ポートのデータですか? そうであれば転送します。
- どちらでもない場合は拒否します。
downstream portから送信されたデータもスイッチによってチェックされ、転送されます。 一般に、スイッチにはupstream portが 1 つだけあり、複数のdownstream portを持つことができます。
EP (End Point):
PCIe端末装置はEndpointと呼ばれ、PCIeのエンドノードです。例えば、私たちがよく知っているSSD、CFexpressなどです。 EndpointはRC (Root Complex)にマウントすることも、switch (スイッチ)にマウントすることもできます。
PCIeの速度
コンピュータのマザーボードには長いスロットがあります。
これらの長いスロットは、実はPCIeの異なるインターフェイスで、一般的なPCIeインターフェイスには主にX1、X4、X8、X16の4つのサイズがあります。 PCIeバスの同じ世代にある場合、4つのサイズのスロットの最大帯域幅は異なります。 X16のPCIe速度はX8の2倍であり、X8はX4の2倍である。
CFexpress 2.0 Type Bを例にとると、CFexpress 2.0 Type BはPCIe 3.0 x2を採用します。つまり、 2つのレーンが含まれており、各レーンの速度は次のとおりです: 8GT/s x 128b/130b = 7.88 Gbps=0.9845GB/s
PCIe3.0 x2の速度は、0.9845GB/s x 2 = 1.969GB/sとなります。