하드웨어 칼럼

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

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

Archost | 조회 2850 | 추천 20 | 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)

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

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
좋은 정보 감사합니다. ^_^
Profile image 슈가프리 2017.08.21 00:47

최근에 라이즈 오브 더 툼레이더를 하면서 궁금증이 생겼습니다. 게임 내내 60프레임을 유지가 되는데 꼭 컷씬이 발생하면 프레임이 떨어지면서 버벅되고 버스 사용량이 10%에서 최대 40% 이상 치솟던데 여기서 병목이 발생해서 느려지는게 아닐까 싶네요

그래픽카드가 버스를 통해서 시스템 메모리와 저장장치 둘 다 통신하는건가요? 만약 저장장치에 통신하느라 병목이 발생하면 요즘 쓰이는 PCI-E 기반 SSD를 쓰면 병목이 줄어드는지 궁금합니다.

Profile image Archost 2017.08.28 06:39
시스템에 설치된 모든 장치는 시스템에 설치된 메모리를 할당받아서 사용하는것이 가능합니다.
윈도우에서 보이는 하드웨어 예약 점유율 같이요.
보통 게임 같은건 대부분 시스템 메인 메모리에 데이터를 올려두고 필요할 때 꺼내 쓰기 때문에 크게 차이 나지 않습니다.
대신 메모리가 부족한 환경에서 저장장치 레이턴시 감소로 극히 미묘한 차이는 있을 수 있습니다.
  • 라이젠 3 미니 리뷰 : AMD 남하 대작전 (7.29 내용추가) [CPU] 라이젠 3 미니 리뷰 : AMD 남하 대작전 (7.29 내용추가) [6] file

    안녕하세요 독자 여러분. 이 글이 공개된 현 시간부로 (한국시간 기준 7월 27일 오후 10시) 엠바고가 해제된 라이젠 3을 소개해드리기 위해 오랜만에 카드뉴스를 만들었습니다. 아니, 정확히는 만들다 말았습니다. 모종의 사정으로 인해 엠바고 해제 시간까지 제가 이 글을 붙들고 있을 수 없게 되었거든요. 따라서 이번 리...

    • iMola |
    • 17.07.27 |
    • 조회 2872 |
  • 다시 찾은 균형 : 원플러스 5 성능 리뷰 [모바일] 다시 찾은 균형 : 원플러스 5 성능 리뷰 [3] file

    Oneplus가 벌써 원플러스 5를 출시했습니다. 원플러스 5는 적당한 가격에 좋은 성능을 제공하는, 가격대 성능비에 초점을 맞추고 있는 스마트폰입니다. 원플러스 5는 퀄컴의 스냅드래곤 835를 탑재하고 있는데, 이 어플리케이션 프로세서는 엑시노스 8895와 함께 삼성의 플래그십 스마트폰인 갤럭시 S8 시리즈에도 들어가 있...

    • iMola |
    • 17.07.27 |
    • 조회 1435 |
  • 특별할 것 없어요 : 갤럭시 노트 FE 성능리뷰 [모바일] 특별할 것 없어요 : 갤럭시 노트 FE 성능리뷰 [8] file

    작년, 삼성의 플래그십 스마트폰인 갤럭시 노트 7이 처음 공개될 때만 해도 갤럭시 노트 7이 이런 최후를 맞을 것이라 예상하는 사람은 많지 않았습니다. 갤럭시 노트 7은 화려하게 출시되었지만 화려하게 폭발했고, 결국 모든 제품이 리콜되기에 이르렀습니다. 하지만 갤럭시 노트 7의 이런 운명에도 불구하고, 갤럭시 노트...

    • iMola |
    • 17.07.20 |
    • 조회 1605 |
  • '맥은 비싸다'는 편견을 깨다 : iMac(Retina 5K, 2017) 리뷰 '맥은 비싸다'는 편견을 깨다 : iMac(Retina 5K, 2017) 리뷰 [17] file

    애플 로고가 그려진 컴퓨터는 특유의 날렵한 디자인과 함께 비싸다라는 이미지로 많은 사람들에게 각인되어 있다. 그리고 실제로도 애플이 판매하는 컴퓨터의 가격은 결코 저렴하지 않다. 현재 애플이 판매하고 있는 컴퓨터 중 가장 저렴한 모델은 62만원부터 시작하는 맥 미니 모델이다. 하지만 이 맥 미니는 모니터가 포함...

    • iMola |
    • 17.07.17 |
    • 조회 3656 |
  • 스카이레이크-SP 제온 VS EPYC 벤치마크 (아난드텍 기사 번역) [CPU] 스카이레이크-SP 제온 VS EPYC 벤치마크 (아난드텍 기사 번역) [6] file

    오늘 아침은 서버 시장에 매우 흥미로운 전환점이 되었다. 스카이레이크-SP 아키텍처 기반의 새로운 제온 스케일러블 프로세서 (제온 SP) 제품군이 정식으로 발표된 것이다. 이들은 새로운 플랫폼과 옴니패스 인터커넥트 패브릭 등 풍성한 신기술로 무장하고 있다. 코어 수가 더욱 늘어난 것은 물론이다. 한편 지난 달에는 A...

    • Dr.Lee |
    • 17.07.12 |
    • 조회 3214 |
  • 아이맥 프로 옵션별 가격 예상 : 저평가된 맥의 가치 [etc] 아이맥 프로 옵션별 가격 예상 : 저평가된 맥의 가치 [5] file

    WWDC17에서 맛보기로 깜짝 공개된 아이맥 프로. 27인치 아이맥의 형상에 단지 스페이스 그레이를 입혔을 뿐인 이 녀석이 보일듯말듯한 실루엣으로 키노트에 등장하는 순간 가슴은 왜 그리 두근거리던지. 저 혼자만의 경험은 아니었을 거라 믿습니다. 아이맥 프로를 설명하는 많은 요소 중 제 가슴을 뛰게 한 건 무엇이었을까...

    • Dr.Lee |
    • 17.07.05 |
    • 조회 2466 |
  • 인텔, AMD, 엔비디아의 시행착오 : HPC와 AI라는 두 마리 토끼 [CPU] 인텔, AMD, 엔비디아의 시행착오 : HPC와 AI라는 두 마리 토끼 [5] file

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

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

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

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

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

    • Archost |
    • 17.06.16 |
    • 조회 2850 |
  • 인텔의 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 |
    • 조회 7437 |