by shigemk2

当面は技術的なことしか書かない

PCIeの話 まとめ #kernelvm

speakerdeck.com

PCI is 何

  • 周辺機器の総合接続
  • 仕様としてのPCIの話は後述
  • PCI-DSSの話はしない

PCI-Expressってなに

  • 周辺機器の相互接続のための仕様

決めているのは誰

  • PCI-SIGという団体
  • 仕様の策定
  • カンファレンス開催
  • VendorIDの割り当て

その歴史

  • ISA PCI PCI-X
  • 本ずじがPCI→PCIe

バスアーキテクチャとパラレルIO

遅い、電気的なノイズが発生しやすい 同じようにデータが届くとは限らない。ので、辛い。

PCIe

  • パラレルIO→シリアルIO
  • バスアーキテクチャ→Point-to-PointなLink

モノが2個あったら、専用の線をつなぐ

シリアルIO

  • 送信時にクロックとデータを混ぜる
  • 受信時にクロックとデータを分離する
  • クロックを省けるということが論理的に言えた。クロックを一緒に送らなくてもいい。
  • という計算方法で作られたのがシリアルIO

  • Gen1 Gen2まで使われていた

Linkの帯域

  • レーン数は4本あれば4倍になる。
  • Gen1→Gen3までに指数関数的にスペックが上がってきてる

Componentとトポロジ

  • Componentは3つ
  • root complexを頂点としたツリー

レイヤ

  • Transaction Layer
  • Data Link Layer
  • Physical Layer

アドレスの種類とレジスタ

  • Configuration
  • Memory
  • I/O 互換性のために残す

まとめ

  • パケットのフォーマットルーティング
  • lspciの読み方
  • PCIについては、メンバーになっている会社は仕様書をダウンロードできる