배너
닫기

테크노트

배너

저전력, 고속 스마트폰 설계의 차별화 기술 … GPGPU

  • 등록 2012.05.09 17:43:13
URL복사

멀티 코어 CPU 경쟁을 넘어 GPU 컴퓨팅으로
저전력, 고속스마트폰의차별화기술…GPGPU

황광선 ARM코리아

핸드폰 업계에는 모바일 월드 콩그레스(Mobile World Congress), 줄여서 MWC라고 불리는 큰 전시 행사가 있다. 매년 초인 2월에 열리는 연례 행사로서, 모바일 업계의 카 플레이어(Key Player)인 핸드폰/칩셋/OS의 제조와 제공업체들 거의 대다수가 참가해 그해의 가장 뛰어난 기술을 뽐내는 자리인 동시에 각종 미디어와 일반인들도 참가하여 업계의 가장 최신 트렌드를 파악할 수 있는 자리이다. 올해도 어김없이 스페인의 바르셀로나에서 성황리에 개최되었고, 필자도 참석하여 유용한 정보와 트렌드를 접할 수 있었다.

코어가 화두로 급부상하다

워낙 다양한 회사에서 다양한 기술을 갖고 나오는 자리여서, 가장 큰 화두를 단 하나만 꼽으라면 많은 고민이 필요할 것이고, 또 선택되지 않은 다른 훌륭한 기술과 트렌드에게는 너무나 가혹한 일일지도 모르겠다. 그럼에도 불구하고, 올해의 MWC에서의 가장 큰 화두를 하나만 선택하라고 한다면 필자는 쿼드 코어 기술이라고 말하고 싶다.
사실 쿼드 코어의 기술의 등장은 작년, 더 뒤로 가자면 재작년부터 이미 예견되었던 바이다. 너무나도 빨리 변하는 세상 인지라 재작년에 대한 기억이 이미 가물가물한 독자를 위해 다시 상기시키자면, 기존에는 PC만의 전유물로 여겨졌던 GHz대의 고클럭 CPU가 휴대폰에 접목돼 등장했다. 실제로 1GHz를 탑재했다는 광고 문구의 휴대폰 광고가 TV와 신문 지면을 덮기 시작했으며, 과거 PC에서나 볼 수 있었던 고성능 CPU에 대한 트렌드가 휴대폰으로 옮겨오게 되었다.
이런 CPU 경쟁은 단순히 고클럭만으로는 차별 포인트가 안되었던지, 불과 일년 후인 2011년 MWC에서는 (1GHz 이상 은 기본인) 듀얼 코어 기술을 접목한 핸드폰들이 선보이면서 한해 내내 시장을 휩쓸었다. 기술을 잘 모르는 일반인들조차도 ‘듀얼 코어 = 고성능’이라는 공식을 따르며, 기존의 싱글 코어 기반 스마트폰들은 성능이 뒤떨어진다고 인식하기에 이 르렀다.
코어 개수만 가지고 실제 성능을 논하기에는 갑론을박이 있을 수 있기 때문에 복잡한 기술적인 내용은 접어두고, 어쨌든 작년 코어 개수가 두 개인 듀얼 코어가 한 해의 트렌드가 된 시점부터, 올해에는 코어 개수를 더욱 늘린 쿼드 코어의 등장은 이미 예견됐던 것이다.
올해 MWC에서는 실제로 LG전자의 옵티머스 4x(Optimus 4x), HTC의 원 X(One X), 그리고 화웨이(Huawei)의 어센드 D 쿼드(Ascend D Quad) 등 여러 제조업체에서 쿼드 코어를 탑재 한 스마트폰을 전시하며 우월한 기술력을 뽐내기에 여념이 없었다. 스마트폰 시장 점유율에서 1위 자리를 차지하고 있는 삼성전자도 비록 MWC에서는 쿼드 코어 기반의 스마트폰을 전시하지는 않았지만, 언론매체들은 삼성이 곧 갤럭시 시리즈를 통해서 쿼드 코어 사양의 스마트폰을 출시할 것이라는 기사를 연일 쏟아냈다.
필자가 본 글에서 다루고자 하는 바는 듀얼 코어 또는 쿼드 코어와 같은 멀티 코어의 기술이 아니다. 멀티 코어에 대한 주제도 충분히 흥미로우며 하고 싶은 말도 많지만, 쿼드 코어는 곧 출시될 많은 스마트폰을 통해“미래”라기보다는 이미“현재”시점이라고 할 수 있다. 따라서 이미“현재”에 도달한 기술을 이야기하기보다는, 오히려 1~2년 후에 등장할 새로운 기술 트렌드가 더욱 흥미롭겠다는 판단 하에 이에 대해서 소개하고자 한다.
하지만 이를 위해서는 온고지신이라는 사자성어가 말하듯 과거와 올해의 트렌드인 CPU 코어에 대해서 살짝 되짚고 넘어갈 필요가 있을 법하다.

스마트폰을 스마트하게

그림1은 스마트폰 내부에 들어가 있는 부품의 구성도이며, 업계 개발자들은 블록 다이어그램(Block Diagram)이라고 표현한다. 사실 개발자들 입장으로는 블록 다이어그램이라고 부르기엔 민망할 정도로 단순화된 것이지만, 일반인들도 쉽게 이해하게끔 의도적인 것이니 이해하길 바란다.



또한, 일반적인 구성일 뿐 칩셋/핸드폰 제조업체에 따라서는 구성이 달라질 수도 있지만 이 부분 역시 넘어가 주길 바란다(예를 들어 일부 칩셋 업체에서는 애플리케이션 프로세서 (Application Processor, 이하 AP)와 베이스밴드(Baseband, 이하 BB)를 하나의 칩 안에 통합한 형태의 칩셋을 제공하고 있다).
어쨌든, 보통의 스마트폰에는 AP와 BB라는 두 개의 가장 핵심 부품이 들어가 있으며, 이 주위에 여러가지 주변 장치(메모리, LCD/OLED와 같은 화면, 카메라, 무선랜/블루투스와 같은 근거리 통신 칩셋 등)가 맞물려 구성된다.
BB가 하는 역할은 요즘 말하는 LTE나 3G와 같은 통신을 담당해 음성/화상 통화나 데이터 통신을 할 수 있게끔 하며, AP는 안드로이드/iOS와 같은 OS(운영체제)을 탑재하여 통화 기능을 제외한 다른 모든 연산과 주변장치를 제어하는 핵심 역할을 한다.
즉, 실제 스마트폰의 성능을 좌지우지하는 가장 핵심적인 부품을 꼽으라면 AP이며, 앞에서 얘기한 1GHz니 듀얼/쿼드 코어라는 것은 모두 이 AP의 사양에 대한 언급인 것이다. 보다 더 정확하게 얘기하자면, 그림 1과 같이 AP 내부에 있는 CPU의 사양을 언급하는 것이다. 다시 말해 AP 내에 있는 CPU의 클록에 따라서 1GHz니 아니니 하는 것이 결정되는 것이며, 듀얼/쿼드라는 것은 AP내에 CPU가 몇 개 있는 것인지를 언급하는 것이다. 이를테면 두 개이면 듀얼 코어, 네 개이면 쿼드 코어….
하지만 다시 한번 AP의 내부를 살펴보면, CPU 뿐만이 아니라 다른 구성요소도 존재함을 알 수 있다. 그래픽을 담당하는 GPU, 비디오를 담당하는 DSP, H/W 코덱(Codec), 메모리를 담당하는 메모리 컨트롤러(Memory Controller) 등이 이에 해당한다.



여기서 잠깐 핸드폰이 아닌 PC로 넘어가 이야기를 해보자. 보통 구매를 할 때나 성능이 부족해 업그레이드를 고려할 때 가장 먼저 보는 사양이 무엇인가? 신규 구매를 할 때는 당연히 CPU가 무엇인지, 즉 핸드폰의 현재 추세와 동일하게 어떤 CPU이며 듀얼 코어인지 쿼드 코어인지를 보고 유심히 결정하며, 그리고 OS를 결정하게 된다(사실 우리나라의 경우엔 마이크로소프트의 가장 최신 버전인 윈도7이 거의 유일한 선택지이지만, 외국의 경우에는 리눅스를 쓸지, 맥(Mac) OS를 쓸 지 등 좀 더 다양한 선택의 여지가 있다). 그에 못지않게 중요하게 보는 부품, 또는 구매 이후 성능 향상을 위한 업그레이드 시 가장 많이 바꾸는 부품은 그래픽 카드와 메모리 (DRAM)의 용량 추가이다.
점점 PC가 하는 일을 대체해가고 있는 스마트폰에서도 결국 동일하다. 즉, 현재 가장 많이 회자되고 있는 1GHz, 듀얼/ 쿼드 코어와 같은 CPU 사양뿐만 아니라, CPU가 어떤 종류인지도 중요하며, AP 내의 다른 구성요소인 GPU와 DRAM 등의 사양도 스마트폰의 성능을 좌우하는 매우 중요한 요소인 것이다.
CPU의 종류는 전세계 모든 핸드폰의 95% 이상에서 채택된 ARM 기반 CPU 중에서도, 재작년 1GHz의 벽을 넘은 Cortex-A8 계열, 그리고 작년과 올해 듀얼/쿼드 등 멀티 코어를 가능케 한 Cortex-A9 계열, 그리고 근시일 내에 또 한번 성능의 벽을 뛰어넘을 Cortex-A15 계열 CPU등을 의미하며, DRAM이라 함은 채널 개수와 대역폭(Bandwidth) 등의 사양에 따라 LPDDR2, LPDDR3 등을 의미한다. 그러나 이런 부분은 기술적 지식을 요할 뿐더러, 재미없게 되는 첩경이니 여기서는 다루지 않고, GPU에 대해서 살펴보도록 하겠다.

‘일타 쌍피’격인 GPGPU

여태까지 이미 충분히 긴 글이었으나, 이제야 필자가 말하 고 싶은 주제인 GPU에 대해 도달했다.
GPU란 그래픽 프로세싱 유닛(Graphic Processing Unit) 의 준말로서, 말 그대로 그래픽을 담당하는 요소로 그래픽 성능을 가장 크게 좌지우지하는 부분이다. PC로 따지면 그래픽 카드에 해당하는 부분이나, PC와는 달리 이동전화라는 물리적으로 작아야 한다는 특성상 AP 칩셋 안에 들어가는 것이다. 이미 PC에서는 고성능 게임이나 CAD 프로그램 등의 원활한 구동을 위해서 좋은 성능의 그래픽 카드가 필요하다는 것은 이미 잘 알려진 사실이다.
스마트폰에서도 현재 PC나 콘솔 게임기에서나 볼 수 있었던 고화질의 게임들이 등장하고 있어, GPU는 CPU에 못지 않게 중요한 것으로 받아들여지고 있다. 실제로 애플에서는 얼마 전 뉴아이패드를 발표하면서, 여기에 사용된 A5X AP에 쿼드 코어 그래픽(Quad-Core Graphics)를 내장했다고 밝힌 바 있다.
여기서 쿼드 코어란, 앞서 설명한 CPU가 네 개라는 뜻이 아니라, GPU가 네 개 들어있다는 뜻이다(이 부분도 기술적으로 깊이 들어가면 갑론을박의 여지가 있는 부분이나, 크게 틀린 말은 아닐 터이니 그냥 넘어가자). 즉, 이젠 CPU가 아니라 GPU의 성능이 중요해졌을 뿐만 아니라 GPU 역시 멀티 코어의 시대가 도래한 것이다.
다시 한번 정리하자면, OS와 애플리케이션을 구동하기 위한 연산장치인 CPU가 재작년부터 휴대전화의 사양을 결정하는 대명사로 이야기되고 있지만, 이에 못지않게 다른 부분도 중요하며 특히나 고성능 게임과 점점 세밀해지는 스마트폰/태블릿의 화면 해상도를 위해서는 GPU 역시 매우 중요하다는 것이다.
이렇게 GPU가 점점 중요해지다 보니, 이를 응용한 아이디어가 나오게 되었다. 바로 GPU를 원래의 목적인 그래픽 용도로만 사용할 것이 아니라, CPU처럼 일반 연산의 용도로도 사용하자는 것이다. GPU를 일반 목적으로 사용한다고 하여 GPGPU(General Purpose GPU), 또는 GPU를 연산 용도로 사용한다고 하여 GPU 컴퓨팅이라고 부르는 기술이며, 바로 필자가 얘기하고자 하는 핵심이 되겠다.
사실 GPGPU는 새로 나온 아이디어/기술은 아니고, 이미 PC에서는 OpenCL / CUDA / DirectCompute라는 용어를 통해 이미 존재하여 왔다. 이런 것이 핸드폰에서도 각광을 받기 시작한 것인데, 그 이유를 들자면 다음과 같은 두 가지를 꼽고싶다.

GPGPU가 중요한 두 가지 이유

그림 2는 칩웍스(Chipworks)라는 웹사이트에서 공개한 뉴 아이패드에 사용된 A5X AP 칩셋의 반도체 내부 사진이다[전문 용어로는 다이(die)라고 한다]. 여기에서 볼 수 있듯이, GPU가 차지하는 면적이 CPU의 면적을 한참 넘어설 뿐만 아니라 전체 면적의 절반 가까이 차지하고 있다. 이처럼 칩셋 내부에서 GPU가 차지하는 공간이 점점 늘어나는 추세이다 보니, 그래픽의 용도만으로 사용하기에는 아쉽다는 요구가 발생하고 있는 것이다.
그리고 또 하나의 기술적인 요인으로, 실제로 GPU라는 것도 결국 알고보면 매우 훌륭한 연산장치라는 것이다. 그래픽을 처리하기에 최적화 된 연산장치이나, 동시에 다른 특정 용도로 쓰기에도 매우 적합한 연산장치라는 것이다.



CPU같은 경우에는 연속적으로 입력되는 서로 다른 연산들을 처리하기에 적합한 반면, GPU는 동일한 연산을 데이터 값만 바꿔서 병렬/반복적으로 처리하기에 오히려 CPU보다 적합한 구성으로 되어있다. 이해 전달을 하기에 적합한 표현인지는 모르겠지만, 가로세로 n개의 값들로 구성된 동일한 행렬 연산을 성분만을 바꾸어 계속적으로 처리하기에 매우 적합하다는 것이다.
이런 특성의 연산이 주로 사용되는 실례를 보면, 카메라/비디오의 이미징과 관련된 기술이 존재한다. 사진에 여러가지 효과를 내기 위한 필터 효과라든지, 연속적인 사진을 붙여 파노라마 사진을 만든다든지, 사람 얼굴이나 물체를 인식하는 기능, 다중 초점을 가진 사진 등이 이에 해당하며, 이 외에도 게임 등에서 물체/인물의 움직임을 자연스럽게 표현해주기 위한 물리엔진등 수 많은 응용 분야가 있다.
이렇듯 GPU 컴퓨팅 기술을 활용하게 되면, 이전에는 할 수 없었던 수많은 새로운 기능을 제공할 수 있을 뿐만 아니라, 동시에 이를 전력 소모를 오히려 줄여 사용 시간도 늘리는 방향으로 구현이 가능하다. 따라서 업계의 많은 키플레이어는 현재 이 기술에 매우 주목하며 면밀히 준비하고 있는 상황이다.
우선 GPU를 만드는 업체에서는 그래픽 본연의 성능뿐만 아니라 GPU 컴퓨팅 성능도 뛰어나도록 설계를 하고 있다. 일례로 ARM의 Mali-T600시리즈 GPU를 살펴보면 수십~수 백 대의 GFLOPS 성능을 지니고 있다(GFLOPS란 연산을 얼마나 많이/빨리 할 수 있는지 나타내주는 단위이다). 또한 단순히 GPU만 최적 설계하는 것뿐만 아니라, GPU 컴퓨팅에 필수불가결한 CPU-GPU 간의 데이터를 원활하게 주고받게 하는 기능을 위해 CCI-400이라는 BUS 기술을 함께 제공하고 있다.
GPU를 내부에 탑재해 설계/판매해야 하는 입장인 칩셋 업체들은 GPU 컴퓨팅이 가능한 GPU를 선택하고 있으며, 칩셋을 바탕으로 제품을 만드는 휴대전화 제조업체에서도 이러한 칩셋을 선택할 뿐만 아니라 어떤 기능을 탑재하여 차별화를 꾀할 수 있을지 고민과 연구개발에 박차를 가하고 있는 실정이다.
또한, 스마트폰의 OS를 만드는 업체들도 GPU 컴퓨팅을 사용할 수 있도록 소프트웨어적인 인터페이스를 탑재해 애플리케이션 개발자들이 이를 활용할 수 있게끔 준비하고 있다. 일례로 현재 스마트폰 OS 시장 점유율 1위인 구글 안드로이드에서는 Renderscript Compute 라는 이름의 API(Application Program Interface)를 최신 버전에 이미 탑재했다. 이처럼 GPU 업체뿐만 아니라 칩셋/핸드폰/OS 업체에서 현재 이 분야에 대해 촉각을 곤두세우며 몰두하고 있는 상황인 것이다.
일부에선 아직 GPU 컴퓨팅에 대해서 아직은 시기상조 또는 적절한 용도로 상용화되기에는 이르다는 의견도 존재하고 있다. 그러나 한가지 확실한 것은, 이러한 고민이 한창 진행 중이며, 따라서 근시일 내에 결과물들이 실제 사용자들에게 새로운 혜택을 주는 형태로 등장할 것이라는 것이다.
재작년에서부터 시작된 CPU 경쟁은 클록과 코어 개수의 논점으로 올해까지 이어져왔으며, 향후에도 새로 등장할 더욱 발전된 CPU를 통해 지속되겠지만, 여기에 추가로 CPU 만이 아닌 새로운 차별화가 필요한 시점이다. 이를 제공하는 계기로 GPU 컴퓨팅이 매우 각광을 받고 있으며, CPU와 함께 새로운 경쟁 국면을 촉발할 것으로 예상된다. 내년이나 내후년의 MWC에서는 어떤 업체에서 GPU 컴퓨팅을 활용 하여 어떤 기술을 뽐낼 것인지 필자도 개인적으로 매우 기대 하고 있으며, 이 글을 통해 독자들도 이 기대에 동참하시기 바란다.









배너










주요파트너/추천기업