우리가 사용하는 데스크톱 PC와 노트북을 통해서 접할 수 있는 그래픽 구동장치(graphics subsystem)들은 두 종류로 구분이 된다. 먼저, 인터페이스 카드로써 메인보드의 슬롯(slot)에 장착이 가능한 전용 그래픽 아답터(Discrete Graphics Adapter)는 비교적 PC내에 공간 확보가 가능한 데스크톱 PC에 주로 사용이 된다. 반면에 통합 그래픽 아답터(Integrated Graphics Adapters) 구동장치는 메인보드와 결합된 내장(칩셋 내)된 형태이기 때문에 노트북이나 슬림형 PC에 사용된다. 그래픽 구동장치를 별도의 인터페이스 카드로 구성한 것이냐 아니면 메인 보드에 내장시킨 것이냐에 따라 외형적인 구분이 쉽지만, 단순한 외형적인 특징 외에도 성능이나 비용, 유지보수와 업그레이드와 같은 몇가지 요소들을 고려해서 사용자 작업환경에 맞는 적절한 구동장치를 선택하는 것이 현명하다고 할 수 있다.
전형적으로 전용 그래픽 아답터가 통합 그래픽 아답터 보다는 성능면에서 우위에 있다라고는 하지만, 지금처럼 성숙된 멀티미디어 시대에서는 대부분의 PC들이 비쥬얼을 위한 보다 강력한 엔진(core)을 필요로 한다는 점에서 통합 그래픽 아답터라고 할지라도 예전과는 비교할 수 없을 만큼의 강력한 그래픽 엔진들이 메인 보드에 내장되어 가고 있는 실정이라고 할 수 있을 것이다. 이 웹로그에서는 전용 그래픽 아답터와 통합 그래픽 아답터에 대한 기본적인 내부 메카니즘을 살펴보면서 이해의 폭을 넓혀 보고자 하는 것이 목적이며, 더불어 비디오 카드 메모리에 대해서도 다루어 본다.
전용 그래픽 메모리와 공유 그래픽 메모리
그래픽 어답터는 일반적으로 2가지로 분류가 되는데, 하나는
전용 그래픽 메모리(Dedicated graphics memory)를 가지고 있느냐 아니면
공유 시스템 메모리(Shared system memory)을 사용하느냐이다. 칭호에서 쉽게 알 수 있듯이 전용 그래픽 메모리는 것은 그래픽 구성장치(graphics subsystem)가 독점적으로 사용하는 메모리이다. 그래서 운영체제안의 Non-graphics 어플리케이션과 타 구성장치들은 이 메모리에 접근할 수 없으며, 독립된 메모리이자 물리적으로 그래픽 아답터상에 존재함으로써 온보드 메모리(on-board memory) 또는 로컬 비디오 메모리(local video memory)라고 언급되며, GPU(하단 이미지 연두색 영역)와 상당히 근접해 있는 것이 특징이 있다.
전용 메모리인 만큼 제한 없이 오로지 그래픽 구동만을 위해 사용되기 때문에 전용 그래픽 메모리 또는 로컬 비디오 메모리라고 한다.
공유 시스템 메모리(Shared system memory)는 전용의 반대 개념으로써 필요시 그래픽 구동장치에 의해서 사용되어질 수 있는 메모리이다. 그러나 반드시 그래픽을 위해서 독점적으로 사용되지는 않는다. 또한 그래픽 아답터의 온보드상에 존재하는 전용 그래픽 메모리(local video memory)와는 달리 메인보드 상에 위치하면서 GPU와는 거리가 있어 종종 비로컬 비디오 메모리(None-local Video Memory)로 언급된다.
공유 시스템 메모리는 다른 구동장치나 non-graphics 어플리케이션에서 사용이 가능하기 때문에 반드시 그래픽 구동장치로만 사용된다는 보장 또한 없다.
전용 그래픽 아답터와 통합 그래픽 아답터
전용 그래픽 아답터(dedicate graphics adpters)는 대게 AGP(Accelerated Graphics Port), PCI(Peripheral Component Interconnect) 또는 PCI-Express 버스로 연결 된다. 일정 용량만큼의 전용 그래픽 메모리 가지고 있으므로 GPU(그래픽 처리 장치, Graphic Processing Unit)와 전용 메모리를 연결하는 로컬 메모리 버스라인의 폭 넓은 대역으로 시스템 메모리 보다 더욱 빠른 속도로 최상의 퍼포먼스를 제공한다. 전용 그래픽 메모리를 가지는 전용 그래픽 아답터라도 시스템 메모리를 사용하는 것에 대해서는 일찍부터 논의해 왔었다.
너무 느린 담점이 있긴 하지만 AGP나 PCI-E 버스를 경유한 시스템 메모리의 접근이 가능하며, CPU와 시스템 메모리를 공유하면서 얼마를 사용하던 묻지고 않고 따지지 않는 것이 장점일 수 있다.
통합 그래픽 아답터(Integrated graphics adapters)는 내부적으로 칩셋 노스 브릿지(chipset north bridge)내에 GPU와 통합된 형태를 가진다. 전용 그래픽 아답터 처럼 독점적으로 사용하는 빠른 속도의 전용 메모리를 가지고 있진 않지만, 전형적인 통합 그래픽 아답터들은 시스템 메모리의 일부를 그래픽 용도로 사용한다.
마치 전용 그래픽 아답터처럼 시스템 메모리의 일정 부분이 그래픽 구동장치를 위해 사용되면서 언제든지 사용할 수 있는 최소한의 크기는 보장이 된다. 그러나 통합 그래픽 아답터에서 사용되는 시스템 메모리의 다른 부분들은 non-graphics 어플리케이션과 또다른 구동장치들과 함께 공유가 된다.
위에 이미지에서 왼편은 PCI-E 전용 그래픽 아답터이다. GPU와 전용 비디오 메모리가
1. 로컬 메모리 버스라인을 통해서 최저10GB/s에서 최고 50GB/s이상의 속도로 통신한다는 것을 알 수 있으며,
2. 시스템 메모리의 일부도 사용이 가능하다는 것을 알 수 있다. 반면 오른쪽은 통합 그래픽 아답터이며, 시스템 메모리의 일부가 그래픽 메모리 전용으로 사용되거나 다른 목적으로도 공유되는데,
3. 메모리 버스라인이 싱글 채널에서는 3GB/s이고 더블(듀얼) 채널에서는 7GB/s 속도로 통신한다는 것을 알 수 있다. 여기서 중요한 것은 전용 그래픽 아답터라고 할지라도 시스템 메모리의 사용이 가능하며, 전용 그래픽 아답터가 전용 메모리를 사용하는 경우는 시스템 메모리보다는 월등한 퍼포먼스를 발휘할 수 있다라는 것이다.
통합 그래픽 아답터 사용시 운영체제가 보고하는 시스템 메모리의 총합
통합 그래픽 아답터는 그래픽 구동장치를 위해 시스템 메모리의 일부를 그래픽 처리를 위해서 전용할 수 있다는 것을 위에 이미지를 통해서 확인을 했는데, 이러한 메모리의 일부는 예약(reserved)이 필수불가결하다는 점이다. 그리고 이번에는 어떠한 방식으로 시스템 메모리의 일부를 할당하는지에 대해 알아보면 시스템 메모리를 할당받는 메카니즘은 2가지의 메모리 할당 방식(method of allocation)에 따라서 바이오스 할당 또는 드라이버 할당으로 분류된다. 그리고 이러한 방식의 차이로 인해서 운영체제가 보고하는 시스템 메모리의 수치는 달라진다.
바이오스 할당 (BIOS allocation) - 통합 그래픽 아답터의 경우 PC 시동시에서 시스템 바이오스의 POST(power-on self-test) 프로그램 구동 단계에서 시스템 메모리의 일부를 전용하도록 예약이 되는데, 이러한 방식은 운영체제로부터 시스템 메모리의 일부로 사용되는 것을 효과적으로 감출 수 있어서 결과적으로는 사용 가능한 메모리 자원로써 운영체제에 보고되지 않는다. 예를들면 실제 메모리 1GB가 탑재된 컴퓨터에서 바이오스가 256MB의 시스템 메모리를 예약한다면 운영체제상의 제어판이나 API들은 1024MB - 256MB = 768MB을 보여주게 된다.
드라이버 할당 (Driver allocation) - 이 방식은 운영체제의 부트시 초기화 루틴에서 그래픽 드라이버와 함께 그래픽을 위한 전용 메모리 할당이 이루어지는데, 바이오스 할당과 동일하게 256MB의 용량이 드라이브 할당에서도 그래픽 메모리를 위해서 전용되어 지기 때문에 결과적으로 시스템에서 사용할 수 있는 메모리는 768MB가 된다. 따라서 결과적으로는 할당 방식에 따라서 운영체제가 보고하는 시스템 메모리 용량이 다를지라도 실질적으로는 사용할 수 있는 메모리는 동일하며, 운영체제에 보고되는 시스템 메모리 용량은 어떠한 할당 방식이냐에 따라서 차이가 날 뿐이다.
이제까지 우리가 사용하는 전용 그래픽 아답터와 통합 그래픽 아답터가 전형적으로 어떤방식으로 메모리를 사용하느냐라는 기본적인 메카니즘에 대해서 정리해 보았다. 사용자들 사이에서의 빅 이슈 중에 하나는 비디오 카드가 너무 많은 시스템 메모리를 소모한다는 것이다. 이러한 문제는 실제적으로 Windows Vista라는 운영체제에서 Windows 디스플레이 드라이버 모델(WDDM)이라 것이 도입되면서 일종의 전환기를 가지게 되는데, 다음 웹로그에서는 WDDM과 그래픽 메모리에 대한 계산에 관해서 다루어 본다.
* 윈앤위가 추구하는 것은 하드웨어 관련 정보가 아닌 Windows 실전 활용에 주력하는 것으로 Windows를 보다 잘 사용하자라는 목적이지만, Windows Shell이 아닌 이러한 하드웨어 관련 정보는 일종의 외도(?)에 해당하며, 외도를 해서라도 Windows에 대한 이해의 폭을 넓힐 수 있다면 종종 외도를 해보자라는 것이 배우기(Mr.Learn)의 생각!
무식한 것인지 용감한 것인지, 네이버 상습 펌질 및 양심불량 블로그(
blog.naver.com/spef)는 윈앤위 게시물 모두 삭제하십시오!
개인 운영 사이트라고 만만하게 생각하고 콘텐츠 복제하나본데 그러다가 큰코 다칩니다.
저작권자 동의없이 콘텐츠 복제를 금합니다. 동의를 거쳐서
이용 규칙을 준수하십시오!
작성날짜 : 2009년 04월 27일
작성시간 : AM 06시 31분 46초
퍼브리셔 :
배우기(Mr.Learn)
저작권자 : Powered by 윈앤위
코멘트는 누구에게나 열려 있습니다.
트랙백도 블로거에게 열려 있습니다.