(1) 기起 : Cortex-A8

ARM의 Cortex-A8 을 이전의 ARM11 에 비해 성능이 크게 향상되었습니다.
명령어처리능력(정수연산)은 1.2 Dmips/MHz 에서 2.0 Dmips/Mhz 로 70% 가까이 상승하였고,
부동소수점연산 성능은 동클럭에서 2배로 증가했습니다.
비록 부동소수점연산 성능은 스냅드래곤에 크게 뒤졌지만, 연산의 80~90% 가 대부분이 정수연산인 상황에서 그런건 경쟁에 문제가 되지 못 했습니다.

Cortex-A8 기반의 제품을 생산하는 곳은 Ti, 삼성, Rockchip, Marvell, ZiiLAB 등이 있고,
이 중에 메이저는 Ti 와 삼성이였지만, 단연 부각을 나타낸 곳은 삼성입니다.

이번 포스팅은 삼성의 허밍버드를 중심으로 이야기를 진행하겠습니다.

(삼성의 허밍버드)

(허밍버드는 벌새를 의미합니다. 초당 40~60회의 날개짓 소리가 윙윙거린다고 허밍버드.
삼성이 벌새라는 코드명을 붙인건 빠른 날개짓같은 고클럭을 의미하는 것이였을지도?)

(2) 승承 : 허밍버드 - 삼성 스마트폰의 날개짓

최초의 Cortex-A8 기반의 제품은 Ti 와 삼성에서 비슷하게 나왔습니다. (탑재 제품 출시가 09년 3분기)
삼성은 2009년 7월에 허밍버드를 발표하지만, 허밍버드가 탑재된 제품(갤럭시 S)이 출시되는건 2010년 6월의 일이였습니다.

삼성의 허밍버드는 여러가지로 일반적인 Cortex-A8 과는 다른 제품이였습니다.
L2 캐시는 512KB 로 일반적인 Cortex-A8 의 두배였고, 최초의 45nm 공정이였으며,
당시 Cortex-A8 기반에서는 힘들다고 여겨졌던 1GHz 라는 클럭을 달성한 최초의 제품입니다.
특히 1GHz의 클럭을 달성한데는 Intrinsity 와의 공동개발이 주효했다는게 일반적인 분석입니다.

설은 분분하지만 정황상 허밍버드의 개발과정은 다음 정도로 추측됩니다.

삼성은 이전부터 S5L8900, S5PC100 등을 애플에 공급해왔고, 아이폰, 아이팟 등에 탑재되어왔습니다.
아이폰 3GS 에 사용된 S5PC100 은 Cortex-A8 기반 싱글코어로 833MHz 입니다.
(아이폰 3GS에는 600MHz 로 다운클럭해서 탑재)
애플은 차기 제품을 위한 더 빠른 제품을 삼성에 요구하게되고, 삼성은 더 높은 클럭을위해 Intrinsity 와 함께 개발을 하게됩니다.
Intrinsity 의 Fast14 1-of-n domino logic (NDL) 기술을 통해 Cortex-A8 표준 설계의 일부를 바꿔서 새로운 코어를 개발합니다.
애플의 요청에 의해 개발이 시작되었기때문에 5500만달러로 알려진 개발비용은 삼성과 애플이 나눠서 부담했다는 얘기도 있습니다.
이렇게 새로운 코어가 개발된 것이 2009년 7월이고, 이 때는 애플의 A4 와 삼성의 S5PC110이 테이프 아웃되고, 삼성이 허밍버드를 발표한 때이기도 합니다.
AP 개발에 보통 2~4년이 걸리는데, 삼성은 1년 정도의 기간에 허밍버드의 개발을 완료합니다.
(스냅드래곤 개발에 4년이 걸림.)
이는 이전부터 SoC 개발을 해온 삼성의 노하우가 있었기때문이라고 밖에 해석할 수가 없습니다.
(자료에 보이는 것만해도 삼성이 SoC 를 만든건 2003년 이전, 0.25미크론(250nm) 공정 때부터입니다.)

결국 A4 와 S5PC110 은 모두 같은 허밍버드 코어 기반입니다.
후에 애플은 Intrinsity 를 인수합니다만, 애플이 기본적으로 완전한 설계 능력이 있는가에 대해서는 상당히 회의적입니다.

이렇게 탄생한 허밍버드로 삼성은 큰 전환점을 맞게됩니다.
스마트폰 시장이 급격히 팽창하는 상황에서,
애플이라는 초 거대 고객을 대상으로 A4 칩을 공급하고, 동시에 자사의 제품에 탑재된 AP도 생산하면서,
삼성의 파운드리 사업은 투자액과 규모에서 크게 성장했고, 그 성장은 현재진행형입니다.
더 이상 메모리만으로는 성장이 어렵다는 판단은 이전부터 있었지만, 그에 대처한 행동이 본격적으로 나타난겁니다.

A4 가 탑재된 아이패드와 아이폰4 의 성공, 갤럭시S 의 성공으로 삼성은 스마트폰 AP 점유율 1위,
파운드리 순위도 2011년 기준 4위에 오르는 급성장을 보입니다.
(2008년 23위, 2009년 10위, 2010년 10위)
최신 공정이면서, 애플의 엄청난 주문량을 감당할 수 있는 양산력이 삼성 파운드리의 이미지로 굳어갑니다.

허밍버드 코어는 기본적으로 클럭이 높은데다가,
타사의 Cortex-A8 에 비해 동클럭 부동소수점연산 성능이 10% 이상 높은 등 성능면에서 우수했습니다.

(L2 캐시 용량이 두배이기때문인지...)
OMAP3 등 다른 칩들이 커스텀이라는 명목하에 각종 기능을 제거하고, 그로인해 동영상 재생 등에서 부족한 성능을 보인데 반해, 삼성은 무인코딩 1080P 재생으로 대표되는 고성능을 보여줍니다.
(AMOLED 와 함께 갤럭시 S 를 동영상 머신으로 평가하는 이유 중의 하나)

갤럭시 S 에 탑재된 S5PC110은 GPU로 당시 최고 수준은 SGX540 를 탑재하는 등, 최고 수준의 스펙을 갖추었는데, 허밍버드의 등장으로 스냅드래곤은 사람들의 인식에서 안 좋은 제품으로 인식되기 시작합니다.
(구체적인건 다음 포스트 참고 :
모바일 AP 둘러보기. (1) Scorpion)

삼성이 최고의 하드웨어를 선택한데에는 옴니아의 실패가 컸습니다.
옴니아는 판매 자체는 괜찮았지만, 지금도 간간히 회자되면서 조롱당하는 다양한 마케팅, 실제 써본 사람들의 소감, 사후지원 부실 등으로 인해 이미지는 최악으로 흘러갑니다.
이 때문에 아직까지 국내에서 윈7 폰에 옴니아 브랜드를 사용하는데 망설이고 있다는 소리가...

그 때는 다들 광기어려서 옴니아를 깠는데, 시간이 지나서 냉정해졌는지 옴니아2 가 그랬던건 윈도우 모바일이 원인아니겠냐는 얘기정도는 나오고 있습니다.
물론 그들이라도 옴니아1 은 도저히 쉴드를 쳐줄 수 없고, 윈도우 모바일 탓으로 돌리기엔 HTC HD2 가 너무 괜찮았지요.
(前 옴니아1 유저로서 말하건데, 옴니아1 에서 쓸만한건 카메라뿐입니다.)

허밍버드, 갤럭시 S 를 기점으로 삼성의 스마트폰 정책은 크게 바뀌었고, 지금은 안드로이드폰 제조사 중 제일 낫다고 봐도 무방한 수준입니다.
(갤럭시 S ICS 미지원까는거 보면 답 없어요. 통신사를 까는거면 이해라도 하지.)

당시 체감성능이 더 높은 허밍버드 탑재 갤럭시 S 가 쿼드란트에서 넥서스원 등 스냅드래곤 탑재 제품보다 점수가 낮은 상황은 많은 논란을 일으켰습니다.
스냅드래곤이 특성상 일부 테스트를 패스해버리기때문에 점수가 더 높게 나온다는 얘기가 나왔지만,
레퍼런스 스타일로 스마트폰을 만드는 HTC의 스타일과 쿼드란트의 궁합이 좋았던 것,
갤럭시 S 의 낮은 I/O 성능 (RFS + 원낸드 조합),
이 둘이 함께 만들어낸 결과였을뿐이지요.
어찌되었건 이를 계기로 쿼드란트는 '뻥드란트' 란 소리를 듣게 됩니다.

S5PC110 은 삼성이 엑시노스 브랜드를 런칭한 이후, 엑시노스 3110 으로 불리게 됩니다.


(3) 전轉 : 독주(獨走)

삼성이 허밍버드로 승승장구하고, 결국 구글의 레퍼런스 폰(넥서스 S)에 적용되기까지한데 반해,
다른 업체들은 이렇다할 모습을 보이지 못 합니다.

Ti 는 45nm 공정 도입 이후 1GHz 제품을 선보입니다.
65nm, 45nm 제품이 모토로라 제품에 대거 적용되지만, 탑재된 제품들이 시원찮아서 부각되지 못합니다.
생산량의 대부분이 자사의 제품에 탑재된 허밍버드와 대조적인 모습이고,
스마트폰 시장에서 갤럭시 시리즈로 대표되는, 삼성의 성장과 모토로라의 몰락이 교차되는 순간입니다.

Marvell 은 Cortex-A8 를 커스텀해서 Sheeva CPU를 만들고, 이를 탑재한 Armada 600 시리즈를 발표합니다.
2.42 Dmips/MHz 의 고성능을 가졌지만, GPU가 개발자들에게 뻥스펙이라는 소리를 듣는 등,
탑재된 제품이 시장에 나오는 경우는 거의 없었습니다.


Rockchip 과 ZiiLAB 도 탑재 제품은 손에 꼽고, 시장에서 구경할 수 있는건 한 두개에 불과한 수준입니다.

- 2012.02.29 추가
최근들어 Rockchip 을 필두로 저가형 제품에 다수 탑재되는 경우가 늘고 있습니다.
동영상 지원이 강화되면서 나름 쓸만하다는 평가가 있지만, 절대적인 성능이 부족한건 어쩔 수가 없습니다.


(4) 결結 : 시대를 만든 1세대의 한계

2011년과 함께 모바일 AP도 듀얼코어의 시대에 들어섭니다.
처음부터 듀얼코어에 대한 준비가 되어있었던 스콜피온 아키텍처와는 다르게 Cortex-A8 은 멀티코어를 고려하지 않은 설계입니다.
결국 멀티코어화를 고려한 Cortex-A9 로 대세는 넘어갈 수 밖에 없었습니다.

비록 기간은 매우 짧았지만, Cortex-A8 은 팽창하는 스마트폰 시장에서 ARM 아키텍처의 유용성을 입증한 제품이였고, 현재 ARM의 Cortex 가 모바일 AP 시장을 지배하는데 가장 큰 역할을 한 아키텍처임에 분명합니다.

또한, 삼성의 파운드리, 스마트폰을 일으킨 아키텍쳐이기도 하겠지요.


Cortex-A8 은 스마트폰 1세대를 지배하면서 Cortex 의 시대를 만들었지만, 태생적인 한계로 그 이상 나아가지 못한 아키텍처일겁니다.
한 시대를 풍미했고, 과거는 미화된다지만, 이제와서 쓰기에는 여러모로 아쉬운 부분이 많은 제품이 되었지요.



p.s 중간에 끊으니 역시 마무리가 어렵네요. 다음 편은 제조사의 춘추전국시대라 할만한 Cortex-A9 의 시대.


Posted by gamma0burst Trackback 0 : Comment 12

댓글을 달아 주세요

  1. addr | edit/del | reply 항상응원중 2012.01.25 07:09

    오늘도 재미있는 이야기 감사합니다
    다음 Cortex-A9의 이야기도 기대됩니다 ^^

  2. addr | edit/del | reply 토토 2012.01.25 09:47

    얼마전부터 감마님 블로그 알게되어 너무나 좋은정보들 이해하기 쉽게 알아가고 있습니다. 항상 감사드린다는말 전해드리고 싶어요~ ㅎㅎ 다음 포스팅도 기대하겠습니다!

  3. addr | edit/del | reply ^^ 2012.01.25 18:44

    좋은 글 감사합니다!!!
    북마크했어요!!ㅎㅎ

  4. addr | edit/del | reply Sythez 2012.01.25 23:01

    잘봤습니다 ^^ 이해가 잘 됩니다 한가지 궁금한 것이 있는데 cortex-a8 에서 a9 으로 넘어가게 된 이유가 멀티코어 말고 또 있나요?

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

      가장 큰 이유는 시장의 요구가 저전력 고성능으로 흘러갔기때문이라고 봅니다.

      고성능을 위해서는 클럭을 올리거나, 클럭당 성능을 올려야하는데,
      전자의 방법은 소비전력의 상승이 따라오기때문에 모바일 기기처럼 소비전력에 민감한 제품에 적용하기에는 무리가 있지요.
      더 낮은 공정으로 해결하는 방법도 있지만, 결국 최선은 후자의 방법입니다.
      같은 성능을 더 낮은 클럭으로 달성할 수 있으면, 전력대성능비(흔히 전성비 그러지요.)는 상승하는 효과를 가져오니까요.
      그 때문에 계속해서 새로운 아키텍처를 내놓는거고요.

      멀티코어화도 저러한 흐름의 일부입니다.
      같은 성능의 고클럭 싱글코어와 저클럭 듀얼코어를 비교하면 저클럭 듀얼코어쪽이 소비전력이 더 낮습니다.

      전성비를 높이기위해선 멀티코어와 더 높은 클럭당성능이 필요했고, 그걸 만족하는게 Cortex-A9 였지요.

  5. addr | edit/del | reply 잘봤습니다 2012.03.03 18:41

    이 포스팅역시 잘 보고 갑니다!!
    근데 i/o 성능이요... 벤치마크 프로그램에서도 i/o 점수라 하던데
    여기서의 i/o 는 무엇인지 설명해주실수 있나요? ㅠㅠ
    답변해주시면 감사하겠습니다!!!

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2012.03.03 19:05 신고

      i/o 는 input/output 를 말하는 것으로, i/o 성능은 데이터의 입출력 성능을 말하는겁다.

      보통 벤치마크 앱에서 측정하는건 내장 메모리와 외장 메모리의 읽기, 쓰기 속도입니다.

      외장 메모리(보통 마이크로 SD카드지요.) 성능은 SD카드 스펙이 달린 경우가 많고,
      내장 메모리는 파일 포맷과 플래시메모리 종류에 따라 달라집니다.
      갤럭시S 의 경우 파일 포맷과 플래시메모리 종류, 모두에서 그렇게 좋지는 않았지요.

  6. addr | edit/del | reply Nagune 2012.10.17 11:08

    ARM 표준설계를 사용하는 삼성이 CPU 설계능력이 뛰어나다고 하신 반면, 애플의 설계능력이 의심스럽다고 하신 이유가 궁금하네요.

    오래 전 글이라 이번에 애플이 설계한 A6에 대한 이야기는 하지 않겠습니다. (A6는 표준설계를 사용하는 삼성과는 달리, 인스트럭션셋 정의만을 라이센싱해서 만들어진, 애플이 직접 설계한 CPU입니다.)


    애플은 오래 전 부터 Power PC 얼라이언스의 중심이었고 꾸준히 자사 제품에 탑재해 왔습니다. 지금이야 인텔을 쓰지만, PS3의 셀프로세서가 바로 Power PC 아키텍처로 설계된 프로세서인 만큼 성능상 이점이 있는 녀석이죠.

    이미 애플은 오래 전 부터 자체 CPU를 설계해 왔습니다. 모토로라와 공동설계를 하거나 IBM과 공동설계를 하거나 하면서 꾸준한 프로세서 설계력을 누적시키고 있었습니다. 그간 인수한 CPU 설계업체도 많습니다. 본문에 나온 Intrinsity는 그중 하나일 뿐이죠.


    반면 자체 설계능력이 없는 업체는 오히려 삼성입니다.
    ARM프로세서도 항상 아키텍처 라이센싱을 통해 생산하고 있죠. 역사상 자체 CPU를 설계한 적도 없습니다.

    삼성 프로세서가 성능상 우위를 가지는 것은 자체 FAB을 보유함으로써 기술주기를 타 업체보다 앞당길 수 있기 때문입니다. 삼성 프로세서가 성능이 높은 이유는 ARM 아키텍처가 개선되었기 때문이지, 삼성이 개선시킨 것은 아닙니다.

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2012.10.18 19:12 신고

      A6는 상황이 독자설계 확정으로 가고 있네요.
      (anandtech 아이폰5 리뷰에서 자세하게 다뤄놨듯이..)

      애플 설계 능력 운운한건 ARM 기반 얘기입니다.
      Power PC 프로세서 쓰던 적도 있었지요.
      결국 인텔에 상대가 안 되서 인텔 X86 프로세서쓰고 있지만요.

      애플이 과거에도 설계능력이 있을수도 있었겠지요.
      그런데 그게 ARM 프로세서와 관련이 있었나가 관건입니다.
      intrinsity는 삼성과 협업하는데 회로 수정에 관여했던 것으로 알려져있을뿐입니다.
      차라리 몇년전에 인수한 P.A semi가 독자 설계 기술측면에서는 더 설득력있는 기업이지요.

      그리고,

      삼성이 ARM 표준설계를 사용한다고 그냥 ctrl+c, ctrl+v 겠습니까?
      표준설계니 라이센스를 받아봤자 그게 무슨 붕어빵틀도 아닌데 바로바로 딱딱 찍어서 써먹겠습니까.
      그렇게 따지면, A4나 허밍버드가 기형적인 L2 캐시를 갖고 있는건 어떻게 설명하실건가요.

      ARM 아키텍처가 개선되었기때문에 성능이 높다는 것도 어불성설입니다.
      그러면 동일 아키텍처를 사용한 타사 제품에 비해 성능상 우위를 보이는건 어떻게 설명이 가능한가요.
      굳이 Cortex-A8 이후를 들지 않더라도 이전부터 삼성 ARM 프로세서는 성능적으로 우수했습니다.
      인텔이 ARM 프로세서 생산하고 있을때조차 말입니다.

      마지막 문단도 딱히 맞지가 않는게,
      님 말대로 삼성이 자체 팹을 통해 신기술 주기를 앞당기는게 절대 아니거든요.
      신규 아키텍처가 나오고 나서 실제 제품화되어 출시되는 과정에 있어서, (최소한 Cortex-A9 부터) 삼성은 결코 선두적인 입장이 아니었습니다.
      Cortex-A9 는 엔비디아가 처음이었고, 듀얼, 쿼드코어도 엔비디아였으면, Cortex-A15급은 퀄컴이 처음입니다.
      (Cortex-A15는 공정 전환에서 타사들이 버벅거리고 있는지라 어떻게 될지 모르겠지만...)
      이렇게 타사보다 늦게 라인업을 끌고 가는데, 어떻게 기술주기를 앞당김으로써 성능 우위를 가져갈수 있다는건가요?
      순수하게 제품 성능에서 차이가 나니까 성능우위를 가져가는거지요.

      너무나도 호언장담을 하시니까 반박하면서 긴가민가할 지경이네요.