Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PCIeの話/PCIe-20150606

wataken44
June 06, 2015
1.5k

 PCIeの話/PCIe-20150606

20150606 Kernel/VM用資料 /

wataken44

June 06, 2015
Tweet

Transcript

  1. 1-1. PCIって何? 辞書的な意味 Peripheral Component Interconnect =周辺機器の相互接続 仕様としてのPCIの話は後述 PCI-DSSの話は無し Payment

    Card Industry Data Security Standard 柚子胡椒の話も無し google: PCI柚子胡椒 4 https://twitter.com/yojiro/status/607065492969263104
  2. 2-1. PCI-SIG PCI-SIG: PCI仕様や関連仕様を策定している業界団体 https://www.pcisig.com/membership/about_us/ 800社程度の参加 9人のBoard of Directors PCI-SIGの役割

    仕様の策定 カンファレンスの開催 Vendor ID(2byte)の割り当て https://pci-ids.ucw.cz/v2.2/pci.ids Intel:0x8086 IBM: 0x1014 6
  3. 4-1. PCI Express概要 周辺機器の相互接続のための仕様 バスアーキテクチャ  Point-to-PointなLink パラレルIO  シリアルIO

    ソフトウェアはPCIと互換性を保持 2002年 Intelが開発していた3GIOを標準化 複数の仕様が存在 PCI Express Base Specification 今日の話はこれ PCI Express Card Electromechanical Specification etc., 11
  4. 4-3. シリアルI/O 送信時にクロックとデータを混ぜる  受信時にクロックとデータを分離する skewに対処 8b/10b変換(Gen1, Gen2), 128b/130b変換(Gen3) 13

    CLK Data[0] Data[n-1] 8cycle Lane 0 Lane n-1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 10cycle serialize deserialize
  5. 4-4. Linkの帯域 Linkの帯域 = Lane数 * Laneあたりの帯域 Lane数は前述 Laneあたりの帯域 14

    世代 Signaling rate エンコード 帯域 Gen1 2.5 GT/s 8b/10b 2 Gbps Gen2 5.0 GT/s 8b/10b 4 Gbps Gen3 8.0 GT/s 128b/130b 7.88 Gbps ≒ 8 Gbps Gen4(策定中) 16.0 GT/s ? 128b/130b ? 15.8 Gbps ≒ 16 Gbps
  6. 4-5. Componentとトポロジ PCIeの主要Componentは3つ Root Complex : CPUとIOの接続 Switch : PCI

    bridgeの集合体(省略) Endpoint : いわゆるIOデバイス Root Complexを頂点としたツリー 15 Root Complex Switch Endpoint Endpoint Endpoint CPU Link
  7. 4-6. レイヤ Transaction Layer Read/WriteやErrorなどのパケット(TLP) 各種レジスタ Data Link Layer: Linkの状態管理やデータのintegrity

    check Physical Layer: 電気的な部分 + α 16 Physical Layer Data Link Layer Transaction Layer Physical Layer Data Link Layer Transaction Layer Component Component Link
  8. 4-8. Transaction Layer Packet(TLP)  CfgRd0/CfgWr0/CfgRd1/CfgWr1  Configuration空間を読み書きするTLP  lspciすると発行されるのがCfgRd0/1

     MRd/MWr/MRd64/MWr64  Memory空間を読み書きするTLP  IORd/IOWr  IO空間を読み書きするTLP  Message  Errorなど特殊なイベントを通知するためのTLP  Cpl/CplD  IOXX/CfgXX/MRdに対する応答 18