A7의 CPU 성능을 알아보겠습니다.



A7의 CPU 코어는 전작 A6의 Swift에서 한단계 발전한 Cyclone 코어로 알려져 있습니다.
ARMv8 명령어 기반으로 64비트를 지원합니다.
CPU 사이즈는 전체의 17%. 17mm2 정도입니다.
32nm A6 CPU 사이즈가 16mm2 정도이니 규모로보면 Swift코어 대비 40% 이상 증가했습니다.
L1 캐시는 코어당 128KB (명령어 64KB/데이터 64KB)
L2 캐시는 1MB







A6 대비 2배의 성능을 주장하는데 확인해보겠습니다.
우선 긱벤치3 입니다.

A7 64bit : http://browser.primatelabs.com/geekbench3/110399
A7 32bit : http://browser.primatelabs.com/geekbench3/73299
A6 :
http://browser.primatelabs.com/geekbench3/60593
A6, A7 모두 같은 듀얼코어 1.3GHz이기때문에 비교하기 편하네요.
긱벤치3 결과를 보면 다음과 같습니다.


일단 종합 스코어를 보면 A7은 A6 대비 2배에 가까운 결과입니다.
(iOS 32비트에서 이루어진 테스트입니다.)

 

왼쪽은 32비트 결과, 오른쪽은 64비트 결과입니다.






A6대비,
32비트에서 정수연산은 1.42배, 부동소수점연산은 1.68배입니다.
64비트에서는
정수연산이 1.96배, 부동소수점연산은 2.27배입니다.



각 항목의 성능비를 평균내보면 위와 같이 나옵니다.
총점의 비율과 다르지요.
각 총점에 대한 세부 테스트 항목의 반영비율이 다르기때문으로 보입니다.
세부항목에서 극단적으로 높은 결과가 나오는 항목이 몇 개 있습니다.
대부분 1~2배 정도 수준입니다만 일부에서는 최대 15배까지 높은 항목이 있습니다.


- 정수연산
대부분 1~2배 수준입니다만 아래 두 항목은 성능차이가 매우 큽니다.
AES : 15배
SHA1 : 4배
ARMv8에 명령어가 추가되었기때문으로 보입니다.
저 두 결과를 제외하더라도 A6 대비 155%의 성능을 보입니다. (1.55배)
성능 향상이 있다고 말할만하지요.
32비트 기준 : A6 대비 1.42배.
64비트 기준 : A6 대비 1.96배.
어쨌든 총점에서 싱글코어, 듀얼코어 모두 A6 대비 2배의 성능을 보입니다.


- 부동소수점
대부분 1~2배 수준입니다만 아래 항목은 성능차이가 매우 큽니다.
DREMM : 4배
SFFT : 2.8배
N-Body : 3배
Ray Trace : 3배

32비트 기준 : A6 대비 1.68배.
64비트 기준 : A6 대비 2.27배.

긱벤치3 총점만 보면 Swift의 2.3배 수준의 성능입니다.

이전 포스팅에서 했던 식으로 비교해보겠습니다.
(ARM 기반 아키텍처별 부동소수점 연산성능.)
테스트 출처는 다음과 같습니다.
(
http://wlog.flatlib.jp/item/1645 , http://wlog.flatlib.jp/item/1647)


ADD
대체적으로 Cortex-A15와 비슷합니다.
인/아웃 레지스터가 다를 경우(A)는 Swift보다 빠르지만, 4명령마다 인터리브할 경우(B) Swift보다 늦습니다.
64비트를 위해 레지스터가 확장된 영향이 아닌가 추측.
64비트에서는 스칼라 연산 속도가 2배입니다.


MUL
ADD 특성과 비슷합니디만 ADD에서와 달리 QA가 DA보다 빠릅니다.


MLA
Cortex-A15 보다 약간 빠른 수준.


FMAC
ADD 특성과 비슷합니다.


FMA
Cortex-A15와 비슷한 수준.

테스트 결과를 보면 알 수 있듯이 64비트가 모든 부분에서 32비트보다 앞서는 것은 아닙니다.

평균성능 순위를 보면,
Cyclone 64bit (130%) - Cyclone 32bit (105%) - Cortex-A15 (100%) - Swift (74%)
- Krait (69%) - Cortex-A9 (57%)



- 정리
1. 정수연산.
Swift 대비 코어당 성능, 듀얼코어 성능 모두,
32비트 기준 : A6 대비 1.42배.
64비트 기준 : A6 대비
1.96배.

2. 부동소수점연산.
Swift 대비 코어당 성능, 듀얼코어 성능 모두,
32비트 기준 : A6 대비 1.68배.
64비트 기준 : A6 대비 2.27배.


3. 64bit vs 32bit
긱벤치3 결과에서 32비트와 64비트 성능을 비교해보면 (당연하지만) 64비트 쪽이 높습니다.
정수연산 : +38%
부동소수점연산 : +35%


 

긱벤치3의 세부 테스트 항목을 보면 64비트에서 특별히 높게 나오는 테스트 항목이 보입니다.
모든 항목에서 64비트 결과가 높은건 아니고 32비트보다 낮은 항목도 있습니다.

멀티코어 기준으로 평균을 내보면 64비트는 32비트 대비,
정수연산 (포함) : +89%
정수연산 (미포함) : +8%
부동소수점연산 (포함) : +45%
부동소수점연산 (미포함) : +17%
높게 나오는 일부 항목을 제외하면 32비트 대비 8%, 17% 향상.
A7의 극적인 성능향상을 64비트로 인한걸로 보기에 애매합니다.
애초에 64비트 아키텍처와 ARMv8 명령어를 완전히 떼어놓고 생각할 수 없다는 점이 가장 애매하지만요.

(
http://wlog.flatlib.jp/item/1651)
테스트 결과에서 알 수 있듯이 64bit는 ARMv8에 새로 추가된 명령어, 확장된 레지스터, Advanced SIMD의 효과를 볼 수 있는 일부 테스트에서 성능향상을 보였을뿐, 그 외의 경우는 32bit와 큰 차이를 보이지 않습니다.
(덕분에 벤치마크에서는 종합적인 성능이 12~24% 향상되는 모습을 보입니다만......)
A7의 성능이 A6보다 크게 향상된건 64비트 덕이라기보다는 애초에 사양과 성능이 높은 것이지요.
애시당초 데스크탑에서 소프트웨어와 하드웨어가 64비트로 전환될 때를 생각하면 단순히 64비트 지원이라고 성능이 높아질 것이라는 생각이 틀렸다는건 쉽게 알 수 있습니다.



신고
Posted by gamma0burst Trackback 0 : Comment 39

댓글을 달아 주세요

  1. addr | edit/del | reply ㅁㅁㅁㅁ 2013.09.30 08:59 신고

    흠 그러면 단지 표현 범위가 넓어진다는 말씀인가요?

    • addr | edit/del Favicon of http://gamma0burst.tistory.com BlogIcon gamma0burst 2013.10.01 00:06 신고

      모든 부분에서 64비트가 의미있는 성능향상을 만들지는 않는다는겁니다.

  2. addr | edit/del | reply ㅁㅁ 2013.09.30 10:58 신고

    그러니 저 64비트가 게임로딩이나 파일불러오기 같은걸 할때 큰도움이 안되고
    ARMv8이 어썸하다는 거둔요???

  3. addr | edit/del | reply Favicon of http://biasedit.tistory.com BlogIcon JordanK 2013.09.30 11:11 신고

    잡소리입니다만 그래프 글씨체가 바뀌었네요?

  4. addr | edit/del | reply YaPenguin 2013.09.30 12:12 신고

    대략 두 가지가 걸리는 듯 합니다...

    1. 정수연산에서의 AES/SHA1 명령어 신규지원.
    - 이것때문에 전체 합산 결과가 좀 많이 상향되었을 수도 있다고 봅니다.

    2. NEON SIMD에서 DP float를 신규 지원.
    - 이 경우는 VFP에서 연산되던 것이 SIMD로 이전되면서 상당한 성능향상을 볼 수 있겠지요....

    전반적으로 정수연산 쪽에서의 순수한 64비트화로 인한 이득은 대략 10% 미만 정도가 아닐까 하더라는... 나머지는 그 외의 향상으로 인한 것들.

    • addr | edit/del Favicon of http://gamma0burst.tistory.com BlogIcon gamma0burst 2013.10.01 00:20 신고

      1. 정수연산.
      해당 명령어 결과를 제외해도 평균 1.55배(155%)의 성능을 보입니다.
      이 정도면 명령어 덕이 아니더라도 충분히 성능이 향상되었다고 볼 수 있지요.

      2. 부동소수점.
      64비트화의 이득을 많이 본 것이 이쪽이지 않을까 싶습니다.

  5. addr | edit/del | reply 플리즈 2013.09.30 14:51 신고

    전체적으로64비트 지원 때문이 아니라 새 아키텍처 armv8에서의 성능 개선이 성능 상승으로 연결된 것 같습니다. 삼성의 엑시노스 6나 차세대 스냅의 성능 상승도 기대가 되는군요.
    삼성이 제작중이라는 자체 설계 Ap도 그렇고요.

    • addr | edit/del Favicon of http://gamma0burst.tistory.com BlogIcon gamma0burst 2013.10.01 00:12 신고

      Cortex-A15를 넘는 발전된 사양은 ARMv8, 64비트를 끼지 않아도 이론적으로 가능합니다만 현실적으로는 ARMv8 명령어 기반을 따를 수 밖에 없고 그러자면 64비트로 갈 수 밖에 없지요.

  6. addr | edit/del | reply Favicon of http://scriptkiddie.tistory.com BlogIcon scriptkiddie 2013.10.01 01:41 신고

    정말 성능 좋네요.. 잘 보고 갑니다. gpu도 기대할께요 ㅎㅎ

  7. addr | edit/del | reply pass 2013.10.01 10:46 신고

    결국은 성능이 상당히 좋다는 거네요.
    Cortex-A57과 비교하면 어떨라나요. Cortex-A57은 자세한 성능은 나오지 않았지만 일단 이론적인 성능은 어느 정도 발표된 바는 있으니...

  8. addr | edit/del | reply pass 2013.10.01 10:48 신고

    그나저나 정수연산 성능이 2배라..
    이전 포스팅에서 정수연산 성능이 스위프트와 a15가 동급이라고 언급하신걸 본것 같은데. 2배라면..

    • addr | edit/del Favicon of http://gamma0burst.tistory.com BlogIcon gamma0burst 2013.10.03 00:01 신고

      일단 Cortex-A15와 swift가 같지는 않습니다.
      A9와 A15 사이인데 그 둘 중 한쪽 레벨로 묶는다면 A15쪽이라는겁니다. 동'급'으로 볼 수 있다는거지요.

      swift와 cyclone의 성능격차는 알려져있는 Cortex-A15와 A57의 차이와 비슷한 것으로 보이는데 swift가 Cortex-A15 까지는 아니니 cyclone은 A57보다는 좀 떨어질듯 합니다.

  9. addr | edit/del | reply pass 2013.10.07 23:36 신고

    그렇군요. 근데 A57 클럭당성능이 A15 2배라는 말도 있고 30% 향상이란 말도 있는데 어느 쪽이 맞나 모르겠네요.

    • addr | edit/del Favicon of http://gamma0burst.tistory.com BlogIcon gamma0burst 2013.10.08 00:16 신고

      일단 2배는 절대 아닐겁니다.
      일부 벤치에서는 2배로 나올지도 모르겠지만 가능성은 낮아 보입니다.
      30% 향상 정도가 맞는 것으로 보이네요.

  10. addr | edit/del | reply pass 2013.10.08 03:07 신고

    칼답이시네요.
    30% 향상이라.. 밑에 결과를 보니 Cyclone 64비트 정도면 A57하고 비슷비슷하려나요. 반도체는 전기를 먹을 수록 더 일하는 특성 상.. A57이 전기를 더 먹으니 좀 더 강하긴 할 거 같네요.
    사양이 어썸하다는 말이 이쯤되면 농담은 아니네요. 전성비가 매우 좋군요. 클럭이 낮은 걸 감안하더라도, 빅리틀 안 쓰고도 충분히 들어갈 정도이니..

    • addr | edit/del Favicon of http://gamma0burst.tistory.com BlogIcon gamma0burst 2013.10.09 00:32 신고

      시간대가 우연히 잘 맞아서......ㅎㅎ

      A7이 성능에 비해 준수한 소비전력을 보이는건
      커스텀(으로 인한 상대적으로 낮은 성능)의 영향도 있겠지만 제일 큰건 듀얼코어이기때문이겠지요.
      성능차이가 있어서 단순비교는 안 되겠지만 32nm Cortex-A15 듀얼코어(엑시노스5250)가 빅리틀없이 제품에 적용된걸 생각하면 28nm 공정에서라면 충분히 여유가 있을듯도 한데...... 그래도 빅리틀이 있는게 좋겠지요.

  11. addr | edit/del | reply 나그네 2013.10.10 21:24 신고

    오 ;ㅁ; 잘보고 갑니다. 이정도로 디테일하게 논해주는 곳은 역시 감마님 밖에 없군요 ㅋㅋ

    이걸로 테크 사이트(파랑 사이트랑, 소니 팬 사이트, 리시버 사이트 등등)에서 논의된 내용이죠. 가장 심도있던 사이트는 역시 공돌이들도 순도높게 구성된 파랑 사이트였고, 결론도 역시 위와 비슷하다고 나왔었죠. 물론 반론도 나왔었지만.. 일반적으로 봤을때 32비트가 64비트로 전환되면서 생기는 이득은 '아키텍쳐상의 진화'에 의한 부분이지, 단순히 32비트가 64비트로 바뀌면서 어썸한 결과가 나온게 아닌데.. 유독 64비트가 성능 향상을 이뤄냈다는 식으로 다들 다루니 진짜 피곤하더라구요;; 이미 32비트 64비트 비교는 10년전에 끝난 논쟁인데..
    어차피 하위 호환을 해야하는 지금 당장에서는 32비트 기준으로 제작하고 64비트로 변환해야하는데.. 이때는 뭐 사실상 이득은 없는거나 다름 없으니..

    아니 애초에 64비트를 마케팅용으로 쓴것도 웃긴게..

    64비트로 만들어놓고 램을 1GB 달아놓는 심보는 무슨 심보일까요? 그냥 구두쇠 심보인건지..

    미래를 내다보고 64비트를 채용했다는 양반들이.. 64비트로 완전히 전환될때쯤 되면 부족할 램을 고려하지 않았다는것 자체가 웃기는 노릇이죠. 그러니 이건 사실상 단순히 '마케팅'용일 뿐이라고 봅니다.

    32비트로 쓰다가 안고 죽는거죠. 64비트 전용으로 만들어도 이득도 그리 크지 않는 마당에 하위호환성을 버리면서 그렇게 만들 필요는 없다고 보거든요.

    • addr | edit/del Favicon of http://gamma0burst.tistory.com BlogIcon gamma0burst 2013.10.11 00:45 신고

      감사합니다.
      하위 호환성 문제를 봤을 때 다시 한번 확인되는게 64비트로의 전환이 가장 쉬운건 애플이라는거지요.
      하드웨어와 소프트웨어를 모두 하고 있고 소프트웨어는 폐쇄적이기때문에 강제적으로 64비트 환경을 조성하고 확대하기가 쉽지요.

  12. addr | edit/del | reply 음... 2013.10.12 16:09 신고

    Cyclone 64bit (130%) - Cyclone 32bit (105%) - Swift (74%)
    이것만 보면 "단순히 64비트 지원이라고 성능이 높아질 것이라는 생각이 틀렸다"라는 감마님 결론이 좀 이상하지 않나 싶습니다. 아키텍처 변화없이 Swift나 A15를 64비트로 낼 경우 성능향상이 없을 거란 말씀이신가요?

    • addr | edit/del Favicon of http://gamma0burst.tistory.com BlogIcon gamma0burst 2013.10.12 16:29 신고

      제가 그래서 중간에 써놓은겁니다.
      일부 테스트에서 크고 작게 64비트 효과를 보는데 그 덕에 전체적으로 평균 성능이 12~24%정도 높아지는 것으로 보인다고요.

      64비트 지원의 효과가 크게 나타나는 부분이 있고 아닌 부분이 있는데 비중으로 보면 없는 쪽이 많지요.
      그래서 64비트 지원'만으로' 모든 부분에서 무조건적인 성능 향상이 있다고 보기 힘들다는겁니다.

      아키텍처의 변화없이 64비트로 변했을 때의 성능 향상에 대해 논하기는 현실적으로 어렵습니다.
      현 상황에서 64비트 프로세서를 만드려면 ARMv8 명령어를 따를 수 밖에 없지요. 64비트 프로세서는 ARMv8 명령어의 혜택을 볼 수 밖에 없는 구조인겁니다.
      이론적으로는 64비트 도입 ≠ ARMv8 명령어 사용 이기때문에 64비트로 인한 성능향상과 ARMv8로 인한 성능향상을 구분해야 합니다.
      ARMv8 명령어로 인한 성능향상까지 64비트의 효과로 보면 안 되는겁니다.
      그런데 현실적으로 64비트 = ARMv8 명령어 체계 이기때문에 64비트 체계를 쓰면 64비트로 인한 성능향상이 있고 자연스럽게 ARMv8 명령어로 인한 성능향상까지 따라옵니다.

      64비트로 인한 성능향상과 ARMv8을 통한 성능향상을 분리해서 봐야하지만 현실적으로 둘이 같이 나타나기때문에 64비트에서 성능향상이 있다는 말 자체가 틀린 얘기는 아닙니다. 부정확한 표현일뿐이지요.
      말장난같기도 하고 말에 모순이 있는 것 같기도 합니다만 그렇습니다.

    • addr | edit/del 음... 2013.10.13 00:39 신고

      Cyclone 64bit (130%) - Cyclone 32bit (105%)
      어떤 명령어가 32비트보다 64비트에서 더 효과적이라면 이는 64비트의 효과를 입증하는 것이며, 따라서 동일 아키텍처 상에서의 위와 같은 결과이므로 64비트 효과가 있다고 보는 것이 합리적인 결론일 것으로 보입니다. 모든 IT사이트에서의 결론 또한 이와 마찬가지입니다.

      감마님의 말씀은 어떤 의미에선 의도적으로 64비트 효과를 축소시키기 위한 것으로 보입니다. 물론 의도하신 바는 알겠습니다만 오히려 본말이 전도된 것이 아닌가 되돌아보셔야 하지 않나 싶습니다. 늘 좋은 글 감사합니다.

    • addr | edit/del Favicon of http://gamma0burst.tistory.com BlogIcon gamma0burst 2013.10.13 00:55 신고

      Cyclone 32비트는 ARMv7 명령어가 적용된 상태입니다.
      64비트는 ARMv8 명령어고요.
      저 둘의 차이가 모두 64비트의 덕인 것으로 돌리는건 잘못된거지요.
      어떤 명령어가 32비트보다 64비트에서 더 효과적이라고 하셨는데 실상은 ARMv7에 없는데 ARMv8에 추가된 명령어 덕에 성능이 오른겁니다.
      굳이 원인을 지목하자면 ARMv8 명령어의 힘이라고 봐야하지 않습니까?

      제가 A7의 성능을 폄하한 것도 아니고 64비트 무용론을 펼친 것도 아닌데 어디서 64비트의 효과를 의도적으로 축소시키기 위한 것이라는 해석이 가능한지 의문이네요.
      오히려 자료를 제대로 해석하지 않고 제가 64비트 효과를 축소한다는 해석을 내리시는 저의가 궁금하네요.

      다시 한번 말씀드리지만, 64비트 아키텍처, ARMv8 명령어의 효과는 제대로 구분되어야 합니다.
      대부분의 결론이 이 둘을 제대로 구분하지 않고 있는데 그러면 모바일에서 최초의 상용화된 64비트 프로세서의 가치를 제대로 평가를 할 수 없습니다.

  13. addr | edit/del | reply ㅇㅇ 2013.10.13 23:23 신고

    5420과 비교하면 어떤 cpu가 더좋은가요?

    • addr | edit/del Favicon of http://gamma0burst.tistory.com BlogIcon gamma0burst 2013.10.14 00:32 신고

      5420이 낫습니다.

    • addr | edit/del 이거니 2013.10.20 20:43 신고

      애플A7이 더 좋습니다^^;

    • addr | edit/del 이거니 2013.10.20 20:47 신고

      애플a7이 성능에서 최신 노트3에들어가는 엑시노스옥타보다 실성능에서도 앞서더라구요

    • addr | edit/del Favicon of http://gamma0burst.tistory.com BlogIcon gamma0burst 2013.10.20 22:39 신고

      이제까지 A7이 낫다는 얘기를 하면서 제대로 된 논리가 있는걸 본적이 없는데 어떤 논리를 펼지 기대되네요.

    • addr | edit/del 이건뭐... 2013.10.27 22:37 신고

      당장은 결과가
      아이폰5S 싱글코어 : 1413 멀티코어 : 2562
      갤노트3 싱글코어 : 864 멀티코어 : 2124
      이런식으로 나온다고는 해도 HMP가 본격적으로 지원되기 시작하면 5420이 앞설겁니다.
      물론 전력효율은 A7이 앞서겠죠.

    • addr | edit/del Favicon of http://gamma0burst.tistory.com BlogIcon gamma0burst 2013.10.27 22:55 신고

      지금 노트3 최대 결과가 싱글 : 974, 멀티 : 2948 입니다.
      http://browser.primatelabs.com/geekbench3/130434
      아이폰 5S가 64비트 기준으로 싱글 : 1418, 멀티 : 2570 이고요.
      http://browser.primatelabs.com/geekbench3/110399
      지금도 앞서고 있습니다.

    • addr | edit/del 역시 2013.10.30 18:35 신고

      역시 업데이트후 최적화가 되었군요.
      5420은 단언컨데... 괴물...
      물론 저 성능으론 배터리도... 괴물같은 소비

    • addr | edit/del Favicon of http://gamma0burst.tistory.com BlogIcon gamma0burst 2013.10.30 18:45 신고

      테스트 날짜봐서는 4.3 업데이트 전인듯.
      그리고 64비트 ARMv8이 아닌 32bit ARMv7에서 비교하면 A7은
      싱글 : 1082, 멀티 : 1939 입니다.
      http://browser.primatelabs.com/geekbench3/73299
      전성비니 뭐니 따지기 전에 5420에 비해 이렇다할 경쟁력이 없는 수준.
      A7의 장점이 64비트 ARMv8 지원이니 이런 비교가 무슨 의미가 있나 싶기도 하지만요.

    • addr | edit/del 으음 2013.10.30 23:21 신고

      하긴 뭐 애초에 iOS랑 안드로이드는 비교하는거 자체가 항상 이상하다 느낍니다...
      구동방식이 상당히 달라서 앱같은것도 UI만 같고 동작하는게 다르기도 하고요.

  14. addr | edit/del | reply 박재완 2013.11.11 20:25 신고

    듀얼코어인데 저정도 성능을 내는걸 보면 애플도 참 대단하거 같네요 ㅎ
    글 잘 읽고 갑니다

  15. addr | edit/del | reply 익명 2013.11.20 01:46 신고

    a7이 그럼 a57기반인가요?