스마트폰, 태블릿에 쓰이는 AP(Application Processor)는 수십종이지만, 기반이 되는 아키텍처는 4가지 정도로 압축할 수 있습니다.

스냅드래곤의 Scoripon
ARM의 Cortex-A8, Cortex-A9, Cortex-A5

앞으로 각 아키텍처들을 간단하게 살펴보도록 하겠습니다.




첫번째는 스냅드래곤의 Scorpion 입니다.

스냅드래곤은 원래 금어초를 말하는거지요.
수십개의 꽃이 금붕어가 입을 벌리는 것 같아서 붙은 이름이라던데, 별로 그렇게 안 보이네요. -_-;;
영국에서는 금붕어가 아닌 용같다고, 스냅드래곤이라고 이름 붙였답니다.(Snap Dragon)


(1) 기起 : Snapdragon 

아이폰이 역사상 최초로 장난감으로써의 스마트폰의 가능성을 직접 보여주고 있을 때,

퀄컴에서는 ARM v7 명령어 기반의 Scorpion 아키텍처를 개발하고, 그에 기반한 제품인 스냅드래곤을 발표합니다.
제조사에 제품이 공급되기 시작한 2008년 4분기 당시에 대다수의 AP는 ARM v6 명령어 기반의 ARM11 아키텍처 기반이였습니다.
1.2 Dmips/MHz, L2 캐시는 심지어 없는 경우가 많았던 ARM11 기반에 비해서,
2.1 Dmips/MHz, L2 캐시 256KB 의 스펙을 갖는 스콜피온 아키텍처는 시대를 앞서 간, 엄청나게 우수한 아키텍처임에 분명합니다.
ARM 아키텍처의 라이센스를 구입하여, 제조사마다 독자적인 커스텀이 이루어지는게 일반적이지만,
그 중에서도 스냅드래곤은 그 정도가 매우 강해서, 명령어만 같을뿐 같은 기반이라고 말하기 어려운 수준입니다. 저러한 고성능은 그러한 독자적인 설계의 결과입니다.


(2) 승承 : 선각자

최초로 등장한 스냅드래곤은 QSD8650 과 QSD8250 이였습니다.

클럭이 잘해야 800MHz 선에 불과했던 당시에 1GHz 라는 클럭은 상당한 고클럭이였습니다.
거기에 당시 아이폰 탑재 AP를 제외한 대부분의 AP가 제대로 된 GPU를 탑재하지 않은데 반해, 스냅드래곤은 Adreno200 이라는, 당시로는 상당한 수준의 GPU를 따로 탑재하였습니다.
(당시에도 아이폰 탑재 AP의 제조사가 삼성이였다는건 여러모로 시사하는 바가 많습니다.)

안드로이드가 널리 확산되기 이전, 윈도우 모바일이 iOS의 대항마가 되어보려 발악을 하던 시기가 있었습니다.
그 태생으로 인해 너무나도 무거웠던 윈도우 모바일 6 을 순수하게 성능의 힘으로 부드럽게 돌려냈던게 스냅드래곤이였습니다. (HTC HD2)
ARM11 기반의 AP가 탑재되었던 옴니아에서 윈도우 모바일이 어떤 퍼포먼스를 보였는지를 생각하면 스냅드래곤의 우월한 성능이 드러나는 부분입니다.

이런 고성능을 바탕으로 스냅드래곤은 당시 최상위 제품에 다수 탑재되는건 물론이고,
구글의 레퍼런스 폰에 탑재되기까지 합니다. (넥서스 원)


(3) 전轉 : 짧은 영광

하지만 시간이 지나면서 점차 단점을 드러내게
되는데, 결정적인 계기가 삼성의 허밍버드(현재는 엑시노스 3110 이라고 부르지요.)의 등장입니다.

Cortex-A8 기반인 허밍버드의 등장으로 스냅드래곤은 드디어 성능상에서의 우위를 빼았기게됩니다.

2.0 Dmips/MHz 의 명령어 처리 성능(정수연산 성능)은 스냅드래곤의 2.1 Dmips/MHz 에 밀리지 않는 수준이였습니다. 512KB L2 캐시는 덤.
부동소수점연산 성능은 동클럭에서 Cortex-A8 의 2.4배에 달하는 수준의 고성능이였지만,
안드로이드 2.1 이클리어에서는 둘이 거의 동급이였고,
결정적으로 연산의 대다수가 정수연산이였기때문에 부동소수점연산 성능의 우위가 장점이 되기는 어려웠습니다.

- 이클리어에서 프로요로 넘어오면서 안드로이드의 연산 패턴이 바뀌는데, 이 과정에서 Cortex-A8 은 부동소수점연산 성능이 2배정도로 향상된 반면, 스콜피온은 5배로 상승합니다.
이것이 스냅드래곤이 레퍼런스 폰에 탑재된 탓인지는 모르겠지만... -

결정적으로 GPU의 성능 차이가 너무나 극명했습니다.
당시 최고 수준인 SGX540 을 탑재한 허밍버드에게 스냅드래곤은 그래픽 성능에서 처참하게 밀리게 됩니다.
폴리곤 성능은 비슷했지만, 가장 중요한 픽셀 성능이 크게 떨어져서 종합적인 성능이 SGX540 의 40% 에 불과했습니다.

45nm라는 최신 공정을 사용한 덕에 낮아진 소비전력과 발열은 스냅드래곤의 소비전력과 발열을 단점으로 부각시키게 됩니다.
65nm 공정과 통신칩 통합으로 인한 발열과 소비전력은 어쩔수 없는 것이였지만, 제품의 가치는 상대적으로 평가받는 것이니 어쩔 수가 없었겠지요.

여기서 소위 말하는 '스냅드레기' (스냅드래곤 + 쓰레기) 의 전설이 탄생하게됩니다.
스콜피온 아키텍처 자체는 최신 제품과 경쟁하는데 부족함이 없었지만, 그 외의 부분에서 너무나도 밀렸기때문입니다.
문제는 CPU 외적인 부분때문에 생긴 이미지가 CPU까지 깎아내리는 지경에 이르렀다는겁니다.
덕분에 아직까지 스냅드래곤은 높은 소비전력과 발열, 낮은 성능으로 인식되는 경우가 많습니다.
특히 어설프게 알고있는 사람들에게 말이지요.

이를 해결하기 위해서,
45nm 공정을 적용, 클럭 향상 (1.3GHz), Adreno200 보다 성능이 두배 향상된 Adreno205 를 탑재한,
QSD8650A, QSD8250A 를 출시하지만, 거의 사용되지 않습니다.

이후 Cortex-A5 아키텍처로 생산되는 일부 제품(MSM7X27A, MSM7X25A)과 함께 이를 스냅드래곤 1세대로 분류합니다. (Cortex-A5 는 이후에 다룰 예정.)


45nm 공정이 본격적으로 적용된건 스냅드래곤 2세대부터 입니다.
아키텍처가 근본적으로 같았기때문에 L2 캐시는 여전히 256KB 였고, GPU는 여전히 Adreno205 였습니다.
차이라면, 싱글채널이던 메모리가 듀얼채널을 지원하게됩니다.
1GHz 였던 MSM8255, MSM8655 를 시작으로,
클럭을 1.4GHz, 1.5GHz 로 상승시켜서 성능향상을 꾀한 MSM8255T, MSM8655T 가 출시됩니다.
이 외에 800MHz 의 MSM7X30 도 스냅드래곤 2세대로 분류됩니다.
현재 싱글코어 제품에 가장 많이 사용되고 있는 것들이 스냅드래곤 2세대입니다.

GPU인 Adreno205 는 SGX540과 거의 같은 수준의 성능을 보여줍니다.
(물론 벤치마크상으로... 실제 게임성능은 격차가 여전한듯.)

테그라2 의 등장, SGX540 고클럭 버전의 등장으로 성능상 우위를 점하지는 못하지만, 최소한의 수준은 갖춘 것이지요.

CPU는 듀얼채널과 고클럭을 통한 고성능으로 부족함이 없습니다.
특히, 같은 스콜피온 기반임에도 불구하고, 동클럭 싱글스레드 성능이 듀얼코어 스냅드래곤에 비해 10%정도 높은 성능을 보입니다.
이는 듀얼채널로 인한 효과로 추측됩니다.
(듀얼코어 스냅드래곤 제품은 싱글채널입니다.) 


2세대와 거의 같은 시기에 3세대가 나타나게 되는데, 퀄컴이 본격적으로 스냅드래곤의 브랜드를 정립하기 시작합니다.
1세대, 2세대, 3세대를 각각 S1, S2, S3 로 분류한 것이지요.
세대라는 것이 단순한 출시 시기를 기준으로한 분류가 아닌겁니다.

스냅드래곤 3세대는 듀얼코어 제품들입니다.
MSM8260, MSM8660, APQ8060 의 3가지가 있는데, 클럭은 1,2GHz, 1.5GHz 가 있습니다.

듀얼코어가 되어서 L2 캐시도 두배인 512KB가 되었습니다.
메모리는 싱글채널로 오히려 감소되었는데, 듀얼코어와 GPU 강화로 인한 다이사이즈의 증가를 최대한 억제하기위해서가 아닌가 하는게 저의 추측입니다.

듀얼코어인 이상 Cortex-A9 와 경쟁하게되는데,
2.5 Dmips/MHz 로 성능이 향상된 Cortex-A9 에게 슬슬 성능에서 열세를 보이기 시작합니다.
정수연산 성능은 말할 것도 없고, 그동안 절대 우위를 보였던 부동소수점연산 성능도 비슷한 수준으로 따라잡힙니다.
삼성의 엑시노스의 경우, 동클럭에서 스냅드래곤에 비해 20%이상 높은 부동소수점연산 성능을 보이기까지 합니다.
스냅드래곤이 낮은 성능을 고클럭으로 메꾼다는 소리가 나오기 시작한겁니다.

GPU는 Adreno220 이 탑재되는데, Adreno205 의 두배의 성능을 갖습니다.
그야말로 비약적인 향상으로, SGX540 을 저 밑으로 바라보고, 위로는 SGX543MP4, 테그라3, Mali-400MP4 밖에 없는 수준입니다.
(이 역시나 벤치마크상으로... 실제 게임성능은 격차가 여전한듯.)


(4) 결結 : 현재진행형

빠르게 변하는 IT 계에서 ARM11 을 시작으로 Cortex-A8, Cortex-A9 까지 상대해 온 스콜피온 아키텍처는 엄청나게 장수한 아키텍처입니다.

그것이 가능했던건 성능적인 측면에서 시대를 앞서갔기 때문일겁니다.
지금도 성능 테스트 자료 정리하다보면, 3년 전에 이런 성능의 아키텍처가 나왔다는게 놀라울 때가 많습니다.

스냅드래기의 오명은 분명 오해가 있는 부분이지만, 좀 더 나은 제품과 늘 비교되는건 어쩔 수 없는 부분이겠지요.
그래도 3세대에서 이미지가 많이 나아졌으니까 그걸 위안삼는 것도 괜찮을듯.
지금에와서 최고는 아니지만, 아직까지 쓸만하다는건 분명합니다.

이제 스콜피온 아키텍처도 한계가 보이고 있고, 퀄컴은 다음 아키텍처를 준비하고 있습니다.
Krait 아키텍처와 이를 기반으로 한 스냅드래곤 S4 입니다.

새로운 아키텍처가 나온다해도 스콜피온 아키텍처는 앞으로도 꽤나 오래갈 것 같습니다.
Cortex-A5 기반의 저가형 제품이 여전히 넘쳐나는 상황에서, 스콜피온 아키텍처의 성능은 여전히 경쟁력이 있으니까요.


- 2012.02.29 GPU 관련 내용 정정.


Posted by gamma0burst Trackback 0 : Comment 18

댓글을 달아 주세요

  1. addr | edit/del | reply 항상응원중 2012.01.24 08:02

    이런 휴일중에도 모바일관련 정보 반갑습니다 ㅎ

    제가 모바일관련 정보덕분에 자주들리게 되네요^^

    다음버전도 잘부탁드립니다^^

  2. addr | edit/del | reply T군 2012.01.25 16:52

    항상 잘 보고갑니다~

  3. addr | edit/del | reply 강승원 2012.02.16 20:30

    잘보았습니다.
    앞으로도 유용한 정보 부탁드립니다.

  4. addr | edit/del | reply kinka27 2012.03.02 16:50

    저 질문할게있습니다..;;

    근본적인 질문인데요

    AP칩에 cpu,gpu 등등.. 다른 것들이 모두 포함되어있다고 알고있습니다..

    Ap칩은 엑시노스 나 허밍버드 또는 스냅드래곤을 말하는건가요??

    그렇다면..

    그 Ap칩(예로 엑시노스) 안에는
    Cpu 와 Gpu가 포함되어있는거네요..

    어떤 분이 ARM Cortex 를 설명을 하실때
    이 아키텍쳐를 쓰는 CPU는 테그라2,3 라고 하셔서

    전 테그라 엑시 같은것들은 CPU인줄 알앗는데요..??
    그건 틀린말인가요??

    그리고..
    여기서 질문할게 있습니다 !!
    CPU 이름과 종류는 뭐가있을까요..??
    또한..

    들어가는 순서는
    Ap칩 - Cpu,Gpu - 아키텍쳐 인가요??

    마지막으로 ..ㅠㅠ

    GPU에도 코어가 있다던데 무슨기능을하나요

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2012.03.02 17:54 신고

      AP는 Application Processor의 약자로 일종의 다용도 프로세서라고 보면됩니다.
      cpu,gpu 등이 포함되어있는 칩은 원래는 SoC(System on Chip)이라고 부릅니다. 칩 하나에 시스템을 구성하는 모든 요소가 들어있다는거지요.

      사실 AP와 SoC 개념적으로 다른 것인데, 현재에 와서는 사실상 같은 뜻으로 사용되고 있습니다.
      그렇기때문에 AP는 시스템을 구성하는 요소가 집적된 칩하나를 말하는 것입니다.

      사람들이 흔히 말하는 테그라, 엑시노스, 허밍버드, 스냅드래곤은 AP를 말하는겁니다.

      아시다시피 AP에는 cpu, gpu 등이 들어가지요.
      (메모리컨트롤러, 동영상디코더, 통신칩, ISP 등등이 있지만 대표적인게 저 둘입니다.)
      Cortex 같은 아키텍처는 쉽게 말하면 cpu의 설계도같은겁니다.
      Cortex-A9 기반 CPU라고한다면, Cortex-A9 아키텍처라는 설계도로 만들어진 CPU라는 의미입니다.
      cpu, gpu같이 AP 들어가는 요소의 이름이 아닌거지요.

      AP는 달라도 아키텍처는 공통적인 요소이기때문에 CPU에 다른 이름을 붙이지는 않습니다.
      무슨 아키텍처 기반이라고 부르지요.

      아키텍처는 매우 다양한데 대표적인게,
      ARM9, ARM11, Cortex 계열, Scorpion, Krait 등입니다.
      Cortex 계열은 우리가 흔히 알고 있는 A8,A9 뿐만 아니라 M계열, R계열 등도 있습니다.

      ARM으로 시작하는 구형 아키텍처와 Cortex 계열은 기본 설계를 ARM에서 했고, 이걸 AP 제조사에서 IP(일종의 생산 라이센스라고 보면 됩니다.)를 구입해서 생산하는겁니다.
      물론 똑같이 만들지는 않고 자신들의 제조 목적이나 방향에따라 커스텀이 가해지는 것이 일반적입니다.

      Scorpion, Krait는 ARM의 설계를 바탕으로 퀄컴에서 만든 아키텍처입니다.
      타사에서 하는 수준 이상으로 커스텀이 이루어져서 사실상 ARM과는 다른 아키텍처로 분류해야합니다.
      실제 성능도 다르고요.

      GPU에는 기본적으로 파이프라인이라는게 있고, 이 파이프라인의 묶음을 쉐이더프로세서라고 합니다.
      각 파이프라인 혹은 쉐이더프로세서가 그래픽 처리를 하는 단위인거지요.
      GPU IP 제조사들이 소비자에게 홍보하기 쉽게 쉐이더프로세서 혹은 파이프라인 하나를 코어라고 부르는겁니다.

  5. addr | edit/del | reply kinka27 2012.03.02 18:15

    네 감사합니다..

    근데.. 저가 알던 개념과는 조금 다른것이있어서요..

    스마트폰 메인보드 안에는

    SoC 와 베이스밴드 칩
    또하나 AP칩이 있다고 알고있었는데

    퀄컴이 그 3개를 모두 포함해서
    SoC칩 하나로만 만든것을 원칩셋으로 알구있구요...;;

    근데 SoC 와 Ap가 같으면
    메인보드 안에는 Ap칩이 없다는 얘기가 되는건가요..?

    그렇담 원칩셋은 SoC칩과 베이스밴드칩 만 통합된거구요...


    아맞다... 또 다른것두 있습니다..

    CPU 의 갯수의 따라 부르는 단위가
    듀얼코어, 쿼드코어로 나뉘어지는건가요??

    아니면 CPU안에 자체적으로 코어가 있는건가요??

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2012.03.02 18:35 신고

      스마트폰에 있어서는 SoC 나 AP 나 같은겁니다.
      SoC가 있다고 해도되고, AP가 있다고 해도되는겁니다.
      SoC가 있다고 AP가 없다는건 틀린 말이지요.

      베이스밴드칩은 AP에 통합할 수도 있고, 안 할수도 있습니다.
      스냅드래곤을 제외한 AP들은 AP에 베이스밴드칩이 통합되어있지 않습니다.
      스냅드래곤도 베이스밴드칩을 통합한 것과 그렇지 않은 것이 따로 있고요.

      CPU부분의 코어개수를 놓고 듀얼, 쿼드 그러는거지,
      CPU 자체가 몇개씩 들어가지는 않습니다.

  6. addr | edit/del | reply kinka27 2012.03.02 18:52

    아 ..
    이해 되었습니다 ㅎㅎ..

    CPU안에 코어가 자리잡고 있던거군요... ㅇㅎ..

    네 감사합니다 !! 블로그 잘 보고있어요 !!

  7. addr | edit/del | reply 의성 2012.03.07 01:56

    로드맵에 의한 격차로 생각하고 있습니다
    A8이 발표된게 2005년, 실제 코어 개발은 2006년부터라고 가정하고 코어를 완성하기까지 대략 2~3년이 걸리는 걸로 잡고 스냅드래곤이 나온 시기는 2008년 4분기(발매는 2009년 2분기 초)였죠 A9의 발표는 2007년이니 삼성이나 엔비디아에서 A9 듀얼코어 개발을 2008년쯤부터 했다고 가정하면 엑시노스나 테그라2 발매기간과 적당히 맞아 떨어지게 됩니다
    굳이 퀄컴 입장에서도 엄청난 성능 차이가 나는 게 아닌데 새 설계로 바꿀 필요는 없었을 겁니다 스콜피온 코어를 개량하는 선으로 그치고 바로 A15로 넘어간 게 아닐까 하네요 만약에 A9 기반의 설계로 갔다면 스냅드래곤3 폰은 아직도 안 나오고 있었을 겁니다

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2012.03.07 02:43 신고

      전반적으로는 그렇겠지요.
      타이밍상 Cortex-A9 기반의 개량은 의미없는 가정이긴하지만요.

      Scorpion 이 Cortex-A8 기반의 개량이라는 것과,
      Krait가 Cortex-A15 기반의 개량이라는게 맞는지는 의문입니다.

      스콜피온의 경우, 개발에 4년이 걸렸는데, Cortex-A8 발표가 2005년 10월입니다.
      퀄컴이 제조사에 공급을 시작한게 2008년 4분기이니 시기상으로 안 맞지요.
      ARM11 을 기반으로 개량했다고 보는게 맞을겁니다.
      물론 그 과정에서 ARM과의 공조도 있었을겁니다.
      그 결과물이 스콜피온과 Cortex-A8 로 서로 달랐을뿐이지요.

      이건 Krait도 마찬가지입니다.
      Cortex-A15 가 발표된게 2010년 9월이고, Krait 발표가 2011년 2월입니다.
      1년만에 뭔가 나올리가 없지요.
      Cortex-A9 기반으로 차기 제품에 대한 개발이 시작된 것으로 보입니다.
      물론 이번에도 공조는 있었겠지요.
      Cortex-A15 의 개발에 있어서 삼성, TI 등과의 공조가 있었다고 ARM에서 직접 밝히는걸봐도 말이지요.

      다만, ARM과 퀄컴의 개발 결과물이 크게 달랐던 스콜피온 때와는 다르게, 이번에는 크게 다르지 않아보입니다.
      물론 아키텍처적인 차이가 있기는 분명 있더군요.

  8. addr | edit/del | reply 의성 2012.03.07 13:38

    역시 A8 기반이란 말도 근거가 없었군요 배우고 갑니다

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2012.03.07 21:09 신고

      감사합니다.

      좀 더 찾아보니 2007년 5월에 마이크로프로세서포럼에서 Scorpion 발표했다는 기사도 있네요.

  9. addr | edit/del | reply 2012.07.25 23:51

    비밀댓글입니다