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개인 경우와 일치하는 것을 확인할 수 잇다.
'FPGA - 프로세서 그리고 데이터의 이동 > PCIe' 카테고리의 다른 글
PCIe 장치 인식 과정 (0) | 2024.07.31 |
---|---|
PCIe slot에 꽂힌 FPGA 카드를 CPU가 인식하는 과정 (0) | 2024.03.11 |
FPGA의 PCIe에 접근에 필요한 file descriptor는 무엇인가? (1) | 2024.02.05 |
PCIe - lspci , link status (0) | 2021.11.23 |
PCIe 통신 - Configuration Space, Base Address Register 개념 (2) | 2021.07.23 |