(1) 기起 : Cortex-A9


Cortex-A9 는 Cortex-A8 에서 많은 부분이 바뀌었습니다.

가장 큰 변화는 In-Order (순차실행)에서 Out-of-Order (비순차실행)으로 바뀐 것입니다.
무겁고 느린 명령어를 처리하게되면 병목으로 인해 체감성능이 크게 떨어지는 순차실행에 비해,
비순차실행은 실제 성능향상치보다 체감성능향상을 더 크게 느낄 수 있게 만드는 부분입니다.

멀티코어 지원도 중요한 변화입니다.

명령어처리능력(정수연산)은 2.5 Dmips/MHz 로 Cortex-A8 에 비해 25% 증가했으며,
부동소수점연산 유닛도 대폭 강화되어, 성능이 Cortex-A8 에 비해 3배 수준으로 증가합니다.
비로소 모든 면에서 스냅드래곤을 넘어서는 성능을 갖춘겁니다.
(좀 오래걸렸지요?)


(2) 승承 : 듀얼코어라고 다 같은게 아니다.

제조사에게 있어서 듀얼코어와 Cortex-A9 는 피할 수 없는 선택이였습니다.
시장의 요구가 저전력 고성능, 즉 더 높은 전력대성능비(전성비)로 흘러가고 있는 상황에서,
클럭당 성능이 떨어지는 Cortex-A8 을 언제까지 붙잡고 있을 수는 없었습니다.

Cortex-A9 의 더 높은 클럭당성능,
같은 성능을 더 낮은 클럭으로 달성할 수 있는 듀얼코어화,
이 둘의 조합으로 더 높은 전성비를 달성할 수 있었던 것이지요.

하지만 멀티코어 지원이라고 스콜피온과 Cortex-A9 가 같았던건 아닙니다.

스콜피온 아키텍처 기반의 듀얼코어의 경우, 각 코어에 전압과 클럭이 서로 다르게 조정됩니다.
싱글스레드 연산의 경우, 하나의 코어만 클럭이 상승하고, 나머지 코어는 낮은 클럭을 유지하는거지요.
소위 말하는 '비동기식' 입니다.

이에 반해, Cortex-A9 는 기본적으로 '동기식' 입니다.
작업의 종류에 관계없이 두 코어가 같은 전압과 클럭으로 동작하는거지요.

이론적으로는 비동기식이 소비전력 측면에서 유리합니다.
Cortex-A9 기반 쿼드코어인 테그라3 도 소비전력을 이유로 비동기식을 선택하고 있습니다.

하지만 단점도 없지 않아서,
클럭 변화가 연산량의 변화 속도를 따라오지 못하는 경우가 있습니다.

어플이 멀티코어를 제대로 지원하지 못 하는 경우, 제 성능을 내지 못하는 문제도 있습니다.

이 때문에 스냅드래곤의 멀티코어 효율은 동기식에 비해 낮습니다.
테그라3 의 멀티코어 효율도 쿼드코어라고 보기 힘든 수준입니다.


(3) 전轉 : 춘추전국시대

Cortex-A8 이 ARM 아키텍처의 유용성과 시장성을 보여준 덕인지, Cortex-A9 기반 제품을 설계하는 곳은 급격히 늘어납니다.
대표적인 곳만해도, 삼성, Ti, 엔비디아, 르네사스, 자일링스, ZiiLAB 등이 있고,
이 중 스마트폰, 태블릿 시장을 한정한다면 3대 메이저는 삼성, Ti, 엔비디아 입니다.

(실제 AP 시장 점유율은 스마트폰, 태블릿 시장 점유율과 다릅니다.
AP가 스마트폰, 태블릿에만 쓰이는건 아니기때문이지요.)

- 엔비디아
최초의 듀얼코어 제품은 엔비디아에서 나옵니다. 테그라2 이지요.
최초의 듀얼코어라는 이름을 달고 나온 테그라2 는 LG, 모토로라, HTC 의 일부 제품에 사용되었지만,
스마트폰에서 그렇게 좋은 성과를 내지는 못했습니다.

태블릿에서는 대거 채용되면서, 출시되는 태블릿의 태반이 테그라2 를 탑재하였지만,
스마트폰에 비해 시장이 작았기때문에 모바일 AP에서 엔비디아의 점유율을 올리는데 도움이 되지는 못했습니다.

(엄청난 악평에 시달린 테그라2)

테그라2 는 1세대 테그라가 얻었던 '테구라' 라는 오명을 그대로 잇게됩니다.
(여담이지만, 1세대 테그라가 '테구라' 라고 불린건 터무니없는 저전력으로 광고했다가 그게 거짓으로 들통났기때문입니다.)
가장 결정적인 원인은 NEON 의 삭제였습니다.
(다이 사이즈를 줄이기위한 것이 아닌가 추측됩니다.)
미디어 프로세싱 엔진인 NEON 의 삭제로 테그라2 는 동영상 코덱 호환성에서 낙제점을 받습니다.
엔비디아에서 이를 대체하기위해 부동소수점연산 유닛을 강화하고, 다른 명령어를 추가하는 등,
다른 방법을 갖추었지만,
레퍼런스 스타일에서 벗어난 설계에 맞춰주는 어플, 펌웨어 제작사가 많을리가 없지요.

GPU 업계의 양대 산맥인 엔비디아이기에 GPU성능에서 크게 기대하는 부분도 있었습니다.
하지만, 테그라에 탑재된 GeForce ULP는 턱없이 부족한 픽셀성능으로 인해,
타사의 Cortex-A9 듀얼코어와 조합된, SGX543MP2, Mali-400MP4, Adreno220 등에 (벤치마크 상에서) 밀리고, 심지어 300MHz로 클럭을 올려서 탑재된 SGX540 에도 밀리는 모습을 보입니다.
그나마 위안이 되는건 엔비디아가 테그라존을 만들어 자사의 GPU에 최적화된 게임을 다수 지원하려는 의지를 보였다는 것 정도입니다.
(게임 유저들이 느끼는 테그라에 대한 만족도가 제법 높은걸 보면, 테그라존은 의외로 성과를 거두고 있는 것으로 생각됩니다.)


(테그라3 는 엔비디아에게 전화위복의 기회가 될것인가...)


이후 엔비디아는 최초의 쿼드코어인 테그라3 도 출시합니다.
소비전력을 의식해서 4+1 비동기식 멀티코어 구조를 선택하고, 테그라2 에서 빠졌던 NEON 도 들어갔습니다.
GPU는 픽셀성능이 대폭(2배) 강화됩니다.

CPU 성능은 아직까지 탑재 제품이 별로 없는 관계로 평가하기는 이르지만,
GPU 성능은 픽셀성능 강화로 테그라2 대비 3배 수준 입니다.
현재 출시된 제품 중에서는 위로는 SGX543MP2 밖에 없는 수준의 고성능이지요.

- 삼성
삼성은 코드명 오리온으로 알려진 Cortex-A9 기반 듀얼코어 제품을 엑시노스 4210 (Exynos 4210) 으로 명명하고, 자사의 AP 브랜드인 엑시노스를 런칭합니다.
(기존의 허밍버드 S5PC110 은 엑시노스 3110 으로 부르게 됩니다.)
엑시노스 4210 은 초기에 1GHz 로 알려진 클럭을 1.2GHz 로 올려서 출시합니다.
CPU는 타사의 제품과 비교해서 동클럭 부동소수점연산 성능이 5~20% 높습니다.
갤럭시 노트에는 1.4GHz로 클럭을 올려서 탑재되어 더 높은 성능을 보여줍니다.

(2% 아쉬웠던 엑시노스)


다만, GPU가 말이 많았습니다.
당시 생소했던 ARM의 Mali-400MP4 가 탑재됩니다.
소비전력을 위해 400MHz 에서 266MHz 로 다운클럭해서 탑재되었음에도 불구하고 스펙이 굉장히 높아서,
출시 당시에는, 벤치마크에서 SGX543MP2 를 제외하고는 적수가 없을정도로 높은 성능을 보였습니다.
문제는 호환성.
아이폰으로 인해 PowerVR SGX 로 통일되었다고해도 과언이 아니었던 게임 어플에서, Mali 계열은 제대로 된 성능을 보여주지 못 합니다.
갤럭시 S2 의 엄청난 판매량과는 별개로 게임을 즐기는 쪽에서는 혹평을 받습니다.
오죽하면 테그라존처럼 말리존이라도 만들어야한다는 말까지 나오는 수준.

이런 엑시노스의 성능상의 장단점과는 관계없이 갤럭시 S2 는 갤럭시 S 이상의 판매고를 올립니다.
확대되는 스마트폰 시장과 갤럭시 S 로 만들어진 안드로이드 폰 중 최고 스펙이라는 이미지의 시너지 효과겠지요.

다른 한편으로는 애플에 A5 칩을 공급합니다.
(클럭에 논란이 있지만,) CPU - 1GHz Cortex-A9 듀얼코어, GPU - SGX543MP2 의 스펙을 갖는 A5 는
아이패드2, 아이폰 4S 에 탑재됩니다.

최고의 GPU 성능을 보여주었지만, 그 성능만큼 소비전력도 높아서 다운클럭을 해도 아이폰 4S 에 탑재하는데 어려움이 많았다는 얘기도 있었습니다.

소니에는 PS 비타에 탑재된 AP를 생산, 공급합니다.
Cortex-A9 쿼드코어, SGX543MP4+ 의 스펙을 갖고 있는, 두번째로 나온 쿼드코어 제품이라고 볼 수 있습니다.

갤럭시 S2 와 아이패드2, 아이폰 4S 의 엄청난 판매고로 삼성은 모바일 AP 시장 점유율 62.6% 를 달성합니다.
(2010년 기준)

엑시노스 4210 의 차기작으로,
32nm 공정의 엑시노스 4212, Cortex-A15 기반 듀얼코어인 엑시노스 5250 등이 예정되어 있습니다.

- Ti (Texas Instruments)
상당히 복잡했던 OMAP3 라인업과는 달리 OMAP4 라인업은 매우 간결하게 바뀌었습니다.
OMAP 4430, 4460, 4470 3가지 뿐이지요.

OMAP3 때처럼 OMAP4 는 모토로라의 제품에 다수 탑재됩니다.
하지만 그 수는 크게 줄어듭니다.
모토로라도 출시 제품의 종류만을 늘려서는 스마트폰 시장에서 이기기 힘들다는걸 깨달은거지요.
(LG는 아직도 모르는거 같더군요.)



(특별한 특징이나 컨셉이 없었던 OMAP4)


(갤럭시 넥서스에 탑재된 OMAP 4460)


OMAP4 가 크게 주목받는건 구글의 레퍼런스 폰(갤럭시 넥서스)에 탑재된다는 얘기가 나오면서 입니다.

OMAP 4430, 4460 은 CPU는 불평할 부분이 없었지만, GPU는 많이 아쉬웠습니다.
SGX540 을 각각 304MHz, 384MHz 로 클럭을 올려서 탑재되었는데,
아무리 클럭을 올렸다하더라도, 최신 제품과 경쟁하기에는 성능에서 많이 부족했습니다.
(벤치마크 상에서) 스냅드래곤 S3 의 Adreno 220 에도 밀리는 수준이지요.
게다가 OMAP 4460 의 경우, 최대 384MHz 을 지원할뿐, 실제 갤럭시 넥서스에는 307MHz 로 탑재되어 더욱 아쉬움이 컸지요.
그나마 위로가 되는건 SGX 계열이 갖는 높은 호환성입니다.
(SGX 계열이 게임에서 갖는 유리함은 부정할 수가 없을듯합니다. Adreno 계열은 그저 안습.)


OMAP 4470 은 최대 1.8GHz 듀얼코어, GPU는 SGX544 에 2D용으로 그래픽코어가 따로 있는 등,
엄청난 스펙으로 기대를 크게 모았지만, 아직까지 구체적인 출시 소식은 없으면 2012년 2분기로 알려져있을뿐입니다.
(GPU 같은 경우, 현재 기준으로 그렇게 높은 스펙은 아닙니다.
하지만, SGX544MP2 로 나온다는 얘기도 있는데, 이렇다면 상당한 수준입니다.)

설령 나온다해도 시기상으로 너무 늦은게 아닌가 하는게 제 생각입니다.

최근 Ti 는 비용절감을 위해 텍사스와 일본의 공장을 폐쇄하기로 결정합니다.
60%를 넘는 엄청난 시장점유율을 보이는 삼성에 비해, (비록 2위라지만) 갈수록 시장 점유율이 낮아지는 상황에서 어찌보면 예견되었던 일 일지도 모르겠습니다.


(4) 결結 : 불투명한 미래

고도성장기를 제대로 겪은 Cortex-A9 이지만, 장미빛 미래만 있는건 아닙니다.

4세대 LTE 서비스의 등장과 함께, 통신칩 통합의 후광을 입은 스냅드래곤이 출시 제품의 대다수에 탑재됩니다.
거기에 퀄컴은 다음 세대 아키텍처인 Krait 를 준비하고 있습니다.
성능으로 경쟁하기위해선 Cortex-A15 를 선택할 수 밖에 없는 상황입니다.

Cortex-A15 기반 제품이 다수 출시될 것으로 보이는 2012-13 년 이후에도,
Cortex-A9 가 이후에도 중저가형 라인업에서 계속 살아남을지...
아니면 Cortex-A8 처럼 사라져갈지...

미래는 불투명하기만 합니다.


- 2012.02.29 GPU 관련 일부 내용 정정.

Posted by gamma0burst Trackback 0 : Comment 26

댓글을 달아 주세요

  1. addr | edit/del | reply lightspirit3 2012.01.27 18:24

    평일인데도 게속 올려주시네요. 잘 봤습니다..

    글 하나씩 올라올 때마다 정말 좋네요..ㅎ

  2. addr | edit/del | reply 잘봤습니다 2012.01.28 11:36

    좋은글 잘봤습니다^^ cortex a15도 궁금해지네요.

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

      Cortex-A15 는 나와봐야 알 것 같아요.ㅋ
      ARM 자료는 참고 자료일뿐이니까요.

  3. addr | edit/del | reply 항상응원중 2012.01.30 04:11

    해외라서 눈팅만하다가 호텔에 온김에 집에있는 놋북을 강제노동 시켜서 덧글 답니다 ㅎㅎ
    주소를 못외워서 알림기능만으로 보다보니 ㅎ
    잘읽었습니다

  4. addr | edit/del | reply 맵핵리스 2012.02.05 18:11

    너무너무 좋은글 정말 잘 읽고 갑니다.
    그런데 Exynos5250은 듀얼코어로 알고 있습니다. 100자리수는 코어 수를 의미한다네요.

  5. addr | edit/del | reply shsbsnsj 2012.02.14 10:01

    와 글 잘쓰시는듯

  6. addr | edit/del | reply 아하핳 2012.02.27 13:27

    정말 잘보고 갑니다. 그런데 100자리는 수는 코어수 두번째 자리랑 첫번째 자리 등등 뭘 의미하는지
    알려주실 수 있으세요 ? 그리고 엑시노스의 말리는 아직까지 arm최신 드라이버를 지원 할수 없어서 60%까지 성능을 낼 수 없답니다.

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

      이제까지 정보로 추측하기로는 엑시노스에서 맨 앞자리는 세대, 둘째자리는 코어수로 볼 수 있습니다.
      세번째와 마지막 숫자는 클럭과 관련있지 않겠냐는 추측만 있을뿐, 정확히 들어맞는 무언가가 있지는 않습니다.

      엑시노스의 말리는 삼성이 클럭을 266MHz 로 설정했기때문에 그렇게 돌아가는 것이지, 최신 드라이버 지원 여부와는 관계가 없습니다.
      유저들이 루팅과 앱만으로 오버클럭해서 쓰는게 가능한데, 제조사에서 지원하는게 뭐 어렵겠습니까.
      (테그라크 얼티밋이 유료인게 문제일뿐...)
      소비전력을 생각해서 클럭을 그 정도로 설정한 것 뿐입니다.

  7. addr | edit/del | reply 잘보고갑니다 2012.02.28 14:42

    글보며 좋은정보 언제나 얻어갑니다.

    그나저나 테그라2의 게이밍 성능이 정말로 말리나 아드레노220에 비해 밀리는 수준인가요?

    옵두배 사용자들같은경우 프레임 잘 뽑아줘서 좋다고하고 게임용으로는 갑이라고하던데 말입니다 ㄷㄷ

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

      본문에 제가 표현상 약간 문제가 있게 써놓은거 같습니다.

      게임같은 경우, gpu의 객관적인 최대 성능보다는 최적화가 더 중요합니다.
      테그라존으로 게임 지원에 공을 많이 들이고 있는 테그라는 게임에서 체감상 별 문제가 없는거고요.

      본문에서 벤치상(=최대성능)에서 밀리다는 의미로 적은 것인데, 그에 대한 설명이 없었습니다.
      벤치상에서 밀린다는 점을 추가하겠습니다.

  8. addr | edit/del | reply 지나가던사람ㅋ 2012.04.20 22:52

    너무 잘 봤습니다ㅋㅋ
    근데 a9에서 바로 a10이 아니고 왜 바로 a15로 가는지 알 수 있을까요??ㅋ

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

      감사합니다.

      왜 Cortex-A10 을 뛰어넘었는지, 특별한 이유는 모르겠습니다.ㅋ

  9. addr | edit/del | reply Favicon of http://tommylek@naver.com BlogIcon 좀 이 티스토리 눈팅 많이한사람 2012.10.21 16:43

    감마님 티스토리 잘보고있습니다
    정말 다른 블로그 가보면 뭔가 써보는 사람으로써 말도안되는 성능 비교 있는데 이건 정말 객관적으로 해주셧내요
    더자주 들를게요~~~

  10. addr | edit/del | reply 귤쟁이 2013.01.21 21:57

    주소 좀 퍼갈께요~

    이 자료가 유용하게 쓰였으면 좋겠네요.ㅎㅎ

  11. addr | edit/del | reply 안녕하세용 2013.04.06 15:33

    궁금한게 생겨서요 ..
    하지만 단점도 없지 않아서,
    클럭 변화가 연산량의 변화 속도를 따라오지 못하는 경우가 있습니다.
    어플이 멀티코어를 제대로 지원하지 못 하는 경우, 제 성능을 내지 못하는 문제도 있습니다.


    그런데 스냅드래곤 S3처럼 두 코어의 클럭이 서로 다르게 변하는 방식인 비동기식 코어에서는 왜 클럭변화가 연산량의 변화속도를 따라오지 못하는 것인가요?
    그리고 어플리케이션이 멀티코어를 제대로 지원하지 못하는 상황에서는 왜 비동기식이 불리한지, 이 상황이 구체적으로 어떤 상황인지를 자세히 알려주시면 안될까요?
    이거 너무 궁금한건데 고민하다가 올렸네요..

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

      어플리케이션이 멀티코어를 지원하지 않는 상황에서는 특별히 비동기식이라고 불리한건 아닙니다.
      멀티코어 자체가 효율이 떨어지지요.

      클럭변화가 연산량 변화를 못 따라온다는건 예를 들면 이런 경우입니다.
      순간적으로 부하가 높은 작업이 발생했다가 단시간에 끝나면 클럭이 그에 맞춰서 상승하지 못 한다는겁니다.
      물론 이런 가정이 실제하는지 여부가 확인되지는 않았지만, 엔비디아가 테그라4에서 비동기식을 포기한 것을 보아 성능 측면에 그렇게 효율적이지 않다는건 분명해보입니다. (테그라3는 비동기식이었음.)

    • addr | edit/del 그러면 2013.04.06 19:38

      클럭변화가 연산량변화를 못 따라온다는건 가버너 문제 아닌가요??
      비동기식이랑도 상관이 있나요?

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

      가버너로 비동기식을 제대로 운영하려면 하드웨어가 받쳐줘야 하니까요.
      비동기식이 소비전력 절감 효과를 제대로 가지려면 코어별로 전압과 클럭을 조절할 수 있어야되는데, 가버너만으로는 그게 불가능하지요.
      클럭조절속도가 빠르지 않아서 지연이 체감될 정도로 발생한다면 비동기식의 문제로 봐야할겁니다.

  12. addr | edit/del | reply 방금 댓글썻는데 2013.04.06 15:35

    중간에 뜬금없이 말이 들어갓는데.. 본문에서 복사해 왔습니다 이 부분에서 궁금한것이 있어서요
    표시를 해두어야햇는데 깜빡잊었네요 죄송합니다