メインボードの転送速度まとめ

職場の友人に、「専門じゃないからよくわからん」と言われ、
自分自身もうろ覚えだったので、改めてまとめて見ます。

【参考】
[PCI-Expressについて](https://pcnomori.blog.fc2.com/blog-entry-116.html)
[SATA I、SATA IIとSATA IIIの違い](https://kb-jp.sandisk.com/app/answers/detail/a_id/8972/~/sata-i%E3%80%81sata-ii%E3%81%A8sata-iii%E3%81%AE%E9%81%95%E3%81%84)
[通信用語の基礎知識：SAS](https://www.wdic.org/w/WDIC/SAS)
[PCI EXPRESS 3.1 JITTER REQUIREMENTS](https://www.silabs.com/documents/public/application-notes/AN562.pdf)
[wikipidia:PCI Express](https://ja.wikipedia.org/wiki/PCI_Express)
[マザーボードの PCI Express レーン数を、CPU 対応レーン数よりも多くできる理由](http://direct.pc-physics.com/motherboard/switch-chip-lane.html)
[インテル® Xeon® Platinum 8180 プロセッサー](https://ark.intel.com/ja/products/120496/Intel-Xeon-Platinum-8180-Processor-38-5M-Cache-2-50-GHz-)
[AMD EPYC™ 1ソケット・ソリューション](https://www.amd.com/ja/products/epyc-7000-series-1-socket-models)
### ざっくりと…

| 規格 | 限界速度 | ほか |
|:------------------|---------------:|------------:|
| SATA I       |        150MB/s |          |
| SATA II       |        300 MB/s |          |
| SATA I       |        600 MB/s |          |
| SAS 1.0       |        300 MB/s |    3.0Gbps |
| SAS 2.0       |        600 MB/s |    6.0Gbp |
| SAS 3.0       |        1.2 GB/s |  12.0Gbps |
| SAS 4.0       |        2.25 GB/s |  22.5Gbps |
| PCI Express 1.1 (Gen1) |        1.6 GB/s |  x32双方向 |
| PCI Express 2.0 (Gen2) |        3.2 GB/s |  x32双方向 |
| PCI Express 3.0 (Gen3) |        6.4 GB/s |  x32双方向 |
| PCI Express 4.0 (Gen4) |       252.1 GB/s |  x64双方向(もうすぐ？) |
| PCI Express 5.0 (Gen5) |       504.1 GB/s |  x64双方向(未来) |

規格上の限界速度を載せてみました…。
これだけみてもPCI-eが圧倒的な感じですね。
ちょっと前にサーバのディスク＝SASと思ってましたが、今はもう見なくなってますね…。



### CPUの扱えるPCI-eレーン数について
メインボードにスロットがいっぱいついてても、CPUが対応してますか？っていうところについて…。
正直良くわかってない部分なので間違ってるかもしれません。

マザーボード（メインボード）にはスイッチチップという機構が装備されており、
CPUが扱える以上にソケットが用意されている様子。
~~デバイス（機器）→チップセット→CPUというフローは揺るがない（と思う…）~~

揺るいでました。

[PCH](https://www.wdic.org/w/SCI/%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%83%BB%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%83%BB%E3%83%8F%E3%83%96)

ボードのバスについては気にしなくて良さそうになってました。



PCI-eの処理をするのはCPUになってるようです。

どれだけ扱えるかはメインボードとCPU次第なところがあるっぽい。

intel Xeon® Platinum 8180 プロセッサー: PCI Express レーンの最大数 48 
AMD EPYC: PCI Express レーンの最大数 128

~~ただ、人間が感知できる速度を超えてるので、気にならないという記事もありますが
やっぱりバスが詰まったりする。
バスが詰まったら意味がない。ここはボードレイアウトをしている人たち次第。~~


AMDが3倍くらいすごい。
というところがミソであると感じる。

### AMDのCPU使えばすごいいことになるの？

AMDのEpycは曲者だと思います。４つのダイを使用し、128レーンという偉業の収容をしてます。
何が曲者かというと、「ダイ」というもの。
「ダイ」については別途勉強するけど、吊るし（いわゆる設置してデフォルト）で速いものではなく、
チューニングが必要ということ。
2ソケットCPUのボードを使っても、インテルには叶わない（かもしれない）点は忘れてはいけない。
自動でダイレクトにインプット、アウトプットを繋いでくれるようですが、
自動では遅い。
イン・アウトで物理的にCPUが別れている情報を処理するときは遅延が発生するらしい。
入力がCPU0で出力がCPU1となると、バスを経由するため遅延が発生する。
それがダイ単位でも出るかもしれないという点。

### それって…
制御できるみたいですよ。
これ以上は実機さわったことないからわからんです…。
現状Pci-E3.0であればAMD Epycの１ソケットが優れているような印象。
コア単位の性能は負けてるかもしれないけど、
PCI-eを使用した1CPUでの並走処理においては現状最高のものだと思う。

この状況で何が最適か？と考えると、
ストレージ。
ネットワーク。

これって自分が勉強したレベルだから間違ってる可能性はあります。
だからちゃんと自分の言葉でしゃべれるように、もっと知りたかった。


【追記】
[プラットフォーム・コントローラー・ハブ](https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%83%BB%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%83%BB%E3%83%8F%E3%83%96)
チップセットに必要とされる帯域幅は緩和された。 

ボード問題解決ああああああああああああああああああああああああああああ！！