1. 5대 모바일 GPU 회사

 

ARM 계열 모바일 CPU를 만드는 회사는 대충 13개 정도 됩니다. 그러나 GPU 코어를 설계하는 곳은 그리 많지 않습니다.

 

1.jpg

 

2012년의 모바일 GPU 시장 점유율

 

2012년에 JPR에서 발표한 모바일 GPU 시장 점유율을 보면, 모바일 GPU에선 Imagination의 PowerVR이 50.1%를 차지하고, 퀄컴의 Adreno는 33%를 차지합니다. 나머지는 Vivante, ARM, DMP, NVIDIA가 나눠 가지고 있지만 그 비중은 그리 크지 않습니다.

 

그래서 여기에선 모바일 GPU를 설계하는 5곳의 대표적인 회사, Imagination, 퀄컴, ARM, NVIDIA, vivante를 소개하고자 합니다. DMP와 Takumi는 비록 ARM보다 비중이 적진 않지만, 이들 회사의 솔루션을 쓴 프로세서를 찾아보기가 힘들어서요.

 

 

모바일 GPU가 주는 영향. 디바이스와 화질의 차이

 

iOS 진영의 애플리케이션과 게임은 그래픽이 통일되어 있습니다. 특히 게임의 경우 아이패드 미니처럼 스펙이 다운그레이드된 제품마저도 안드로이드 버전보다는 더 나은 그래픽을 보여줍니다. 안드로이드 진영의 고가형 제품들은 같은 게임에서도 제각각의 모습을 보여줍니다.

 

2.jpg

 

시타델 벤치마크의 그래픽. 기기마다 다릅니다.

 

시타델 벤치마크를 예로 들어 볼까요. 퀄컴, NVIDIA, PowerVR, Mali 등의 GPU는 화질 차이가 매우 큽니다.어떤 기기에선 텍스처가 매우 깔끔하지만 어떤 기기에서 흐리멍텅하고 계단 현상이 심하네요.

 

이 문제는 이게 처음으로 발견된 것은 아니며, 예전에도 이 문제를 해설했던 적이 없는 건 아닙니다. 많은 게이머들은 이런 화질 차이의 주요 원인이 게임의 텍스처 데이터가 다르기 때문이라는 것을 잘 알고 있습니다. 좀 더 세밀하게 들어가면 게임 개발사가 각각의 프로세서 플랫폼의 특정에 맞춰 서로 다른 텍스처 압축 포맷을 쓰게 되는데, 이것이 그 GPU에서 돌아가는 게임 화면에 영향을 주는 것입니다.

 

모바일 GPU의 성능은 뒤떨어지고 대역폭은 낮습니다(아래에서 설명하겠습니다). 게임 모델의 텍스처는 매우 세밀하게 만들 수 없고 한계가 있습니다. 데스크탑 GPU와 비교했을 때(핸드폰의 화면은 작고, PPI는 높습니다), 대역폭이 한정되어 있는 상황에서 어떤 텍스처 압축 포맷을 써야 압축율을 높이고 화질 손상을 최소화하는지가 달라지게 됩니다. 게임 개발사는 어떤 텍스처 압축을 골라서 화질 손상을 최소화할 것인지를 골라야 하겠지요.

 

현재 5대 GPU 제조사는 자사의 모바일 GPU 제품에 최소한 한종 이상의 통용 텍스처 압축 포맷을 지원하고 있습니다. 일부 제품은 자사만의 독자적인 텍스처 압축 기술을 지원하기도 하는데요. 간단히 보시죠.

 

 

주류 텍스처 압축 표준. ETC, PVRTC, S3TC의 소개

 

먼저 OpenGL ES 표준을 이야기해 봅시다. 2.0에선 ETC(Ericsson Texture Compression)을 기본적인 텍스처 압축 표준으로 쓰게 되는데요. 이는 대부분의 모바일 GPU가 지원하는 텍스처 표준입니다. OpenGL ES 3.0에선 ETC2와 EAC 텍스처 압축 포맷을 지원하는데 두 포맷은 기본적으로 일치합니다. 다만 EAC가 1~2채널 데이터에 주로 쓰지만, ECT2는 아직 개선 중이라는 것. 퀄컴 Adreno 320 외에 이를 지원하는 GPU는 아직 없습니다. 테그라 4도 지원 안해요.

 

그 밖에 OpenGL ES 3.0은 또 다른 텍스처 압축 포맷인 ASTC(Adaptive Scalable Texture Compression)를 옵션으로 제공합니다. 이는 ARM이 제시한 것으로 작년에 Khronos에서 인가를 해서 표준으로 도입하는 중입니다. 하지만 강제는 아니며, 지금은 Mali-T600 시리즈만 지원합니다.

 

Imagination의 PowerVR GPU는 PVRTC(PowerVR texture compression)와 ETC를 지원합니다. 퀄컴의 Adreno 2xx 시리즈는 ETC 외에도 3Dc와 ATITC를 지원합니다. 뒤쪽의 2개는 모두 ATI가 개발한 것이며 Adreno 320은 앞의 3개 표준 외에도 ETC2 텍스처 압축을 지원합니다.

 

ARM의 Mali-300/400 시리즈는 ETC를 지원하며, Mali-T600은 여기에 ASTC纹 텍스처도 지원합니다.

 

NVIDIA의 테그라 시리즈는 좀 재밌습니다. 예전에 테그라는 독자적인 텍스처 압축 포맷을 지원한다고 알려져 있었는데, 실제로 ETC 외에도 테그라는 S3TC(S3 Texture Compression)라 불리는 포맷을 지원합니다. DXTn이나 DXTC라 불리는 것이기도 하지요. S3TC는 S3가 1999년에 개발한 것으로 나중에 다이렉트 6.0과 OpenGL 1.3에서 표준으로 도입된 것입니다. DXTC는 윈도우 버전의 이름이며 S3TC는 OpenGL 버전의 이름입니다.

 

예전에 애플과 HTC 사이에 벌어졌던 특허 전쟁에서도 S3TC라는 이름이 나왔던 적이 있습니다. S3는 비아가 인수하고, HTC와 비아는 사장이 동일 인물이거든요. HTC가 특허 소송에서 이기기 위해, 비아는 S3를 HTC에 매각하기도 했습니다.

 

S3TC는 다이렉트 X 그래픽카드에서 모두 지원하는 표준입니다. NVIDIA는 테그라에서 이 표준을 지원합니다. S3TC는 연산 방법을 DXT1~DXT5의 다섯 단계로 나누는데, 테그라는 DXT1, DXT3, DXT5만 지원합니다.

 

Vivante의 GC 시리즈 역시 ETC와 S3TC를 지원합니다. NVIDIA의 테그라와 같지요. 예전에는 Vivante가 NVIDIA 테그라의 텍스처 데이터를 지원한다고 했는데, 실제로 두 회사는 공동 전선을 펼치고 있습니다. DXT가 NVIDIA의 특허도 아니구요.

 

현재 우리가 가장 널리 쓰는 텍스처 압축은 ETC, PVRTC, S3TC, ATITC의 네가지가 있다고 말할 수 있습니다.

 

 

자주 쓰이는 텍스처 압축 포맷의 장단점

 

3.jpg

 

자주 쓰이는 텍스처 포맷의 압축 비교

 

먼저 압축 비율을 봅시다. 무손실 PNG의 용량이 5.4MB라 치면 S3TC와 ETC는 1.1MB 수준까지 압축이 됩니다. PVRTC의 압축이 제일 높지요. 528KB까지 가능하거든요. 하지만 PVRTC의 문제는 PowerVR 시리즈 GPU만 지원한다는 것입니다. 퀄컴 Adreno가 지원하는 ATITC도 마찬가지로 타사 제품에서 쓸 수 없다는 문제가 있습니다.

 

4.jpg

 

ETC는 제일 널리 쓰이는 텍스처 압축 포맷입니다. 하지만 ETC는 제조사들이 썩 좋아하는 방법은 아닌데요. 이유는 ETC 텍스처 압축이 알파 채널을 지원하지 않기 때문입니다. 그래서 불투명 텍스처만 압축할 수 있습니다. 그렇다고 ETC가 장점이 없다는 건 아닙니다. 거의 대부분의 안드로이드 기기에서 ETC 압축의 GPU 가속처리가 된다는 것입니다.

 

S3TC는 압축 속도와 비율 모두 괜찮으며 GPU 가속도 지원합니다. 여기에 데스크탑 그래픽카드에서 널리 쓰이는 압축 표준이기도 하지요. 이렇게 보면 완벽한 선택 같지만 모바일 시장은 PC와는 다릅니다. 저마다 자기 잘난 맛에 살거든요. NVIDIA는 아직도 다른 GPU 제조사들에게 S3TC를 표준으로 쓰자고 권장할 힘이 없습니다. S3TC는 사적인 표준이고, 특허 문제도 있거든요.

 

ETC2 압축 표준은 ETC1에서 지원하지 않은 알파 채널 문제를 해결해 더욱 고화질의 RGBA(RGB+알파) 압축을 지원합니다. ARM이 내놓은 ASTC 표준은 압축 속도와 품질 모두 S3TC보다 좋지만, 이들 두 표준은 새로 나온 것이라 지원하는 회사가 많지 않습니다.

 

 

모바일 GPU 렌더링 원리에 따른 구별. IMR, TBR, TBDR

 

모바일 GPU는 데스크탑 GPU와 비교하면 상대적으로 발전이 채 되지 않은 편입니다. 비록 모바일 GPU가 일부 분야에선 더 뛰어난 점을 보이기도 하지만 절대적인 성능을 따지면 비교가 안되는데, 그 이유는 연산 성능과 대역폭 때문입니다.

 

데스크탑 GPU는 256비트를 넘어 384비트 메모리 버스를 쓰고, 여기에 1.2~1.5GHz로 작동하는 비디오 메모리를 조합합니다. 모바일 GPU는 CPU와 메모리 버스 대역을 공유하는 것도 모자라서, 2개의 32비트 버스를 쓰고, LPDDR2-800이나 1066 정도의 메모리를 씁니다. 총 대역폭은 10GB/s 이내. 테그라 3처럼 싱글채널 메모리에 DDR3L을 조합하면 대역폭이 6.4GB/s밖에 안 나오게 됩니다.

 

5.png

 

아이패드 4는 현재 GPU 성능이 제일 강력한 모바일 기기지만 그래봤자 대역폭은 17GB/s입니다.

 

모바일 프로세서의 메모리 대역이 제일 높은 건 아이패드 3와 4입니다. 이 제품들은 레티나 스크린을 쓰는데, 2048x1536의 고해상도는 GPU 대역폭의 수요가 매우 높습니다. 하지만 이들 제품도 대역폭이 17GB/s밖에 안 나옵니다. PC 그래픽카드가 200GB/s를 넘기는 것과 비교하면 정말 작지요.

 

넓은 메모리 대역이 없으면 대용량 텍스처 데이터를 쓸 수 없고, 그럼 그래픽 품질이 별로일 수밖에 없습니다. 메모리 대역이 모바일 GPU의 발전을 가로막는 유일한 이유는 아니지만, 지금 발전을 막고 있는 건 사실입니다. 모바일 GPU 제조사들은 어떻게 해서든 작은 대역에서도 GPU의 성능과 화질을 높이기 위해 여러 방법을 연구 중인데, 앞서 소개한 텍스처 압축이 그 방법 중 하나고 다른 방법은 렌더링 방법을 바꾸는 것입니다. 여기에는 IMR, TBR, TBDR이 있지요.

 

 

바로바로 렌더링. IMR

 

6.jpg

 

IMR(Immediate Mode Rendering)은 글자 그대로 렌더링을 할 일이 생기면 바로 시작하는 것입니다. 매우 간단하고 거친 방식이며, 장점과 단점이 매우 확실합니다. 만약 성능을 걱정할 일이 없다면 이 방법은 매우 깔끔한 해결책일 것입니다. 하지만 IMR의 렌더링 실행은 무차별적으로 이루어지기 때문에, 처릴르 기다려야 하는 부분까지 렌더링 프로세서로 들어가게 되고, 읽기/쓰기 조작이 매우 많아지면서 성능과 대역폭의 손실이 늘어나게 됩니다.

 

한마디로, IMR은 모바일 GPU에서 썩 좋은 평가를 받진 못합니다.

 

 

좀 더 스마트해진 타일 렌더링, TBR

 

7.jpg

 

IMR은 상당히 우악스러운 방법이기 때문에 이를 대체할만한 좀 더 똑똑한 방법, TBR(Tile Based Rendering)이 나왔습니다. 렌더링 화면을 작은 타일로 나눠서, 각 타일의 좌표를 프레임 버퍼의 리스트 형식으로 시스템 메모리에 보관합니다. 이 렌더링 방식은 IMR에 비해 불필요한 렌더링 작업을 줄일 수 있다는 장점이 있지만, 숨겨진 파편이 여전히 소량 존재하고, 프레임 버퍼가 필요하다는 단점이 있습니다.

 

8.jpg

 

TBR은 게임 화면을 여러 구역-타일로 나눕니다.

 

 

한걸음 더 발전한 렌더링 방식의 등장. TBDR

 

9.jpg

 

TBR은 비록 IMR보다는 개선됐지만 단점도 있습니다. 그래서 TBDR(Tile Based Deferred Rendering)이 등장하게 됩니다. TBR과 원리는 비슷하지만 Deferred Rendering 방식을 사용해서, 완벽한 픽셀을 병합하고 HSR(Hidden Surface Removal) 등을 통해 불필요한 렌더링 과정을 줄여 대역폭의 수요를 낮춥니다. 이런 변화는 PC의 렌더링과 꽤 비슷하기도 합니다.

 

10.jpg

 

TBDR 렌더링의 핵심. Deferred Rendering

 

TBDR은 Imagination의 필살기라 할 수 있습니다. 다른 회사들은 모두 TBR을 쓰거든요.

 

마이크로소프트는 다이렉트 X 11.1에서 TBDR 지원을 추가했습니다. 윈도우 8 시스템은 태블릿과 터치스크린에도 최적화해야 하니까, TBDR처럼 모바일 플랫폼에 잘 어울리는 기술을 도입할 필요가 있었겠지요.

 

 

2. 무관의 제왕. Imagination의 PowerVR

 

Imagination은 ARM 프로세서를 제조하지 않습니다. 모바일 GPU 기술 라이센스에만 주력하는 회사인데, 그 전문성이 상당히 커서 Imagination은 모바일 GPU 라이센스에서 제일 큰 영향력을 행사하고 있습니다. 인텔 아톰 프로세서와 데스크탑 CPU의 GMA 500도 PowerVR 시리즈의 GPU였지요. ARM 진영에만 국한되지 않고 꽤 넓은 범위에서 사업을 하고 있는 셈입니다.

 

Imagination은 영국에 위치한 회사로 원래 VideoLogic의 사업 부문이었는데, 3D 가속 카드가 막 발전할 때 VideoLogic이 부두, ATI, NVIDIA 등의 회사와 함께 3D 가속 카드의 제작에 도전했었습니다. 마지막으로 살아남은 건 NVIDIA와 ATI(AMD)지만, 잃은 것이 있으면 얻은 것도 있는 법. Imagination의 모바일 GPU 기술은 PowerVR로 이어졌습니다. 모바일 시장에선 NVIDIA보다 더 잘 나가거든요.

 

Imagination이 라이센스 계약을 맺을 회사는 인텔, 애플, LG, 미디어텍, 퀄컴, 락칩, 삼성, 하이실리콘, 마벨, 소니 등이 있습니다. 어지간한 회사들은 다 포함되어 있네요. 그 중 인텔과 애플은 Imagination의 대주주이기도 합니다.

 

최근 Imagination은 GPU 기술 라이센스에 더 이상 만족하지 못한 것 같습니다. 2012년 말에 1억 달러를 주고 MIPS의 특허와 자산을 구입했거든요. 이미 MIPS 아키텍처를 자사의 Mtera 프로세서에 넣기 시작했습니다. CES에선 Caustic이 Caustic 2500/2100 레이 트레이싱 가속 카드를 공개했는데, 이 회사도 Imagination이 인수했습니다. 업계에서 영향력이 점점 커지고 있네요.

 

제품 이야기를 할까요. Imagination의 PowerVR은 그 역사가 길고 제품 수도 많습니다. 여기선 PowerVR SGX 5, PowerVR SGX 5XT, 그리고 앞으로 나올 PowerVR 6 시리즈를 소개하겠습니다.

 

11.png

 

PowerVR 시리즈 GPU

 

 

주력 제품. PowerVR 5, PowerVR 5XT

 

PowerVR SGX 5 시리즈엔 SGX 520, SGX 530, SGX 531, SGX 535, SGX 540, SGX 545가 있습니다. 이 중 자주 보이는 건 SGX 531, SGX 540, SGX 545입니다. 미디어텍의 듀얼코어 제품엔 SGX 531가 들어가지만 SGX 531 울트라라고 부릅니다. 이유는 클럭이 522MHz로 올라갔기 때문.

 

SGX 540은 TI의 OMAP 44x0 시리즈에서 매우 자주 보입니다. 인텔 아톰 Z2460도 SGX 540을 씁니다. 클로버트레일 플랫폼의 아톰 Z276이 사용하는 건 SGX 545입니다.

 

PowerVR SGX 5 시리즈는 USSE(Universal Scalable Shader Engine) 아키텍처를 쓰고, OpenGL ES 2.0/1.1을 지원합니다. SGX 535/545는 여기에 다이렉트 X 9 지원이 추가됐고, SGX 545는 다이렉트 X 10.1을 지원합니다.

 

PowerVR SGX 5XT는 SGX 5의 업그레이드 버전입니다. Power SGX 543, SGX 544, SGX 554가 있고 USSE2 엔진을 씁니다. 최대 부동소수점 성능은 USSE 엔진의 2배, 멀티코어 부분을 강화해 최대 16개의 코어를 구성할 수 있습니다. 애플의 A5, A5X, A6, A6X는 각각 SGX 543MP2, SGX 543MP4, SGX 543MP3, SGX 554MP4를 씁니다.

 

12.png

 

PowerVR 544MP 아키텍처

 

그래픽 API 부분을 보면 PowerVR SGX 5XT는 여전히 OpenGL ES 2.0/1.1과 다이렉트 X 9를 지원합니다. 하지만 이 시리즈는 새로운 요소를 추가해, SGX 544부터 PVRTC2 텍스처 압축 포맷을 지원하게 됐고, 일부 OpenGL ES 3.0의 기술도 지원하게 됐습니다. 뭐가 추가됐는지는 이 아래 표에 잘 나와 있습니다.

 

13.jpg

 

올해 GDC에서 Imagination은 5XT 시리즈에 추가한 OpenGL ES 3.0 기술의 목록을 밝혔습니다.

 

 

미래의 제왕 PowerVR 6. 1테라플롭스를 향해서

 

비록 PowerVR SGX 5/5XT의 성능이 뒤떨어지지 않는다고 하지만, Imagination은 2012년 CES에서 차세대 PowerVR 6 시리즈 모바일 GPU를 발표했습니다. 코드네임 로그지요. Imagination의 현존 모바일 GPU 성능은 100기가플롭스 정도인데, PowerVR 6은 1000기가플롭스를 목표로 설계 중입니다.

 

14.jpg

 

1테라플롭스를 달성한다는 건 수준이 한 단계 상승한다는 것을 의미합니다. 데스크탑 그래픽카드를 예로 들어보면 라데온 HD 7850은 1.75테라플롭스, 라데온 HD 7770은 1.28테라플롭스, 라데온 HD 7750은 0.819테라플롭스입니다. 이 말은 PowerVR 6 시리즈의 최고 성능이 라데온 HD 7750 급 데스크탑 그래픽카드와 견줄 수준이란 이야기죠.

 

물론 이런 높은 성능은 일부 플래그쉽 모델에서만 볼 수 있습니다. PowerVR 6 시리즈는 G6630, G6400, G6430, G6200, G6230, G6100등이 있는데 여기서 G6100, G6200/6400 시리즈는 코어 크기 최적화에 주력한 모델로, 각각 싱글, 듀얼, 쿼드코어 설계를 씁니다.

 

Imagination은 모바일 GPU의 보스답게 독특한 장점과 기술이 상당히 많습니다. 이 회사의 GPU는 성능이 제일 강하다고 할 수 없고 코어가 제일 작다고 할 수 없지만, PoweRVR은 전력 대 성능이나 코어 크기다 성능의 비율이 모두 뛰어납니다. 여러 개의 코어를 같이 쓰거나, 전용 개발 도구 제공, 텍스처 압축 포맷, TBDR 기술 등은 PowerVR의 필살기라 할 수 있습니다. 이 모든 것을 종합해서 볼 때 PowerVR은 제일 뛰어난 모바일 GPU라 할 수 있습니다.

 

PowerVR의 아키텍처를 글자로 설명하는 건 재미가 없지만, 이 중에 흥미가 당기는 주제가 하나 있습니다. 바로 PowerVR 5와 5XT가 통합 쉐이더를 사용하느냐 사용하지 않느냐는 것이지요. 예전에 알려진 자료에 의하면 PowerVR의 USSE 엔진에서 U는 Universal-통용을 의미합니다. 마지막 처음에 발표됐을 때만 하더라도 이 U는 Unified-통합이었습니다. 통합 쉐이더 할때 그 통합이요.

 

아키텍처를 보면 PowerVR 5 이후의 GPU는 더 이상 버텍스 쉐이더와 픽셀 쉐이더로 나뉘어진 유닛을 쓰지 않고, Unified Scalable Shader Engine이라는 것을 씁니다. 그리고 모두 다이렉트 X 10을 지원하지요. 따라서 PowerVR 5 이후의 GPU는 통합 쉐이더 아키텍처라고 보면 됩니다. PowerVR 5가 2005년에 발표됐고, 데스크탑에서 통합 쉐이더 아키텍처를 쓰기 시작한 것이 2006년이니, Imagination의 기술이 대단하다고 말할 수밖에 없습니다.

 

 

평가와 전망. PowerVR 6은 언제 출시되는가

 

절대 다수의 시장 점유율을 자랑하는 회사가 점유율을 더욱 늘리기 위해 노력할 필요가 있을까요. 애플이나 미디어텍 등의 대형 고객이 판매하는 물량만 봐도 끝이니까요. 비록 발표된지 몇 년이 지났지만 PoweRVR 5/5XT는 여전히 게임 성능을 추구할 때 최고의 선택이 됩니다.

 

문제는 PowerVR 6입니다. 아키텍처 발표와 프리진테이션 공개는 이미 1년 반이 지났지만 출시는 아직입니다. PowerVR 6이 높은 성능을 내려면 제조 공정과 애플리케이션이 뒷받쳐 줘야 합니다. 얼마 전에 Imagination은 TSMC와 함께 16나노 FinFET 공정 제조를 쓴다고 발표한 바 있는데, 이는 최소한 2014년까지 나와야 실제 적용이 됩니다.

 

PowerVR 6을 쓴다고 발표한 회사는 6개입니다. 그 중 회사 이름이 발표된 곳은 텍사스 인스트루먼트, 미디어텍, ST-에릭슨이고 나머지 세 곳은 발표하지 않았습니다. 이름이 밝혀지지 않은 3개 회사 중에 하이실리콘과 LG는 들어 있겠지요. 왜냐면 이 회사들은 CES에서 PowerVR 6 플랫폼을 공개했으니까요. 르네사스도 PowerVR 6 플랫폼을 전시한 바 있으니 이렇게 하면 6개 회사의 정체가 다 드러난 셈임니다. 애플이 PowerVR을 계속해서 쓸지는 아직 모르지만요.

 

15.jpg

 

문제는 시간이 지나면서 상황도 달라지고 있다는 것입니다. 텍사스 인스트루먼트는 컨슈머용 임베디드 프로세서 시장에서 손을 땠고, ST-에릭슨은 문을 닫았습니다. PowerVR 6가 갈 길은 아직 멀고도 험해 보입니다.

 

 

3. 재벌 2세. ARM의 Mali

 

ARM은 ARM 프로세서의 라이센스를 제공할 뿐만 아니라, GPU 라이센스까지 셋트로 묶어서 팔고 있는데 그게 바로 Mali입니다. 한 집안에서 나온 부모 자식이다보니 Mali는 부모인 ARM을 잘 만나서 보급이 꽤 순조로운 편이지요. GPU 기술을 따로 개발할 여력이 없는 회사들은 ARM 프로세서+Mali GPU 설계를 같이 구입하는 길을 택하거든요. 여기에는 삼성, 락칩, Spreadtrum, ST 마이크로일렉트로닉스, 올위너 테크놀러지 등이 있는데, 삼성가 올위너가 주요 고객입니다. 따라서 Mali GPU의 시장 점유율과 판매량은 결코 낮지 않습니다.

 

ARM 공식 사이트에선 Mali GPU가 스마트 TV와 안드로이드 태블릿에서 점유율 1위고, 스마트폰에선 20%를 넘는다고 설명합니다. 2012년 판매량은 1억 개 이상(1.5억개란 설도 있습니다), Mali GPU를 쓰는 기기는 200여 종이 넘습니다.

 

Mali의 역사를 이야기하려면 ARM이 원래 GPU 라이센스를 주지 않다는 것부터 봐야 합니다. 예전에는 Imagination의 GPU 코어를 썼었지요. Mali는 사실 2006년에 노르웨이 트론헤임에 위치한 GPU 칩 기업 Falanx를 인수하면서 생긴 것입니다. ARM의 Mali GPU 개발 센터도 트론헤임에 있구요. 지금 Mali는 ARM의 친자식이 됐지요.

 

 

주력 제품. Mali-300/400/450, Mali-T600

 

ARM의 현재 주력 제품은 2가지로 나눌 수 있습니다. Mali 시리즈는 OpenGL ES 2.0을 지원하며 Mali-300, Mali-400, Mali-450이 있고 코드네임 우트가르드입니다. Mali Plus 시리즈는 OpenGL ES 3.0을 지원하며 Mali-T604, Mali-T624, Mali-T628, Mali-T678의 네 종류가 있습니다. (Mali-T658도 있지만 공식 사이트엔 나와있지 않네요) 이들 제품의 코드네임은 미드가르드입니다. 둘 다 북유럽 신화에서 따온 것이지요.

 

16.jpg

 

Mali-300는 ARM의 제품 중 처음으로 OpenGL ES 2.0를 지원하는 GPU 코어입니다. 8KB L2 캐시가 있고 AMBA AXI 버스를 사용하며 1080p 해상도에서 4x MSAA를 쓸 수 잇습니다. 65나노 공정으로 제조, LP 공정은 클럭 240MHz, GP 공정은 클럭 400MHz입니다.

 

Mali-400 MP는 Mali-300를 기초로 해서 개선을 한 제품입니다. 제조 공정과 클럭이 다르고, L2 캐시는 8~256KB를 쓸 수 있습니다. MP가 뒤에 붙어있다는 건 Mali-400이 여러 GPU 코어를 조합할 수 있다는 이야기지요. 각각의 코어는 메모리 시스템을 포함한 크기가 4.7제곱mm고, 최대 4개의 코어를 구성할 수 있습니다. 삼성 갤럭시 S3에 쓴 엑시노스 4412가 바로 Mali-400 MP4를 썼지요. 32나노 HKMG 공정을 쓴 덕분에 클럭을 440MHz까지 높일 수 있었습니다. 노트 2는 533MHz구요.

 

Mali-450 MP는 Mali-400 MP의 업그레이드 버전입니다. 제조 공정은 40나노. 40나노 LP 버전은 클럭이 240MHz고 GP 버전은 480MHz입니다. L2 캐시는 8-512KB를 조합할 수 있습니다. 쿼드코어 버전은 Mali-450 MP4입니다. 256KB L2 캐시와 메모리 시스템을 더한 코어 크기는 8.6제곱mm, 최대 8개의 코어를 내장할 수 있습니다. ARM은 이 프로세서의 성능이 Mali-400의 두배라고 주장하지만, Mali-450 MP를 쓴 프로세서는 많지 않습니다.

 

17.jpg

 

Mali-T600 시리즈는 작년에서야 등장한 신형 모델입니다. OpenGL 3.0과 다이렉트 X 11을 지원하고 통합 쉐이더 아키텍처를 씁니다. 여기에 OpenCL과 DirectCompute 가속을 지원하는 것이 특징입니다. T600 시리즈는 2세대를 거쳐서 발전을 하는데, 초기에 나온 Mali-T604가 1세대, Mali-T624/628/678 등의 후기 제품들이 2세대 아키텍처입니다.

 

Mali-T604는 삼성 엑시노스 5250에 먼저 쓰이기 시작했습니다. 이 프로세서의 CPU는 듀얼코어 Cotrex-A15고 GPU는 T604입니다. 버스는 AMBA®4 ACE-LITE로 업그레이드, L2 캐시는 32KB고 최고 256KB 사용 가능. 내장된 MMU 메모리 관리 유닛은 가상 메모리를 지원하며, 최대 4개의 코어를 집적할 수 있습니다.

 

ARM은 Mali-T604의 구체적은 클럭과 코어 크기, 성능을 공개하지 않았습니다. 그저 기존 제품의 5배 성능이라고 말했을 뿐이지요.

 

Mali-T624의 스펙은 T604와 비슷합니다. 코어가 2세대 미드가르드로 업그레이드됐고, T628은 8개의 코어를 쓸 수 있다는 것 정도.

 

Mali-658은 미드가르드 아키텍처를 쓴 첫번째 프로세서입니다. 지금은 2세대 미드가르드 아키텍처인 T678로 대체됐습니다. 예전에 나왔던 자료에 의하면 T658의 성능은 Mali-400 MP의 10배입니다. 계산 성능은 4배. Mali-678이 쎄긴 쎄네요.

 

Mali-T600은 ARM이 개발한 ASTC 텍스처 압축 포맷도 지원합니다. 현재 OpenGL ES와 더불어 텍스처 표준으로 자리잡는 중이지요. 압축률은 더 높고 메모리 대역 점유율은 낮습니다.

 

 

ARM Mali GPU의 평가

 

ARM의 Mali GPU가 주는 느낌은 PC에서 레퍼런스 그래픽카드와 비슷합니다. 각종 최신 표준을 지원하고 성능 대 전력 사용량을 중시합니다. Mali-400 MP4를 예로 들면 256KB L2 캐시와 메모리 시스템을 포함해서 코어 크기가 6.8제곱mm밖에 안됩니다. 40나노 LP 공정과 250Mhz의 클럭으로 작동할 때 픽셀 필레이트는 1000MPix/s입니다. 28나노 공정으로 제조한 테그라 4의 GPU 코어가 10.5제곱mm에 달하는데 픽셀 필레이트는 2688MPix/s입니다. 다만 이 쪽은 클럭이 672MHz지요. Mali-400 MP4가 만약 최신 공정과 더 높은 클럭을 썼다면 이보다 더 잘 나올 것입니다. Mali-^00 시리즈는 코어 크기가 같다고 가정했을 때 IPC가 50% 높습니다.

 

하지만 Mali GPU의 문제는 현재 대부분의 라이센스가 Mali-400 MP 이하에 집중되어 있다는 것입니다. Mali-450 MP조차도 쓰는 회사가 별로 없고, Mali-T604는 삼성 엑시노스 5250을 빼면 나온지 1년이 넘었는데도 쓰는 프로세서가 없습니다. 삼성이 오래된 파트너이긴 해도 차세대 엑시노스 5 옥타는 PowerVR GPU로 갈아탔으니 Mali는 파트너를 잃어버린 셈입니다.

 

삼성이 Mali 대신 PowerVR을 쓰긴 하지만, ARM의 CPU+GPU 조합은 자체 설계 실력이 부족한 제조사들에게 상당히 매력적인 솔루션입니다. 중저가 시장에서 Mali GPU는 여전히 상당한 위치를 차지하고 있고, 결코 얕잡아 볼 수 없습니다.

 

 

4. 어디서 왔건 성능만 좋음 장땡. 퀄컴 Adreno

 

ARM 명령어 셋트를 자신이 직접 개선해서 모바일 프로세서를 만드는 회사는 손으로 꼽을 정도로 적습니다. 퀄컴은 안드로이드 진영의 모바일 프로세서에서 아무도 반대하는 사람이 없는 존재이며, 3G 기술과 베이스밴드 원천 기술이란 장점을 가지고 있습니다. 퀄컴의 프로세서는 최근들어 제일 인기 높은 솔루션으로 꼽히고 있고, 여기에 따라 퀄컴의 Adreno GPU에 대한 인기도 높아지고 있습니다.

 

Mali는 ARM의 친자식이나 다름없지만, 퀄컴의 Adreno는 입양해온 아이입니다. Adreno는 원래 ATI의 모바일 GPU 부분이었고 당시에는 Imageon이라 불렸지요. 그 때만 하더라도 PDA의 GPU를 만들었습니다. 2006년에 AMD가 ATI와 Imageon의 일부를 인수하고 난 후, 조직 개편을 하면서 Imageon은 잉여한 부문처럼 여겨졌습니다. 결국 2008년 말에 퀄컴이 6500만 달러에 사가서 Adreno GPU를 만들게 된 것입니다. 지금 AMD는 후회를 하고 있을지도 모르지요.

 

퀄컴과 AMD의 관계는 그게 전부가 아닙니다. 2012년 2월에 AMD의 CTO였던 Eric Demers가 AMD를 퇴사한 후, 그는 새 직장으로 NVIDIA나 인텔을 고르지 않았습니다. 퀄컴에서 모바일 GPU를 개발하기로 했거든요. AMD는 나중에 애플의 부사장이었던 Mark Papermaster를 새 CTO로 영입하는데, 이건 AMD가 2009년에 CTO를 애플에게 스카웃당한 복수일지도 모릅니다.

 

그럼 이제 본론으로 돌아와서. Adreno는 Adreno 320, Adreno 220, Adreno 205, Adreno 200, Adreno 130이 있습니다. 그 외에 Adreno 225와 Adreno 203도 있지만 공식 홈페이지엔 안 나와 있네요. 이 중에서 우리가 제일 많이 보는 것은 Adreno 220, Adreno 225, Adreno 320일 것입니다.

 

 

주력 제품. Adreno 220, Adreno 225, Adreno 320

 

Adreno 220은 MSM8660와 MSM8260의 스냅드래곤 S3 프로세서 두 종에 들어갑니다. Adreno 225는 스냅드래곤 S4인 MSM8960에 들어가는데, 새로운 Krait 아키텍처와 28나노 공정을 쓰는 제품이지요.

 

18.jpg

 

Adreno 220/225와 기존의 Adreno 205의 아키텍처 비교

 

Adreno 220/225는 OpenGL ES 2.0/1.1, EGL 1.3, OpenVG 1.1, 다이렉트 X 9를 지원합니다. Adrneo 220 시리즈에 대한 자료는 그리 많이 알려져 있지 않은데, 220과 225의 아키텍처는 기본적으로 같습니다. 통합 쉐이더 아키텍처를 사용하고-퀄컴의 주장입니다- 8개의 렌더링 파이프라인이 있습니다. 각각의 렌더링 파이프라인은 4개의 벡터 ALU 유닛과 1개의 스칼라 ALU로 구성되며, 벡터 유닛은 4개의 MAD 명령 조작을 처리할 수 있습니다. 하지만 스칼라 유닛은 MAD 명령을 처리하지 못합니다. 따라서 렌더라이 파이프라인은 1 클럭 사이클에 4개의 MAD 명령을 처리하는 능력이 있는 셈입니다.

 

상위 모델과 성능 차이를 두기 위해서 Adreno 220은 266Mhz로 작동합니다. 28나노 공정이라 400Mhz까지 높일 수는 있지만요. 이것은 퀄컴이 Adreno 225의 성능이 Adreno 220보다 50% 높다고 말하는 원인이기도 합니다.

 

쿼드코어 APQ8064 프로세서가 출시되면서 퀄컴 프로세서의 GPU는 Adreno 320로 바뀌고 있습니다. 스냅드래곤 S4의 업그레이드 버전인 스냅드래곤 600은 Adreno 320을 내장합니다. 아키텍처건 성능이건 기존의 Adreno 22x 시리즈보다 뛰어납니다.

 

비록 앞에서 220/225는 통합 쉐이더 아키텍처를 쓴다고 설명했지만, Adreno 320이야말로 퀄컴의 첫번째 '제대로 된' 통합 쉐이더 아키텍처 모바일 GPU입니다. 최신 OpenGL ES 3.0을 지원하고 GPGPU 통용 계산의 비중을 높였으며 성능은 이전 세대 Adreno보다 3~4배 높습니다. 지금 시장에 출시된 쿼드코어 프로세서 중에서 APQ8064의 그래픽 성능은 매우 뛰어난 편입니다. 화웨이 어쎈드 D2 외에도 5인치 1080p 스크린을 쓴 스마트폰은 대부분 APQ8064 프로세서를 씁니다.

 

19.png

 

Adreno 320 아키텍처의 소개

 

20.png

 

OpenGL ES 3.0을 지원

 

21.jpg

 

CPU와 GPU가 모두 게임 성능을 높여줍니다.

 

22.png

 

FlexRender. 탄력적인 렌더링 설계

 

23.jpg

 

실제 성능은 Adreno 225의 2배 정도

 

 

퀄컴 GPU의 전망과 평가

 

2013년 초에 퀄컴은 스냅드래곤 800 프로세서를 발표했습니다. 스냅드래곤 600은 계속해서 Adreno 320을 썼지만(비록 일부 개선된 점은 있었어도) 스냅드래곤 800은 Adreno 330을 씁니다. 퀄컴은 Adreno 330의 성능이 Adreno 320의 1.5배라 설명하며, 계산 성능은 3배라고주장합니다. 여기에 울트라 HD 표준의 4K 영상도 지원하니 참 솔깃하지요. 하지만 이를 체험해 보려면 스냅드래곤 800을 장착한 제품이 나올 때까지 기다려야 합니다. 올해 하반기 쯤?

 

어떤 쪽으로던, 퀄컴이 6500만 달러를 들여 AMD의 모바일 GPU 부분을 구입한 것은 정말 탁월한 결정입니다. Adreno이 퀄컴의 수익에서 차지하는 비중만 봐도 알 수 있지요.

 

퀄컴에게 있어서 Adreno의 그래픽 성능이야 그리 중요한 일이 아닐지도 모릅니다. 퀄컴의 장점은 CPU와 베이스밴드-기저대역이거든요. Adreno는 시장에서 어느 정도 자리를 차지하고 있고, 특히 Adreno 320는 최고 성능의 모바일 GPU로 꼽히고 있습니다.

 

Imagination의 PowerVR 6 시리즈는 출시가 늦으니, 올해 말 모바일 GPU는 Adrneo 330과 바로 아래에서 설명할 테그라 4가 패권을 두고 경쟁하게 될 것입니다.

 

 

5. 올드비를 넘어선 뉴비. NVIDIA의 지포스 ULP

 

모바일 프로세서라는 험난한 시장에서 NVIDIA는 후발 주자에 속합니다. 하지만 NVIDIA는 PC 시장에 큰 영향력을 가지고 있고, GPU 기술이야 그 실력을 의심할 것이 없습니다.

 

테그라 시리즈는 AP2 2500부터 시작해서 이제 4세대가 나왔습니다. GPU 코어는 지포스란 이름을 그대로 쓰는데 일반적으로는 지포스 ULP(Ultra-low power), 초 저전력 제품이라 부릅니다. 1세대 테그라는 마이크로소프트 준 HD에 쓰였지만 지금 보면 골동품 취급이고, NVIDIA 공식 사이트에서도 이름을 빼버린 내놓은 자식입니다. 그러니까 여기서도 테그라 2, 테그라 3, 테그라 4만 소개하겠습니다.

 

 

주력 제품. 테그라 2, 테그라 3, 테그라 4/4i

 

NVIDIA의 모바일 프로세서는 '최초'라는 타이틀을 유독 많이 가지고 있습니다. 테그라 2는 세계 최초의 듀얼코어 Cortex-A9 아키텍처 프로세서고, 테그라 3는 최초의 쿼드코어 Cortex-A9 프로세서입니다. 테그라 4는 세계 최초의 쿼드코어 Cortex-A15 프로세서입니다. 이것만 봐도 테그라 시리즈가 어떤 장점을 가지고 잇는지 알 수 있겠지요.

 

듀얼코어 테그라 2의 클럭은 1.0-1.2GHz, Cortex-A9 아키텍처, GPU는 8개의 그래픽 유닛이 있는데 4개의 버텍스 유닛과 4개의 픽셀 유닛으로 나뉩니다. 클럭은 300, 333, 400Mhz의 세가지 버전이 있고, OpenGL ES 2.0, OpenVG 1.1, EGL 1.4을 지원합니다. 지금도 일부 스마트폰에서 쓰고 있습니다.

 

테그라 3는 NVIDIA의 주력 제품입니다. 쿼드코어 Coretx-A9 아키텍처, GPU는 12개의 그래픽 유닛이 있는데 4개의 버텍스 유닛과 8개의 픽셀 유닛으로 구성됩니다. 클럭은 416MHz와 520MHz의 두 종류. 마이크로소프트의 서피스 RT, 구글 넥서스 7에 들어간 건 416MHz 버전이고 고급형 스마트폰과 태블릿에 520Mhz 버전이 들어갑니다.

 

테그라 4는 발표는 했으나 이를 쓴 제품은 아직 없습니다. 올해 하반기에 제품들이 나올 것으로 보입니다. 테그라 3와 비교하면 아키텍처와 공정이 모두 업그레이드됐습니다. 제조 공정은 28나노 HPL, CPU 코어는 쿼드코어 Cortex-A15, GPU 유닛 수는 12개에서 72개로 대폭 늘었습니다. 클럭은 672Mhz.

 

테그라 4는 OpenGL ES 2.0를 지원하며 대부분의 OpenGL ES 3.0 기술도 지원합니다. fp32 부동소수점만 빼고요.

 

그 밖에 스펙 다운그레이드 버전인 테그라 4i가 있습니다. 제조 공정은 28나노, CPU 코어는 쿼드코어 Cortex-A9 r4p1 개선 버전, GPU 유닛은 60개로 줄었습니다. 하지만 LTE 베이스밴드를 내장해 전력 사용량과 발열이 개선된 제품입니다.

 

 

아키텍처 설계. NV4x에서 유래

 

24.png

 

테그라 2의 GPU 아키텍처

 

25.png

 

테그라 3의 GPU 아키텍처

 

26.png

 

테그라 4i의 GPU 아키텍처

 

27.png

 

테그라 4의 GPU 아키텍처

 

테그라의 코어는 여전히 전통적인-버텍스와 픽셀 유닛이 분리된- 설계를 씁니다. 최신작인 테그라 4도 예외는 아닙니다. 통합 쉐이더 아키텍처를 쓰지 않았거든요.

 

테그라 2는 한 개의 버텍스와 1개의 픽셀 유닛을 조합하는데, 각각의 조합에는 4개의 ALU가 있습니다. 테그라 4는 버텍스 유닛은 그대로지만 픽셀 유닛을 늘려 4+8 구성이 됐습니다. 테그라 4는 버텍스 유닛은 6개 조합, 각각 24개의 ALU 유닛이 있고, 픽셀 유닛은 4개, 각각 12개의 ALU가 있습니다. 그래서 24+48로 72개 그래픽 유닛이 있는 것입니다.

 

테그라 4i는 테그라 4에서 3개의 버텍스 유닛을 빼고 12개의 고정 유닛을 남겨뒀습니다. 48개의 픽셀 유닛은 그대로. 그래서 60개의 그래픽 유닛이 됩니다. 하지만 버텍스 유닛의 절반이 날라갔더는 건 삼각형 생성 능력이 크게 떨어진다는 이야기가 되겠습니다.

 

NVIDIA의 테그라 프로세서는 몇 세대를 거쳐오면서 GPU 코어 아키텍처가 별로 변하지 않았습니다. 모두 NV4x 아키텍처를 기반으로 합니다. 각각의 ALU 유닛은 1 사이클에 4개의 MAD 명령을 실행합니다. 테그라 4의 버텍스 유닛 규모는 테그라 3의 6배, 픽셀 유닛 파이프라인은 테그라 3의 2배입니다. 하지만 파이프라인의 규모는 테그라 3의 3배. 픽셀 유닛의 규모는 모두 더해서 테그라 3의 6배입니다.

 

그러나 테그라 4의 GPU 코어는 효율이 개선됐습니다. L2 텍스처 캐시를 늘리고, 픽셀 렌더링의 최대 레지스터를 16에서 24로 높였거든요.

 

그 밖에, 테그라 4는 672Mhz로 작동합니다. 테그라 3의 520Mhz보다 빨라졌지요. 따라서 성능도 상승하게 됩니다.

 

28.png

 

테그라 4와 테그라 3의 GPU 성능 비교

 

마지막으로, 테그라 4는 비록 OpenGL ES 3.0을 완벽 지원하지 않지만, 그 대부분을 지원합니다.

 

29.jpg

 

테그라 4는 OpenGL ES 3.0의 대부분 스펙을 지원합니다.

 

 

테그라 시리즈 GPU의 장단점

 

데스크탑과 워크스테이션에선 절대적인 성능을 추구하지만, 테그라 프로세서에선 상당히 신중을 모습을 보이는 NVIDIA입니다. 코어 크기를 줄이는 데 신경을 쓰고 있거든요. 테그라 4는 스펙이 대폭 상승했지만 코어 크기는 80제곱mm입니다. 여기서 GPU 코어가 차지하는 면적은 10.5제곱mm밖에 안되지요. 경쟁 상대와 비교하면 상당히 작습니다.

 

30.jpg

 

GPU 코어 면적을 28나노 공정으로 놓고 비교한 것

 

이것은 NVIDIA가 광고를 할 때 장점이 될 수 있습니다. 단위면적 당 성능에서 경쟁상대를 이길 수 있거든요. 퀄컴의 APQ8064건, 애플의 A5X, A6X건 이렇게 비교하면 NVIDIA를 이길 수 없습니다.

 

물론 테그라 4의 절대적인 성능도 뒤떨어지지 않습니다. 안투투 벤치마크에서 3만 6천점이 나왔다고 공식적으로 밝혔는데, 이는 APQ8064가 최고 2만 천점이 나온 것과 비교하면 50% 높은 것입니다.

 

장점은 또 있습니다. 비록 NVIDIA가 PC 플랫폼 게임에서 AMD의 Gaming Evolved에게 잠식당하고 있긴 해도, 모바일 시장에선 아직 다른 회사가 NVIDIA를 따라가진 못합니다. 테그라 시리즈는 전용 THD 게임이 있고, NVIDIA 프로세서에 최적화가 들어갑니다.

 

에픽의 시타델 데모가 그 좋은 예입니다. 비록 테그라 3의 이론 성능은 퀄컴 APQ8064보다 뒤떨어지지만, 이 데모에선 테그라 3가 APQ8064보다 앞섭니다. 삼성 엑시노스 4412와 비교하면 더욱 뛰어난 성능을 보여주지요.

 

31.jpg

 

테그라 4가 게임에 미치는 영향

 

테그라 프로세서의 가장 큰 장점은 가격이 비교적 싸다는 것입니다. 쿼드코어 테그라 3를 예로 들어볼까요. 한국하곤 별로 상관이 없지만 중국에선 테그라 3 프로세서를 쓴 저렴한 쿼드코어 스마트폰이 많습니다.

 

테그라 프로세서를 이야기하면 고질적인 출시 연기도 빼놓을 수 없습니다. 테그라 3는 최초의 쿼드코어 Cortex-A9지만 정작 물량이 어느 정도 시장에 풀렸을 땐 이미 다른 회사들이 28나노 쿼드코어를 내놓고 있어, 테그라 3가 별로 앞서지 못했습니다. 테그라 4도 상황이 크게 다르지 않습니다. 발표는 1월에 했지만 이를 쓴 태블릿과 스마트폰은 연말이나 되야 볼 수 있을 것 같습니다.

 

또 다른 단점은 전력 사용량입니다. 테그라 4의 연기는 이쪽에서 비롯된 것도 있습니다. 테그라 4의 TDP는 5W로 알려져 있는데, 스마트폰과 태블릿에서 이 정도면 상당히 큰 편입니다. 공평하게 말하자면 전력사용량이 큰 쿼드코어 Cortex-A15는 모두 이런 문제를 가지고 있지요. 하지만 테그라 4가 제일 먼저 발표했으니 테그라 4가 한소리 듣는 것도 어쩔 순 없습니다.

 

 

테그라의 전망과 평가

 

테그라 4는 아직 출시되지 않았지만, NVIDIA는 얼마 전의 GTC 2013에서 테그라 5와 테그라 6을 계획 중이라고 밝혔지요. 지금 쓰는 아키텍처와 비교하면 상당히 많은 부분이 달라진 혁명적인 제품들입니다.

 

32.jpg

 

테그라 5의 코드네임은 로간으로 통합 쉐이더 아키텍처를 도입한 것이 특징입니다. 케플러 코어, OpenGL ES는 4.3으로 업데이트, CUDA on ARM을 지원하는데, 이것은 모바일 프로세서에서도 드디어 CUDA 가속을 쓸 수 있게 됐다는 이야기입니다. 여기에 OpenGL 4.3 지원이 있으니 테그라 5가 내년에 계획대로 나온다면 기술적으로는 최고로 발전된 모바일 GPU가 될 것입니다.

 

GPU가 모바일 프로세서에서 차지하는 비중은 갈수록 커지고 있습니다. GPU 기술이 뛰어난 NVIDIA는 앞으로 분명 좋은 기회를 잡게 될 것입니다. 지금의 테그라 3와 테그라 4는 변화 폭이 그리 크지 않지만, 내년에 나올 테그라 5는 지금까지와 다른 의미를 가지고 있습니다. 강력한 기술 스펙과 GPU 통용 계산의 도입으로 GPU의 사용 범위가 더욱 넓어지게 됩니다. ARM 프로세서 진영에서 두고 봐야 할 부분입니다.

 

 

6. 성능은 출중하지만 널리 알려지지 않은 Vivante의 GCxx

 

PowerVR, Mali, Adreno 등과 비교해서, Vivante(비반테)의 GC 시리즈 GPU는 대중적인 인지도가 그리 높지 않습니다. 시장 점유율도 테그라 시리즈보다 적거든요. 하지만 작년이 비반테는 화웨이의 K3V2 프로세서에 들어갔습니다. 이걸로 '세계에서 제일 빠른 쿼드코어 프로세서'를 장착한 어쎈드 D1에 포함된 셈. 올해 나온 어쎈드 D2는 6.1인치 대형 스크린, 16코어 GPU를 쓰는데 이것 역시 비반테의 GC 시리즈 GPU입니다.

 

33.png

 

화웨이의 K3V2 프로세서는 비반테의 GC4000 코어를 씁니다.

 

비반테는 생긴지 그리 오래된 회사는 아닙니다. 2004년에 중국에서 설립됐으며 모바일 GPU 시장에 주력하는 곳입니다. 2010년에는 40개가 넘는 라이센스 고객을 가지고 있는데, 여기에는 마벨과 프리스케일이 포함되어 있습니다. 락칩의 RK2918과 룽신-2H의 그래픽 역시 비반테의 GPU 코어입니다.

 

비반테가 유명하지 않은 것은 맞습니다. 하지만 유명하지 않다고 해서 다른 것도 별로인 건 아니지요. 시장 점유율을 볼까요? 비반테의 GC 시리즈 모바일 GPU는 PowerVR, Adreno, Mali 다음이며 2012년 상반기에 9.8%를 차지했습니다. 테그라가 2.5%인 것과 비교하면 상당히 높은 편입니다. 테그라가 널리 알려져 있는 건 테그라가 대중적인 제품에 들어가서 그렇구요. 비반테는 스마트폰이나 태블릿에서 비중은 그리 큰 편은 아닙니다.

 

 

주력 제품. GC400, GC800, GC4000

 

34.png

 

비반테의 현재 주력 제품은 OpenGL ES 2.0을 지원하는 GC400, GC800, GC1000, GC2000, GC4000이 있습니다. 여기선 GC400이 기본 모델이고, GC1000~4000까지는 모두 GC400을 기본으로 해서 멀티코어로 만든 제품입니다. GC4000은 8코어인데 화웨이 K3V2에 들어간 16코어 GPU가 바로 GC4000을 두개 쓴 것입니다.

 

GC400은 TSMC의 40나노 LP 공정을 씁니다. 이론적인 코어 크기는 1.2제곱mm, 실제 회로 크기는 1.6mm, 삼각형 생성 성능은 15M Tri/s, 픽셀 필레이트는 150M pix/s, 이론 성능은 3기가플롭스입니다. 8코어 GC4000은 GC400의 8배니까, 16코어는 16배가 되겠네요.

 

듀얼코어 GC4000의 이론 성능은 96기가플롭스, 코어 크기는 24.8제곱mm입니다. 단순 숫자만 보면 이해하기 힘드니까 다른 제품을 갖고 와 보지요. 애플 A5X를 예로 들어 보면, 애플이 쓴 PowerVR 554MP4 코어의 경우 이론 성능은 76.8기가플롭스, GPU 코어의 크기는 36.6제곱mm, 32나노 공정입니다. 이것은 듀얼코어 GC4000이 제조 공정에서 뒤떨어지지만 코어 크기는 오히려 작으며, 성능은 더욱 뛰어나다는 것입니다.

 

GC 시리즈의 성능이 뛰어난 이유는 클럭이 높기 때문입니다. GC 시리즈의 GPU는 보통 AHB와 AXI의 두개 포트가 있는데, AHB 버스는 400MHz, AXI는 600MHz로 작동합니다. A5X의 GPU가 250MHz로 작동하는 것과 상당히 대조적이지요.

 

35.jpg

 

비반테의 제품 로드맵

 

앞으로 나올 제품의 계획을 보면, 2011년의 로드맵에서 성능이 뛰어난 GC600과 GC800이 나올 계획이었지요. 원래 2012년 1분기에 나올 예정이었고, 제조 공정은 20나노까지도 보고 있었지만요. 그러나 이건 다 계획이고, 현재 비반테의 제품 중 제일 고급형 제품은 여전히 GC4000입니다. 600이나 800은 아직 나오지 않았네요.

 

 

비반테 GC 시리즈 GPU의 특징과 평가

 

36.jpg

 

비반테는 업계 표준을 지원하고 여러 API를 쓸 수 있다는 장점이 있습니다. 이것은 원래 모바일 GPU 제조사들이 꼭 해야 할 일이기도 하지만, 혼잡한 업계에서 비반테의 표준 준수는 상대적으로 뛰어난 편입니다. 왜냐하면 비반테가 업계 표준 제정 조직인 Khronos에 가입되어 있거든요. OpenGL ES, OpenCL, OpenVG, 다이렉트 X의 지원이 모두 뛰어난 편입니다.

 

물론 비반테의 하드웨어도 계속해서 업그레이드되고 있습니다. 현재 GC4000은 OpenGL ES 2.0을 지원합니다. 아직 통합 쉐이더를 도입하진 않았고, 제조 공정도 업그레이드되야 하지만요.

 

37.jpg

 

성능과 코어 크기의 비율이 좋습니다. 스펙만 봐도 GC 시리즈의 GPU는 코어 크기가 매우 적고, 이론 성능은 높다는 것을 알 수 있습니다. 비반테의 GPU는 업계에서 단위면적 당 성능이 제일 뛰어납니다.

 

ARM의 Mali, Imagination의 PowerVR과 비교하면 GC 시리즈는 단위 면적 당 삼각형 생성율이 다른 회사의 3배, 픽셀 필레이트는 1.5배, 부동소수점 성능은 2.5배입니다.

 

38.jpg

 

높은 안티 얼라이싱을 걸었을 때의 대역폭 요구가 낮다는 것도 특징입니다. 모바일 GPU에서 MSAA를 쓰면 삼각형 생성량이 대폭 늘어나면서 대역폭 점유율도 커집니다. 비반테의 GC 시리즈는 대역폭에 대한 요구가 다른 회사보다 그리 높지 않아, 성능 손실을 줄였습니다.

 

39.jpg

 

저전력에도 최적화되어 있습니다. GC 시리즈는 GPU를 부하에 따라서 액티브, 아이들, 대기, 슬립 등의 몇 단계로 나눕니다. 필요로 하는 성능에 따라서 GPU 작동 모드도 달라지는 것입니다. 뛰어난 클럭/전력 게이팅 회로를 포함해, GPU 회로를 동적으로 조절하고, 독립된 PLL 회로가 다양한 클럭 조절이 가능하게 합니다. 제조사는 소프트웨어를 통해 GPU의 기능을 조절할 수 있습니다.

 

비반테의 GC 시리즈 GPU는 내세울만한 장점이 또 있습니다. 표준 텍스처 압축 포맷을 지원하는 것 외에, S3TC 압축 포맷을 지원한다는 것입니다. 테그라에서도 쓰는 것이지요. 그래서 이론적으로 THD 게임은 비반테 GPU에서도 같은 그래픽 효과를 낼 수 있습니다.

 

장점을 다 말하고 나니 꿀리는 게 없네요. 비반테의 GC 시리즈 GPU는 업계 최고 수준의 단위면적 당 성능을 자랑하며, 듀얼코어 GC4000은 아이패드 4보다 이론적인 성능은 떨어지지만, 실제 활용에선 높은 성능을 보여줍니다. 자주 보이는 벤치마크에서 아이패드 4 만큼의 3D 성능은 아니더라도, 퀄컴의 Adreno 320보다 나은 모습을 보여준다고 보면 됩니다. 일부 게임에선 호환성 문제가 있긴 합니다만.

 

이런 문제가 생긴 원인은 GC4000의 코어가 스마트폰/태블릿에서 많이 쓰지 않아, 개발사의 최적화가 부족하기 때문입니다. 비반테는 이 점을 잘 알고 있으며, 뛰어난 성능과 높은 클럭으로 이를 극복해 나가려 하지만, 대부분의 경우엔 저전력 모드로 작동하며 GPU 코어의 클럭이 매우 낮게 설정됩니다. 게임에선 발열과 전력 사용량 때문에 풀 스피드로 작동하지 않는 경우가 ㅁ낳습니다. 그래서 벤치마크에선 강한데 게임에선 별로라는 소감이 나오는 것이지요.

 

실제로 화웨이의 쿼드코어 폰을 쓸 경우, 테스트 중에 GPU 클럭이 최고 600MHz까지 올라가지만, 실제 사용에선 200~300Mhz 정도가 고작이었다고 하네요. 그래서 화웨이 폰이 치팅이라는 의혹도 나온 적이 있다고 합니다.

 

정리하자면, 비반테의 GC 시리즈 GPU 코어는 크기는 작고, 이론 성능은 뛰어나며, 업계 최고의 단위면적 당 성능을 갖췄습니다. 하지만 비반테의 고객은 스마트폰과 태블릿에 몰려 있어, 실제 애플리케이션에서 최적화가 부족합니다. 이론적인 성능은 뛰어나지만 체감은 그렇지 않다는 것이지요. 이 차이를 줄여나가는 것은 하루 이틀 안에 해결될 일이 아닙니다. 비반테와 화웨이가 노력해야 할 일이지요.

 

GPU 애플리케이션의 최적화가 따라간다면 비반테는 분명 나쁘지 않은 선택일 것입니다. 화웨이는 최근 유저들의 의견을 반영해서 새 펌웨어를 내놓고 있고, 유명 게임에서 K3V2 프로세서가 별다른 문제를 일으키진 않았습니다.

 

 

7. 기계는 똑같지만 GPU는 다르다

 

모바일 프로세서의 코어 아키텍처는 대부분이 ARM입니다. x86도 있고 MIPS도 있긴 하지만. 사실 CPU 부분의 핵심 구조는 큰 차이가 없습니다. 자력으로 아키텍처를 개발하는 퀄컴도 ARM과 호환성을 유지하고 있지요.

 

하지만 모바일 GPU는 저마다 특징이 있습니다. 게임마다, 프로세서마다, 화질이, 호환성이 제각각 차이나는 것도 다 이 때문이지요. 안드로이드 진영의 파편화는 구글 혼자만의 문제는 아닙니다. GPU도 분명 일정 부분 영향을 주고 있습니다.

 

앞에서 봤던 5개의 모바일 GPU 회사 중, Imagination의 실력이 제일 강하고 점유율도 제일 높습니다. 하지만 위기김도 엿볼 수 있습니다. 왜냐면 Imagination은 GPU IP 라이센스를 전문으로 하는 기업이고 GPU를 직접 생산하지 않습니다. 제품을 고르는 건 파트너들의 선택이지요. 뭐 어떤 큰 손이 이 회사를 완전히 장악하길 원할지도 모르지만 말입니다. 인텔과 애플이 이 회사의 대주주라는 건 앞에서 설명 했지요?

 

Imagination은 CPU에 별 관심이 없는 것처럼 보여도, 실제로는 자사의 프로세서 아키텍처인 메타 SoC를 가지고 있습니다. 올해 MIPS를 인수했고, MIPS 아키텍처가 메타 프로세서에 포함되어 있지요. 이것 외에도 레이 트레이싱 가속 카드를 제조하는 Caustic을 인수해, R2500/2100 렌더링 카드가 이미 출시중입니다. PowerVR이라는 테두리 안에 갇혀 있는 회사는 아니란 거죠.

 

ARM과 퀄컴을 봅시다. GPU의 점유율은 높지 않지만 ARM은 CPU와 GPU를 셋트로 팔 수 있고, 퀄컴은 CPU와 Adreno GPU에 베이스밴드까지 셋트로 묶어서 내놓고 있어, 꽤 괜찮은 솔루션을 제공하고 있는 셈입니다.

 

비반테의 GPU는 이론적인 성능은 뛰어나지만 Imagination과 같은 GPU IP 라이센스 전문 기업입니다. 점유율도 높지 않지요. 그래서 화웨이가 이 회사를 십 몇억 달러 정도에 인수를 하는 게 낫지 않을까 이런 관측도 있네요. 비반테는 AMD, 인텔, NVIDIA가 아니니까 미국 정부가 인수에 압력을 넣을 일도 없구요. 퀄컴 같은 경우 3G 특허가 국가 안전에 위협이 된다면서 중앙 정부에서 유출을 막고 있을 정도니까.

 

남은 건 NVIDIA네요. GPU 실력만 놓고 보면 최고입니다. 하지만 현재 나온 테그라 4까지만 하더라도 GPU 아키텍처가 상대적으로 보수적입니다. 내년에 나올 테그라 5는 많은 부분에서 개혁을 이뤄낸 제품이라 기대되고 있지만요. 테그라 5는 진정한 통합 아키텍처를 도입하며, 현재 주류인 케플러 아키텍처를 씁니다. 여기에 OpenGL 4.3을 지원하고 OpenGL ES 3.0나 다이렉트 X 11 같은 기술도 지원할 것입니다.

 

갈수록 GPU 가속의 비중이 중요해지는 현실을 앞두고, NVIDIA는 CUDA 가속을 ARM 플랫폼으로 가져오려 합니다. 이것은 CPU 단독으로 처리하던 것을 GPU의 도움을 받아 연산해 낼 수 있게 된다는 것을 의미합니다. GPU 발전은 이런 방향으로 가고 있지요. NVIDIA가 시대의 흐름에 맞춰 필살기를 준비하고 있는 것입니다.

 

 

소스: http://www.expreview.com/24705-all.html

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