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については、メンバーになっている会社は仕様書をダウンロードできる
PCI-Expressの面白いところは、独立したシリアル通信路を沢山並べて、レシーバがそれぞれのレーンから受け取ったデータを正しい順序で並べ直して1本のレーンの通信速度より高速に通信できた事にする ネットワークのボンディングみたいな仕組みが備わってる点な予感 #kernelvm
— Fadis (@fadis_) June 6, 2015
lspci -xxxx
— 倍増計画へのcontribution (@naota344) June 6, 2015