SlideShare a Scribd company logo
1 of 18
Download to read offline
PCI Express 物理層
Yuusuke
速度 (双方向/片方向 Gbps)
x1 x2 x4 x8 x12 x16 x32 x64
Gen1
(2002)
5.0/2.5 10/5.0 20/10 40/20 60/30 80/40 160/80 規格になし
Gen2
(2007)
10/5 20/10 40/20 80/40 120/60 160/80 320/160 規格になし
Gen3
(2010)
16/8 32/16 64/32 128/64 192/96 256/128 512/256 規格になし
Gen4
(2017)
32/16 64/32 128/64 256/128 384/192 512/256
1024/51
2
2048/1024
Gen5
(2019?)
64/32 128/64 256/128 512/256 768/384
1024/51
2
2048/10
24
4096/204
https://ja.wikipedia.org/wiki/PCI_Express
双方向の速度とは?
PC
PCIE
デバイス
(GPUカード等)
PC→ PCIEデバイスの速度と
PCIEデバイス→PCの速度を
合わせた速度
PCI Express 片方向2.5Gbpsとは? (Gen1)
1 1 0000000 111 1・・・・・・・
1秒間に、0 or 1のデータを2,500,000,000個連続で送ること
1.0 sec
参考 他の転送速度
速度
USB 1.0
(1996)
12Mbps
USB 1.1
(1998)
12Mbps
USB 2.0
(2000)
480Mbps
USB 3.0
(2008)
5Gbps
USB 3.1
(2013)
10Gbps
USB 3.2
(2017)
20Gbps
速度
SATA 1.0
(2003)
1.5Gbps
SATA 2.0
(2004)
3Gbps
SATA 3.0
(2008)
6Gbps
パラレル転送/シリアル転送
PC デバイス
パラレル転送
伝送路が複数あって、並列にデータ
転送をできる
例:ISA、ATA、SCSI、PCI
PC デバイス
シリアル転送
伝送路に一度に1ビット送れる方法
例:USB、イーサネット、SATA、PCIE
PCIEはシリアル転送
形状
http://buffalo.jp/products/connect/pcie-x1/
PCI Express レイヤー
物理層
データリンク層
トランザクション層
ソフトウェア層
• ソフトウェア層
• ドライバおよびアプリケー
ション
• トランザクション層
• データの送受信を行う
• データリンク層
• 通信相手と通信管理を行う
• 物理層
• 電気的な通信を行う
物理層
マルチプレクサ
バイト・ストライピング
スクランブル
8b / 10b変換
物理層
データリンク層
LTSSM
差動シグナル
エンベ
デッドク
ロック
名称 概要
マルチプレクサ 上位からパケットに付加情報を
付ける。
LTSSM Link等の状態管理
バイトストライピング データを各レーンに分割
スクランブル データが同一周期にならないよ
うにする
8b/10b変換 8bitを10bitに変換
エンベデッドクロック データをクロックに同期する
差動シグナル データを送信する
マルチプレクサ
• 上位からのパケット TLP、DLLPに、Start/Endキャラクタを付
加する。
• TLP:Transaction Layer Packet
• DLLP:Data Link Layer Packet
• LTSSM等の物理層のパケットを送信する。
• 送信すべきデータがないときはアイドルキャラクタを送信する。
(0x00)
LTSSM
Detect
Polling
Configuration
L0
DetectからL0の概要の状態遷移図。
詳細は規格書参照
状態 概要
Detect 上位レイヤーからの指示でDetect状態になる。
レシーバで対抗側を検出する状態。
検出後にPolling状態になる。
Polling トレーニングシーケンスで、ビット同期、シンボル同
期する。レーンの極性判定がされて、データレートが
確立する。確率後、Configuration状態になる。
Configuration トレーニングシーケンスで、レーンを確立する。正常
に設定できたならL0状態になる。
L0 パケット送受信可能状態
バイトストライピング
• データのバイトを各レーンに分割する。
0バイト目
1バイト目
2バイト目
3バイト目
4バイト目
0バイト目 1バイト目 2バイト目 3バイト目
4バイト目 5バイト目 6バイト目 7バイト目
レーン1 レーン2 レーン3 レーン4
上位からのデータは、ルールに
沿って、各レーンに分散される。
(均等に分散されるイメージ)
スクランブル
• データの周期が一定になりEMIが一定になるのを防ぐために、
スクランブルする。
• 受信側も同じ規則でデスクランブルする。
8b/10bエンコード
PCIEでは、8bitのデータを10bitで転送する。
利点
・0と1の発生頻度が同程度。
・データにクロックを含めることができる。
欠点
・データ転送レートが0.8される。
8b/10b変換方法例
8bit currentRD- currentRD+
00h 100111 0100 011000 1011
01h 011101 0100 100010 1011
02h 101101 0100 010010 1011
03h 110001 1011 110001 0100
04h 110101 0100 001010 1011
05h 101001 1011 101001 0100
FEh 011110 0001 100001 1110
FFh 101011 0001 010100 1110
https://ja.wikipedia.org/wiki/8b/10b
8bit→10bitはテーブル参照方式で
値が決まる。
+-は、直前までのディスパリ
ティの値
ディスパリティ:
・直前まで0の数が1より多い場
合は、マイナス。
・直前までの1の数が0より多い
場合は、プラス。
・同じ場合は、前の符号を維持。
データ用テーブルと制御用テー
ブルが存在する。
テーブルの値は、規格書参照。
エンベデッドクロック
受信
送信
クロック線
データ線
データ線にクロックを含め
てしまう方式
受信側はデータの0、1を
検出して、それをクロック
とする。
クロック
データ
一般的な他のクロック方式
受信送信
クロック
クロック線
データ線
同じクロックを送信側、受
信側へ供給する方式
受信送信
送信者がクロックとデータ
を送信する方式
差動シグナリング
PC デバイス
PCからデバイスにデータ
を送るために2本の線
D+ 、D-を使用する。
D+
D-
D+
V
t
D-
V
t
D+とD-
の差分
V
t
送信側は、D+
とD-は逆位相で
信号を伝送する。
受信側は、D+とD-の差分
で0 or 1を判断する。
差動シグナリングの利点
・高速伝送が可能。
・外来ノイズに強い
・ノイズの発生が少ない。

More Related Content

What's hot

TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?Kuniyasu Suzaki
 
DPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet ProcessingDPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet ProcessingMichelle Holley
 
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺Xbyakの紹介とその周辺
Xbyakの紹介とその周辺MITSUNARI Shigeo
 
RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...NTT Software Innovation Center
 
eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KernelThomas Graf
 
I/O仮想化最前線〜ネットワークI/Oを中心に〜
I/O仮想化最前線〜ネットワークI/Oを中心に〜I/O仮想化最前線〜ネットワークI/Oを中心に〜
I/O仮想化最前線〜ネットワークI/Oを中心に〜Ryousei Takano
 
eBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceeBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceSUSE Labs Taipei
 
Tensorflow lite for microcontroller
Tensorflow lite for microcontrollerTensorflow lite for microcontroller
Tensorflow lite for microcontrollerRouyun Pan
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDPlcplcp1
 
TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介Takeo Imai
 
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack UpPushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack UpJames Denton
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編Fixstars Corporation
 
BPF: Tracing and more
BPF: Tracing and moreBPF: Tracing and more
BPF: Tracing and moreBrendan Gregg
 
DNNコンパイラの歩みと最近の動向 〜TVMを中心に〜
DNNコンパイラの歩みと最近の動向 〜TVMを中心に〜DNNコンパイラの歩みと最近の動向 〜TVMを中心に〜
DNNコンパイラの歩みと最近の動向 〜TVMを中心に〜Takeo Imai
 
建構嵌入式Linux系統於SD Card
建構嵌入式Linux系統於SD Card建構嵌入式Linux系統於SD Card
建構嵌入式Linux系統於SD Card艾鍗科技
 

What's hot (20)

TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
 
DPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet ProcessingDPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet Processing
 
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
 
RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...
 
eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux Kernel
 
eBPF/XDP
eBPF/XDP eBPF/XDP
eBPF/XDP
 
I/O仮想化最前線〜ネットワークI/Oを中心に〜
I/O仮想化最前線〜ネットワークI/Oを中心に〜I/O仮想化最前線〜ネットワークI/Oを中心に〜
I/O仮想化最前線〜ネットワークI/Oを中心に〜
 
eBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceeBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to Userspace
 
Tensorflow lite for microcontroller
Tensorflow lite for microcontrollerTensorflow lite for microcontroller
Tensorflow lite for microcontroller
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDP
 
Intel dpdk Tutorial
Intel dpdk TutorialIntel dpdk Tutorial
Intel dpdk Tutorial
 
Linux Device Tree
Linux Device TreeLinux Device Tree
Linux Device Tree
 
DPDK KNI interface
DPDK KNI interfaceDPDK KNI interface
DPDK KNI interface
 
TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介
 
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack UpPushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
 
BPF: Tracing and more
BPF: Tracing and moreBPF: Tracing and more
BPF: Tracing and more
 
Linux Network Stack
Linux Network StackLinux Network Stack
Linux Network Stack
 
DNNコンパイラの歩みと最近の動向 〜TVMを中心に〜
DNNコンパイラの歩みと最近の動向 〜TVMを中心に〜DNNコンパイラの歩みと最近の動向 〜TVMを中心に〜
DNNコンパイラの歩みと最近の動向 〜TVMを中心に〜
 
建構嵌入式Linux系統於SD Card
建構嵌入式Linux系統於SD Card建構嵌入式Linux系統於SD Card
建構嵌入式Linux系統於SD Card
 

Similar to Pci express

INF-002_Azure IaaS 最新動向
INF-002_Azure IaaS 最新動向INF-002_Azure IaaS 最新動向
INF-002_Azure IaaS 最新動向decode2016
 
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層智啓 出川
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroupManaMurakami1
 
20170726 py data.tokyo
20170726 py data.tokyo20170726 py data.tokyo
20170726 py data.tokyoManaMurakami1
 
CUDAプログラミング入門
CUDAプログラミング入門CUDAプログラミング入門
CUDAプログラミング入門NVIDIA Japan
 
第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会NVIDIA Japan
 
NVIDIA GRID が実現する GPU 仮想化テクノロジー
NVIDIA GRID が実現する GPU 仮想化テクノロジーNVIDIA GRID が実現する GPU 仮想化テクノロジー
NVIDIA GRID が実現する GPU 仮想化テクノロジーNVIDIA Japan
 
NVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NX
NVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NXNVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NX
NVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NXAya Owosekun
 
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...Netwalker lab kapper
 
Japan GPU-Accelerated VDI Community 2016/11/21
Japan GPU-Accelerated VDI Community 2016/11/21Japan GPU-Accelerated VDI Community 2016/11/21
Japan GPU-Accelerated VDI Community 2016/11/21Hideaki Tagami
 
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境智啓 出川
 
【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今Developers Summit
 
HELLO AI WORLD - MEET JETSON NANO
HELLO AI WORLD - MEET JETSON NANOHELLO AI WORLD - MEET JETSON NANO
HELLO AI WORLD - MEET JETSON NANONVIDIA Japan
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会Hitoshi Sato
 
分解のススメ 第14回 ローエンド中BT Audio SoC華BT Audio SoCLowEndChineseBTAudioSoC.pdf
分解のススメ 第14回 ローエンド中BT Audio SoC華BT Audio SoCLowEndChineseBTAudioSoC.pdf分解のススメ 第14回 ローエンド中BT Audio SoC華BT Audio SoCLowEndChineseBTAudioSoC.pdf
分解のススメ 第14回 ローエンド中BT Audio SoC華BT Audio SoCLowEndChineseBTAudioSoC.pdfMasawo Yamazaki
 
Devsumi2010 Ecmascript5 (ISO/IEC JTC1/SC22)
Devsumi2010 Ecmascript5 (ISO/IEC JTC1/SC22)Devsumi2010 Ecmascript5 (ISO/IEC JTC1/SC22)
Devsumi2010 Ecmascript5 (ISO/IEC JTC1/SC22)takesako
 
GPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみたGPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみたRyo Sakamoto
 
Robot car gabor_filter
Robot car gabor_filterRobot car gabor_filter
Robot car gabor_filtermarsee101
 
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1NVIDIA Japan
 
Android 対応 Open Source Gadget : bc10とは
Android 対応 Open Source Gadget : bc10とはAndroid 対応 Open Source Gadget : bc10とは
Android 対応 Open Source Gadget : bc10とはBeatCraft
 

Similar to Pci express (20)

INF-002_Azure IaaS 最新動向
INF-002_Azure IaaS 最新動向INF-002_Azure IaaS 最新動向
INF-002_Azure IaaS 最新動向
 
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroup
 
20170726 py data.tokyo
20170726 py data.tokyo20170726 py data.tokyo
20170726 py data.tokyo
 
CUDAプログラミング入門
CUDAプログラミング入門CUDAプログラミング入門
CUDAプログラミング入門
 
第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会
 
NVIDIA GRID が実現する GPU 仮想化テクノロジー
NVIDIA GRID が実現する GPU 仮想化テクノロジーNVIDIA GRID が実現する GPU 仮想化テクノロジー
NVIDIA GRID が実現する GPU 仮想化テクノロジー
 
NVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NX
NVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NXNVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NX
NVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NX
 
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...
GPD-WINや中華ノートPCなどATOM機器に 各種Linuxディストリを入れて遊ぼう Install Linux Distributions on G...
 
Japan GPU-Accelerated VDI Community 2016/11/21
Japan GPU-Accelerated VDI Community 2016/11/21Japan GPU-Accelerated VDI Community 2016/11/21
Japan GPU-Accelerated VDI Community 2016/11/21
 
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
 
【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今
 
HELLO AI WORLD - MEET JETSON NANO
HELLO AI WORLD - MEET JETSON NANOHELLO AI WORLD - MEET JETSON NANO
HELLO AI WORLD - MEET JETSON NANO
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
分解のススメ 第14回 ローエンド中BT Audio SoC華BT Audio SoCLowEndChineseBTAudioSoC.pdf
分解のススメ 第14回 ローエンド中BT Audio SoC華BT Audio SoCLowEndChineseBTAudioSoC.pdf分解のススメ 第14回 ローエンド中BT Audio SoC華BT Audio SoCLowEndChineseBTAudioSoC.pdf
分解のススメ 第14回 ローエンド中BT Audio SoC華BT Audio SoCLowEndChineseBTAudioSoC.pdf
 
Devsumi2010 Ecmascript5 (ISO/IEC JTC1/SC22)
Devsumi2010 Ecmascript5 (ISO/IEC JTC1/SC22)Devsumi2010 Ecmascript5 (ISO/IEC JTC1/SC22)
Devsumi2010 Ecmascript5 (ISO/IEC JTC1/SC22)
 
GPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみたGPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみた
 
Robot car gabor_filter
Robot car gabor_filterRobot car gabor_filter
Robot car gabor_filter
 
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
 
Android 対応 Open Source Gadget : bc10とは
Android 対応 Open Source Gadget : bc10とはAndroid 対応 Open Source Gadget : bc10とは
Android 対応 Open Source Gadget : bc10とは
 

Pci express