이 계산은 몇가지 가정을 전제로 이루어졌기때문에, 확실한 사실이 아닌 가능성의 하나로 받아들이면 되겠습니다.

애플측에서는 아이패드2 와 아이폰 4S 에 탑재된 A5 의 클럭에 대해 1GHz 라고 밝히고 있지만,
실제 클럭이 그러한지는 의문이 많습니다.
애플 제품에서 가장 많이 사용하는 벤치마크 앱이 Greekbench 인데,
최근의 버전 업 이전에는 테스트 이후 시스템 정보에서 1GHz 라는 클럭이 등장한 적이 단 한 차례도 없었습니다.
게다가 아이폰 4S 는 아이패드2 의 80% 수준의 성능을 보여, 다운클럭이 거의 확정적으로 받아들여지고 있습니다.
하지만, 정확한 클럭은 여전히 미궁입니다.
이번 포스팅에서는 그동안 축적된 린팩 결과를 통해서 아이패드2 와 아이폰 4S 에 탑재된 A5 의 클럭을 추측해보겠습니다. 

가정 (1)
S5PC100, A4, A5 는 삼성의 허밍버드(엑시노스3), 엑시노스4 와 멀티코어 효율 등 그 특성이 동일하다.

이 가정은 S5PC100, A4, A5, 허밍버드, 엑시노스 가 모두 삼성에서 설계, 생산되었기때문에 세울 수 있는겁니다.




위 그래프는 iOS 기반 제품들의 린팩 테스트 결과입니다.

(가장 공통적으로 나타나는 수치들로, 스탠다드 설정으로 추정)

iOS 기반 린팩은 안드로이드 기반 린팩보다 결과가 높게 나오는데, 이는 iOS 와 안드로이드의 가상 엔진의 특성 차이로 보입니다.
NEON 적용 여부가 이유일거란 추정도 가능하지만, iOS 기반 린팩에서도 NEON은 사용되지 않습니다.

린팩성능 차이가 있는건 아무래도 iOS와 안드로이드의 근본적인 차이가 원인인 것 같습니다.
안드로이드는 자바 기반의 Dalvik 가상머신 기반으로 돌아가는데, iOS는 가상머신 기반이 아니라고 하더군요.
덕분에 iOS는 성능을 뽑아내기 쉬운 반면, 하드웨어 호환성이 떨어집니다.
하드웨어 스펙이 바뀌면 탈옥툴이 호환되지 않는게 그런 이유라고 하더군요.
안드로이드는 가상머신으로 인해, 가상머신 성능에 따라 OS 성능이 좌지우지됩니다.
(이클레어 -> 프로요보면 확실히 그런면이 있지요.)
대신 하드웨어 호환성이 좋습니다.
안드로이드 기반 제품들 스펙이 다 제각각인데도 전부 안드로이드를 돌릴 수 있는건 이런 이유때문이라고 합니다.
(소프트웨어쪽으로는 잘 모르고, 들은 얘기이기때문에 틀린 부분있으면 지적바랍니다.)


가정(2)
동일 아키텍처 간에 iOS 기반 린팩과 안드로이드 기반 린팩의 성능 격차(비율)은 일정하다.


A4 와 S5PC100 은 둘 다 Cortex-A8 기반 입니다.
위 결과를 1GHz 로 정규화해서 평균을 내보면, 42.2 MFLOPS 가 나옵니다.
가장 근접한 제품인 삼성의 허밍버드 1GHz 의 안드로이드 린팩 평균값이 15.1 MFLOPS 입니다.
(동일 아키텍처임.)

Cortex-A9 기반 듀얼코어인 A5 의 성능을 분석하기위해서 이와 가장 근접한 제품인 엑시노스 4210 의 결과를 파악할 필요가 있습니다.
엑시노스 4210 은 1.2GHz, 1.4GHz 두가지가 있는데, 1GHz 쪽에 가까운 1.2GHz 의 결과값을 사용하겠습니다.

엑시노스 4210 1.2GHz 의 안드로이드 린팩 평균값은,
싱글스레드 50.1 MFLOPS
멀티스레드 81.5 MFLOPS
입니다.

1GHz 로 정규화시키면,
싱글스레드 41.8 MFLOPS
멀티스레드 68.0 MFLOPS
입니다.

1.4GHz 엑시노스의 측정 결과를 사용하지 않은건, 1.4GHz 엑시노스와 1.2GHz 엑시노스의 평균 결과가 보여주는 특성이 약간 다르기때문입니다.
(1.4GHz 쪽이 멀티코어 효율이 약간 낮습니다.)

위에서 밝혔듯이,
허밍버드, 엑시노스의 성능 관계와 A4, A5 의 성능 관계가 동일하다고 가정하겠습니다.

안드로이드 린팩 싱글스레드에서, 엑시노스는 허밍버드의 2.76배 (=41.8/15.1)의 성능을 보입니다.
그리고 엑시노스의 듀얼코어 효율은 1.63 (=68/41.8)입니다.

이를 A4 와 A5 의 관계에 동일하게 적용시키겠습니다.
A4 1GHz 의 린팩 결과는 42.2 MFLOPS 입니다.
그렇다면 A5 1GHz 의 싱글스레드 결과는 116.5 MFLOPS 로 계산이 됩니다. (=42.2 x 2.76)

하지만, iOS 기반 린팩에는 싱글스레드, 멀티스레드 테스트가 따로 없습니다.
(iOS 라는 운영체제 자체가 싱글태스킹과 멀티태스킹의 구분이 없기때문인듯)
그런 점에서 본다면, iOS 기반 린팩 결과는 안드로이드 기반 린팩의 멀티스레드와 동일하게 봐야할 것입니다.
싱글스레드와 매치시킨다고 가정하면, 아이패드2 는 1.4GHz 가 넘는다는 해석이 가능한데, 이건 무리가 있는 해석이지요.

A5 1GHz 의 멀티스레드 결과는 189.6 MFLOPS 로 계산됩니다. (=116.5 x 1.63) 

아이패드2 의 린팩 결과는 165.9 MFLOPS 로 나왔습니다.
역산해보면 아이패드2 에서 A5 의 클럭은 875MHz 정도로 계산됩니다. (=165.9/189.6)
실제 성능이 클럭에 정확하게 들어맞는 경우는 드물기때문에 대략 900MHz 정도로 보입니다.

아이폰 4S 의 린팩 결과는 139.6 MFLOPS 로 나왔습니다.
역산해보면 아이폰 4S 에서 A5 의 클럭은 735MHz 정도로 계산됩니다. (=139.6/189.6)
역시나 실제 성능이 클럭에 정확하게 들어맞는 경우는 드물기때문에 대략 750MHz 정도로 보입니다.


-
하아...
이 글이 사라져서 대체 뭐가 어떻게 된건지 별의별 상상을 다 했는데, 문의 결과 스마트폰으로 보다가 실수로 지웠다고 하네요.
로그까지 보여주니 뭐 할 말이 없는 지경.
그래도 구글느님이 저장된 페이지를 남겨준 덕에 똑같이 복구할 수 있었네요.

닥치고 티스토리, 구글 찬양.

- 2012.03.15. 본문 일부 추가

- 2012.09.22. 최대값을 사용한 계산 추가.

A4 와 S5PC100 은 둘 다 Cortex-A8 기반
위 결과를 1GHz 로 정규화해서 평균을 내보면, 42.2 MFLOPS
가장 근접한 제품인 삼성의 허밍버드 1GHz 의 안드로이드 린팩 최대값이 18 MFLOPS

엑시노스 4210 1.2GHz 의 안드로이드 린팩 평균값대신 최대값을 사용하면,
싱글스레드 57 MFLOPS
멀티스레드 89 MFLOPS

1GHz 로 정규화시키면,
싱글스레드 47.5 MFLOPS
멀티스레드 74.2 MFLOPS

안드로이드 린팩 싱글스레드에서, 엑시노스는 허밍버드의 2.64배 (=47.5/18)의 성능.
엑시노스의 듀얼코어 효율은 1.56 (=89/57)

A5 1GHz 의 싱글스레드 결과는 125.4 MFLOPS (=47.5 x 2.64)
A5 1GHz 의 멀티스레드 결과는 195.6 MFLOPS (=125.4 x 1.56) 

아이패드2 의 린팩 결과는 165.9 MFLOPS
역산해보면 아이패드2 에서 A5 의 클럭은 850MHz 정도. (=165.9/195.6)
대략 900MHz 정도?

아이폰 4S 의 린팩 결과는 139.6 MFLOPS
역산해보면 아이폰 4S 에서 A5 의 클럭은 715MHz 정도. (=139.6/195.6)
대략 750MHz 정도?



Posted by gamma0burst Trackback 0 : Comment 11

댓글을 달아 주세요

  1. addr | edit/del | reply T 2012.03.13 23:30

    뭔가 iOS와 안드로이드 간의 차이가 좀 심하네요.
    저건 그냥 OS 차이에 따른 격차일 뿐이고 실제 체감 성능은 수치와는 다른가요?

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

      체감성능을 만드는데 개입되는 변수가 많기때문에 단순하게 벤치마크만을 놓고 iOS와 안드로이드의 체감성능 비교는 뭐라 말하기가 어렵습니다.

      하지만 몇가지는 확실합니다.

      1. iOS는 제품 종류가 적다보니 앱들이 최적화가 잘 되어있어서 왠만한 경우가 아니면 불편하지 않습니다.

      2. iOS는 사용자가 현재 하고 있는 작업을 태스크 중에서 최우선순위로 두기때문에 사용자가 느끼는 체감성능은 항상 좋은 편입니다.
      여기에는 iOS가 근본적으로 제대로 된 멀티태스킹을 지원하지 않는 것도 한 몫 합니다.
      그리고 애플 제품의 터치감이 좋은 것도 이런 이유입니다.

      안드로이드의 경우 제대로 된 멀티태스킹이 적용되는데다가, 작업 순위도 동등하기때문에 리소스가 넘칠 정도로 스펙이 좋지 않으면 체감성능이 크게 떨어집니다.

      iOS의 저런 스타일은 모바일 기기의 사용패턴을 생각하면,
      리소스의 낭비를 줄이면서 사용자의 체감성능을 좋게만들어주는 등, 장점으로 볼 수 있다고 생각합니다.

  2. addr | edit/del | reply T 2012.03.14 14:09

    그렇군요. 확실히 모바일 기기에선 윈도우처럼 화면을 휙휙 돌려가면서 멀티 태스킹을 하는 경우는 없으니까 iOS 스타일이 괜찮긴 하겠네요.
    그래도 iOS에서는 백그라운드에서 지속적인 인터넷 접속이 필요한 앱이라던가 하는 몇 가지 '진짜' 멀티 태스킹이 필수적인 앱에서 약간 문제가 생기더라구요. API를 잘 쓰면 감쪽같은 멀티 태스킹을 구현할 수 있다고는 하던데 사실 그것도 한정적이라고 들어서(개발자가 아니라 잘은 모르겠지만..).. 약간 예외적인 멀티 태스킹 관련 API를 좀 풀어주면 좋겠네요. (완전히 백그라운드에서 돌아가는 게 아니라, 백그라운드에서도 몇 가지 작은 프로세스들만 돌아갈 수 있게끔 하는 그런)

  3. addr | edit/del | reply T 2012.03.15 15:47

    음.. 그런데, 자꾸 질문 드리는 것 같아서 죄송한데요 ㅜㅜ
    제가 아직 전문지식을 갖추질 못해서 ㅎㅎ iOS와 안드로이드 간에 mflops 차이가 심하게 나는 게 OS 때문에 그런 건가요? 객관적으로 볼 때 CPU는 엑시노스가 더 좋잖아요?
    그리고 mips와 mflops 사이의 차이는 무엇인가요. 전자는 정수 연산이고 후자는 부동소수점 연산이라고 들었는데 성능에 무슨 역할을 하는지도 궁금하구요...
    CPU와 GPU 둘 중 어느 것이 모바일 칩의 성능에 더 큰 영향을 미치는지.. 아 질문 너무 많이 하는 거 같아 죄송하네요; 스마트폰 하드웨어에 관심이 생긴 이후로 줄곧 찾아다녔는데 이 블로그만큼 자세한 곳이 없어서요 ㅜㅜ

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

      질문하는데 죄송하실 필요 전혀없습니다.ㅋ

      OS 차이는 본문에 추가했습니다. 참고하세요.

      일단 엑시노스와 A5 에서 CPU는 없다고봅니다.
      둘 다 삼성에서 만드는데, 굳이 차이를 만들 이유가 없지요.

      MIPS는 Million instructions per seecond
      초당 명령어 처리속도입니다.
      1 MIPS는 1초에 백만개의 명령어를 처리하는거지요.
      스마트폰 성능 비교할 때는 MIPS 보다는 DMIPS를 씁니다.
      정확히는 DMIPS/MHz 이지요.
      MIPS 앞에 Dhrystone(드라이스톤)만 붙은겁니다.
      DMIPS/MHz 는 1MHz당 처리할 수 있는 드라이스톤 명령어 수를 말하는거지요.
      드라이스톤 코드가 기본적으로 정수연산이기때문에, DMIPS 성능비교는 정수연산 성능비교로 볼 수 있습니다.

      MFLOPS는 Million floating-point operations per second 입니다.
      1초에 실행되는 부동소수점 연산 수를 백만단위로 표시하는겁니다.
      30 MFLOPS면 1초에 부동소수점 연산을 3천만번하는겁니다.

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

      연산 비중만 따져보면 정수연산쪽이 높습니다.
      그렇다고 부동소수점 연산이 낮아도 안 되겠지요.
      구체적인 역할까지는 모르겠네요.

      그럴듯한 정수연산 벤치마크 앱이 없어서 어떨지 모르겠지만, ARM이나 제조사 발표 성능만 보면 제조사별로 정수연산성능은 큰 차이가 없습니다.

      AP가 단순히 CPU, GPU를 집적해놓은게 아니기때문에 성능을 평가하는 기준은 다양합니다.
      CPU, GPU 가 기준일수도 있고, 디코딩성능(동영상)을 기준으로 잡을수도 있고요.
      종합적으로 평가하는데 명확한 기준을 잡기가 어렵다고봅니다.
      다만, 가장 대표적인게 CPU, GPU인거지요.

      체감성능을 기준으로 잡는다면, 아무래도 GPU보다는 CPU 성능이 더 중요하겠지요.

  4. addr | edit/del | reply 이상우 2012.03.16 13:02

    애초 ios와안드로읻드 의비교자첵가 물리.

  5. addr | edit/del | reply asd 2015.12.10 22:27

    아이폰6s로 린팩재봣는데 1300mflops가 나오네요 a5때보다 10배가되어버렸군요