ARM Cortex-A72 성능 추정.
- 얼마 전 ARM에서 Cortex-A72를 발표했습니다.
(링크 : ARM Cortex-A72, Mali-T880 발표.)
그리고 이런 거지같은 자료를 줘서 저를 좌절/분노하게 했지요.
(링크 : 정보 제한, 외부의 시선, 대응의 차이)
그래도 손놓고 있을 수는 없으니 뭐라도 결론을 내보겠습니다.
Cortex-A72 성능 추정입니다.
- 자료에서 직접 계산
ARM 자료의 값을 전적으로 신뢰하고 계산하겠습니다.
자연스럽게 기타 자료들의 개입은 최소화됩니다.
우선 이 자료.
스마트폰 전력 제한에서 유지할 수 있는 성능이라는 그야말로 뭐 어쩌라는건지 알 수 없는 기준으로 성능을 나타낸 자료입니다.
그런데 이 자료는 의외로 A57 때 나왔던 자료의 연장선상에 있는 자료입니다.
A15대비 A57이 타겟공정에서 1.9배의 성능을 갖는다는 자료가 이미 나와있었습니다.
그리고 기준은 웹브라우징.
진짜 애매한 기준입니다.
현재 확인할 수 있는 웹브라우징 성능 관련 벤치마크에서 A15와 A57의 성능차이가 1.9배까지 나는건
Rightware BrowserMark 정도입니다.
이건 또 동클럭 비교에서 2.1배가 차이가 나서 정확히 일치하는 것도 아닙니다.
그래도 가장 근접한 수치이기도 하기때문에 현재로는 Rightware BrowserMark 가 기준일거라 추측하는게 타당합니다.
어쨌든 ARM 자료의 성능 기준은 웹브라우징 성능 기준이라는거.
- 수학시간1 : 가정
이 자료.
스마트폰 전력 제한 하에서의 성능이라고 했습니다.
그렇다면 저 조건에서 CPU 소비전력은 모두 같다는거겠지요.
그래프 상의 성능은 클럭당성능 x 클럭 으로 생각할 수 있습니다.
(물론 웹브라우징 성능 기준.)
2015년 20nm Cortex-A57 이라고하면 상용화된 제품을 기준으로 생각하는게 타당할겁니다.
엑시노스5433이 가장 무난한 선택.
A57 클럭은 1.9GHz로 생각하겠습니다.
그렇다면 이런 변수를 설정할 수 있습니다.
|
28nm A15 |
20nm A57 |
16nm A57 |
Frequency (GHz) |
x |
1.9 |
z |
Performance/clk |
1 |
b |
c |
power |
1 |
1 |
1 |
(변수를 x로 설정했기때문에 이하 곱하기는 *로 표기하겠습니다.)
위에서 설정한 변수와 가정을 근거로 ARM의 그래프를 수식으로 옮기겠습니다.
x*1 : 1.9*b : z*c = 1 : 1.9 : 3.5
->
1.9x = 1.9b -> x=b
1.9*3.5*b = 1.9*z*c -> 3.5b = zc
그리고 이 그래프가 나옵니다.
동일 작업시 소모 에너지.
에너지 = 시간당소비전력 * 작업시간 으로 볼 수 있습니다.
그런데 앞서 소비전력이 모두 같은 조건으로 설정했습니다. 비교가 편해지겠네요.
역시 상수로 옮겨보지요.
1/x : 1/1.9b : 1/zc = 100 : 56 : 25 = 4 : 2.24 : 1
(세 그래프의 높이비가 100 : 56 : 25 입니다.)
->
100/1.9b = 56/x
56/zc = 25/1.9b
100/zc = 25/x
위에서 나온 비례식을 여기에 대입합니다.
x=b
3.5b = zc
100/1.9b = 56/x = 56/b -> 100/1.9 = 56 -> 52.6 = 56
56/zc = 56/3.5b = 25/1.9b -> 56/3.5 = 25/1.9 -> 16 = 13.2
100/zc = 100/3.5b = 25/x = 25/b -> 100/3.5 = 25 -> 28.6 = 25
- 수학시간2 : 오차 보정
숫자가 맞지 않습니다.
각 아키텍처에서 해당 클럭에서 전력이 같다고 가정했는데, 그게 정확히 맞지 않았을 수도 있고, 기타 오차가 있는듯 합니다.
어쨌든 그 부분을 찾아가면서 변수 간의 관계를 조정해보겠습니다.
(어차피 저 자료에서 완벽하게 맞는 값을 찾는건 힘들어 보입니다. 최대한 근접해가는게 고작.)
100/1.9b = 56/x = 56/b -> 100/1.9 = 56 -> 52.6 = 56
-> x=b 대입하여 x를 b로 바꿨는데 바꾼 쪽이 더 큽니다. x > b 라는겁니다.
-> 정확히 맞춰보면, x=1.065b
56/zc = 56/3.5b = 25/1.9b -> 56/3.5 = 25/1.9 -> 16 = 13.2
-> 3.5b = zc 를 대입해서 zc를 3.5b로 바꿨는데 바꾼 쪽이 더 큽니다. zc > 3.5b 라는겁니다.
-> 정확히는, zc=4.24b
100/zc = 100/3.5b = 25/x = 25/b -> 100/3.5 = 25 -> 28.6 = 25
-> 둘 다 바꾼 경우인데 결론은 zc-3.5b > x-b
여기서 변수가 뭔지 다시보면,
|
28nm A15 |
20nm A57 |
16nm A57 |
Frequency (GHz) |
x |
1.9 |
z |
Performance/clk |
1 |
b |
c |
power |
1 |
1 |
1 |
zc-3.5 > x-b > 0
x=1.065b
zc=4.24b
-> 2014년 28nm A15 라고한다면 x = 1.9 로 가정할 수 있습니다.
엑시노스5422, 테그라4가 조건에 맞는데 클럭이 1.9GHz
-> 1.9 = 1.065b -> b = 1.78
-> zc = 4.24 * 1.78 = 7.55
zc = 7.55 가 나왔습니다.
ARM이 주장하는 최대 클럭 2.5GHz로 본다면 클럭당성능은 3.02 가 됩니다.
A57의 1.7배가 되는 수치입니다.
- 마무리 : 현실화
클럭당성능 비교를 보면,
A57이 A15의 1.78배
A72가 A57의 1.7배로 나왔습니다.
그런데 실제 이 정도까지는 안 되지요.
A15와 A57를 비교해보면,
SpecINT2K에서는 +18.3%
긱벤치3 정수점수에서는 ARMv7에서 +14%, ARMv7 -> AArch32 에서 +34%
합치면 1.14 x 1.34 = 1.53, +53% 입니다.
Dhrystone(DMIPS/MHz) 최대 26%
1.78배 -> 1.183배, 1.53배, 1.26배
비례로 보면,
1.7배 -> 1.13배, 1.46배, 1.2배
SpecINT2K +13%
긱벤치3 정수점수 +46%
Dhrystone(DMIPS/MHz) +20%
라고 나오게 됩니다.
어디까지나 참고 수준이지만요.
- 다르게 가보자.
PCWatch의 기사와 그 외 사이트의 글을 보면,
(링크 : http://pc.watch.impress.co.jp/docs/column/kaigai/20150220_689189.html)
A72는 기본적으로 A57과 비슷하다.
RTL 최적화를 통해 성능/전력이 향상. A57보다 면적이 작아졌다.
POP는 TSMC 16FF+ 에 대해서만 제공.
이를 근거로 '같은 노드에서 A57과 A72의 소비전력은 비슷하다' 라는 가정 하에 계산해보겠습니다.
같은 작업을 하는데 필요한 에너지가 28nm A15에 비해 75% 감소.
20nm A57에 비해 55% 감소.
28nm, 20nm, 16nm의 전력차이는 어떨까요.
20SoC 대비, 16FF+ 스피드 +40% or 파워 -60%
(링크 : http://www.tsmc.com/english/dedicatedFoundry/technology/16nm.htm)
20SoC 대비, 16FF 스피드 +40%
16FF 대비, 16FF+ 스피드 +15%
16FF 대비, 16FF+ 스피드 +15% or 파워 -30%
(링크 : https://www.semiwiki.com/forum/content/4110-iedm-tsmc-intel-ibm-14-16nm-processes.html)
숫자가 제각각인데 하나씩 보지요.
일단 20nm A57의 클럭이 1.9GHz 였습니다.
ARM은 16nm A72 클럭을 최대 2.5GHz라고 했고요.
클럭 향상이 +32% 입니다.
A57과 A72이 비슷하다는걸 생각하면 TSMC가 16FF에서 스피드 +40% 그러는건 잘 안 맞는다고 봐야할듯 합니다.
TSMC 얘기를 최대한 반영하면, 20SoC 대비 speed gain은 16FF +32%, 16FF+ +40% 정도로 정리할 수 있을듯 합니다.
어쨌든 동일전력에서 20nm A57은 1.9GHz, 16nm A72는 2.5GHz 라는게 됩니다.
ARM 자료에서는 같은 작업을 하는데 필요한 에너지가 20nm A57에 비해 55% 감소.
클럭이 +32% 인데 에너지는 -55% 입니다.
클럭당성능이 A57의 1.67배라고 계산이 됩니다.
앞서 한 계산과 비슷하지요.
똑같은 비례관계를 대입하면,
SpecINT2K +11%
긱벤치3 정수점수 +44%
Dhrystone(DMIPS/MHz) +18%
이 그래프에도 적용해보면,
A57 -> A72 에서 클럭이 +32%, 성능은 3.5/1.9 = 1.84배
클럭당성능이 1.4배라는 얘기가 됩니다.
앞서 계산에서 나온 1.7배와 차이가 납니다. (뭐가 뭔지......)
- 퀄컴
여기서 의문스러운게 퀄컴의 신제품 발표입니다.
링크의 퀄컴 사이트 내용에서는 안 나오지만 스냅드래곤620 사양이 A72 1.8GHz x4 + A53 1.2GHz x4 입니다.
공정이 28nm
앞서 A57과 A72의 전력은 비슷할 것으로 보았는데, 이러면 얘기가 달라집니다.
28nm A72이 가능하다는건 소비전력이 문제가 없다는건데, 동일노드에서 A57과 A72 전력이 비슷하다면 28nm 공정으로 A72를 제조한다는 생각을 하기 힘듭니다.
이 모순을 풀려면 TSMC에 원인이 있다고 생각하는게 타당합니다.
28HPM과 20SoC 간의 성능차이가 크지 않다고 봐야한다는거지요.
동일 전력에서 둘의 speed gain 차이가 5~6% 수준에 불과하다고 말이지요. (1.8/1.9 = 0.947)
(2011년 TSMC 자료에서는 15%라고 했습니다.)
- 추정치 정리
1. ARM 자료의 기준은 웹브라우징 성능.
Rightware BrowserMark로 추정.
2. Cortex-A57 대비 각 항목별 클럭당성능 향상치 추정.
SpecINT2K +10% 정도
긱벤치3 정수점수 +45% 내외
Dhrystone(DMIPS/MHz) +18~20%
3. TSMC 공정 관련
20SoC 대비 동일 전력에서 speed gain 16FF +32%, 16FF+ +40%
28HPM 대비 동일 전력에서 speed gain 20SoC +5~6%