FPGA - 프로세서 그리고 데이터의 이동/PCIe

PCIe 속도 그리고 속도의 결정

망고토마토 2021. 7. 21. 16:49
반응형

PCIe의 속도는 다음과 같다.

PCIe 속도등급(위키피디아)

등급이 다른 PCIe 기기를 서로 연결하면 어떻게 될까?

프로세서와 FPGA간에 PCIe 통신을 예로 들어보자

 

2종류의 프로세서가 있다

- 1. PCIe 1.0 lane 4개를 지원하는 프로세서

- 2. PCIe 3.0 lane 1개를 지원하는 프로세서

 

FPGA의 경우

- FPGA의 PCIe IP 모듈이 PCIe 2.0 lane 4개를 지원한다

 

FPGA와 위 2종류의 프로세서를 연결하여 PCIe 통신을 한다고 보자. 그러면 PCIe 통신 속도는 어떻게 될 것인가?

 

1번의 프로세서는 FPGA와 PCIe 1.0 Lane 4개로 통신하며

2번의 프로세서는 FPGA와 PCIe 2.0 Lane 1개로 통신한다. 

 

즉 PCIe 등급이 서로 다른 기기가 연결되어, PCIe 통신을 한다면, 그 때 PCIe 통신의 등급은

두 기기가 지원하는 PCIe 등급 중 낮은 등급으로 알아서 낮춰져 통신한다. 

 

 

PCIe 속도 보면 lane transfer rate가 있고 throughput이 있다.

Transfer rate lane bit를 실제로 얼만큼 보내는지를 나타낸 것이고,

throughput은 그 중 실제 데이터 속도는 얼마인지를 나타낸 것이다.

예를 들면 PCIe express 3.0 lane 8개의 속도를 계산해보면 

lane 1개당 throughput이 984.6 MB/s인데

984.6 * 8 => 7876.8 bit/sec이고 line coding을 고려하면

 7876.8 * 130/128 => 79999.875  8Gbit/sec transfer rate가 나온다.

위의 표에서 PCIe express 3.0 lane 8개인 경우와 일치하는 것을 확인할 수 잇다.

반응형