1.jpg

 

배터리 사용 시간을 늘리기 위해 여러 제조사달은 자신들만의 절전 기술을 개발하고 있습니다. AMD와 NVIDIA의 IGP/GPU 그래픽 전환 실시간 전환 기술은 이 기술을 도입하는데 적지 않은 돈이 들어간다는것 외에도, MUX 회로를 구성하는데 상당한 공간을 필요로 하였으며, 호환성 문제가 있어 널리 보급되지 못하였습니다. 마침내 NVIDIA가 발표한 옵티머스(Optimus)는 제조 원가를 낮추고 호환성을 높이는것 외에도 딜레이가 없는 실시간 전환을 실현하였는데, 이 기술의 특징은 어떤 것이 있는지 같이 보도록 하지요.

 

2.jpg

 

과학 기술은 계속하여 발전하고 있꼬, 사람들은 단순히 텍스트를 처리하는 것에 만족하지 못하며, 더 강력한 멀티미디어와 게임 성능을 바라고 있습니다. 하지만 배터리의 성능은 노트북 컴퓨터에서 이를 실현시키기에 너무도 부족하며, 따라서 여러 제조사들은 크기와 무게를 줄이고 배터리 수명과 성능을 늘리는 방법을 연구하고 있습니다. 전력 소모량을 더 줄이는 제조 공정, 작업의 부하에 따라 실시간으로 전압을 조절하는 C-스테이트 기술 등으로 지금 배터리 수명은 10시간을 넘었으며, 더 가벼운 무게를 위해 탄소 섬유, 산화 알루미늄, 마그네슘, 아연 등의 복합 재료를 사용하고 있습니다.

 

그래픽 서능과 배터리 사용 시간에서 최적의 균형을 찾기 위해, 양대 그래픽 회사-AMD와 NVIDIA-는 IGP(내장 그래픽)과 GPU(외장 그래픽) 사이에 실시간으로 전환 조작을 수행하는 Switchable Graphics 절전 기술을 발전시키고 있습니다. 일찌기 몇년 전에 도입하기 시작한 기술이지만 두 회사의 이 기술은 여전히 단점이 존재하는데, 그것은 사람이 직접 전환 조작을 해야 하고, 지원하는 다이렉트 X AP가 부족하며, 조작 전환이 유저 친화적이지 않다는 것입니다.

 

더 중요한 것은 그래픽 전환의 드라이버 업데이트가 시간이 많이 걸린다는 것입니다. PC 업계에서는 더 많은 부품이 이 기술을 사용하려 하고 있지만 제조 원가가 상승하여, 시장에는 오직 1% 정도만 이 기술을 지원하고 있고, 그나마 고급형 노트북에만 한정되어 있습니다. 높은 그래픽 성능을 위해 배터리 사용 시간을 줄여야 하는 것일까요? 아니면 OLPC 계획처럼 사람이 직접 충전을 해서 써야만 할까요.

 

마침내 NVIDIA가 정식으로 옵티머스를 발표했습니다. 이 기술은 딜레이가 없이 내/외장 그래픽을 전환하는 기술로서, GPU 하드웨어를 개량하고, 소프트웨어의 지원을 조합하여, 시스템에서 GPU의 고성능 연산이 필요하다면 자동으로 전환하고, 최적의 배터리와 성능 중에 필요한 것을 어플리케이션이 자동으로 선택하도록 해주는 것입니다.

 

NVIDIA 옵티머스는 GPU의 노스브릿지가 많은 전력을 필요로 한다는 고정관념을 타파하여, 전력 소모량을 줄이면서도 성능을 높이며 호환성을 갖추고 있습니다. 이전 세대의 그래픽 전환 기술이 널리 쓰이지 못했던 것은, 별도의 부품이 필요했다는 것인데. 이번에는 별도의 구성이 필요하지 않아 제조 원가를 추가할 필요가 없다는 것이 특징입니다.

 

 

1세대 그래픽 전환 기술을 사용한 소니 바이오 SZ-110

 

NVIDIA가 옵티머스를 발표하기 전에 쓰였던 기술을 사용한 제품으로는 소니가 2006년에 출시한 바이오 SZ-110 노트북이 있습니다. NVIDIA 지포스 고 7600 그래픽 코어를 사용하고, 노트북의 버튼을 누르면 내장 그래픽에서 GPU 사이에 전환을 하게 됩니다. 하지만 이 기술의 제일 큰 단점이라면 실시간 전환이 되지 않고, 시스템을 리붓해야 전환이 이루어졌다는 것입니다.

 

그 작동 원리는 메인보드의 회로를 통해서, 시스템 바이오스가 GPU를 사용할 것인지 아닌지를 결정하게 됩니다. OS(운영체제) 레벨에서 전환이 되는 것이 아니기에, 그래픽 전환을 할때마다 실행중인 모든 프로그램을 종료해야 하고, 컴퓨터를 껐다 켜느라 3~5분 정도의 시간이 필요하게 됩니다. 그런데 이렇게 프로그램들을 종료하고 시스템을 다시 켜는 것은 많은 하드디스크 엑세스와 풀로드 CPU를 초래하기 때문에 그만큼 전기를 많이 먹게 되며, 결국 전력 소모량을 줄인다는 의미가 퇴색하게 됩니다.

 

 3.jpg

 

전통적인 그래픽 전환의 원리. MUX 회로외 쵭셋을 만들기 위해 제조 원가가 상승하게 됩니다.

 

 

2세대 그래픽 전환 기술

 

이 기술은 오직 하드웨어 제조사들만이 참가하였으며 소프트웨어와의 조합이 이루어지진 않았습니다. 따라서 NVIDIA는 2007년에 이를 개량한 2세대 전환 그래픽 기술을 발표했는데, 이 기술의 특징은 시스템을 리붓할 필요 없이 바로 IGP와 GPU를 바꿀 수 있다는 것입니다. 그 방법은 MUX를 미러링하는 방법으로 IGP와 GPU 그래픽 회로 사이에 전환 조작을 하는 것으로서, 시스템이 필요로 하는 그래픽 리소스를 비디오 메모리에서 GPU의 버퍼로 복사하게 됩니다. 이때 그래픽을 표시하기 위해 5~10초 정도의 딜레이가 생깁니다.

 

당시 관점으로 본다면 2세대 그래픽 전환은 실시간 사용이 가능한 수준에 도달하게 되었고, IGP의 절전과 GPU의 그래픽 성능 사이에 균형을 맞추게 되었습니다. 하지만 여기에는 다른 큰 결점이 있었는데, 그것은 자동으로 전환이 되지 않는다는 것입니다. 뿐만 아니라 일반적인 다이렉트 APU 소프트웨어가 실행되고 있을 때에는 전환 조작을 할 수 없었습니다. 예를 들어 3D 게임이 싱행될 때에는 전환을 할 수 없다는 것이지요. 윈도우즈 내부에 포함된 사소한 게임들도 다이렉트 APU를 사용한다면 역시 전환이 불가능했습니다. 따라서 유저들이 사용중인 모든 프로그램을 꺼야 그래픽 전환을 할 수 있었던 것과 마찬가지인 셈입니다.

 

4.jpg

 

 전통적인 그래픽 전환에 소프트웨어적인 지원을 추가하여 재부팅을 할 필요가 없게 되었음.

 

이전의 그래픽 전환 기술이 재부팅을 할 필요가 있었던 것과 비교한다면, IGP와 GPU를 전환하기 위해 5~10초 정도의 블랙 스크린이 뜨는 것 정도는 참아줄 만 합니다. 하지만 상당수의 유저들은 블랙 스크린이 뜨면 이게 고장이 난 것이나 아닌지 걱정하게 되는데, 이것 때문에 5~10초라는 시간은 그리 유쾌한 것은 아니지요.

 

특히 NVIDIA의 쿠다(CUDA) 기술이 널리 보급되기 시작하면서, 어떤 때에 GPU 그래픽 코어를 사용하는지 유저가 알기 힘들어졌습니다(쿠다의 통용 계산을 이용하여 일반 작업에서 그래픽 코어를 활용하기 때문). 따라서 언제 어느때에 그래픽 전환이 가능한지 알아내기 위해서라면 상당한 경험과 소프트웨어에 대한 지식이 필요한데, 이점에서 볼때 2세대 그래픽 전환 기술은 여전히 개선의 여지가 있는 것입니다.

 

여기서 알아둬야 할 것은 2세대 그래픽 전환이 소프트웨어와 하드웨어가 조합된 실시간 전환이라는 것입니다. NVIDIA는 특정한 그래픽 드라이버 모드를 사용하여 2세대 그래픽 전환을 지원했으며, 인텔도 IGP 드라이버에 관련 내용을 추가했습니다. 드라이버를 업데이트 할때마다 관련 부분을 손봐야 하기 때문에 이를 지원하는데 드는 비용도 갈수록 늘어나게 되는 것입니다.

 

AMD 역시 그래픽 전환 기술을 2008년 초에 출시했습니다. 비록 AMD의 전환 그래픽 기술은 NVIDIA보다 늦었지만, 두 기술은 매우 비슷했습니다. 인텔의 전력 지원을 받았지만 자동화는 아니었고, 5~10초 정도의 블랙 스크린을 봐야 했으며, 사용중인 다이렉트 API 어플리케이션을 껐어야 했고, 상당수의 프로그램에서 시스템이 먹어버리는 일이 있었습니다.

 

 

AMD의 그래픽 전환 기술은 NVIDIA와 비슷했습니다. 느리고, 자동 전환도 안되고, 기타 등등.

  

 

NVIDIA의 옵티머스는 제조 원가를 줄일 수 있다는 특징이 있습니다.

 

2세대 전환 그래픽 기술이 비록 실용적으로 변했긴 하지만 여전히 사용자가 조심해야 할 점이 있었습니다. 특히 전문 지식이 없는 유저라면 더더욱 그렇겠지요. 따라서 NVIDIA는 더 효율적이고 선진화된 GPU 절전 기술, 이름하여 NVIDIA 옵티머스를 개발하게 됩니다.

 

하드웨어를 단순히 전환 회로와 연결하여 IGP와 GPU를 선택하도록 한 것이 아니라. 드라이버 수준에서 전환을 하도록 하여, 처리가 필요한 모든 3D 렌더링 데이터를 GPU에게 넘기도록 하는 것인데, 제일 마지막에 풀력되는 그래픽은 인텔의 내장 그래픽으로 출력되게 됩니다. 따라서 IGP는 단순한 그래픽 컨트롤러의 역할만 하게 되는 것이지요. 이 방법은 어떤 딜레이도 없고 리부팅도 필요 없습니다. 이런 방식은 3DFX가 예전에 별도의 3D 가속 애드온 카드를 달도록 했던 것과 매우 흡사하지요.

 
5.jpg

 

NVIDIA 옵티머스. PCI-E 레인을 통해 3D 렌더링된 결과를 IGP로 보냄. 일반 2D는 내장 그래픽에서 담당.

 

NVIDIA 옵티머스는 별도의 MUX 회로를 구성할 필요 없이 IGP/GPU 사이에 실시간 전환을 하여 제조 원가를 대폭 낮췄을 뿐만 아니라, 부하가 높은 3D 어플리케이션과 쿠다 연산을 필요할 때에만 GPU가 완전 대기 모드에서 자동으로 작동을 시작하며, 처리가 끝난 다음에는 자동으로 꺼지게 됩니다. 부하가 많지 않은 작업은 인텔 IGP가 대신하게 되어 노트북의 절전 효과를 이끌어냅니다.

 

옵티머스의 구조는 NVIDIA의 프로그래머가 10만줄 정도의 코드로 만든 것입니다. 마이크로소프트 API와 다른 그래픽 표준 API 인터페이스에 부합하며, 인텔 IGP와 NVIDIA GPU 사이에 분업하도록 프로토콜이 짜여져 있고, PCI-E 쌍방향 설계를 사용하여 연산이 다 된 3D 렌더링 결과를 인텔 IGP로 전송하는데, 업계 표준을 지키지 않는 프로그램을 사용하는 것이 아니기 때문에 NVIDIA 옵티머스는 현존하는 그래픽 소프트웨어와 쿠다 소프트웨어를 모두 지원합니다.

 

6.jpg

 

7.jpg

 

NVIDIA 옵티머스는 MUX 회로를 사용하지 않아 제조 원가가 일반 노트북과 비슷합니다.

 

NVIDIA 옵티머스는 IGP와 GPU가 공존하며, IGP와 GPU가 다른 작업을 합니다. 예전에 하드웨어 방식의 그래픽 전환을 했던 것과는 달리, GPU는 처리가 끝난 3D 랜더링 데이터를 반드시 IGP를 통해서만 출력할 수 있습니다. 따라서 GPU 로컬 프레임버터는 처리가 끝난 그래픽 데이터를 밖으로 내보내야 하며, 동시에 그래픽 리소스를 시스템 메모리에 보내 IGP가 그려내도록 만들어야 하는데, 이것은 상당한 리소스를 차지하게 됩니다. 따라서 NVIDIA는 GPU에 데이터를 복제하는 새로운 엔진인 옵티머스 카피 엔진을 도입했습니다.

 

만약 옵티머스 카피 엔진이 없다면 GPU가 처리가 끝난 3D 데이터를 IGP에 줘서 출력하게 할 때에, 데이터를 시스템 메모리에 복사하고, IGP가 이를 읽어서 스크린에 표시하도록 만들어야 합니다. 이것은 다이렉트 메모리 엑세스 매커니즘의 mem2mem 명령으로 해결되지만, 여기서 아주 중요한 것이 빠져 있습니다. 바로 GPU가 프레임버퍼와 시스템 메모리 사이에 완벽한 읽기/쓰기의 동기화가 이루어진 후에, 프레임버퍼에서 읽어낸 데이터를 한프레임씩 그려낼 수 있다는 것인데, 이것은 GPU의 성능을 대폭 떨어지게 하는 요소입니다.

 

이런 문제를 해결하기 위해 NVIDIA는 새로운 40나노 공정의 GT200M 패밀리와 앞으로 나올 GPU 아키텍처에 옵티머스 카피 엔진을 도입합니다. 이것은 그래픽 코어 내부의 메모리 컨트롤러를 대체하여, GPU 프레임버퍼의 데이터를 직접 복사하여 시스템 메모리에 넣어, GPU 내부의 메모리 컨트롤러가 3D 연산을 위한 작업에만 치중하도록 해주고, mem2mem 명령을 사용하지 않도록 만들어 줍니다.

 

뿐만 아니라 옵티머스 카피 엔진은 쌍방향 PCI-E 전송 기술을 사용하여, 3D 엔진이 메모리에서 데이터를 읽어들이는 것과 동시에, 시스템 메모리 내부의 데이터를 업데이트하게 합니다. 이런 비동기식 DMA 조작 명령 송신 체계는 옵티머스의 성능 하락을 줄이고 효율을 높여주는 방법입니다.

 

8.jpg

 

왼쪽은 전통적인 GPU의 DMA 엑세스. 오른쪽은 옵티머스 카피 엔진.

 

NVIDIA 옵티머스는 옵티머스 카피 엔진을 통해 딜레이가 없는 IGP/GPU 전환을 달성하였습니다. 그렇다면 이것을 어떻게 자동화했을까요? 도대체 어떤 매커니즘이 어떤 프로그램에는 IGP를 사용하고 어떤 프로그램에는 GPU를 사용하도록 하였을까요?

 

NVIDIA는 옵티머스 라우팅 레이이어 매커니즘을 추가, 쿠다를 지원하는 프로그램을 탐지하여 시스템이 NVIDIA 쿠다를 사용하는 GPU를 필요로 하는지를 알아냅니다. 만약 이런 요구를 받는다면 드라이버가 바로 GPU를 작동하도록 하여 쿠다 연산을 하는 것입니다. 따라서 쿠다를 쓰는 프로그램에만 한정한다면 옵티머스를 사용하는 노트북이 잘못 판단할 일은 적겠지요. 마찬가지로 이런 방식은 멀티미디어와 HD 영상 처리에도 응용되어, 소프트웨어가 DXVA GPU 가속을 필요로 한다면 드라이버가 GPU를 작동시키도록 합니다.

 

 9.jpg

 

비록 GPU가 대기 모드이긴 하지만 장치 관리자에는 GPU가 여전히 존재합니다. 이렇게 하여 소프트웨어가 NVIDIA GPU가 없는 것으로 오인하는 일은 없습니다.

 

마찬가지로, 드라이버는 어떤 다이렉트 X 소프트웨어가 대량의 다이렉트 X 명령어를 실행했을때, 이것이 IGP 코어에서 처리 가능한 범위를 넘는다면 GPU를 작동시키도록 만듭니다.

 

현재 대부분의 프로그램은 다이렉트 X API나 오픈 GL을 사용합니다. 그렇다면 옵티머스의 GPU는 대부분 시간 켜져 있어야 하거나 아니면 아예 꺼져 있어야 한다는 말인데, NVIDIA는 부하가 높은 게임들의 리스트를 따로 옵티머스 프로파일로 관리하여, 3D 부하가 높은 게임을 싱행했을때 GPU가 작동하도록 합니다. 프로파일의 관련 정보는 옵티머스 소프트웨어라는 네트워크 업데이트를 사용하여 관리되어, 자동으로 수정됩니다.

 

10.jpg

 

 

인터넷을 통해 옵티머스 프로파일을 갱신합니다.

 

 11.jpg

 

여기서부터는 Drew Henry와의 인터뷰.

 

문: 어떤 GPU들이 옵티머스를 지원합니까?

답: 지포스 200M, 300M, 앞으로 나올 지포스 M 시리즈와 차세대 ION 플랫홈에서 지원합니다.

 

문: 현재 지포스 200M을 장착한 노트북이 옵티머스를 지원합니까?

답: GPU가 하드웨어적으로는 옵티머스를 지원하지만, 제조사들이 여기에 맞는 기판을 사용해야 하기 때문에 모든 지포스 200M 시리즈 노트북이 옵티머스를 지원하는 것은 아닙니다. 이것은 제조사에 문의해야 합니다.

 

문: 옵티머스는 인텔과 공통 개발입니까? 인텔 IGP의 성능에 영향을 줍니까?

답: 그렇지 않습니다. 옵티머스는 NVIDIA가 개발한 업계 표준 인터페이스이며 인텔은 옵티머스의 연구 개발에 참여하지 않았습니다. 동시에 우리 내부 테스트에 따르면 옵티머스 드라이버는 인텔 내장 그래픽의 성능에 영향을 주지 않습니다.

 

문: 옵티머스는 어떤 운영체제에서 사용 가능합니까?

답: 아직은 윈도우즈 7 뿐입니다. 하위 호환 여부는 아직 검토중입니다.

 

문: 옵티머스가 AMD 플랫홈도 지원합니까?

답: 아직은 지원하지 않으며, 앞으로 지원할지에 대해서도 말할 순 없습니다. 현재 옵티머스는 코어 2 듀오, 코어 i7, 코어 i5, 아톰 N450 플랫홈에서만 지원합니다.

 

문: 옵티머스를 지원하는 제품이 얼마나 출시되었나요?

답: 아수스 UL50VF가 옵티머스를 최초 지원하는 노트북입니다. IBM의 T5 시리즈와 아수스의 코어 i7/i5 라인이 옵티머스를 지원할 것이고, 올해 안에 50개가 넘는 제품들이 옵티머스를 지원하게 될 것입니다.

 

문: 아톰 N450을 지원하는 차세대 ION(ION 2)는 언제 나오나요?

답: 2010년 1분기 안에 출시된다는것만 말씀드릴 수 있습니다. 날짜는 아직 정해지지 않았습니다.

 

 

 

 

 

 

 

 

 

          

기글하드웨어(http://gigglehd.com/zbxe)에 올라온 모든 뉴스와 정보 글은 다른 곳으로 퍼가실 때 작성자의 허락을 받아야 합니다. 번역한 뉴스와 정보 글을 작성자 동의 없이 무단 전재와 무단 수정하는 행위를 금지합니다.