배너
닫기

산업동향

배너

big.LITTLE/최고의 성능과 배터리 걱정 덜어주는 CPU

  • 등록 2012.08.06 10:26:43
URL복사

big.LITTLE 프로세싱
최고의 성능과 배터리 걱정 덜어주는 CPU

황광선 ARM코리아


지금 이 글을 읽고있는 당신은 어떤 차를 갖고 있는가? 갑자기 자동차 얘기를 꺼내서 헷갈리시는 분들이 있을지도 모르겠지만, 이 글의 주제는 IT, 그것도 스마트폰에 들어가는 CPU 이야기이다. 그런데 갑자기 웬 자동차 얘기냐고? 조금만 더 읽어 내려가면 이해가 가실 터이니 조금만 참아주시길 바란다. 다시 돌아가서, 당신은 어떤 차를 갖고 있는가? 어떤 차를 원하는가?

속 터지는 당신을 위한…

대부분의 사람들은 출퇴근이나 업무를 위해 시내 도로에서 차량을 사용할 것이며, 적정 속도 내에서 주행을 할 것이다. 따라서 이 때 가장 큰 관심사는 차량의 최대 속도와 엔진 출력이 아니라, 지갑 사정을 도와줄 연비일 것이다.  하지만 가끔 고속도로에서 주행할 때, 굉음을 내뿜는 고출력 엔진 장착의 슈퍼카를 타고 가슴이 뻥 뚫리도록 질주하고 싶은 유혹이 밀려 올 때가 있다. 당연히 이 때는 연비보다는 최대 속도와 출력이 얼마인지가 중요한 사양일 것이다.
그러나 만약 당신이 매일매일 다니는 도로가 속도제한이 있고 가끔 막히기도 하는 시내도로와, 속도제한이 없는 아우토반과 같은 고속도로가 혼재해있다면 어떤 차를 끌고 나가야 할 것인지, 혹은 어떤 차량을 구매해야 할 것인지 고민이 될 터. 차량의 주행 성능에 가장 큰 영향을 미치는 것이 엔진이라면, 스마트폰의 성능에 가장 큰 영향을 미치는 것은 바로 AP(Application Processor)이며, 보다 구체적으로는 AP 내부 중에서도 CPU 라고 할 수 있겠다(필자의 지난 5월호 기사 ‘스마트폰은 스마트하게 만드는 GPGPU’에서처럼 GPU, DRAM, BUS 등 다른 부분도 영향을 주지만, 아무래도 아직까지는 CPU가 가장 큰 요소라 해도 크게 틀린 말은 아닐 것이다).
역시 지난 기사에서 다룬 내용이지만, 아직 보지 못하신 분들과 기억이 가물가물하신 분들을 위해 다시 한번 설명하면, 기존 PC만의 전유물로 여겨졌던 GHz대의 고클럭 CPU가 2010년도부터는 휴대전화에 등장하기 시작해 실제로 1GHz를 탑재했다는 문구의 휴대전화 광고가 TV와 신문 지면을 차지했다.
이런 CPU 경쟁은 고클럭이라는 차별 포인트를 넘어서서 불과 일 년 후인 지난해는 (1GHz 이상은 기본인) 듀얼 코어 기술을 접목한 휴대전화들이 선보이면서 한해 동안 시장을 휩쓸었으며, 기술을 잘 모르는 일반인조차도 ‘듀얼 코어 = 고성능’이라는 인식이 형성되기에 이르렀다. 따라서 당연히 올해에는 코어 개수를 더욱 늘린 쿼드 코어가 등장할 것이라고 예측되었었고, 실제로 올해 많은 제조업체에서 쿼드 코어를 탑재한 휴대전화를 출시 또는 예정하고 있다(LG전자의 옵티머스 4x, HTC의 One X, Huawei의 Ascend D Quad, 삼성전자의 갤럭시S3 등).
그렇다면 이렇게 스마트폰의 성능을 좌지우지하는 CPU의 사양은 무슨 뜻인가? CPU의 사양이라 함은, CPU의 종류, 최대 주파수, 그리고 코어 개수로 말할 수 있겠으며 이를 딱딱한 엔지니어링 지식으로 설명하기보다는, 이해하기 쉽게 차의 엔진에 비유를 해보자.



마치 마법과도 같은

우선 CPU의 종류란, 엔진 자체의 종류에 비유할 수 있을 것이며 보통 마력이라고 많이 알고 있는 엔진의 출력 자체를 결정하는 것이라고 볼 수 있다. 그리고 최대 주파수라 함은 엔진 사양 중 최대 rpm이 얼마인지에 해당하며, 코어 개수는 엔진이 몇 기통인지에 비유하면 가장 적절할 것 같다.
좀 더 상세히 설명하자면, 현재 대부분 고가 고성능 스마트폰에 적용되고 있는 CPU는 Cortex-A9 이라는 것이며, 중저가 보급형에는 주로 Cortex-A5가 적용되고 있다. 즉, 차량 급에 따라 적용되는 엔진 자체가 아예 다르듯, 스마트폰에서도 급에 따라 아예 다른 종류의 CPU가 적용되고 있는 것이다. 그리고 보통 1.5GHz니 이렇게 얘기하는 것은, 차량 엔진이 얼마나 빨리 회전할 수 있는지를 나타내는 rpm과 같이, 얼마나 빠른 주파수에서 동작할 수 있는지를 의미한다. 마지막으로 코어 개수는 엔진의 피스톤 개수에 따라 나타내는 ‘몇 기통인지’에 비유할 수 있다(코어 개수는 기통의 개수보다 엔진의 개수가 좀 더 비유 적절하겠지만, 이해를 위해 기통의 수라고 한다).
앞에서처럼 CPU와 차량의 엔진을 비유하여 보면 이해가 보다 쉬울 것이다. 하지만, 차량 선택 시에는 엔진의 성능 못지 않게 중요하게 보면서, CPU를 볼 때는 쉽게 간과하는 것이 하나 있다. 차량으로 말하면 바로 연비, IT 업계 용어로 하면 전력 효율(power efficiency)이다. 동일한 기름 양에서 얼마나 멀리 갈 수 있는지 결정해주는 연비가 지갑 사정에 직접적인 영향을 주는 것처럼, CPU의 전력 효율은 얼마나 오랫동안 스마트폰을 사용할 수 있는 지를 결정해주는 가장 중요한 요소 중 하나이다.



특히, 최근 듀얼/쿼드 코어 등 CPU 개수가 점점 늘어날 뿐만 아니라, 고속의 LTE 통신이나 점점 화면 크기와 해상도가 커지고 있으며, 실제로 사용자의 사용 패턴도 고성능 게임 및 웹 브라우징 등 전력을 많이 소모하는 요소가 증가하는 추세여서, CPU에서 최대 성능뿐만 아니라 전력 효율이 매우 중요해지고 있다. 이미 실제 하루도 버티지 못하는 휴대전화 배터리 때문에 급히 충전할 곳을 찾아 헤맸던 경험을 직접 많이 했을 터라, 굳이 강조하지 않아도 이미 그 중요성은 크다.
다시 돌아가서, 우리가 매일 스마트폰을 사용하는 패턴은 마치 매일 다니는 도로가 속도제한도 있고 가끔 막히기도 하는 시내도로와, 속도제한이 없는 아우토반과 같은 고속도로가 혼재되어 있는 경우와 마찬가지이다. 즉, 대부분의 시간 동안에는 꺼져있거나 전화 통화, 문자, 카톡, SNS, 음악 재생 등 굳이 고성능일 필요가 없는 패턴으로 사용한다면, CPU는 성능보다는 전력 효율이 중요하게 된다. 그러나 가끔은 고화질 게임, 웹 브라우징 등 고성능이 필요한 사용 패턴도 분명히 존재하며, 이 때는 고성능의 CPU가 필요하게 된다. 이러한 고성능과 전력 효율이라는 서로 상반되는 두 가지 특성을 동시에 만족시킬 방법은 없는 것인가?
결론부터 말하자면, 이러한 마법(?)과 같은 방법은 존재하며 바로 이번에 설명하려는 big.LITTLE 프로세싱이다. 하지만 그 전에 잠깐 전문업체인 ARM의 AP용 CPU인 Cortex-A 로드맵에 대해 잠깐 살펴볼 필요가 있다. 참고로, ARM에서 설계한 CPU는 최근 스마트폰뿐만 아니라 전 세계 모든 휴대폰의 95% 이상이 사용하고 있다. 즉, ARM CPU = 휴대전화의 CPU라고 봐도 무방하다.

고성능과 저전력

스마트폰의 두뇌에 해당하는 CPU는 그림 1과 같이 여러 종류가 있으며 각각의 특성에 맞게 발전하고 있다. Cortex-A8의 경우 앞에서 설명한 2년 전 고성능 스마트폰에서 1GHz대의 벽을 넘게 된 CPU이며, Cortex-A9는 작년과 올해 듀얼 코어, 쿼드 코어 등 다수의 코어를 가능하게 한 CPU이다(그림에서 x1-4 표시가 바로 1개의 싱글 코어에서 최대 4개의 쿼드 코어로 구성 가능하다는 것이다). Cortex-A5는 또한 최근 출시되고 있는 저가의 스마트폰에 대부분 적용되고 있는 CPU이며, 높은 전력 효율 특성 덕에 저가 스마트폰의 적은 배터리 용량을 가지고도 충분한 성능과 사용 시간을 보장하고 있다.



이처럼 고성능(High Performance)와 저전력/고효율(High Efficiency)의 두 가지 큰 축으로 CPU가 발전하고 있으며, 현재의 고성능 CPU인 Cortex-A9는 더욱 성능을 높인 Cortex-A15로, 저전력 CPU인 Cortex-A5는 전력 효율을 유지하면서 성능을 더욱 높인 Cortex-A7로 진화하고 있다.
Cortex-A15와 Cortex-A7은 이처럼 고성능과 저전력의 두 가지 상반된 특성을 지니고 있으므로, 이를 하나의 AP내에 혼용하여 쓰게되면 두 마리의 토끼를 잡을 수 있는 것이다. 좀더 구체적으로 말하면, 앞에서 예를 든 것과 같이 전력 효율이 더 중요한 사용 패턴 (꺼져있거나 전화, 카톡, 음악 재생 등)에서는 전력 효율이 좋은 Cortex-A7로만 구동을 하며, 고화질 게임과 같이 고성능이 필요한 사용 패턴에서는 Cortex-A15로 구동을 하도록 하는 것이다. 이처럼 고성능(big)과 저전력(LITTLE)이 가능한 CPU를 혼용한 연산을 big.LITTLE 프로세싱이라고 하여 작년 말 발표되었다.
실제로 일반적인 사용자들의 스마트폰 사용 패턴을 분석한 결과, 평균적으로 총 사용 시간의 80% 이상인 대부분의 시간에서는 저전력 LITTLE 프로세서인 Cortex-A7만 사용하여도 되었으며, 나머지 20% 정도의 경우에서만 고성능 big 프로세서인 Cortex-A15의 구동이 필요하는 것을 발견했다.
또한 big.LITTLE 프로세싱이 적용된 경우와 아닌 경우를 비교 예측하여 보니, 전자가 대부분의 사용 패턴에서 CPU가 소비하는 에너지의 70% 이상을 절약할 수 있다는 것을 발견했다(참고로 LITTLE이 대문자인 이유는 대부분의 80% 장시간 동안, big이 소문자인 이유는 20% 이내의 단기간만 필요하다는 것을 나타내기 위함이다). 잘 믿기지 않는다면 다음 표 1 를 참조하기 바란다.



맨 왼쪽열의 항목(Dhrystone 등)은 CPU에서 수행하는 연산의 종류를 나타내는 전문적인 것이므로, 자세한 의미보다는 CPU에서 하는 다양한 일의 종류를 나타내는 것이라는 정도만 이해하면 된다. 표에서처럼 다양한 종류의 일에 있어서 Cortex-A15는 Cortex-A7 대비 1.9~3배에 달하는 뛰어난 성능을 지닌다는 것이다.
반대로, 같은 종류의 일을 함에 있어서 Cortex-A7은 Cortex-A15 대비 2.3~3.8배에 해당하는 전력 효율을 지닌다. 즉, Cortex-A15는 Cortex-A7 대비 성능은 뛰어나지만 그만큼 전력을 많이 소비한다는 뜻이고, 반대로 말하면 Cortex-A7은 그만큼 적은 전력만을 소비한다는 뜻이다.
더군다나, 각각의 CPU는 개별적으로 최대 4개의 쿼드 코어까지 구성이 가능하므로, 4x Cortex-A15+ 4x Cortex-A7로 구성한다면 현재의 쿼드 코어가 아니라 옥타 코어라는 훌륭한 광고 효과까지 덤으로 얻을 수 있다.
어떻게 생각하는가? 정말 훌륭한 아이디어가 아닐는지? 이를 반증이라도 하듯, 지난해 발표된 big.LITTLE 프로세싱은 반도체 전문 분석기관인 린리 그룹(Linley Group)으로부터 ‘올해 최고의 프로세서 IP’로 선정되었다.

간단한 아이디어, 엄청난 효과

사실 앞에서 설명한 big.LITTLE 프로세싱을 생각해보면, 아이디어는 매우 간단하다. 두 종류의 다른 성질의 CPU를 섞어서 쓰면 되는 것 아닌가? 하지만, 추측했겠지만, 기술적으로는 이것보다 당연히 좀 더 복잡하며, 따라서 진작에 생각했을 법한 아이디어가 이제야 실제로 구현되고 있는 것이다(그림 2).



big.LITTLE 프로세싱을 위해서는, 단순히 Cortex-A7과 Cortex-A15라는 두 가지의 CPU만이 필요할 뿐만 아니라, 이들 이종 CPU 간에 작업 전환이 잘 이루어질 수 있도록 많은 공통적인 특성을 지니게 CPU가 설계되어야 할 뿐만 아니라, 둘 사이에 끊김 없는 통신과 일관성을 유지해주기 위해 좀 더 많은 기술이 필요하게 된다.
이들 두 CPU의 끊김 없는 통신을 위해서, 두 개의 다른 코어 사이에 인터럽트(interrupt)를 담당해주는 GIC-400이라는 버스 기술이 필요하게 된다. 또한, 일관성 유지를 위해서 CCI-400이라는 버스 기술도 필요하다.
이들 기술은 말 그대로 캐시(cache)의 데이터를 코히런트(coherent) 해주는 역할이다. 특히 CCI-400과 같이 하드웨어적으로 데이터 코히런트를 맞춰주는 기능이 없게 된다면, 최악의 경우엔 두 CPU 사이에 작업이 진행될 때마다 AP 외부의 DRAM까지 거쳐서 데이터를 주고받아야 하므로 오히려 성능이 현저하게 저하될 수가 있다.
앞선 경우보다는 낫겠지만 소프트웨어적으로 코히런트를 맞춰주게 된다면 하드웨어적으로 기능을 제공해주는 것보다 역시 성능이 떨어지게 된다.
실제로 1GHz로 CPU가 동작을 할 때, CCI-400 덕분에 두 CPU 간의 스위칭 타임(switching time)이 20us(microsecond, 1백만 분의 1초) 이내에서 이루어지게 되므로, 사용자들은 전혀 눈치를 챌 수 없는 사이에 이미 저전력과 고성능 CPU 사이에 작업 전환이 이루어지게 된다.
이 밖에도 상세하게 기술적으로 설명할 내용이 많지만, 기술 보안 문제 등 여러 이유로 여기서 줄이겠다. 다만 다시 한번 생각해보시라. 시내 도로에서는 최고의 연비를 보여주다가, 고속도로에 들어서는 순간 자동으로 최고급 슈퍼카로 변신하는 차량, 바로 꿈에서만 그리던 말 그대로 드림카가 아니겠는가?
마찬가지로 최고의 성능을 보여주면서, 동시에 배터리 걱정도 덜어주는 CPU와 스마트폰, 바로 당신이 원하던 것 아니겠는가?
이제 그러한 날이 머지 않았음을 고대하면서, big.LITTLE 프로세싱이라는 기술을 기억해주시기 바란다.









배너










주요파트너/추천기업