パソコン(PC)の森

2020/031234567891011121314151617181920212223242526272829302020/05

PREV | PAGE-SELECT | NEXT

≫ EDIT

PCI-Expressについて

【PCI-Expressについて】

今回は、VGAやRAIDカード、USB増設ボード、ビデオキャプチ
ャーボード、サウンドボードの様な増設ボードを接続する時に使
用するPCI-Expressについて書きます。



【PCI-Expressとは】
PCI-SIGが策定した、PC向けのシリアルインターフェイスです。

上記した様に現行のVGA各種ボードを接続する為の規格となっ
ており、VGAはAGP、各種ボードはPCIの後継の規格となります。



【PCI-Expressの接続仕様とは】

レーン(伝送路)とは】
PCI-E x1
PCI-Expressのデータ伝送路は、送信用受信用2本1組で最
小の転送路を構成し、その伝送路を束ねる事で最大転送量を変え
る事が出来る仕様になっています。

PCI-E x2
だから↑の画像の様に2レーンになると、一度に転送出来る量が2
に増えます。


伝送路の本数の表記はPCI-Express x1~x16で表記されます。

現状束ねられる伝送路の最大本数は32本ですが、PCI-Expressの
スロットの仕様上16本までしか対応していない為、

x32以上を使うには2本以上のスロットに接続する必要があります。



【レーンの本数】
レーンの本数は、CPUかチップセットにあるPCI-Expressのコン
トローラ
の設計に依存し、コントローラによって管理できる本数
が変わってきます。



【レーンの仕様】
基本的にスロットは下位互換があり、x16のスロットにx8以下の
各種ボードを接続してもx8以下の転送レートで動作可能です。

レーンはCPUかチップセット内にあるPCI-Expressのコントロー
一括で管理しており、スロットの接続状況によって自動的
使うデータ転送路の本数を管理する様になっています。


例えば、x16のスロットが2つあっても上記した様にコントローラ
x16までしか対応していない場合、VGAを2枚挿してSLICFX
をした時に、自動的にx8+x8にします。

場合によってはx1スロット用に余裕を残す為にx8+x4にする事も
あります。

コントローラ毎機器を接続した分だけ分割されて行きます。



(2013/12/11追記)
【スイッチチップとレーン分割の仕様】
コントローラに対して複数のPCI-Eスロットを有する場合、スイ
ッチチップ
と言うレーン数を物理的に管理するチップを搭載し、
そのチップを仲介する事でスロット毎にレーン分割をしています。


因みに、分割するレーンの構成はスイッチチップ仕様による
で、MBのマニュアルのPCI-Eの項目で確認して下さい。

(物によってはx16のスロットの形状をしていても物理配線がx4、
x8までしかない
スロットもあるので要確認)



【スロットの対応レーン数が多い事がある理由】
MBによってはチップセットやCPUにつまれているコントローラの
対応レーン数よりもPCI-Eスロットの対応レーン数が多い物が存
在していますが、

これは、スイッチチップ以降で対応させているからです。

PCI-E 分割(注:片側通信で表現)
スイッチチップはレーン数を単純分割するだけではなく、チップ
以降でコントローラの対応するレーン数よりも多いレーン数を接
続出来る様になっています。

どういう事かというと、通信と言うのは複数同時に行っているわ
けではなく、

一度に送れる通信は1つであり、コントローラからスイッチチップ
まで一度に送れる同じデータを分割した物しか送っていません。

また、分割先のスロットを同時に複数使って通信に割り込みが掛
かった時
に、経路を文字通りスイッチ(切り替え)しているので、
コントローラの対応本数よりも多いレーン数を搭載しても問題な
い訳です。

(人間が知覚出来る速度ではないので、同時に通信している様に思
えるが、そうではない)



【PCI-Expressの転送レート】
PCI-E(データ転送レート)(クリックすると拡大)
現状Generation 3.0まで実装されており、規格が上がる度に1
ーン
辺りの転送レートがになっています。

(2019/6/1追記)
PCI-E4.0のMBとVGA、NVMeのSSDがもう少しで販売になると
言う事なので、表を更新しました。



【転送量と方向について】
片方向と双方向の転送レート記入してありますが、基本的にVGA
は来たデータを処理するだけなので、片方向の転送レートを見て
下さい。

USB増設ボードRAIDカード等の双方向で通信するタイプは
方向
の転送レート見てください。

また、NVMeでSSDを接続する場合も双方向です。




【表内の単位について】
【GT/s(GigaTransfers per second)】
高速シリアル通信の通信速度の単位。

PCIeシリアルバスの通信は、8bitのデータを転送するのに周波数
やエラー検出用の2bitを足した10bitで転送しており、それを考慮
した1秒間に何Gbit転送できるか、という単位。


但しGeneration 3.0からは128bitのデータを転送するのに周波
数やエラー検出用の2bitを足した130bitで転送している為注意が
必要。


Generation 2.0以前の場合、実行速度は8bit分となる為、Gbps
(Gigabits per second)で表すと10GT/s = 8Gbpsとなり、Ge
neration 3.0の場合は13GT/s = 12.8Gbpsとなる。



【Gbps,Gb/s(Gigabits per second)】
1秒間に何ギガbitのデータを転送できるかを表した単位。

8bit = 1Byteであるので、8GbpsGB/sで表すと、8,000,00
0,000
/8 = 1,000,000,000となり、単位に合わせると8Gbps
= 1GB/sになります。



【世代間の互換性】
基本的に1.1~4.0までスロットの形状は同じで下位互換がある為、
スロットの世代に対して下位の機器を挿しても、下位
転送レートで動作します。

(例:4.0スロット1.1の規格のボードを挿すと、1.1転送レ
ート
で動作する。)

また、上位互換もあり、下位のスロットに上位の機器を挿しても、
下位転送レートで動作します。

(例:1.1スロット4.0の規格のボードを挿すと、1.1転送レ
ート
で動作する。)



【PCI-Express 2.0と3.0の差】
3.0の対応機器が増えて来たので興味が出てきている方も増えてき
ていると思いますので書きます。



【VGA(グラフィックボード)での2.0と3.0の差】
基本的に性能は変わりません。

転送レートが変わっているから性能が上がるのではないか?と思わ
れる方もいると思いますが、3.0になっても基本的に性能は上がり
ません。


どういう事かというと、ストレージからソフトやデータを読み込
んで速度を補うメモリの役割と同様に、GPUに直でデータを転送
するとGPUの処理能力に対して転送速度が遅すぎる為、

VRAM(Video Memory)にデータを貯めておいて、そこからGP
Uにデータを転送する事で処理をスムーズにしているのですが、

転送量が変わるのはメモリストレージ(HDD,SSD)とVRAM
だけであり、VRAMからGPUへの速度は変わりません

さらに、現状のGPUの処理能力は2.0 x16で転送出来るデータ量
超えていない為、VRAMに一度に転送するデータ量を増やそう
が、GPU側の処理能力が原因で性能は全く変わりません。

但し下記の理由で3.0の利点が出ます。

(2016/1/14追記)
通常の実行時は上記した様に来るデータを処理するだけなのです
が、ベンチの場合規定時間毎の処理後にCPU側に処理をしたとい
う通信を返してそれを元に数値化しているので、

2.0と3.0では差がある様に見える事があるので注意して下さい。



【VGAでの3.0の利点とは】
PCI-Expressコントローラによって管理出来るレーン数が違いま
すが、物によっては少ないレーン数しか管理出来ないコントロー
ラがあり、

その様なコントローラ下において複数のスロットを使う場合、レ
ーン数が分割しすぎて転送量が少なくなり、GPUの性能に対して
転送量不足して本来の性能が出せなくなるのですが、

3.01レーン辺りの転送量を増やす事で、不足を解消出来る様に
なりました。



【3.0とIntelの関係】
実は上記のレーン数不足はIntelの事であり、3.0はIntelのレー
ン数不足を解消する為だけの規格と言っても過言ではありません。

VGAを挿す為のPCI-ExpressコントローラはCPU側にあるのです
が、基本的に16レーンしかなく、2.0では3枚以上挿すとレーン数
の関係で転送量不足していました。



(2013/12/17修整)
【3.0策定時の話】
AMDnVidia拒否するつもりだった理由が違っていたので修整。

8ピンx2(150x2 + 75(スロット) = 375W)や8ピンx2 + 6ピ
ンx1
(150x2 + 75 + 75(スロット) = 450W)が必要になる高
性能VGAを使用した時の電力供給を標準化し、安定して使用でき
る状況
にしたかった様ですが、

限られた状況下の重量と排熱による構成全体への負荷を理由に標
準化を否定されてスロット側の強化が出来なかったのが主な理由
でした。

また、その当時(略現在も)の機器の応答速度が2.0 x16もあれば
十分で、レーン数が足りていれば問題ない上に、物理的な拡張で
消費電力が上がるだけだったので、

半年~数年掛かるチップセットやCPU,MBの再設計及び製造に掛
かるコストを考えた場合、対応するメリットよりもデメリットの
方が大きかった
事もあります。



【RAIDカード】
RAIDカードは可也速度が速くなったと言われる事がありますが、
現状発売されている3.0対応のRAIDカードはx8までしか対応した
物が無い為、

2.0 x16のRAIDカードと仕様上の転送レートは変わりません。

ただ、1レーン辺りの転送レートが違う為、多少差は出る様ですが、
それほど差はありません。

レビューによっては意図的比較対象2.0 x8の物でやっている
等、悪質な提灯記事だったりするので注意が必要です。



(2017/7/14追記)
【NVM Express (NVMe)接続のSSDについて】
もともとモバイル用の小型機の接続仕様のNVMeポートがMBにも
搭載される様になりましたが、

PCI-E接続のSSDの場合、高速接続になっていて世代が影響する
様になっている
ので、MBのポートが2.0か3.0をよく確認する様
にして下さい。

チップセットが2.0でそこにNVMeポートが接続されている場合、
CPU側の3.0のPCI-Eのx16(物理x4)のポートに変換基板を介し
て接続
した方が良いので。
(但しSLIやCFXをしない場合に限る)



現状3.0接続が前提の増設ボードを使わない限りPCI-E 3.0にチッ
プセット側が対応する必要はありません。



このBlogはBlogランキングに参加しています。
役に立ったと思った方はクリックをお願いします。




総合情報に戻る

TOPに戻る

| ハードウェア | 22:26 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント


TRACKBACK URL

https://pcnomori.blog.fc2.com/tb.php/116-64bee2d3

TRACKBACK

PREV | PAGE-SELECT | NEXT