본문 바로가기
스마트폰/퀄컴 Qualcomm

퀄컴 스냅드래곤805 Adreno420 분석.

by gamma0burst 2013. 12. 12.
반응형

퀄컴에서 스냅드래곤805를 발표했습니다.
간단한 사양을 보면,

CPU : Krait 450 쿼드코어. 최대 2.5GHz
메모리 : LPDDR3 쿼드채널 800MHz (32bit x4 = 128bit, 25.6GB/s)
GPU : Adreno420, Adreno330 대비 40% 성능 향상.
(
http://www.prnewswire.com/news-releases/qualcomm-technologies-announces-next-generation-qualcomm-snapdragon-805-ultra-hd-processor-232643031.html)

CPU는 Krait 400 에서 450 으로 바뀌었지만 메모리 지원 등의 자잘한 변화가 있을뿐 성능 측면에서 변화는 없어 보입니다.
볼만한 부분이 GPU입니다.
일단 지금까지 나온 정보를 보면,
- Adreno330 대비 40% 성능 향상.
- 독립된 테셀레이션 유닛.
- D3D11, OpenCL 1.2, ASTC 등 지원.
- 메모리 컨트롤러와의 연결이 독립. (기존에는 디코더, ISP와 공유.) : 데이터 이동 효율 증가.
- 쉐이더에 의존적인 벤치마크 결과 40% 상승. : 쉐이더 수 증가를 암시.

위 정보를 토대로 Adreno420의 성능을 추정해보겠습니다.
우선 로우레벨 성능 추정.





Adreno GPU 얘기가 나오면 빠질 수 없는 자료입니다.
위 표를 정리하면 다음과 같습니다.
Adreno320 - 400MHz - 3200 Mpix/s
Adreno330 - 450MHz - 3600 Mpix/s
Adreno420 - 500MHz - 4000 Mpix/s
클럭과 픽셀성능의 비율이 세 제품 모두 같습니다.
텍스처 유닛, 픽셀 유닛의 수가 같다는 의미입니다. 각각 4개, 8개.

트라이앵글 성능은 (제 수준에서) 현재까지 정확한 비례관계를 찾지 못 했습니다.
다만 가장 신뢰도가 높은 수치가 Adreno320 400MHz 225Mtri/s 입니다.
이를 토대로 Adreno420의 사양에 맞춰 계산해보면 281.25 Mtri/s 가 나옵니다.
이전 제품의 값을 토대로 계산한 것이기때문에 Adreno420에서 기존 제품과 다른 큰 변화가 있다면 실제 이론 성능은 달라질 수 있습니다.
로우레벨 성능을 정리하면 다음과 같습니다.

- Adreno420 500MHz 이론 성능.
281 MTriangles/s (추정치.)
2.0 GTexels/s
4.0 GPixels/s

이제 하이레벨 성능을 추정해보겠습니다. 쉽게 말해 GL벤치마크 결과가 어느 정도 나올 것인가 하는겁니다.
우선 퀄컴이 밝힌 40% 성능 향상이 어떤 식으로 해석될 수 있는지 보겠습니다.
이리저리 숫자를 끼워맞춰본 결과 제가 선택한 방식은 Frame/MHz 라는 값입니다.
GL벤치마크 2.7 T-Rex 오프스크린 테스트 결과(Frame)를 GPU 클럭(MHz)으로 나눈 값입니다.
높을수록 클럭당 성능이 높습니다.
Adreno320/330의 테스트 결과를 모아보면 다음과 같습니다.

Adreno320 - 400MHz - 14.0 fps -> 0.035 Frame/MHz
Adreno320 - 500MHz - 17.2 fps -> 0.034 Frame/MHz
Adreno330 - 450MHz - 23.3 fps -> 0.052 Frame/MHz
Adreno330 - 550MHz - 27.0 fps -> 0.049 Frame/MHz

예전 정보를 보면, 퀄컴이 스냅드래곤800 Adreno330의 성능을 Adreno320 대비 50% 향상이라고 했습니다.
(
퀄컴 스냅드래곤800 Adreno330 분석.)
Adreno330과 320의 Frame/MHz 를 비교해보면 Adreno330이 최대 50.5% 높습니다.
퀄컴의 발표 내용과 일치하지요.

이런 관계를 이용해 Adreno420의 GL벤치마크 결과를 추정해보겠습니다.
Adreno420이 Adreno330 대비 40% 향상이라고 했으니 대략 0.07 Frame/MHz 정도가 나올겁니다.
여기에 Adreno420의 클럭인 500MHz를 적용하면 35 fps가 나옵니다.

결국 Adreno320/330/420의 클럭당 성능이 다르다는 얘기인데, 앞서 언급했듯이 그래픽 성능과 직결되는 유닛의 수는 모두 같은 것으로 보입니다.
그렇다면 성능 차이를 만드는 변수는 연산유닛(ALU, 쉐이더) 수의 차이로 밖에 설명할 수 없습니다.
Adreno330과 320의 성능차이도 연산유닛 차이에서 기인한 것으로 봤으니까요.
여기서 주목할 부분이 '쉐이더에 의존적인 벤치마크 결과가 40% 향상되었다.'는 내용입니다.
이 말은 즉 연산성능이 40% 향상되었다는건데 클럭이 450MHz -> 500MHz 로 11% 증가했으니 산술적으로 연산유닛 수는 26% 증가해야 합니다.
Adreno330이 128ALU인데 여기서 26%가 증가하면 160ALU입니다.
Adreno계열이 32ALU 단위로 늘어나니 수치적으로 들어맞기는 합니다만 미심쩍은 구석이 있습니다.
Adreno320 -> 330의 경우, ALU가 100% 늘어났음에도 클럭당성능은 50%가 늘어났을뿐입니다.
그런데 ALU가 25% 늘어난 것으로 클럭당성능이 40%나 증가하는 것이 가능하냐가 의문입니다.
Adreno330의 전례를 따른다면 75%~100% 증가한 224ALU, 256ALU가 되어야 합니다.
쉐이더에 의존적인 벤치마크가 뭔지도 불확실한 상황에서 그 정보를 곧이곧대로 믿기도 그런게 사실입니다.
192ALU가 가장 유력해보입니다만,
ALU수가 어떨지는 구체적인 벤치마크 결과가 나와봐야 확실해질듯 합니다.

앞서 Adreno420 클럭을 500MHz로 봤지만 더 높은 클럭이 있을 수도 있습니다.
Adreno320/330 모두 퀄컴에서 밝힌 클럭보다 높은 클럭이 있었습니다. (대부분 삼성 제품만 그랬다는거.)
Adreno320 - 400MHz -> 500MHz
Adreno330 - 450MHz -> 550MHz
이런 패턴이면 Adreno420은 600MHz가 있을수도 있습니다.
이 경우 GL벤치마크 결과는 42 fps가 나오겠지요.



- 정리.

- Adreno420 500MHz (추정치)
192ALU, 4TMU, 8ROP
281 MTriangles/s

2.0 GTexels/s
4.0 GPixels/s
216 GFLOPS
GL벤치마크 2.7 T-Rex 오프스크린 35 fps


- Adreno420 600MHz (추정치)
192ALU, 4TMU, 8ROP
338 MTriangles/s

2.4 GTexels/s
4.8 GPixels/s
259.2 GFLOPS
GL벤치마크 2.7 T-Rex 오프스크린 42 fps



반응형

댓글