GL벤치마크 결과로 현재까지 알려진 Adreno GPU의 클럭이 맞는지 확인해보고,
클럭을 기반으로 이론적인 성능을 정리해보겠습니다.
이하 그래프는 GL벤치마크 2.7/2.5 에서 각 제품의 성능 분포입니다.



연산성능 계산을 위한 ALU 구성을 먼저 보겠습니다.
Adreno 계열은 기본적으로 4vec+1scalar 의 ALU 구성을 보입니다.
ALU수로 카운트되는건 벡터(vec) ALU 만이고요.
벡터 유닛은 1클럭에 2번의 연산을 하고 스칼라 유닛은 1클럭에 1번의 연산을 합니다.
Adreno200 계열은 스칼라 유닛이 FP연산을 못 하고, Adreno300 계열은 가능하다고 합니다.


- Adreno 200
1 TMU, 1 ROP 로 구성된 MP1으로 볼 수 있습니다.
MP1 당 8 ALU

 


2.7에서는 프레임 자체가 너무 낮아서 성능 격차가 잘 드러나지 않습니다.
2.5 결과를 보면 확연하게 드러나지요.
기존의 클럭 정보를 고려해보면, 1.1 fps 결과는 133MHz, 2.0 fps 결과는 245MHz로 보입니다.

Adreno 200
8 ALU, 1 TMU, 1 ROP
133MHz - 22.2 Mtri/s, 133 Mtex/s, 133 Mpix/s, 2.13 GFLOPS
245MHz - 40.8 Mtri/s, 245 Mtex/s, 245 Mpix/s, 3.92 GFLOPS


- Adreno 205
1 TMU, 1 ROP 로 구성된 MP1으로 볼 수 있습니다.
MP1 당 16 ALU



2.5 결과가 없어서 2.7 결과만 있습니다.
클럭 단계와 성능 차이를 봐서는, 1.2~1.3 fps 결과는 245MHz, 1.4~1.5 fps 결과는 266MHz 같습니다.

Adreno 205
16 ALU, 1 TMU, 1 ROP
245MHz - 40.8 Mtri/s, 245 Mtex/s, 245 Mpix/s, 7.84 GFLOPS
266MHz - 43.3 Mtri/s, 266 Mtex/s, 266 Mpix/s, 8.51 GFLOPS


- Adreno 203
1 TMU, 1 ROP 로 구성된 MP1으로 볼 수 있습니다.
MP1 당 16 ALU

 


2.7 결과 쪽이 클럭 차이에 따른 성능 격차가 명확하게 보이네요.
알려진 클럭, 성능 격차, GL벤치마크의 텍셀 결과를 종합해보면,
1.5 fps 결과는 245MHz, 1.8~1.9 fps 결과는 294MHz 같습니다.

Adreno 203
16 ALU, 1 TMU, 1 ROP
245MHz - 40.8 Mtri/s, 245 Mtex/s, 245 Mpix/s, 7.84 GFLOPS
294MHz - 49 Mtri/s, 294 Mtex/s, 294 Mpix/s, 9.41 GFLOPS


- Adreno 220
2 TMU, 2 ROP 로 구성된 MP2로 볼 수 있습니다.
MP1 당 16 ALU

 


2.5 결과는 일관성이 잘 안 보입니다.
2.7 결과에서 가장 높은 값은 혼자 튀는게 오버클럭 등의 영향인 것으로 보이기도 합니다만, Adreno 225의 결과를 참고했을 때 이게 정상적인 최대 성능으로 보입니다.
266MHz로 알려져 있는데 3.0 fps 수준인듯 하네요.

Adreno 220
32 ALU, 1 TMU, 2 ROP
266MHz - 88.7 Mtri/s, 532 Mtex/s, 532 Mpix/s, 17.02 GFLOPS


- Adreno 225
2 TMU, 2 ROP 로 구성된 MP2로 볼 수 있습니다.
MP1 당 16 ALU

 


사양은 Adreno 220의 오버클럭 버전입니다.
2.7 기준으로 4.6 fps 결과는 400MHz로 보입니다.

Adreno 225
32 ALU, 1 TMU, 2 ROP
400MHz - 133.3 Mtri/s, 800 Mtex/s, 800 Mpix/s, 25.6 GFLOPS


- Adreno 305
2 TMU, 2 ROP 로 구성된 MP1으로 볼 수 있습니다.
MP1 당 24 ALU

 


2.7/2.5 결과 모두 중간에 크게 성능이 뛰는 구간이 있습니다.
클럭이 다른 제품이 있다고 볼 수 있습니다.
2.7 기준으로 6.5 fps 결과가 450MHz, 5.7~5.9 fps 결과가 400MHz로 보입니다.
Adreno 300 계열로 넘어오면서 MP1당 ALU 수가 24개로 늘어났습니다.

Adreno 305
24 ALU, 2 TMU, 2 ROP
400MHz - 66.7 Mtri/s, 800 Mtex/s, 800 Mpix/s, 21.6 GFLOPS
450MHz - 75 Mtri/s, 900 Mtex/s, 900 Mpix/s, 24.3 GFLOPS


- Adreno 320
8 TMU, 8 ROP 로 구성된 MP4로 볼 수 있습니다.
MP1 당 16/24 ALU

 


2.7/2.5 결과를 봐도 너무 선형적으로 나옵니다.
Adreno320 쓰는 두 제품, 스냅드래곤600과 S4프로 결과를 구분해보지요.

 


스냅드래곤600 결과입니다.
빨간점은 고클럭(450MHz) 결과로 추정되는 제품들입니다.
2.7 결과를 보면 성능이 크게 뛰는 구간이 있지요.
고클럭 제품의 결과가 거기에 대부분 포함되어 있고요.

 


스냅드래곤 S4프로 결과입니다.
스냅드래곤 S4프로 중에서 CPU가 스냅드래곤600과 같은 Krait300 기반인 제품이 있습니다.
그걸 쓰는 대표적인 제품이 넥서스7 2013 이지요.
빨간점은 그런 제품입니다.
기존 S4프로와 확실한 성능 격차를 보이고, 스냅드래곤600의 Adreno320 결과와 동급입니다.
해당 제품은 이름만 스냅드래곤 S4프로이지 실제는 CPU와 GPU가 스냅드래곤600과 동일한 기반이라고 볼 수 있습니다.
GPU 클럭은 둘 다 400MHz이고 TMU, ROP 수가 동일한데 성능 격차가 있다는건 ALU 수가 다르기때문이라고 해석할 수 있습니다.
스냅드래곤 S4프로의 Adreno320은 Adreno200 계열과 같이 MP1당 16ALU로 보이고, 스냅드래곤600의 Adreno320은 Adreno305와 같이 MP1당 24ALU로 보입니다.

Adreno 320 (Snapdragon S4 Pro)
64 ALU, 8 TMU, 8 ROP
400MHz - 225 Mtri/s, 3200 Mtex/s, 3200 Mpix/s, 57.6 GFLOPS

Adreno 320 (Snapdragon 600)
96 ALU, 8 TMU, 8 ROP
400MHz - 225 Mtri/s, 3200 Mtex/s, 3200 Mpix/s, 86.4 GFLOPS
450MHz - 253.1 Mtri/s, 3600 Mtex/s, 3600 Mpix/s, 97.2 GFLOPS


- Adreno 330
8 TMU, 8 ROP 로 구성된 MP4로 볼 수 있습니다.
MP1 당 32 ALU

 


2.7/2.5 모두 성능이 뛰는 구간이 명확하게 보입니다.
기존에 알려진대로 450MHz, 550MHz가 있는듯 합니다.
2.7 기준으로 23 fps 결과는 450MHz, 27 fps 결과는 550MHz
MP1당 ALU는 또 늘어나서 32개입니다.
최근 결과를 보면 578MHz 제품(AB?)도 나오기 시작한듯 합니다.

Adreno 330
128 ALU, 8 TMU, 8 ROP
450MHz - 253.1 Mtri/s, 3600 Mtex/s, 3600 Mpix/s, 129.6 GFLOPS
550MHz - 309.4 Mtri/s, 4400 Mtex/s, 4400 Mpix/s, 158.4 GFLOPS
578MHz - 325.1 Mtri/s, 4624 Mtex/s, 4624 Mpix/s, 166.5 GFLOPS



- Adreno 420 (추정치)
(링크 : 스냅드래곤805 벤치마크 분석. (Snapdragon805, Adreno420))
8 TMU, 8 ROP 로 구성된 MP4로 볼 수 있습니다.

MP1 당 48 ALU
MP1 당 32 ALU


Adreno 420
192 ALU, 8 TMU, 8 ROP
500MHz - 281.3 Mtri/s, 4000 Mtex/s, 4000 Mpix/s, 216 GFLOPS
600MHz - 337.5 Mtri/s, 4800 Mtex/s, 4800 Mpix/s, 259.2 GFLOPS

Adreno 420
128 ALU, 8 TMU, 8 ROP
500MHz - 281.3 Mtri/s, 8000 Mtex/s, 4000 Mpix/s, 144 GFLOPS
600MHz - 337.5 Mtri/s, 9600 Mtex/s, 4800 Mpix/s, 166.5 GFLOPS

- Adrno430 (추정치)
12TMU, 12ROP로 구성된 MP6으로 볼 수 있습니다.
MP1 당 48 ALU

Adreno430
288 ALU, 12 TMU, 12 ROP

500MHz - 500 Mtri/s, 6.0 Gtex/s, 6.0 Gpix/s, 324.0 GFLOPS
600MHz - 600 Mtri/s, 7.2 Gtex/s, 7.2 Gpix/s, 388.8 GFLOPS


- 정리



제가 주목하는건 ALU 수와 ALU/MP(1MP당 ALU수) 입니다.
아드레노뿐만 아니라 다른 제품에도 비슷하게 적용되는 경향이 있습니다.

PowerVR6 시리즈는 1클러스터당 32ALU or 48ALU 로 추측되고 있고, (330, 420과 동일)
SGX554는 MP1당 32ALU 였고, (330과 동일.)
SGX543/544는 MP1당 16ALU 였고, (200 계열과 동일.)
테그라K1는 192코어, 8TMU, MP1당 32ALU . (420과 동일.)

서로 다른거 같지만 사실 사양 발전 경향은 다 비슷한듯 합니다.
아무래도 공정 탓이겠지요.
Adreno : 65nm 8 ALU/MP, 45nm 16 ALU/MP, 28nm 24~32 ALU/MP
SGX : 45/32nm 16 ALU/MP, 28nm 32~48 ALU/MP

- 추가.
ALU-클럭당성능 그래프.



선형적으로 나오는데 64ALU 결과가 혼자서 높게 나옵니다.
96ALU로 가정하면 들어맞는데 그러자니 Adreno320 간의 성능 차이가를 설명할 방법이 없습니다.


- 2014.01.23. Adreno430 추정치 추가, Adreno330 578MHz 추가.
(
퀄컴 스냅드래곤 유출 로드맵 분석.(스냅드래곤810, MSM8994))

- 2014.03.19
GFX벤치 3.0 텍셀필레이트 결과를 근거로 TMU 숫자민 텍셀 필레이트를 수정했습니다.
ROP, TMU의 숫자는 같은 것으로 보이고, GL벤치마크 2.7에서 어떤 이유로 인해 텍셀 필레이트가 제대로 측정되지 않은듯 합니다.

- 2014.05.23
Adreno420 사양 수정.
(링크 : 스냅드래곤805 벤치마크 분석. (Snapdragon805, Adreno420))



Posted by gamma0burst Trackback 0 : Comment 13

댓글을 달아 주세요

  1. addr | edit/del | reply mnnf 2014.01.12 02:20

    새삼스런 이야기지만 참 장족의 발전을 했군요. 불과 한 5년 정도? 길지 않은 시간 동안...
    스냅드래곤 S3 때까지만 해도 온갖 오명(?)들로 불리며 욕을 바가지로 먹었던 것 같은데... 그 시절 내지는 그 이전까지만 해도 이렇게 퀄컴이 거의 천하통일(?)을 이룩할줄은 정말 상상도 못 했었지요.
    요즘은 어찌보면 어느 회사에서 플래그쉽 제품이 발표되도 AP는 거의 다 스냅드래곤으로 통일이니 예전보다 재미가 좀 없어진 것 같기도 하고 합니다.

    • addr | edit/del Holo 2014.01.12 10:26

      그나마도 엑시노스가 선전하는 것 같더니만, 지금은 5세대 라인업으로 겨우 명 붙어서 살아있을 뿐이네요...게다가 자사 기기에만 다 때려넣다보니 점유율도 스냅드래곤과 격차가 벌어지는 경우가...

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2014.01.12 15:47 신고

      모바일 제품에서는 모뎀이 깡패니까요.

  2. addr | edit/del | reply ㅁㅁ 2014.01.12 12:12

    단합?!

  3. addr | edit/del | reply CoLLecTor 2014.01.12 17:45

    305는 조금 이상하더군요.... 주로 스냅400에 들어가는데, A7에 가장 클럭 낮은 모델인 msm8x26 / Krait들어간 가장 클럭높은 AB 모델에는 450MHZ이고 그 사이 라인업은 400mhz...;;

    아 그리고, 320에서 64ALU대비 96ALU모델은 1.5배, 96ALU 320대비 330은 1.3배 인데... 320끼리의 차이보다 320대비 330의 차이가 큰 이유가 뭔가 궁금합니다. 이전 330 포스팅을 보면, 분명 320의 ALU가 다른 모델들끼리는 저 성능보다 더 큰 차이가 발생해야 할 거 같은데 말이죠....

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2014.01.12 20:26 신고

      305가 이상하다는 부분이 뭔지 이해가 잘 안 가네요.

      A320 내용은 본문에 추가했습니다.
      클럭당성능이 ALU 수에 비례하는 모습을 보이는데 64alu A320 결과가 지 혼자 튑니다. 너무 잘 나왔지요.
      딱히 A320 간 성능 격차를 설명할 대안이 없어서 지금의 판단이 최선이라고 봅니다만 뭔가 개운치 않네요.

    • addr | edit/del CoLLecTor 2014.01.12 20:37

      역시 약간 석연치 않은 부분 이군요... 워낙 미묘해서 감마님이 처음으로 알아차리신 부분이라....

      305 이야기는 저 클럭 CPU에 들어간놈이 클럭이 더 높다는 것입니다.;;; 스냅 400에 가장 하위 라인인 MSM 8X26은 A7 1.2G 쿼드인데, Gpu로 들어간 305는 450Mhz이거든요. 이후 다른 400모델은 쭉 400Mhz이다가, 400의 최상위 AB라인업에서 다시 450Mhz라는 것이 조금 이상하다는 이야기였습니다.

      찾아보니, 아마 MSM8x26이 미디어텍의 MTK6589T와 저가에서 경쟁하다보니... MTK6589T의 Sgx544 Mp1을 의식해서 저클럭 모델임에도 불구하고 GPU만 클럭을 올려준거 같네요.

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2014.01.12 20:59 신고

      305는 그런 얘기였네요.
      클럭은 경쟁 제품때문에 조정됐을 가능성이 높아보이네요.
      소비전력때문이라기에는 클럭차이가 너무 작지요.

  4. addr | edit/del | reply Holo 2014.01.12 21:28

    장족의 발전이네요... S3 시절에 욕하던 시절이 엊그제 같은데 말이죠...

  5. addr | edit/del | reply BlogIcon Halo 2015.07.23 09:21

    위키에 링크걸려있길래 타고들어와봤습니다.
    글 잘읽어보고갑니다~