기다리던 갤럭시S2 의 해외 리뷰가 떴습니다.



http://www.anandtech.com/show/4686/samsung-galaxy-s-2-international-review-the-best-redefined

이런 리뷰들은 이전에 포스팅했던 추측들을 검증해볼 수 있는 근거가 되지요.
(
Exynos4210, Mali-400MP4 스펙, 성능 정리.(갤럭시S2 기준))

하지만 저의 추측과 차이가 많았으니,
일단 Mali-400MP4 의 구조에 대한 정의가 다릅니다.



저는 위와 같은 것을 1코어로 생각하고, 저런 코어가 4개있는 4코어라 추측했습니다.
총 버텍스쉐이더4, 픽셀쉐이더8
(사실 확신에 가까웠습니다. -_-;;)
아난드텍에서는 위의 구조에 Fragment Processor(픽셀 쉐이더)가 4개 들어있는걸 4코어라고 했습니다.
총 버텍스쉐이더1, 픽셀쉐이더4

그렇다면 벤치결과를 놓고 이 내용이 맞는지 검증을 해봐야겠지요.

일단 저의 추측대로면,
버텍스 성능 : 116
M tri/s
픽셀 쉐이더 : 2.128Gpix/s


아난드텍의 설명대로면,
버텍스 성능 : 29
M tri/s
픽셀 쉐이더 : 1.068Gpix/s


이 수치는 ARM의 발표 자료를 기반으로 한 것이기때문에 가정만 맞다면 가장 확실한 성능정보입니다.
퀄컴(Adreno 계열), 이메지네이션(SGX 계열)에서는 자사의 모든 제품의 성능에 대해 구체적인 수치를 밝힌 적이 없습니다. (일부 제품들은 자료가 있기는 있습니다.)
오직 ARM만이 구체적인 수치 자료가 존재합니다.
(물론 저의 정보력의 한계인지도 모릅니다. 쩝)

위키에 나와있는 성능 정보들은 대략적으로 공개한 자료를 놓고 추정한 수치들뿐이지요.

그럼 벤치마크 결과를 보겠습니다.

- GLBenchmark 2.1
스마트폰을 비롯한 모바일 제품들은 해상도가 각기 제각각입니다.
대표적인 것들이,
800 x 480 (WVGA)
960 x 540 (qHD)
960 x 640 (DVGA)
1024 x 768 (XGA)
1280 x 800 (WXGA)
정도입니다.

사실 벤치마크에 있어서 해상도는 통제변인이어야하는데,
그 동안의 벤치마크 어플, 프로그램들은 서로 다른 제품들의 해상도를 변경하기 위한 기능이 없었습니다.

GLBenchmark 2.1 이 처음으로 해상도 고정 기능을 지원했다고 합니다.
1280 x 720 으로 말이지요.
아난드텍에서는 이 해상도가 스마트폰을 벤치마크하기에는 너무 높은 해상도지만, 그래도 없는 것보단 낫다고 하네요.


- 버텍스 성능


이 벤치는 버텍스 성능을 보인다고 하는군요.
(GLBenchmark의 각 테스트 항목이 어떤걸 측정하는지 자세하게 알 수 없기때문에 확신할 순 없습니다.)
이 벤치는 곧이곧대로 받아들이기에는 무리가 좀 있습니다.
일단 저 수치가 곧 성능이라고하면 iPad2 의 A5 칩셋마저도 추정성능보다 떨어집니다.
그래서 단순히 성능상 비례관계라고 생각하고 계산해보지요.

아이패드2, 갤럭시S2, 옵티머스3D 만을 대상으로 하겠습니다.
옵티머스3D를 선택한건, 같은 SGX540 임에도 최신 드라이버와 고클럭으로 인해 넥서스S보다 나은 성능을 보이기때문입니다. SGX540의 최대성능에 더 가까운 것이지요.

Mali-400 의 성능정보가 가장 확실하므로, Mali-400 을 기준으로 계산하겠습니다.

아난드텍 설명 기준으로 해보지요.

(제품 - 버텍스 추정 스펙 - 벤치결과)
갤럭시S2 - 29M tri/s - 11.5M tri/s (@267MHz)
옵티머스3D - ??? - 31.8M tri/s (@300MHz) 
아이패드2 - ??? - 64.9M tri/s

물음표 부분을 계산해보면 다음과 같습니다.

갤럭시S2 - 29M tri/s - 11.5M tri/s (@267MHz)
옵티머스3D - 80.2M tri/s - 31.8M tri/s (@300MHz) 
아이패드2 - 164M tri/s - 64.9M tri/s

옵티머스3D 같은 경우, 클럭을 고려해도 42~53M tri/s 로 추정되고,
아이패드2는 67~70M tri/s 로 추정됩니다.
둘 다 엄청나게 차이가 납니다.


이 벤치에서 해보지요.
다시 계산해보면 다음과 같습니다.

(제품 - 버텍스 추정 성능 - 벤치결과)
갤럭시S2 - 29M tri/s - 10.4M tri/s (@267MHz)
옵티머스3D - ??? - 19.2M tri/s (@300MHz) 
아이패드2 - ??? - 45.3M tri/s

물음표 부분을 계산해보면 다음과 같습니다.

갤럭시S2 - 29M tri/s - 10.4M tri/s (@267MHz)
옵티머스3D - 53.5M tri/s - 19.2M tri/s (@300MHz) 
아이패드2 - 126.3M tri/s - 45.3M tri/s

옵티머스3D의 계산값이 추정값과 맞지만, 이번에는 아이패드2 이 맞지 않습니다.
대충 짚이는 가능성은 다음 정도입니다.
1. 아이패드2 의 성능을 기준으로 계산해야된다.
2. 아이패드2의 gpu는 200MHz 이상으로 오버클럭되어있다.
3. 계산이나 가정이 잘못 되었을 경우.

1의 경우를 해보면 다른 칩셋들이 너무 저성능으로 나옵니다. 무리가 있지요.
2의 경우를 따져보면, 클럭이 360MHz 정도 되어야합니다.
A5 gpu의 클럭을 알 수 없으니 정확히는 모르겠습니다만 타블렛임을 생각하면 (가능성은 낮겠지만) 불가능은 아니라고 봅니다.
3. 이건 확인할 길이 없네요.;;

하여간 제가 예전에 했던 가정이 틀렸다는건 확인이 되었으니 이 정도로 하지요.


-
그런데 여기서 좀 걸리는 부분이 있습니다.
GLBenchmark 홈페이지에서 각종 제품들 벤치마크 결과가 조회가 가능한데,
(
http://www.glbenchmark.com)
거기서 세 제품의 위 표에 해당하는 두개의 벤치결과을 확인해보면 다음과 같습니다.

- 아이패드2
(GLB2.0.3 - GLB2.1.0)
29M tri/s - 64.9M tri/s
24M tri/s - 45.3M tri/s

- 옵티머스3D
(GLB2.0 - GLB2.1)
11.2M tri/s - 32.2M tri/s
8.3M tri/s - 19.3M tri/s

- 갤럭시S2
(GLB2.0 - GLB2.1)
10.3M tri/s - 12M tri/s
10.2M tri/s - 11M tri/s

갤럭시S2 를 제외한 두 제품은 버전이 바뀌면서 각각 2배 이상의 향상이 있었는데,
갤럭시S2는 거의 차이가 없지요.

다른 제품처럼 대략 2배정도 상승한다고 가정하면, 갤럭시S2 는 각각 24M tri/s, 22M tri/s 정도가 나옵니다.
아까했던 두번의 계산을 다시 해보지요.

(제품 - 버텍스 추정 성능 - 벤치결과)
갤럭시S2 - 29M tri/s - 24M tri/s (@267MHz)
옵티머스3D - 38.4 - 31.8M tri/s (@300MHz) 
아이패드2 - 78.4 - 64.9M tri/s

갤럭시S2 - 29M tri/s - 22M tri/s (@267MHz)
옵티머스3D - 25.3M tri/s - 19.2M tri/s (@300MHz) 
아이패드2 - 59.7M tri/s - 45.3M tri/s

결과를 보면 첫번째 벤치 결과를 놓고한 결과가 추정 성능과 유사합니다.
즉, 갤럭시S2 가 아직 GLB2.1 에서 제 성능을 내지 못하고 있을 가능성이 있습니다.
(이쯤되면 슬슬 뭐가 뭔지 헷갈립니다.)


-
여기까지 결론을 내보면,
1. 이 벤치만 보면 Mali-400MP4 의 구조는 아난드텍의 설명이 맞는 것으로 보인다는겁니다.
2. 갤럭시S2 가 GLB2.1 에 아직 최적화되어있지 않은 가능성이 있다는 것 정도.

(벤치마크 결과 목록을 보면 GLB2.1이 나온지 한달도 안 된 것 같은데, SGX 계열만 결과가 두배로 뛰는건 좀 의아합니다. 그만큼 이메지네이션 테크의 최적화가 대단하다는건지...)


- 픽셀 성능


이 벤치는 픽셀쉐이더 성능을 보여주는 것 같군요.
이전과 마찬가지로, Mali-400, 아난드텍 설명 기준으로 해보겠습니다.

(제품 - 픽셀 추정 성능 - 벤치결과)
갤럭시S2 - 1068MT - 494.4MT (@267MHz)
옵티머스3D - ??? - 225.1MT (@300MHz) 
아이패드2 - ??? - 994.8MT

물음표 부분을 계산해보면 다음과 같습니다.

(제품 - 픽셀 추정 성능 - 벤치결과)
갤럭시S2 - 1068MT - 494.4MT (@267MHz)
옵티머스3D - 486MT - 225.1MT (@300MHz) 
아이패드2 - 2147MT - 994.8MT

이건 크게 추정치와 다르지 않네요.

이 결과를 놓고 생각해보면,
SGX540 - 35M tri/s, 450~500M pix/s (@200MHz)
SGX543MP2 - 135M tri/s, 2000M pix/s (@200MHz)
라는 얘기가 되는데,
이는 SGX540 을 비롯한 SGX500 계열의 성능이 실제 알려진 것보다 떨어진다는 것이 됩니다.
(과연 진실은? -_-;;)


-


(SGX543MP2 의 절반 성능.)


여기부터는,
왼쪽 : 이전 프리뷰, 오른쪽 : 이번 정식 리뷰

 

이전 프리뷰에 비해 엄청나게 성능이 올랐습니다.
출시 전에는 최적화에 문제가 있었던게 분명한듯 합니다.


 

역시나 이전에 성능이 향상되었습니다.
큰 폭의 성능향상이 보이지 않는 이유를 저는 수직동기화때문이 아닌가하고 추측하고 있습니다.

-
여기부터는 cpu 성능 관련 벤치마크 결과입니다.

 

이전보다 미세하게 더 나아졌습니다.
안드로이드 버전, 향상된 클럭(1GHz -> 1.2GHz) 등등의 이유로 보입니다.

 

이것도 마찬가지입니다.

 

이것도 대폭 상승했네요.


여기서는 MSM8260 과 비교를 보지요.
엑시노스와 같은 1.2GHz인데 성능 차이가 15% 정도나지요.
스냅드래곤 클럭당 성능이 오리지날 Cortex-A9 보다 떨어진다는걸 확인할 수 있지요.
스냅드래곤이 주장하는 2.1 DMIPS 라는 수치가 맞기는 맞나봅니다.
Cortex-A9 가 2.5 DMIPS 인데, 2.1 에 비해 16% 정도 높은 수치이니까요.

다른 제품에 비해 압도적이네요.


-
이전 주장을 철회할 수 밖에 없었던 이유가 저 벤치뿐만은 아닙니다.
저 벤치보고 패닉에 빠져서 뭐라도 단서가 있을까 다시 찾아보다가 발견한 자료.
이전에 봤던건데 유심히 안 봤던겁니다. -_-;;


Mali-400 다음 제품인 Mali-T604 에 대한 슬라이드인데,
쉐이더 코어개수가 최대 4개까지 가능하다고 나오지요.

오른쪽 아래에 보면 쉐이더 코어가 4개인데, 쿼드 Mali-T604 라고 표기합니다.
제가 이전에 1코어라고 취급했던 것이지요. ㅜㅜ


결국 Vertex 1, Fragment 4 구성이면 쿼드코어(Mali-400MP4)라고 부른다는 얘기가 되었습니다.



정리하면,

- Mali-400MP4
버텍스 쉐이더1, 픽셀 쉐이더4
클럭 267MHz
29M tri/s, 1.068Gpix/s

굉장히 낮아보이는 성능에도 불구하고 그래픽 성능 벤치마크에서 아이패드2를 제외하고 최상위권에 위치하는 이유는 다음과 같은 것으로 보입니다.

1. 현재 대부분의 어플에서 픽셀 성능의 비중이 높기때문입니다.
이 때문에 픽셀 성능이 떨어지는 스냅드래곤의 Adreno 계열 gpu들은 실성능이 떨어집니다.

2. SGX500 계열의 성능이 알려진 것보다 낮기때문인 것으로 보입니다.
벤치를 보면 버텍스 성능은 알려진 것과 비슷한데, 실제 성능에 큰 영향을 미치는 픽셀 성능은 알려진 것의 반토막 수준으로 나옵니다.

즉, 경쟁 제품의 픽셀성능은 그동안 과장되어 알려져왔고, 그에 비해 Mali-400 의 픽셀 성능이 뛰어난 것이 합쳐진 결과라는게 제 해석입니다.


-
지금 제가 제일 황당한건 삼성의 자료에서 나왔던 오리온의 성능 데이터입니다.
267M tri/s 라는 버텍스 성능은 그렇다쳐도, 3200M pix/s 라는 픽셀 성능마저 틀린거라니.
원래 공식 홈페이지에 있던 내용인데, 지금 들어가보면 감쪽같이 사라져 있네요.
http://www.samsung.com/global/microsite/galaxys2/html/feature.html

 

(왼쪽 : 제품 발표 당시 화면, 오른쪽 : 현재 화면)


3200M tri/s 라는 내용을 대전제로 삼아서 해석을 해왔는데, 홈페이지에서 내린걸보면 신뢰할만한 내용은 아니었나봅니다.
초기에 지금같은 해석을 했다가 3200M tri/s 이라는 수치에 얽매여서 다른 해석을 했었는데,
결국 이렇게 원점으로 돌아왔네요.
이게 뭐하는건지... 쩝 -ㅅ-;;


-
아이패드2 A5 의 SGX543MP2 에 크게 밀리는 성능인데, 다이 사이즈를 고려해야합니다.

Mali-400MP4 는 45nm 공정에서 10mm^2 (9.4mm^2 정도?)정도일 것으로 보이고,
SGX542MP2 의 다이 사이즈를 생각해야되는데, 여기서 A4, A5 의 다이 이미지를 보지요.


아이폰4, 아이패드에 탑재된 A4 의 이미지입니다.
gpu로 SGX535 를 탑재하고 있습니다.
45nm 공정으로 제작되었으면 총 다이사이즈는 53.5mm^2 입니다.
gpu의 면적은 대략 10mm^2 정도 나옵니다.


아이패드2에 탑재된 A5의 이미지입니다.
SGX543MP2 를 탑재하고 있지요.
45nm 공정으로 제작되었으면, 총 다이사이즈는 122.21mm^2 입니다.
http://www.embeddeddesignindia.co.in/ART_8800641106_2800004_TA_efc0cfd5_2.HTM

ARM 듀얼코어가 14%의 면적을 차지하고 있습니다. 17mm^2 정도되지요.
Processor Data Path1, 2 가 gpu로 추정됩니다.
딱봐도 ARM 코어보다 면적이 넓지요. 24mm^2 정도됩니다.
위키에서 말하는 16mm^2 (@65nm, 45nm에서는 8mm^2 이 됩니다.) 는 아무리봐도 틀린 정보입니다.

- Mali-400MP4
29
M tri/s, 1.068Gpix/s
10mm^2 (9.4mm^2 으로 계산하면 아래 수치가 더 올라가겠지요.)
-> 2.9M tri/s, 106.8Mpix/s (@1mm^2)

- SGX543MP2
67~70M tri/s, 2Gpix/s
24mm^2
- > 2.8~2.9M tri/s, 83Mpix/s (@1mm^2)

보면 알 수 있듯이 단위면적당 성능은 Mali-400MP4 가 앞섭니다.
버텍스 쉐이더와 픽셀 쉐이더 비율을 1:4 로 구성하는, 어찌보면 위험한 구성을 선택한게 효율적으로 먹혔다는 의미로 볼 수 있습니다.
(뭐 애초에 현실에서 픽셀 성능이 중요하니까 그렇게 결정한 것이겠지요. -_-;;)
상대적으로 덜 중요한 버텍스 성능 대신, 픽셀 성능을 강화시키는데 주력한거고,
그 결과,
단위 면적당, 버텍스 성능은 비슷하고 픽셀 성능은 더 앞서는 결과가 나타났습니다.

지금와서 생각해보면 초기 추측 포스트 때, 방문자 수가 더 많았던게 그게 맞았기때문이 아닌가하는 생각이 들기도 합니다.;;


- 추가


이것도 해석이 틀린듯합니다.

MAX 라는게 진짜 최대 개수를 말하는거였는지...
테그라2 (버텍스4, 픽셀4) 탑재 제품을 조회해봐도 뜬금없는 숫자가 나옵니다.
그대로 믿기에는 무리가 많습니다.
아니면 제가 해석을 제대로 못 하는 것일지도 모르지요.

http://www.stonetrip.com/developer/forum/viewtopic.php?f=13&t=22468


텍스쳐 유닛이 최대 8 까지 가능하다는 뜻인듯.

픽셀 쉐이더마다 텍스쳐 유닛이 하나씩입니다.
Mali-400MP4 에서는 총 4개가 되겠군요.

SGX 계열은 픽셀쉐이더와 버텍스쉐이더가 명확하게 분리되지 않았습니다.
USSE라는 일종의 통합쉐이더를 사용하기때문에,
한 쉐이더가 픽셀처리도 가능하고, 버텍스처리도 가능합니다.

이 때문에 애초에 픽셀, 버텍스 성능을 따로 구분해서 말하는게 의미가 없어보입니다.
요즘의 그래픽카드처럼 FLOPS(부동소수점연산능력)를 성능평가의 기준으로 삼는게 더 적절해보입니다.
하지만 이 방식은 타사 제품과 비교하는데 있어서 아직까지는 무리가 있으니,
벤치마크를 통한 픽셀, 버텍스 성능 추정이 현재로는 최선인 것 같습니다.

물론, 향후 타사 제품들도 통합쉐이더 방식으로 넘어가면 그 때 가서는 써먹을 수 있겠지요.
ARM만해도 차기 제품은 통합쉐이더로 알려져있으니 그리 먼 일은 아닐듯합니다.


Posted by gamma0burst Trackback 0 : Comment 6

댓글을 달아 주세요

  1. addr | edit/del | reply ~~~ 2011.09.14 03:13

    다시 수정한다고 하셔서 일단 까페에 GPU 글은 지웠습니다;

    와서 보니 이거 참; 버텍스쪽이 눈물나네요;;; 옵삼디 540의 1/3수준;

    한가지 궁금한게 얘네는 그럼 뭘 의미하는것일까요
    GL_MAX_TEXTURE_UNITS 8
    GL_MAX_VERTEX_UNITS_OES 4

    아 글고 갤투는 버텍스는 걍 손 떼는게 속 편한걸까요 ㅋㅋㅋ

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2011.09.14 22:19 신고

      GL_MAX_TEXTURE_UNITS 8
      GL_MAX_VERTEX_UNITS_OES 4

      이걸 중점적으로해서 정보를 더 찾아보고 있습니다.
      지금 일단 실마리가 잡혔는데,
      곧 추가로 포스팅을 하든, 이 포스트에 추가하던가 할 생각입니다.

      버텍스 성능은 아쉽긴합니다.
      그런데 자료들 보니까 확실히 버텍스 성능보다는 픽셀성능이 실성능에서 더 중요한듯합니다.
      알고리즘을 봐도 픽셀쪽이 부하가 더 심하더군요.

      벤치마크가 보여주는 버텍스 성능이 SGX540의 1/3 토막나는건, 저는 GLB2.1 버전이 아직 나온지 얼마되지 않았기때문에 최적화되지 않았다라는 생각이지만,
      당장 현실이 이 모양이면 받아들여야지요.ㅋㅋ

      옵티머스3D의 SGX540은 300MHz이니, MAli-400MP4의 266MHz보다 클럭이 높다는 점도 생각을 해야겠지만,
      클럭이 큰 차이는 아니라서 딱히 위안은 안 되네요.ㅋ

      그래도 정작 중요한 벤치에서는 아이패드2의 절반 수준에,
      SGX540의 1.5~2배 정도 나오는거보면,
      실성능에 결정적인게 픽셀성능인게 맞기는한가 봅니다.
      (픽셀성능 비율과 비슷하지요.)

  2. addr | edit/del | reply 오타 2011.10.28 14:17

    FLOPS(부동소수점연산능력)을 성능평가의 -> FLOPS(부동소수점연산능력)를 성능평가의

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2011.10.28 17:25 신고

      수정했습니다.

      오타 지적이 나온다는건 그만큼 방문자가 늘었다는 증거로 보고 긍정적으로 생각해야하는건지;;

  3. addr | edit/del | reply ll85 2012.01.13 18:07

    Power VR의 GPU들의 연산방식은 기존의 방식과는 달리 Z-버퍼가 없으니 확실히 연산법이 다른것은 분명합니다.
    그러니 Flpos로 비교하는게 맞을듯 하네요..

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2012.01.13 18:23 신고

      문제는 그걸 직접적으로 측정할 방법이 없다는거겠지요.
      결국 신뢰성있는 벤치마크 어플을 통해 간접적으로 성능을 비교하는게 최선일듯합니다.
      컴퓨터에서 3Dmark 처럼 말이지요.