2017-05-23 25 views
0
은 몇 가지 시나리오가 있습니다

널리 존재와 나는 호기심에 대한이야 :CPU가 시스템에서 설정할 수있는 최대 PCI 레인 수는 왜입니까? 심지어 DMA는

  1. PCI 버스
  2. DMA
  3. 와 메인 메모리로 GPU1에서 전송 이상 GPU2 메모리에 GPU1 메모리에서 전송
  4. GPU1에서 DMA가없는 메인 메모리로의 전송

이러한 모든 시나리오는 CPU에서 지원하는 PCIe 레인의 총 수로 제한됩니까? Intel 시스템, ARM 시스템의 경우?

답변

1

이러한 모든 시나리오는 CPU에서 지원하는 총 PCIe 레인 수로 제한됩니까?

PCIe는 정확히 버스가 아닙니다. 예를 들어 PCI 나 ISA가 그런 방식으로는 아닙니다. 주변 장치와 PCIe 루트 컴플렉스 (일반적으로 CPU 자체) 간의 지점 간 연결 집합입니다. 주어진 루트 컴플렉스는 고정 된 수의 PCIe 레인을 지원하며 각 레인은 하나의 장치에 연결됩니다. 예를 들어 16 개의 PCIe 레인을 대부분의 GPU에 연결하는 것이 일반적입니다.

그래, 그렇습니다. PCIe 장치 간 또는 장치와 메모리 간의 모든 통신은 CPU를 통과해야하며 장치 (또는 장치)가 버스 마스터에 연결 한 PCIe 레인 수에 의해 제한됩니다.

+0

왜 루트 컴플렉스가 있습니까? 성능이 없다면 성능이 더 좋을까요? – randyrand

+0

@randyrand 루트 컴플렉스가 없으면 주변 장치는 어떻게 연결 되나요? – duskwuff