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개인 경우와 일치하는 것을 확인할 수 잇다.