PCIe가 무엇인가?

 

우선 PCIe에 대한 내용 이전에 PCI를 살펴보기로 한다.

인텔이 개발한 PCI(Peripheral Component Interconnect standard)는 거의 모든 데스크탑 컴퓨터에서 찾을 수 있는 업계 표준의 고속 버스이다.

PCI 슬롯을 통해 다음과 같은 다양한 확장 카드를 쉽게 설치할 수 있다.

그래픽/비디오 카드, 사운드 카드, 네트워크 카드, SCSI(Small Computer System Interface) 카드,

기타 다양한 유형의 카드가 그것이다.

더욱이 PCI는 컴퓨터 시스템의 다른 PCI 카드와 정상적으로 작동하도록 카드를 자동으로 구성한다.

[컴퓨터의 장치를 자동으로 구성하는 기능을 플러그 앤 플레이라고 한다. 플러그 앤 플레이는 사용자가 점퍼 및 기타 하위 레벨 소프트웨어 설정을 구성해야 했던 이전의 ISA(Industry-Standard Architecture) 확장 카드 버스와 많이 다르다.]

PCI 카드는 현재 32비트와 64비트 버전 및 33MHz와 66MHz 속도로 출시되고 있다. 32비트와 33MHz로 실행되는 PCI는 133MBps의 처리 속도를 제공한다.

기존 PCI 버스 기반 플랫폼 (Legacy PCI Bus‐Based Platform)

Legacy PCI Bus‐Based Platform (출처 : PCI Express Technology 3.0 by MINDSHARE, INC.)

상기 그림 (Legacy PCI Bus‐Based Platform)에서 PCI 버스 기반의 레거시 시스템을 도식화하고 있다.

시스템에는 프로세서와 PCI 버스 사이를 연결하는 노스 브리지가 포함되어 있다. (PCI 버스의 북쪽에 위치 함).

노스 브릿지와 관련된 프로세서 버스, 시스템 메모리 버스, AGP 그래픽 버스 및 PCI가 있다.

일부 장치는 PCI 버스를 공유하며 버스에 직접 연결되거나 애드 인 카드 커넥터에 연결된다.

사우스 브리지는 시스템 주변 장치와 연결된 ISA 버스 (레거시 버스)와 통신한다.

사우스 브리지는 일반적으로 재설정, 참조 클럭 및 오류보고와 같은 시스템 신호를 제공하는 PCI의 중앙 리소스였다.

PCIe는 무엇인가?

PCI Express(Peripheral Component Interconnect Express, PCIe로 간략하게 쓰임)는 기존의 PCI 프로그래밍 개념 및 통신 표준을 사용하지만 최신 컴퓨터의 속도 증가에 따라 성능이 향상된 차세대 PCI 기술이다. 실질적으로 PCI Express는 원래 PCI 버스 데이터 전송 속도의 두 배다.

PCI Express는 PCI와 동일한 유형의 확장 카드를 지원하고 표준 PCI 카드와 역호환성이 있도록 설계되어 기존의 PCI 카드를 계속해서 사용할 수 있다.

하지만 표준 PCI 카드는 일반적인 PCI 속도로 작동한다.

PCIe 연결은 직렬로 연결된 하나 이상의 데이터 전송 레인으로 구성된다.

각 레인은 두 쌍의 와이어로 구성되는데, 하나는 수신용이고 다른 하나는 전송용이다.

단일 PCIe 슬롯에 1개, 4개, 8개 또는 16개의 레인이 있을 수 있다. (x1, x4, x8 또는 x16으로 표시한다).

각 레인은 PCI 컨트롤러와 확장 카드 사이의 독립적인 연결이며 대역폭은 선형으로 확장되므로 8 레인 연결은 4 레인 연결 대역폭의 두 배이다.

이러한 구성은 CPU와 그래픽 카드 사이의 병목 현상을 피하는데 도움이 된다. 더 많은 대역폭이 필요한 경우 더 많은 레인을 사용하면 된다.

여러 개의 서로 다른 물리적 연결이 있으며, 각 연결은 레인 수가 적은 슬롯으로 전기적으로 기능 할 수 있으며 물리적으로 더 작은 카드도 수용 할 수 있다.

물리적인 PCIe x16 슬롯은 x1, x4, x8 또는 x16 카드를 수용 할 수 있으며 x16, x8, x4 또는 x1에서 x16 카드를 실행할 수 있다.

PCIe x4 슬롯은 x1 또는 x4 카드를 수용 할 수 있지만 x16 카드를 장착 할 수는 없다.

마지막으로, 각기 다른 대역폭 제한이 있는 여러 가지 버전의 PCIe 인터페이스가 있으며 많은 최신 마더 보드에는 물리적 크기가 다른 PCIe 슬롯과 다른 PCIe 세대가 있다.

 

PCIe 버전별 specification (출처 : pcisig.org)

PCIe의 최대 대역폭을 살펴보자면, 단일 PCIe 1.0 (또는 1.1) 레인은 각 방향으로 동시에 최대 2.5GT/s (초당 기가 전송)를 전달할 수 있다. PCIe 2.0의 경우 5GT/s로 증가하고 단일 PCIe 3.0 레인은 8GT/s를 전달할 수 있다.

초당 기가 전송은 이 경우 초당 기가비트와 동일하지만 인터페이스 오버 헤드로 인해 손실된 비트를 포함한다. 즉, 데이터를 처리하는 동안 발생하게 되는 손실을 말한다.

모든 PCI Express 버전은 전자 전송과 관련된 물리적 오버 헤드에 대한 이론적 최대 처리량의 일부를 잃는다.

PCIe 1.* 및 2.0은 8b / 10b 인코딩 (SATA와 같은)을 사용하는데, 8 비트의 각 데이터는 전송하는 데 10 비트가 소요되므로 이론적인 대역폭의 20%가 오버헤드로 손실된다. 이것은 분명히 비즈니스 비용이다.

오버 헤드 후 PCIe 1.0의 최대 레인 당 데이터 속도는 2.5GT/s의 80%이다.

이는 초당 2기가비트 또는 250MB/s를 제공한다. (8bit는 1byte이다).

PCIe 인터페이스는 양방향이므로 레인 당 각 방향으로 250MB/s 이다.

PCIe 2.0은 레인 당 처리량을 5GT/s로 두 배로하여 레인 당 500MB/s의 실제 데이터 전송을 제공한다.

PCIe 3.0은 레인 당 처리량이 PCIe 연결보다 60 % 더 많음에도 불구하고 PCI 2.0보다 두 배 빠른 속도를 달성한다.

대략 PCIe 3.0이 PCI 2.0보다 두 배 정도 빠르다. 그러나 위에서 보았듯이 레인 당 이론적 처리량은 8GT/s이며

이는 PCIe 2.0의 5GT/s보다 60% 더 많다. PCIe 3.0 이상은 128b / 130b 라는 보다 효율적인 인코딩 체계를 사용하기 때문에 오버헤드가 훨씬 적다. (1.54 %). 이는 8GT/s의 단일 PCIe 3.0 레인이 985MB/s를 전송할 수 있음을 의미한다. 500MB/s의 두 배는 아니지만 마케팅 목적으로는 충분히 표현할 수 있다.

이는 PCIe 3.0 x4 연결 (3.94GB/s)이 PCIe 1.1 x16 또는 PCIe 2.0 x8 (4GB/s)과 거의 동일한 대역폭을 가져야한다는 의미이다.

최신 GPU는 x16 PCIe 2.0 또는 3.0 인터페이스를 사용한다. 그렇다고 항상 x16 속도로 실행되는 것은 아니다.

많은 마더 보드에는 여러 개의 물리적 x16 슬롯이 있지만 사용 가능한 실제 PCIe 레인 수가 적다.

Z87 (Haswell) 또는 Z77 (Ivy Bridge) 데스크탑에서 CPU에는 16 개의 PCIe 3.0 레인이 있다.

인텔 칩셋에는 추가로 8 개의 PCIe 2.0 레인이 있지만 일반적으로 사운드 카드, RAID 카드 등에 사용된다.

(AMD의 990FX 칩셋에는 32 개의 PCIe 2.0 레인과 노스 브릿지에 4 개가 포함되어 있다.) 예를 들어, 위에 언급한 마더 보드에서 PCIe 3.0 슬롯은 CPU 레인이며 나머지는 모두 8 개의 칩셋 PCIe 2.0 레인을 공유해야한다.

x4 모드에서 PCIe 2.0 x16 슬롯을 사용하면 3 개의 PCIe 2.0 x1 슬롯이 비활성화된다.

따라서 단일 x16 그래픽 카드는 16 개의 CPU PCIe 레인을 모두 사용하지만 두 번째 x16 레인에 GPU를 추가하면 두 그래픽 카드의 연결이 각각 8 레인으로 떨어진다.

세 번째 GPU를 추가하면 첫 번째 카드의 x8 연결과 두 번째 및 세 번째 카드의 연결이 각각 x4로 떨어진다.

다중 GPU 설정을 실행하는 많은 사람들이 Sandy Bridge-E 및 Ivy Bridge-E와 같은 인텔의 애호가 아키텍처를 선호하는 이유이다. 아이비 브릿지 -E CPU에는 40 개의 PCIe 3.0 레인이 있다.

x16에서 두 장의 카드와 x8에서 한 장의 카드, x16에서 한 장의 카드와 x8에서 세 장의 카드 또는 x16에서 한 장, x8에서 두 장, x4에서 두 장을 실행하기에 충분하다.

PCIe 3.0 마더 보드에서 각각 x8에서 실행되는 2개의 PCIe 3.0 GPU는 x16에서 실행되는 2 개의 PCIe 2.0 GPU와 거의 동일한 대역폭을 가져야한다.

첫 번째 세트는 각각 7.88GB/s로 실행되고 두 번째는 8GB/s로 실행된다.

마더 보드 또는 그래픽 카드 중 하나가 PCIe 2.0 연결로 제한되어 있으면 느린 인터페이스를 사용하게 된다.

PCIe 4.0 사양은 2017년에 확정됐으나 2년이 지난 2019년 첫 PCIe 4.0 하드웨어가 출시되었으며 PCIe 5.0 최종 사양과 하드웨어 출시 일정은 PCIe 4.0 사양 출시 기간과 유사할 것으로 예상된다.

+ Recent posts