하드웨어 칼럼

리뷰(게임, 하드웨어, 칼럼, 영상리뷰) 게시판은
닥터몰라 운영진이 작성한 게시글을 보는 게시판으로 회원들의 작성은 금지되어 있습니다.
(단, 좋은 글이 있으면 글 작성자의 허락과 운영자의 회의를 통하여 리뷰게시판으로 이동 됩니다.)

[VGA] PCI-Express 대역폭과 그래픽카드

Archost | 조회 2008 | 추천 19 | 2017.06.16. 09:45 http://drmola.com/pc_column/198638

개요



“내가 사용하는 메인보드는 PCI-Express 3.0을 지원하지 않는데 성능의 하락이 있는것이 아닐까?, 나는 멀티 그래픽카드 구성을 사용하는데 HEDT플랫폼을 사용하지 않으면 성능을 100%사용할 수 없는것이 아닐까?” 라는 의문을 가지고 계신분들이 계실겁니다.
 
결론부터 말하자면 “일정 속도 이상부터 차이가 없으며, 차이가 있더라도 그 차이는 체감을 느끼지 못할 정도로 극히 미미하다” 입니다.
 
이 결과는 저 또한 4-way CF와 4-way SLI 환경에서 각 카드를 물리적으로 테이핑하여 테스트를 한 적이 있었으며 그 결과의 차이 또한 매우 미미하였습니다. 뿐만 아니라 이와 같은 테스트를 해외에서도 진행하였으나 (아래 그래프 참조) 결과는 별로 다를것이 없었습니다. 그렇기 때문에 이 글에서는 소위 말하는 줄세우기식 벤치마크를 별도로 진행하지 않고 다른 방법으로 접근 하였습니다.

 

pcie_2_furyx.pngpcie_3_1080.png

(출처 : TechPowerUp)

 


레이턴시와 대역폭



PCI-Express는 장치와 장치를 연결하는 하나의 통로이며 규격입니다.
종래 그래픽카드에 사용되었던 AGP의 경우 버전이 업그레이드 될 때마다 프로토콜이 변해 AGP 2x, AGP 4x, AGP 8x등의 그래픽카드와 메인보드의 슬롯이 호환이 되지 않는 경우가 있습니다. 하지만 PCI-Express는 레인이라는 개념을 사용하며 기존의 인터페이스와 다르게 버전이 다르고 레인이 다르더라도 상위 호환과 하위 호환이 가능하다는 특징이 있습니다.
PCI-Express의 레인, 즉 PCI-Express x1는 PCI-Express 그 자체의 속도를 뜻합니다. 여기에 PCI-Express x16이라는 것은 PCI-Express 가 16개 있다고 할 수 있습니다.
 
이런식으로 연결된 통로가 늘어난 것이기 때문에 늘어난 레인의 수 만큼 더 많은 데이터를 전송할 수 있습니다.
 
대역폭에 대해 이야기 하기에 앞서 레이턴시와 대역폭은 구분하여야 합니다.
레이턴시는 컴퓨터와 전기전자공학에서는 지연시간을 의미하며 대체로 데이터를 보내고 그 데이터가 도착하기 까지 소요되는 시간을 의미합니다. 게임에서 쉽게 접할 수 있는 레이턴시의 개념은 핑이랑 같습니다. 한 패킷을 목적지로 전송하고 그 패킷에 대한 응답이 오기까지 소요된 시간을 핑이라고 부릅니다.
 

SynACK1.png

 


<figure1> 한개의 레인으로 연결된 두 장치


위 사진을 정의합니다. A지점과 B지점은 서로 연결되어 있으며 하나의 길로 연결되어 있습니다.
한개의 데이터를 한 통로로 전송할 때에 한 지점에서 다른 한 지점으로 도착하는데 0.5초가 걸린다고 가정합니다.
A에서 보낸 데이터를 B에서 받고 그 데이터를 처리하고 다시 보내게 되면 (처리시간은 0으로 가정합니다) 총 1초가 소요되게 됩니다.
그렇게 되면 1초에 한개의 데이터를 처리했다고 볼 수 있습니다. 
즉 대역폭은 1T/s 이며 레이턴시는 1초 입니다.

 

SynACK2.png

 


<figure2> 세개의 레인으로 연결된 두개의 장치


길의 갯수를 한개에서 세개로 증가시켰습니다.
한번에 3개의 데이터를 전송할 수 있게 되었으나, 전송에 걸리는 시간은 한개를 전송할 때와 동일합니다.
결과적으로 3개를 1초동안 처리할 수 있습니다. 어쨌든 1초를 기다리긴 해야 합니다.

즉, 레이턴시는 1초이며, 전송률은 3T/s가 되었습니다.


여기서 이 길은 갯수는 PCI-Express의 레인과 동일합니다.
데이터가 전송되는 시간을 줄이게 된다면 같은 시간동안 더 많은 데이터를 처리할 수 있게 되므로 동일한 결과를 얻을 수 있게 됩니다.

PCI-Express의 리비전은 이 전송 속도를 증가시켰다고 보면 됩니다.
엄밀하게 말하자면 정확한 설명은 아닙니다만, 버전에 따라 전송 속도가 증가하였으며 이 증가된 속도에 따라 더 많은 데이터를 전송할 수 있게 된 것 입니다.
 
사족으로 USB 3.1 gen 2 는 대역폭은 증가하였지만 레이턴시는 별로 변화가 없습니다.
이 때문에 CPU인터럽트 탓도 있긴 하지만 실시간 처리가 중요한 오디오나 비디오 업계가 USB가 이미 Thunderbolt 1와 동일한 대역폭을 보여줌에도 불구하고 IEEE나 Thunderbolt를 선호하는 이유 이기도 합니다. 그래도 4K+HDR시장 등 한번에 전송해야 하는 데이터의 크기가 커짐으로서 USB를 채택하고 있는 장비들 또한 늘어나고 있긴 합니다.

 

BUS Interface와 NVAPI


NVAPI는 NVIDIA에서 제공하는 드라이버 API입니다. (CUDA와 OpenCL, Vulkan과 Mantle 과는 전혀 다른 API 입니다)
AMD는 AGS라는 이름으로 비슷한 역할을 하는 API가 존재하고 있으며, 이 API를 통해 각종 그래픽카드의 정보를 읽어올 수 있습니다. 이 API를 통해서 연결된 모니터가 G-Sync나 HDR를 지원하는지, CF나 SLI로 구성되어 있는지, 아이피니티나 서라운드가 구성되어 있는지, 그런 환경으로 구성되어 있다면 개별 모니터의 네이티브 해상도는 몇 인지, 그래픽 프로세서의 현재 온도를 읽거나, 팬속도 등을 읽거나 설정할 수 있는 등 개발자를 위한 기능들을 제공합니다.
 
그중, NVAPI에는 다음과 같은 기능이 있습니다.
 
NVAPI_INTERFACE NvAPI_GPU_GetDynamicPstatesInfoEx ( NvPhysicalGpuHandle hPhysicalGpu,
NV_GPU_DYNAMIC_PSTATES_INFO_EX * pDynamicPstatesInfoEx )

nvapiref.PNG

 

NvAPI_GPU_GetDynamicPstatesInfoEx() 는 시스템에 설치된 그래픽카드의 프로세서, 프레임버퍼, 비디오 엔진 그리고 시스템 인터페이스 (PCI-Express)의 대역폭 사용률을 읽어오는 기능을 제공합니다.
 
GPU-Z, MSI Afterburner등 그래픽카드의 사용률을 읽어오는 프로그램들 또한 이 API 를 사용하고 있으며, 해당 프로그램에서 BUS Usage (MSI Afterburner)또는 Bus Interface Load (GPU-Z)가 읽어내는 내용과 동일한 값을 불러옵니다.

 

NvAPI_GPU_GetDynamicPstatesInfoEx() 에는 4개의 어레이가 있으며 얻을 수 있는 값은 다음과 같습니다.

[0] = Core: 말 그대로 그래픽 프로세서의 사용률 입니다.

[1] = FB: Framebuffer memory: 그래픽 프로세서와 VRAM간의 대역폭 사용률 입니다.

[2] = VE: Video Engine: 하드웨어 동영상 멀티플렉서 엔진의 사용률 입니다.

[3] = BUS: Bus Interface: 인터페이스 대역폭 사용률 입니다.
 
dnvmon.PNG

이 기능을 사용하여 사용률을 읽어오는 간단한 프로그램을 작성하였습니다.
 
AMD Ryzen 7 1700
nVIDIA GeForce GTX 1080Ti FE @ PCI-Express 3.0 x16
 

 

게임에서의 사용률 입니다. 좌하단 창의 BUS를 보시면 되며
게임 내에서 4-5%의 사용률을 보이고 있습니다. PCI-Express 3.0 x16은 15.75GB/s의 대역폭을 제공하므로 사용률은 대략 787MB/s 정도를 사용하고 있음을 알 수 있습니다. 이는 PCI-Express 3.0의 대역폭인 985MB/s 에 미치지 못하는 사용률 입니다.
 
<Figure5>

다음은 GPGPU에서의 사용률 입니다. 1% 대의 사용률을 보여주며 이는 환산시 약 157MB/s에 불과합니다. PCI-Express 1.0 의 대역폭인 250MB/s 에도 미치지 못합니다.
 
이렇게 게임 내에서는 별로 대역폭 자체를 그렇게 사용하지 않습니다. 그러나 가끔 이 사용률이 30% (약 4GB/s) 가까이 찍는 경우가 있습니다. 게임을 로딩 직후 어느 한순간 시스템 저장장치에서 그래픽 메모리로 텍스처와 버텍스 데이터 등 렌더링에 관련된 데이터가 전송될 때 이며, 이 이후에는 위와 같이 5% 전후의 사용률 만을 보여줍니다.
 
그렇기 때문에 그래픽카드의 메모리가 충분한 경우 이런 현상에서 상대적으로 자유로우며, 만약 그래픽메모리의 사용률이 높아 스왑이 일어나는 경우 이 대역폭의 영향을 받을 수 있습니다.
 
GPGPU의 경우 또한 비슷하게 처음 씬의 텍스처와 커널이 그래픽 메모리로 적재 된 후 진행되기 때문에 처음 연산을 시작한 직후 별도의 통신이 없는 경우에만 사용률을 최대로 사용합니다.
 
그래픽카드에서 PCI-Express의 대역폭을 모두 사용할 수 있는 경우는 그래픽카드의 메모리와 시스템 메모리간의 데이터 전송이 활발할 때만 100% 를 사용할 수 있다고 보시면 됩니다.
 
PCI-Express의 대역폭을 최대로 사용하는 경우는 그래픽카드가 아닌 방송에서 사용되는 캡처카드 (컨슈머용 캡처카드도 적다고는 할 수 없지만 방송용은 급이 다릅니다) 나 서버에서 사용되는 스토리지 장치에서 주로 볼 수 있습니다.
특히 엔터프라이즈 시장의 캐시레벨 NVMe 스토리지 어레이나 RAID 컨트롤러등에서 이 대역폭을 가장 많이 사용하는 것으로 알려져 있습니다.
 


결론



소위 말하는 점수놀이를 한다거나 하는 경우를 제외하면 일반 엔드유저용 하이엔드 게이밍 시장에서도 단일 그래픽카드의 경우 PCI-Express 1.0 16레인은 충분하며, 16레인의 PCI-Express 2.0 x8 구성의 멀티그래픽 환경이어도 이 대역폭은 충분히 남는 대역폭을 제공한다고 할 수 있습니다.
수치상으로 보이는 성능의 차이는 극히 미미하고 이 차이는 물리적으로 연결된 레인 스위칭 칩셋의 라우팅 처리 단계의 증가에 따른 레이턴시 증가의 결과이기 때문입니다.

 

  • |
  1. pcie_2_furyx.png (File Size:25.6KB/Download:0)
  2. pcie_3_1080.png (File Size:22.4KB/Download:0)
facebook twitter google plus pinterest kakao story band

서명

no image

Archost

(level 3)
32%

적용중인 트로피가 없습니다.

Profile image 게임미식가
잼아저씨
2017.06.16 10:32
eGPU를 사용하면 측정할 수 있는 성능 저하는 대역폭 자체보단 레이턴시의 영향이 더 큰가 보군요.
Profile image Archost 2017.06.16 11:10
아무래도 egpu에 사용되는 선더볼트는 호스트 컨트롤러와 디바이스 컨트롤러를 무조건 두번 거쳐야 하니 네이티브 PCIe 4x에 비해 말씀하신대로 레이턴시 문제가 더 클겁니다.
Profile image 꾸앙곤도리 2017.06.16 10:46

비전공 컴알못은 결론만 외우고 갑니다 감사합니다 :D

Profile image Dr.Lee 2017.06.16 15:43
이 글 자게 뒷페이지로 넘어가면 칼럼게시판으로 옮기도록 하겠습니다 ㅋㅋ
Profile image 무한창공 2017.06.17 19:49
아니 이정도 퀄리티 글이 왜 자게에 있어요????
Profile image 잠달 2017.06.17 22:32
q9550에 r9 390 물릴때 이 내용이 참 궁금했는데 아무도 속 시원하게 얘기 해주지 않았더랬지요 ㅎㅎㅎ
관련 내용을 찾지도 못했구요
다들 성능저하가 있으니 다른것들도 업글하라 라는 얘기만 할 뿐...

확실히 게임에서 cpu가 발목을 잡긴 하던데 대역폭의 문제는 아니었군요
Profile image 마라톤 2017.06.19 16:34
좋은 정보 감사합니다. ^_^
  • 인텔, AMD, 엔비디아의 시행착오 : HPC와 AI라는 두 마리 토끼 [CPU] 인텔, AMD, 엔비디아의 시행착오 : HPC와 AI라는 두 마리 토끼 [1] newfile

    인텔이 제온 파이 제품군의 가격을 대폭 인하했습니다. 최상위 모델인 제온 파이 프로세서 및 코프로세서 7290의 가격이 6500달러에서 3200달러로, 옴니패스 패브릭을 제공하는 파생 모델 7290F은 6700달러에서 3300달러로 떨어지는 등 각각 반값으로 내려진 것이 특징입니다. 이외에도 3800달러이던 7230이 1900달러로, 250...

    • Dr.Lee |
    • 17.06.26 |
    • 조회 수 232 |
  • 링 구조를 탈피한 스카이레이크-X/SP의 설계방식 [CPU] 링 구조를 탈피한 스카이레이크-X/SP의 설계방식 [9] file

    인텔은 2011년 출시한 샌디브릿지부터 (정확히는 웨스트미어-EX부터) 링 구조를 도입해 코어 수 증가에 따른 복잡도를 완화해온 바 있습니다. 이전까지의 크로스바 구조에서 최대 8코어에 그쳤던 것과 대조적으로 링 구조를 채택한 최초의 CPU 웨스트미어-EX는 10코어로 신고식을 치르기도 했죠. 그러나 링 구조에도 문제가 ...

    • Dr.Lee |
    • 17.06.16 |
    • 조회 수 2513 |
  • PCI-Express 대역폭과 그래픽카드 [VGA] PCI-Express 대역폭과 그래픽카드 [7] file

    개요 “내가 사용하는 메인보드는 PCI-Express 3.0을 지원하지 않는데 성능의 하락이 있는것이 아닐까?, 나는 멀티 그래픽카드 구성을 사용하는데 HEDT플랫폼을 사용하지 않으면 성능을 100%사용할 수 없는것이 아닐까?” 라는 의문을 가지고 계신분들이 계실겁니다. 결론부터 말하자면 “일정 속도 이상부터 차이가 없으며, 차...

    • Archost |
    • 17.06.16 |
    • 조회 수 2008 |
  • 인텔의 14-18코어 HEDT CPU는 현존하지 않는다? [CPU] 인텔의 14-18코어 HEDT CPU는 현존하지 않는다? [12] file

    유명한 하드웨어 리뷰 유튜브 채널 Linus Tech Tips / LTT에서 평소와 사뭇 다른 어조의 동영상 칼럼을 하나 게시했습니다. 제목은 "I have something to say - Core i9 & X299". 뭔가 간절히 하고 싶은 말이 있는 것 같죠. 여느 LTT의 리뷰가 그렇듯 영상 초반부터 3분 35초까지는 주인공 라이너스가 이번 컴퓨텍스 기간 중...

    • Dr.Lee |
    • 17.06.05 |
    • 조회 수 6728 |
  • 인텔, 최대 18코어 스카이레이크-X 전격 발표 [CPU] 인텔, 최대 18코어 스카이레이크-X 전격 발표 [4] file

    인텔은 오늘, 자사의 컨슈머 사업부이자 가장 큰 사업부인 클라이언트 컴퓨팅 그룹의 대표(GM) 그레고리 브라이언트 부사장의 입을 빌어 새로운 코어 X 시리즈 HEDT CPU를 발표했다. 알다시피 스카이레이크 아키텍처에 기반한 이 제품이 공개된 오늘은 5월 30일, 2017년 2분기이다. 2015년 3분기 스카이레이크가 출시된 이후...

    • Dr.Lee |
    • 17.05.31 |
    • 조회 수 2513 |
  • 반도체 수율에 관한 짧은 칼럼 : 에픽, 라이젠, 스윗 스팟 [CPU] 반도체 수율에 관한 짧은 칼럼 : 에픽, 라이젠, 스윗 스팟 [7] file

    글로벌파운드리의 14LPP 제조공정이 매우 안정화되어, Zen 8코어가 모두 살아 있는 라이젠과 라이젠 스레드리퍼, 에픽 모두의 원형인 제플린 다이의 수율이 80%에 이른다는 이 글을 보고 문득 궁금해져 계산해 보았다. 머피의 수율모델에 따르면 반도체의 수율은 아래의 2변수함수로 근사할 수 있다. 수율(yield rate)의 머...

    • Dr.Lee |
    • 17.05.26 |
    • 조회 수 2181 |
  • 삼성 갤럭시 S8 음향 리뷰: G6에 완패?! [음향기기] 삼성 갤럭시 S8 음향 리뷰: G6에 완패?! [4]

    안녕하세요 STUDIO51 입니다. 이미 영상으로 찾아 뵈었지만 시간 제약 때문에 못 다 전해드린 내용이 있어서 글로 마저 전해드립니다. 이 글은 영상으로 전해드리기엔 복잡해서 영상에 넣지 않았던 측정 환경과 측정 조건에 대해서 명시합니다 1. 모든 데이터 표기 방법, 측정 파형, 측정 환경은 AES-17 국제 표준을 기반으...

    • STUDIO51 |
    • 17.05.17 |
    • 조회 수 1272 |
  • 권불십년 : 9년 집권이 끝나다 [CPU] 권불십년 : 9년 집권이 끝나다 [7] file

    근래 보기드문 숨가쁜 한 주였다. 지난주 오늘 들어선 새 정부는 한숨 돌릴 새도 없이 곧바로 임기를 개시했으며 지난 4년, 나아가 지난 9년간 차츰 굽어가며 지나온 궤도를 그 반대 방향으로 돌려놓기 위해 고군분투할 것이다. 9년. 아홉수. 금방이라도 끓어오를 것 같은 임계치 근방의 긴장감이 감도는 숫자. 오늘 우리는 ...

    • Dr.Lee |
    • 17.05.16 |
    • 조회 수 3585 |
  • 지포스 GTX 1070, 1060의 ROP에 관한 비밀 [VGA] 지포스 GTX 1070, 1060의 ROP에 관한 비밀 [3] file

    지난 세대 지포스 GTX 970의 메모리 / ROP 스캔들을 기억하는 분께는 묘한 기분을 불러일으킬 수도 있을텐데, 이 글에서는 지포스 GTX 1070, 1060의 ROP에 관한 잘 알려지지 않은 사실을 다뤄 보려 합니다. 대외적으로 VGA 계산기가 공개되지 않은지는 벌써 몇달이 되어가지만 내부적으로는 꾸준히 업데이트를 거쳐 활용 중...

    • Dr.Lee |
    • 17.05.16 |
    • 조회 수 1850 |
  • 삼성 갤럭시 S8 vs LG G6 번들이어폰 비교 [음향기기] 삼성 갤럭시 S8 vs LG G6 번들이어폰 비교 [4]

    안녕하세요 언더케이지 음향리뷰 담당 STUDIO51입니다. 저번 G6 리뷰와 마찬가지로 영상에서 미처 다 못 전해드린 내용을 글로 보충합니다. 이번 측정에 사용된 모든 이어폰은 커널형 이어폰으로, Audio Precision의 어쿠스틱 측정 프로토콜과 G.R.A.S의 이어 시뮬레이터를 사용하여 측정하였습니다. 측정개요 소리를 녹음하...

    • STUDIO51 |
    • 17.05.15 |
    • 조회 수 475 |