PCI Express
PCI Express(ピーシーアイエクスプレス)は、2002年にPCI-SIGによって策定された、I/Oシリアルインタフェース、拡張バスの一種である。書籍、文書ではPCIeと表記されることも多い。この表記はPCI-SIG自身もウェブサイト上で使用している。PCI-Xはパラレルインタフェースの別規格である。
概要
編集PCIバス、およびPCI-Xバスの欠点を補うべくインテルが開発を進めていた3rd. Generation I/O、3GIO(スリージーアイオー)を基とする。
PCI Express 1.1は、1レーンあたり2.5 Gbpsでデータ転送に80パーセントが使用され、送信/受信を分離した全二重方式を採用し、計5 Gbpsの転送速度を持つ[1]。これは従来の32ビット/33 MHzのPCIバスに比して3倍から4倍に迫り、AGP 2xモードのそれに近い。高度な3D描画処理を行わないビデオカードならばx1モードでも充分な転送速度を確保できる。またレーンを複数束ね、高転送速度を可能とするx2、x4、x8、x16、x32も仕様化されている[1]。特にPCI Express x16は、バススロットに用いるコネクタの物理的長さが従来のAGPやPCIに近く、AGPに代わるビデオカードのインタフェースとして利用されている。転送速度は8 GB/s(2.5 Gbps時、送受信それぞれ4 GB/s)で、AGP 8xモード比でおよそ4倍弱となる。
PCI Express x1をベースとした新たなPCカード規格ExpressCardはノートパソコンなどに採用される。ノートパソコンなどで内蔵の無線LANボード用に多く採用されるmini PCI Express端子はPCI Express (x1) とUSB 2.0の信号配線がある。mSATA端子と端子形状は同一だが信号線の互換性はない。
リビジョンと転送速度
編集PCI Express 1.1 (Gen1)
編集2005年にPCI-SIGが発表した[2]。それ以前の2002年に1.0が策定されたものの、そのままでは通信ができないという致命的な不具合が存在しており、これを修正した1.0aが2003年に発表され、2005年にわずかな変更を加えたものとして策定された[2]。
伝送路1レーンあたりの物理レイヤの帯域は片方向2.5 Gbpsで双方向で5.0 Gbpsだが、実効データ8ビットの送信に物理レイヤ上で2ビットの同期制御ビットを加える8b/10bエンコード方式を用いており、実効データ転送速度は片方向250 MB/sで双方向500 MB/sになる[1]。伝送路のレーンを束ねることでポートのデータ転送速度向上が可能である[1]。束ねるレーン数によってそれぞれx1、x2、x4、x8、x12、x16、x32と表す[1]。レーンを16束ねたPCI-E 1.1 x16の通信ポートの実効データ転送速度は、片方向4 GB/s、双方向では8 GB/sになる。
PCI Express 2.0 (Gen2)
編集速度をPCI Express 1.1の2倍に引き上げ、1レーンあたりの物理帯域は片方向5.0 Gbpsで実効データ転送速度は片方向500 MB/sで双方向1 GB/sである[3]。
Intelのコンシューマ向けプラットフォームでは2007年発売のX38チップセット[4]と翌2008年の4シリーズチップセット[5]にて、AMDにおいては2008年発売の700シリーズチップセット[6]にて対応。
PCI Express 3.0 (Gen3)
編集当初は1レーンあたりの物理帯域10 Gbpsを目標としたが技術的困難から8 Gbpsに改め、エンコード方式を128b/130bに変更して転送効率を向上させた[2][8]。PCI Express 3.0は従来の1.1や2.0の機器とも接続互換性を有する[7]。実効データ転送速度は当初目標のPCI Express 2.0比約2倍となり、1レーンあたりの実効データ転送速度は片方向0.9846 GB/sで双方向1.969 GB/sとなった。PCI Express 3.0のポートは規格上最大32レーンまで束ねられ、1ポートの最大の実効データ転送レートは片方向31.51 GB/s、双方向63.02 GB/sである。PCI Express 3.0以降は#物理レイヤの帯域をギガビット毎秒 (Gbps) でなくギガトランスファ毎秒 (GT/s) で表記することが多くなった。
Intelは2012年発売のIvy Bridge世代のCPUで正式対応[9]。ただし主にビデオカード向けの拡張スロットで利用されるCPUが提供するレーン (x16)に限られ、他の拡張スロットやオンボードデバイスに用いられるチップセットが提供するレーンが対応したのは2015年発売のSkylakeに対応した100シリーズからとなる。AMDは2014年のKaveri世代で対応[10]。ただしこれはAPUであり、より高性能なCPUでは2017年のRyzenにて対応[11]。
PCI Express 4.0 (Gen4)
編集2017年10月に策定、公開[12]。策定に時間がかかり、Gen3の策定から7年かかっている。
1レーンあたりの物理帯域をPCI Express 3.0 (Gen3) の2倍に引き上げて片方向16 GT/sとする[12]。
単純に高速化しただけではバスを活かしきれない可能性があったため、パケットヘッダのタグが256個から768個へ拡張され、それらを効率的に扱うためのクレジットのスケーリング機能 (クレジットを1倍/4倍/16倍として扱う機能) が追加された。
AMDは2019年発売のZen 2世代のCPUで対応[13]。同時発表されたハイエンド向けのX570チップセットもそれまでの2.0から3.0をスキップして4.0に対応している。Intelは2020年発売のComet Lake世代までは対応していないものの、同時に発売されたLGA1200ソケットのマザーボードの一部が独自に対応しており[14][15]、後継のRocket Lakeで正式対応となった[16]ほか、チップセットでも翌2021年の600シリーズから対応している[17]。AMDのチップセットでの対応は2019年 - 2020年発売の500番台チップセットからとなる。
PCI Express 5.0 (Gen5)
編集2017年6月7日にPCI-SIGが発表。2019年5月29日の策定完了を発表[18][19]。
PCI Express 3.0 (Gen3) の4倍、PCI Express 4.0 (Gen4) の2倍の速度である片方向32 GT/sを実現する[12]。
バスの速度は通常2.5 GT/s、8 GT/s、16 GT/s、32 GT/sの順に引き上げられていくが、切り替え毎に100 ms(32 GT/sに達するまで計300 ms)を要するため中間速度をバイパスして2.5 GT/sから32 GT/sへ直接切り替える (100 msに短縮される) 機能が追加された。この場合、中間速度は使用されず2.5 GT/s、5 GT/s、32 GT/sのみの動作となる。
電源コネクタの規格として12vHPWRが設定された[20]。
Intelは2021年発売のAlder Lakeから対応[21]。AMDではZen 4から対応。コストや対応製品の少なさ[注 1]から、Intelはビデオカード向けのx16のみ、AMDはCPUの提供するレーンであってもチップセットによってGen5への対応が異なる。
PCI Express 6.0 (Gen6)
編集2019年6月18日にPCI-SIGが発表[22]。2022年1月11日の策定完了を発表[23]。
PCI Express 4.0 (Gen4) の4倍、PCI Express 5.0 (Gen5) の2倍の速度である片方向64 GT/sを実現する[24]。
エンコード方式は従来のNRZ 128b/130bからPAM-4 242B/256Bに変更され、PCI Express 5.0 (Gen5) と同じバスクロックのまま転送速度が約2倍になる。配線可能な距離はPCI Express 5.0 (Gen5) と同程度となる。
PCI Express 7.0 (Gen7)
編集2022年6月22日にPCI-SIGが発表[25]。2025年に策定予定と発表[23]。
PCI Express 6.0 (Gen6) の2倍の速度である片方向128 GT/sを実現する[26]。
転送速度
編集リンク幅 x1 | x2 | x4 | x8 | x12 | x16 | x32 | x64 | |
---|---|---|---|---|---|---|---|---|
Gen1 | 0.5/0.25 | 1.0/0.5 | 2.0/1.0 | 4.0/2.0 | 6.0/3.0 | 8.0/4.0 | 16.0/8.0 | 規格になし |
Gen2 | 1.0/0.5 | 2.0/1.0 | 4.0/2.0 | 8.0/4.0 | 12.0/6.0 | 16.0/8.0 | 32.0/16.0 | |
Gen3 | 1.969/0.9846 | 3.938/1.969 | 7.877/3.938 | 15.75/7.877 | 23.63/11.82 | 31.51/15.75 | 63.02/31.51 | |
Gen4 | 3.938/1.969 | 7.877/3.938 | 15.75/7.877 | 31.51/15.75 | 47.26/23.63 | 63.02/31.51 | 126.0/63.02 | 252.1/126.0 |
Gen5 | 7.877/3.938 | 15.75/7.877 | 31.51/15.75 | 63.02/31.51 | 94.52/47.26 | 126.0/63.02 | 252.1/126.0 | 504.1/252.1 |
Gen6 | 15.13/7.563 | 30.25/15.13 | 60.50/30.25 | 121.0/60.50 | 181.5/90.75 | 242.0/121.0 | 484.0/242.0 | 968.0/484.0 |
リンク幅 x1 | x2 | x4 | x8 | x12 | x16 | x32 | x64 | |
---|---|---|---|---|---|---|---|---|
Gen1 | 5.0/2.5 | 10/5.0 | 20/10 | 40/20 | 60/30 | 80/40 | 160/80 | 規格になし |
Gen2 | 10/5 | 20/10 | 40/20 | 80/40 | 120/60 | 160/80 | 320/160 | |
Gen3 | 16/8 | 32/16 | 64/32 | 128/64 | 192/96 | 256/128 | 512/256 | |
Gen4 | 32/16 | 64/32 | 128/64 | 256/128 | 384/192 | 512/256 | 1024/512 | 2048/1024 |
Gen5 | 64/32 | 128/64 | 256/128 | 512/256 | 768/384 | 1024/512 | 2048/1024 | 4096/2048 |
Gen6 | 128/64 | 256/128 | 512/256 | 1024/512 | 1536/768 | 2048/1024 | 4096/2048 | 8192/4096 |
開発から普及までの経緯
編集パラレル・インタフェースの問題点
編集PCIバスなどのパラレルインタフェースでデータ転送速度の向上は、
- バス幅を拡幅してデータ線を増加
- 単位時間あたりの転送回数を増加を企図して高クロック化
が奏功する。PCIバスは当初の32ビット/33 MHz (133 MB/s) から64ビット/66 MHz (533 MB/s) までデータ転送速度が引き上げられた。PCI-Xバスは、バスクロックのDDR/QDR化も含め64ビット/1066 MHz相当まで仕様化されている。
上記手法の高速化は限界がある。バス幅の拡大はデータ線の増加、LSIのピン増加、として製造コスト上昇の要因となる。クロックの高速化はデータとクロックタイミングを一致させるため、LSIとボードの設計と製造に高度技術が求められてコストが増加する。PCI-Xは厳密な設計が要求されるため民生品の商品化は価格面で困難で、パーソナルコンピュータまで普及しなかった。
かつては製造コストに比して性能が上昇したが、高速化の限界を迎えてインテルはメインメモリインターフェイスのシリアル化を提唱した。
PCIバスの限界
編集PCIバス登場当初から一貫してパーソナルコンピュータ市場で広く普及しているPCIバスのモードは、32ビット/33 MHzだった。バス伝送帯域は主にビデオカードが消費していたがAGPによって事実上隔離されており、PCIバスは安泰であった。チップセット内部ないしはブリッジチップでPCIバスに接続されるハードディスクのインタフェースのIDEは、サポートする転送速度を次第に引き上げて2000年に66 MB/s、2002年に100 MB/sの転送速度をサポートした。ハードディスクの転送速度は追いついていなかったが、民生品市場におけるRAIDの流行、その他、高性能なビデオ編集用拡張カードの普及、PCIバスに接続されるギガビットLANの1000BASE-Tをサポートする拡張カードの登場など、バス帯域を消費するデバイスの普及が始まり、ユーザは転送速度向上を望むようになった。
シリアル・インタフェースの台頭
編集1本の信号線と付随して基準線とするアース線でデータ伝送を行うシリアルインタフェースはRS-232Cが知られる。パリティビットによる簡易な誤り検出訂正しか物理層に組み込めず、誤り訂正が増加する高速データ転送に不向きとされていた。
パラレルデータにクロックを埋め込みシリアル・データ化する8b/10b技術をIBMが開発し、シリアル転送が再び着目された。イーサネットで採用されて普及が広まると8b/10b機能を搭載したSERDESチップの価格が低下し、ファイバーチャネルやギガビットイーサネット (GbE) で転送速度も高速化された。
PCI Expressの登場
編集I/Oインタフェースの転送速度不足解消のために次世代インタフェースを模索していたインテルは、シリアルインタフェースであるNGIO (Next Generation I/O) の開発を開始し、ヒューレット・パッカードやIBMも、PCIバスに代わるI/OインタフェースとしてFuture I/Oと呼ばれるシリアル・インタフェースを開発していた。
両者は後に統合されてInfiniBandとなったがソフトウェアレベルでPCIバスと互換性を有さず、マイクロソフトなどもサポートに消極的で、現在[いつ?]スーパーコンピュータのノード間接続など低遅延で高スループットな要求分野で利用される。
インテルはこの失敗を教訓として3GIO (Third Generation I/O) の開発を開始した。ソフトウェア・レベルでPCIバス完全互換とし、正統なPCIバスの後継者とすべくPCI ExpressとしてPCI-SIGでの仕様化が行われた。
ソフトウェアの対応
編集PCI Expressは従来のPCIと互換性があるため、PCIバスをサポートするオペレーティングシステム (OS)には、特に変更は必要ない。この場合PCI ExpressデバイスはPCIデバイスとして操作される。
普及
編集パーソナルコンピュータ向けマザーボードへの実装は比較的早くに行われた。主に搭載されるのはx16とx1である。
転送速度が何よりも要求されるビデオカードでは特に歓迎され、2005年頃にAGPからの置き換えがほぼ完了し、2022年現在ではハイエンドからローエンドまでPCI Express x16が主流となった。
マザーボード市場でAGPスロットを有する製品は、2022年現在組み込み向けなどの特殊な用途を除けばほとんど存在しない。汎用バスとしてのPCIスロットも、一般用途のマザーボードにおいて搭載している製品は少数である。サーバ向けマザーボードは依然として64ビットPCIやPCI-Xを実装したものも多い。
ATAカードをはじめとしたインタフェースカード類は比較的早くから PCI Express (x1) に移行しており、ビデオキャプチャ、テレビチューナ、サウンドカードなどマルチメディア関連商品はPCI Express対応が多い。旧来システムのアップグレードパスとしてモデルチェンジを行わず販売を継続しているPCI製品もある。2016年時点でATXマザーボードの拡張スロットはPCI Express x16、x1、PCIの3種類を採用したものが多く、PCIの需要よりチップセット側のPCI Expressの総帯域制限によるものが多い。その後更に移行が進み、2020年代にはPCIスロットを持つものはほとんどなくなった。PCI Expressの柔軟性を活かし、x16形状のスロット2本をそれぞれx8接続、あるいは片方をx16にし片方を無効にするといった設定ができるものがある。また形状はx16なものの、信号線をx4のみ配線する、あるいは逆にx4のスロットの端を切り欠き、x8以上の長いカードを挿せるようになっている実装も登場している。オンボードデバイスは、従来PCIバスを用いて接続していた物を完全にPCI Express接続に置き換えたマザーボードが大半である。IntelはP67以降のメインストリーム向けチップセットからPCIをサポートしておらず、別途ブリッジチップを用いてPCI Express経由で接続している。2012年後半からPCI Express 3.0仕様に対応したマザーボードやビデオカードが発売された。
シングルボードコンピュータにあっては、SoC内部のバスからブリッジを経由してPCI Expressをサポートした製品が存在する。例として、Raspberry Pi 4 Model BではBCM2711内部のAXIバスからブリッジを経由してPCI Expressバスを引き出し、その先にXHCIを接続することによりUSB 3.0をサポートしている。一方で、デバイスから独立したDMAコントローラの搭載が難しい[注 2]などSoC特有の問題が解決しにくいことから、オンチップバスとしてPCI Expressを採用した例は少ない。
仕様
編集データ転送方式はPCIバスのハンドシェークと異なり、ネットワークでパケット送受信される。アーキテクチャはレイヤ構造を有し、トランザクション・レイヤ、データリンク・レイヤ、物理レイヤの3層構造となっている。
送信では、CPUや他デバイスから発行されたリクエストは、トランザクション・レイヤで上位のソフトウェア層に対してPCIと互換性のある機能を提供するパケットを付加され、データリンク・レイヤに渡される。データリンク・レイヤーは、接続されている相手側デバイス間との送受信の制御を担っており、パケットにシーケンス番号、CRCを付加して物理レイヤに渡す。物理レイヤはシリアル転送を受け持つ部分で、Gen1, 2では8b/10b変換、Gen3では128b/130b変換などを行い、SERDESによりパケットがシリアル・データとして送られる。
また、トポロジは、従来のPCIのマルチ・ドロップ型ではなく、ポイント・ツー・ポイント接続である。ポートの拡張はスイッチを必要とする。
トランザクション・レイヤ
編集トランザクション・レイヤは主にトランザクション・レイヤ・パケット (Transaction Layer Packet : TLP) の生成と復号を担う。TLPはリードやライトといったコマンドやアドレス、データなどから構成される。トランザクション・レイヤは接続相手とのフロー制御も行う。PCI Expressのフロー制御はクレジット・ベースで行われ、予め自分が受信することの出来るバッファのサイズを相手に通知し、バッファに空きが出来るたびに伝える方式である。送信側は自身が送信したパケットのサイズを積算し、送信相手からバッファの空きが伝えられるとその分を減算することで、送信相手のバッファ・サイズを超えることなくパケットの転送が可能となる。
トランザクション・レイヤはパケットを任意のサイズに分割する機能を有する。一つのTLPで最大4キロバイトのメモリ・リードを発行することが可能であるが、メモリから4キロバイトを一度で読むことは都合が悪い場合がある。メモリ・リードでキャッシュ・コヒーレンシを維持するシステムの場合、CPUに対しキャッシュに最新データの有無を問い合わせる。インテル系の32ビットCPUはキャッシュ・ライン・サイズは64バイトで、4キロバイトのメモリ・リードは全て64バイトの64個のメモリ・リードに分割される必要がある。トランザクション・レイヤは自デバイス内で、都合良くパケットを分割する。1つのRead requestのデータを返す時に複数のcompletionに分割して返すこともできるが、返すデータの順序は入れ換えられない。
トランザクション・レイヤは以下の4個のアドレス空間をサポートする。
- Memory 空間
- I/O 空間
- Configuration 空間
- Message 空間
前者3空間はPCIバス互換の空間である。Message空間は、従来サイドバンド信号で通知を行っていたもので、割り込み、電源制御などの通知に使用される。
データリンク・レイヤ
編集データリンク・レイヤは、トランザクション・レイヤと物理レイヤの中間に位置し、主にPCI Expressリンクの管理、エラー検出と訂正を担う。
送信側データリンク・レイヤは、トランザクション・レイヤから渡されたTLPをバイナリ値としてデータを保護するためのCRCを算出し、TLPの授受を確認するためのシーケンス・ナンバをTLPに付加して物理レイヤに渡す。受信側はCRCによるデータ化けチェックと、シーケンス・ナンバによるパケット欠落チェックを行う。
受信側でエラーを見つけた場合、送信側に再送を促すためにNAK (Not Acknowledge) パケットをエラー検出したTLPのシーケンス・ナンバと共に送信側に返す。正常にTLPを受信した場合は、同様にACK (Acknowledge) パケットを返す。
エラーによるパケットの再送機能もデータリンク・レイヤが受け持っており、NAKを受信した場合そのシーケンス・ナンバから全て送信し直すため、データリンク・レイヤ内に再送バッファが実装される。
データリンク・レイヤは、TLPの送受信の他にもDLLP (Data Link Layer Packet) と呼ばれるデータリンク・レイヤ同士でのみ情報を交換するパケットも送受信する。ACK、NACKパケットや、フロー制御に使用するバッファ・サイズ通知などもDLLPが使用される。
物理レイヤ
編集物理レイヤは入出力バッファの制御回路、シリアル-パラレル/パラレル-シリアル変換回路、PLL、インピーダンス調整回路などで構成される。
PCI Express 1.1の物理メディアは2線、800 mV差動で400 ps単位でデータのドライブされる。送信、受信専用の信号を必要とする全二重方式で、x1の場合に実際は4本の信号が使用される。
PCI Express 1.1までは2.5 GT/sでデータ転送しているが、PCI Express 2.0は5.0GT/sで転送している。PCI Expressをケーブルで接続するための仕様検討も行われている。
物理レイヤは将来的により高速なメディアに置き換えられることから、物理レイヤとデータリンクレイヤ間のインタフェースは特に規定されておらず各ベンダの実装に依存している。
物理形状
編集PCI Express Card Electromechanical Specificationとして拡張カードの電気および物理形状が規定され、カードエッジを含むコネクタの仕様も規定される。スロットの色については標準化されていないため、マザーボードのメーカーにより異なる[27]。対応するリビジョンで色分けする例もあるが[28]、その意味するところは説明書に記述するかボード上の印刷で明示しなければユーザーには判別できない。材質は基本的にプラスチック類であるが、大型のビデオカードを想定し金属を採用した例もある[29]。
ロープロファイルPCI Express
編集ロープロファイルPCI Expressはカードの物理形状がPCI Expressより小さい。
ピンアサイン
編集下記の表に PCI Express カードに設けられたエッジ・コネクタにおける接点(ピン)とその役割を示す。プリント基板 のうちはんだ面を A サイド、部品面を B サイドと表記する。[30] PRSNT1# 及び PRSNT2# ピンは他のピンに比べて若干短く、ホットスワップ による装着を行う際他のピンに遅れて最後に接触することが意図されている。WAKE# ピンの駆動はホストコンピュータをローパワー状態から復帰させる(Wake Up)が、Wake Up 可能であることを示すため、当ピンは予めスタンバイ電源によりプルアップしておく必要がある。[31]
ピン | Bサイド | Aサイド | 詳細 | ピン | Bサイド | Aサイド | 詳細 | |
---|---|---|---|---|---|---|---|---|
1 | +12 V | PRSNT1# | 最も離れた PRSNT2# ピンとカード上で接続される | 50 | HSOp(8) | Reserved | レーン 8 送信データ, + 及び − | |
2 | +12 V | メイン電源ピン | 51 | HSOn(8) | Ground | |||
3 | 52 | Ground | HSIp(8) | レーン 8 受信データ, + 及び − | ||||
4 | Ground | 53 | HSIn(8) | |||||
5 | SMCLK | TCK | SMBusとJTAGのピン | 54 | HSOp(9) | Ground | レーン 9 送信データ, + 及び − | |
6 | SMDAT | TDI | 55 | HSOn(9) | ||||
7 | Ground | TDO | 56 | Ground | HSIp(9) | レーン 9 受信データ, + 及び − | ||
8 | +3.3 V | TMS | 57 | HSIn(9) | ||||
9 | TRST# | +3.3 V | 58 | HSOp(10) | Ground | レーン 10 送信データ, + 及び − | ||
10 | +3.3 V aux | スタンバイ[要曖昧さ回避] 電源 | 59 | HSOn(10) | ||||
11 | WAKE# | PERST# | (Bサイド)電源復帰、(Aサイド)リセット信号 | 60 | Ground | HSIp(10) | レーン 10 受信データ, + 及び − | |
ノッチ | 61 | HSIn(10) | ||||||
12 | CLKREQ#[32] | Ground | クロック要求信号 | 62 | HSOp(11) | Ground | レーン 11 送信データ, + 及び − | |
13 | Ground | REFCLK+ | 基準クロック差動対 | 63 | HSOn(11) | |||
14 | HSOp(0) | REFCLK− | レーン 0 送信データ, + 及び − | 64 | Ground | HSIp(11) | レーン 11 受信データ, + 及び − | |
15 | HSOn(0) | Ground | 65 | HSIn(11) | ||||
16 | Ground | HSIp(0) | レーン 0 受信データ, + 及び − | 66 | HSOp(12) | Ground | レーン 12 送信データ, + 及び − | |
17 | PRSNT2# | HSIn(0) | 67 | HSOn(12) | ||||
18 | Ground | 68 | Ground | HSIp(12) | レーン 12 受信データ, + 及び − | |||
PCI Express x1 カードは 18 番ピンまでを備える | 69 | HSIn(12) | ||||||
19 | HSOp(1) | Reserved | レーン 1 送信データ, + 及び − | 70 | HSOp(13) | Ground | レーン 13 送信データ, + 及び − | |
20 | HSOn(1) | Ground | 71 | HSOn(13) | ||||
21 | Ground | HSIp(1) | レーン 1 受信データ, + 及び − | 72 | Ground | HSIp(13) | レーン 13 受信データ, + 及び − | |
22 | HSIn(1) | 73 | HSIn(13) | |||||
23 | HSOp(2) | Ground | レーン 2 送信データ, + 及び − | 74 | HSOp(14) | Ground | レーン 14 送信データ, + 及び − | |
24 | HSOn(2) | 75 | HSOn(14) | |||||
25 | Ground | HSIp(2) | レーン 2 受信データ, + 及び − | 76 | Ground | HSIp(14) | レーン 14 受信データ, + 及び − | |
26 | HSIn(2) | 77 | HSIn(14) | |||||
27 | HSOp(3) | Ground | レーン 3 送信データ, + 及び − | 78 | HSOp(15) | Ground | レーン 15 送信データ, + 及び − | |
28 | HSOn(3) | 79 | HSOn(15) | |||||
29 | Ground | HSIp(3) | レーン 3 受信データ, + 及び − | 80 | Ground | HSIp(15) | レーン 15 受信データ, + 及び − | |
30 | PWRBRK#[33] | HSIn(3) | 81 | PRSNT2# | HSIn(15) | |||
31 | PRSNT2# | Ground | 82 | Reserved | Ground | |||
32 | Ground | Reserved | ||||||
PCI Express x4 カードは 32 番ピンまでを備える | ||||||||
33 | HSOp(4) | Reserved | レーン 4 送信データ, + 及び − | |||||
34 | HSOn(4) | Ground | ||||||
35 | Ground | HSIp(4) | レーン 4 受信データ, + 及び − | |||||
36 | HSIn(4) | |||||||
37 | HSOp(5) | Ground | レーン 5 送信データ, + 及び − | |||||
38 | HSOn(5) | |||||||
39 | Ground | HSIp(5) | レーン 5 受信データ, + 及び − | |||||
40 | HSIn(5) | |||||||
41 | HSOp(6) | Ground | レーン 6 送信データ, + 及び − | |||||
42 | HSOn(6) | |||||||
43 | Ground | HSIp(6) | レーン 6 受信データ, + 及び − | 凡例 | ||||
44 | HSIn(6) | グランドピン | 0 V基準 | |||||
45 | HSOp(7) | Ground | レーン 7 送信データ, + 及び − | 電源ピン | PCIeカードに電力を供給する | |||
46 | HSOn(7) | Card-to-host ピン | カードからマザーボードへの信号 | |||||
47 | Ground | HSIp(7) | レーン 7 受信データ, + 及び − | Host-to-card ピン | マザーボードからカードへの信号 | |||
48 | PRSNT2# | HSIn(7) | オープンドレイン | 複数のカードによってプルダウンされ、かつ(または)感知される | ||||
49 | Ground | センスピン | カード上で相互接続される | |||||
PCI Express x8 カードは 49 番ピンまでを備える | 予約 | 現在使用されておらず、接続してはならない |
pin | TOPサイド | pin | Bottomサイド |
---|---|---|---|
1 | - | 2 | 3.3 V |
3 | Reserved (*4) | 4 | GND |
5 | 6 | 1.5 V | |
7 | CLKREQ# | 8 | VCC (*2) |
9 | GND | 10 | I/O (*2) |
11 | REFCLK- | 12 | CLK (*2) |
13 | REFCLK+ | 14 | RST (*2) |
15 | N/C or GND | 16 | VPP (*2) |
Mechanical key | |||
17 | Reserved | 18 | GND |
19 | 20 | Reserved (*3) | |
21 | GND | 22 | PERST# |
23 | PERn0 | 24 | +3.3Vaux |
25 | PERp0 | 26 | GND |
27 | GND | 28 | +1.5 V |
29 | 30 | SMB_CLK | |
31 | PETn0 | 32 | SMB_DATA |
33 | PETp0 | 34 | GND |
35 | GND | 36 | USB_D- |
37 | Reserved (*1) | 38 | USB_D+ |
39 | 40 | GND | |
41 | 42 | LED_WWAN# | |
43 | 44 | LED_WLAN# | |
45 | 46 | LED_WPAN# | |
47 | 48 | +1.5 V | |
49 | 50 | GND | |
51 | 52 | +3.3 V |
- Reserved for future second PCI Express Lane (if needed)
- Reserved for future Subscriber Identity Module (SIM) interface (if needed)
- Reserved for future wireless disable signal (if needed)
- Reserved for future wireless coexistence control interface (if needed)
電力供給
編集スロット形状 | x1 | x4/x8 | x16 |
---|---|---|---|
フルハイト | 10 W/25 W (High Power) | 25 W | 25 W/75 W(グラフィックカード) |
ロープロファイル | 10 W | 25 W |
スロットからの最大供給電力を超えるカードについては、下記のとおりATX12V Ver2.xの補助電源プラグを併用する。
欠点
編集相互接続性の問題
編集PCIバスは32ビットバスのデバイス/スロットと64ビットバスのデバイス/スロットの全ての組み合わせで動作が保証されていたが、PCI Expressはx16仕様のカードをx8仕様のスロットに挿入できない[注 3]。マザーボードにはx1/x4/x8コネクタのエッジに初めから切り欠きを設け、x16仕様カードを挿入可能な「エッジフリー」と称する製品もあるが、カード端子の物理的保護などの問題点は解消されないマザーボードもある(例えばIntel DX58S0)。
解決事例として、AppleのMac ProやIntel 3シリーズ以降、AMD 7シリーズのマルチGPU対応チップセット搭載マザーボードが採用した実装などがある。後述の利点を参照。
供給電力の不足
編集x16で75Wの供給に対応しているが、主な用途であるビデオカードにおいては2005年発売のGeForce 7シリーズから75W以上を消費する製品が登場しており、2008年のGeForce 200シリーズでは補助電源プラグの使用が開始された。以降のビデオカードは補助電源を前提とした設計となっているなど[38]、ビデオカードは挿入しただけで使えない製品が主流であり、逆に「補助電源不要」をアピールした製品が販売されている[39]。75Wで動作するが補助電源プラグを搭載し、併用するとオーバークロックが可能になる製品も存在する[40]。その後もビデオカードの消費電力が増大し続け従来の6ピン(75W)や8ピン(150W)のコネクタでは供給が追いつかなくなったことから、PCI Express 5.0にて16ピンで最大600Wを供給可能な「12vHPWR」が追加された[20]。
重量物
編集規格ではボードの4辺の内、スロットと筐体外部側の2カ所で支えるようになっているが、2020年ごろからハイエンドモデルのビデオカードはヒートシンクやヒートパイプなどの冷却装置が大型化したことで重量が1.8kgに達する製品も販売され、支えられていない側が垂れ下がる[41]、取り外す際にスロットのロックが破損するなどの事例が報告されるようになった[42]。規格ではこのような重量物を支えることを想定していないため、金属製のスロットを採用したマザーボードやビデオカードを支える器具が登場している[41]。対策としてハイエンドモデルのビデオカードには、金属製のプレートを基板の裏に配置し反りを防ぐことをアピールした製品もある[43]。
利点
編集PCI Expressの利点の一つとしてレーン数のフレキシビリティが挙げられる。カードエッジコネクタがx16形状でもx1モードで規格上は動作可能で、上位の長いスロットに下位の短いカードエッジコネクタは挿入可能である。BIOS上もしくはOS上から、チップセットのサポートレーン数を上限としてユーザーが任意に設定する設計も可能である。
合計レーン数の上限を26として4つのx16用物理スロットに対し
- x8 x1 x1 x16(余り0)
- x4 x4 x1 x16(余り1)
- x8 x1 x8 x8(余り1)
- x4 x4 x8 x8(余り2)
と複数の振り分け選択も可能である。余剰レーンの未使用による不利益は無い。x16モードで動作するスロットにx1専用カードを挿入しても問題なく動作する。
スロットコネクタの物理規格は、スロットに割り振り可能な規格上のレーン数上限を示す。マザーボード設計者は、使用するチップセットのサポートレーン数の範囲内で、スロット本数と与えるレーン数の設計が可能である。
脚注
編集注釈
編集- ^ Zen 4が発売された2022年10月上旬時点で、PCIe 5.0に対応する製品は市場には登場していない。
- ^ SoCでは周辺機器をIPコアとして入れ込み、DMAは周辺機器数に見合うだけのチャネルをサポートした専用コントローラを用いてサポートするのが一般的である。PCI Expressは個々のデバイスにバスマスタ機能を要求するため、多数の同一機能によりゲート数を浪費してしまいやすい。
- ^ 端子レイアウト的には、x16仕様のカードをx8スロットに差し込んで使用可能だが、規格上物理層は実装依存のため、動作保証外である(カード側でサポートされていれば8xとして動作する)。場合によってはエッジ・コネクタの物理的切断・コネクタの一部を削り取るという乱暴な手段を講じなければならないが、これは当然保証対象外の行為となる。
出典
編集- ^ a b c d e 大原雄介 (2011年7月19日). “バスの歴史を振り返る PCI Expressと関連規格を総ざらえ”. ASCII.jp. p. 2. 2024年2月21日閲覧。
- ^ a b c 大原雄介 (2011年7月19日). “バスの歴史を振り返る PCI Expressと関連規格を総ざらえ”. ASCII.jp. p. 3. 2024年2月21日閲覧。
- ^ a b "PCI-SIG Delivers PCI Express 2.0 Specification - PCIe Base 2.0 specification doubles the transfer rate to 5GT/s and introduces enhanced features and protocol improvements" (Press release) (英語). PCI-SIG. 2007年1月20日時点のオリジナルよりアーカイブ。2022年11月29日閲覧。
- ^ “Intel X38チップセット搭載マザーボードレビュー速報”. pc.watch.impress.co.jp. 2020年7月28日閲覧。
- ^ ASCII. “アキバではもう製品は出ちゃったけど、インテルがP45/G45発表!”. ASCII.jp. 2020年7月28日閲覧。
- ^ “多和田新也のニューアイテム診断室”. pc.watch.impress.co.jp. 2020年7月28日閲覧。
- ^ a b “PCI Express makes the 3.0 leap, doubles bandwidth over PCIe 2.0 spec”. 2022年11月29日閲覧。
- ^ PCI-SIG、PCI Express base specification 3.0完成をアナウンス
- ^ ASCII. “「PCI Express 3.0」Ivy Bridgeとともに花開く新世代I/F (1/2)”. ASCII.jp. 2020年7月28日閲覧。
- ^ “ASUS、世界初のAMD Kaveri対応Socket FM2+マザーボード 〜PCI Express 3.0をネイティブサポート”. PC Watch. インプレス (2013年7月30日). 2020年7月28日閲覧。
- ^ “【後藤弘茂のWeekly海外ニュース】 AMDが新CPU「Ryzen 7」を発売。続けて「Ryzen 5」と「Ryzen 3」も投入へ”. PC Watch. インプレス (2017年3月2日). 2020年7月28日閲覧。
- ^ a b c 佐藤 岳大 (2017年10月27日). “PCI-SIG、16 GT/sを実現するPCI Express 4.0規格Ver 1.0を公開”. PC Watch 2017年10月27日閲覧。
- ^ Inc, Aetas. “西川善司の3DGE:Zen 2×PCIe4時代のAM4プラットフォームアップグレード指南〜PCIe4の直接の恩恵はグラフィックスよりもストレージのパフォーマンス?”. www.4gamer.net. 2020年7月28日閲覧。
- ^ “ASRockから発売のZ490マザーは計8製品、一部はPCI Express 4.0に独自対応”. AKIBA PC Hotline!. インプレス (2020年5月20日). 2020年7月28日閲覧。
- ^ “第10世代CoreプロサッサーにオススメなGIGABYTEのZ490マザー3選 (1/3)”. ASCII.jp. 2020年7月28日閲覧。
- ^ Inc, Aetas. “第11世代Coreプロセッサ「Rocket Lake」はPCIe 4.0対応で2021年第1四半期に投入。Intel副社長が明らかに”. www.4gamer.net. 2020年10月8日閲覧。
- ^ “第12世代Intel Coreに対応するZ690マザーボード発表会レポート - ASUS編”. マイナビニュース (2021年11月2日). 2022年10月12日閲覧。
- ^ “PCI-SIG® Achieves 32GT/s with New PCI Express® 5.0 Specification” (英語). www.businesswire.com (2019年5月29日). 2019年5月31日閲覧。
- ^ “PCI-SIG、4.0の2倍の転送速度を実現する「PCI Express 5.0」規格を策定”. PC Watch. インプレス (2019年5月31日). 2019年5月31日閲覧。
- ^ a b c “次世代仕様12VHPWRに注目集まる!大きく変化する最新電源事情【PCパーツ100選 電源ユニット編】DOS/V POWER REPORT 2023年冬号の記事を丸ごと掲載!”. AKIBA PC Hotline!. インプレス (2023年5月9日). 2023年12月19日閲覧。
- ^ Inc, Aetas. “Intelの次世代CPU「Alder Lake」は,高性能コアと高効率コアを組み合わせてPC向けCPUに変革をもたらす”. www.4gamer.net. 2021年8月27日閲覧。
- ^ “PCI-SIG、x16で256GB/sの高速転送を実現する「PCI Express 6.0」”. PC Watch. インプレス (2019年6月19日). 2019年8月22日閲覧。
- ^ a b “PCI Express 6.0規格が正式公開。帯域幅は前世代比2倍に”. PC Watch. インプレス (2022年1月12日). 2022年1月14日閲覧。
- ^ “PCI-SIG® Announces Upcoming PCI Express® 6.0 Specification to Reach 64 GT/s” (英語). www.businesswire.com (2019年6月18日). 2019年8月22日閲覧。
- ^ “PCI-SIG® Announces PCI Express® 7.0 Specification to Reach 128 GT/s” (英語). www.businesswire.com (2022年6月21日). 2022年6月23日閲覧。
- ^ “PCI Express 7.0が2025年に仕様策定へ。5.0の4倍の速度を実現”. PC Watch. インプレス (2022年6月23日). 2022年6月23日閲覧。
- ^ “ビデオカード(グラフィックボード)を取り付ける | 自作パソコン組み立てマニュアル”. dospara-daihyakka.com. 2022年3月17日閲覧。
- ^ “PCI Express x16”. 株式会社バッファロー. バッファロー. 2022年3月17日閲覧。
- ^ “【特集】 “1万円のAlder Lake世代Pentium”で格安ゲーミングPCを作る【フォートナイト144Hz達成】 〜Pentium Gold G7400&Core i3-12100F比較結果も公開”. PC Watch. インプレス (2022年2月26日). 2022年3月17日閲覧。
- ^ “What is the A side, B side configuration of PCI cards”. Frequently Asked Questions. Adex Electronics (1998年). November 2, 2011時点のオリジナルよりアーカイブ。Oct 24, 2011閲覧。
- ^ PCI Express Card Electromechanical Specification Revision 2.0
- ^ “L1 PM Substates with CLKREQ, Revision 1.0a”. PCI-SIG. 2018年11月8日閲覧。
- ^ “Emergency Power Reduction Mechanism with PWRBRK Signal ECN”. PCI-SIG. 2018年11月8日閲覧。
- ^ PCI Express Card Electromechanical Specification 1.1
- ^ a b c 大原雄介 (2011年7月19日). “バスの歴史を振り返る PCI Expressと関連規格を総ざらえ”. ASCII.jp. p. 4. 2024年2月21日閲覧。
- ^ PCI Express x16 Graphics 150W-ATX Specification Revision 1.0(2004年10月25日)
- ^ a b PCI Express 225/300 Watt High Power CEM Spec 1.0(2008年3月27日)
- ^ ASCII. “ビデオカードの消費電力を正確に計測するNVIDIAの純正キット「PCAT」と「FrameView」を解説”. 週刊アスキー. 2022年3月13日閲覧。
- ^ “1スロット仕様の「GeForce GTX 1650 SP V2」がELSAから、補助電源は不要”. AKIBA PC Hotline!. インプレス (2021年10月8日). 2022年3月13日閲覧。
- ^ “【Hothotレビュー】 補助電源コネクタなしでどのぐらい性能が出せるか。「GeForce GTX 1650」をテスト”. PC Watch. インプレス (2019年4月25日). 2022年3月13日閲覧。
- ^ a b ASCII. “超重量級ビデオカードを支えるVGAステイはどれがいい? (1/4)”. ASCII.jp. 2022年3月17日閲覧。
- ^ ASCII. “ASUSのGeForce RTX 3080はMini-ITXケースに収まるか? 排熱できるのか? 試してみた (1/4)”. ASCII.jp. 2022年3月17日閲覧。
- ^ ASCII. “エルザ、98mmの3連大型ファンを搭載したGeForce RTX 4070 Tiを発売”. ASCII.jp. 2023年1月17日閲覧。
参考文献
編集- Adam H. Wilen, Justin P. Schade and Ron Thornburg:"Introduction to Pci Express: A Hardware and Software Developer's Guide", Intel Press, ISBN 978-0970284693 (2003年4月).
- Mindshare Inc., Ravi Budruk, Don Anderson and Tom Shanley: "PCI Express System Architecture", Addison-Wesley Professional, ISBN 978-0321156303 (2003年9月).
- 荒井 信隆, 里見 尚志, 田中 顕裕:「PCI Express入門講座―高速シリアルインタフェースの基礎知識と実際」(改訂新版)、電波新聞社、ISBN 978-4885549632(2008年6月).
- 畑山仁(他):「PCI Express設計の基礎と応用―プロトコルの基本から基板設計、機能実装まで」、 CQ出版 (インターフェース・デザイン・シリーズ)、ISBN 978-4789846417(2010年5月).
- 内藤竜治:「FPGAでゼロから作るPCI Express―PC拡張用の定番バスはこうやって動かす」、 CQ出版 (TECH I―BUS Interface)、ISBN 978-4789849821(2013年4月).
- Mike Jackson and Ravi Budruk: "PCI Express Technology 3.0", MindShare Press, ISBN 978-0977087860 (2012年10月).