ARM-logo

미래의 모바일기술에 대한 고민 #4 – CPU편

IBM-PC/Mac 등의 데스크탑PC에서의 CPU(중앙처리장치)는 인텔과 AMD 두회사가 거의 시장을 장악했습니다. 물론 CPU제조업체가 이 두회사만 있는 것은 아닙니다. 하지만 현 시점에서 일반 가전제품/AV기기/게임기 시장외에 PC시장에서는 이 둘이 모든 시장을 장악하고 있다고 보는게 맞습니다.

보통 사람들은 CPU의 Clock속도만으로 성능을 판단합니다. 하지만 CPU의 성능을 계산 하는 방법은 Clock 과 동시처리연산수, 이렇게 2가지를 고려해야 합니다. 3Ghz이상의 CPU가 안나오고 있는 이유이기도 하죠.

CPU성능  =  CPU Clock x CPU 개수(Core개수) x Clock 당 부동소수점 연산 회수

과거 100Mhz짜리 CPU에서부터 10여년만에 2~3Ghz클럭의 CPU가 등장했지만, 최근에는 클럭자체가 높아지지 않는 이유는 고클럭의 CPU의 한계때문입니다.
이는 이전 포스팅에서 다루었던 실리콘소자의 한계점이라고 할수 있습니다.  실리콘이 아닌 다른 소자를 사용한다면 더 고클럭으로 갈수도 있겠죠. 어쨋든 현재로써는 이러한 한계점과 전력소모면에서 문제가 있기때문에, 멀티코어로 방향을 선회했다고 볼수있습니다.

낮은 클럭의 멀티코어를 사용하게 되면서, 효율적인 연산을 위해 Cache관리/Pipeline의 증설,효율화를 신경쓰게 되었고 이는 프로그래밍기법면에서도 하드웨어 기반지식이 필요하게 된것입니다. (주로 쓰레드나 멀티태스킹 기법을 의미하겠죠.)

지금까지 CPU에 대해 간단히 설명했습니다. 여기에서 모바일용 CPU가 대두되기 시작하면서 약간은 판도가 달라졌습니다.
기존엔 가장 빠른 CPU, 성능이 좋은 CPU가 인정받았으나, 모바일에서는 성능도 물론 중요하지만 기기의 특성상 배터리사용량을 신경쓰지 않을수 없는거죠. 배터리산업분야도 많은 발전이 있었으나, 무제한으로 쓸수도 없는 상황이다보니 배터리에 다른 스펙들을 맞춰야 되는 상황이 벌어집니다.

Intel에서 나온 넷북용CPU인 ATOM은 기존에 비해 전력소모가 많이 줄어든것은 사실이나,  스마트폰용으로는 적합하지 않는다고 업계는 판단한 모양입니다. 이에 각광받은 기업이 바로 “ARM”입니다.

최근 거의 모든 스마트폰에 탑재되는 프로세서는 ARM프로세서인데 ARM은 반도체 전문 제조, 설계업체입니다. ARM CPU에 뿌리를 두고있는 요즘 대부분의 스마트폰들은 Cortex시리즈를 탑재합니다. Cortex CPU중 몇몇 종은 매우 적은 저전력에서도 높은 동작속도(Clock)을 주어 소형단말기에 매우 용이하다고 평을 받고 있습니다.

ARM아키텍셔 Cortex-A8 CPU

애플에서 만든 A4 CPU

Qualcomm에서 개발한 스냅드래곤

SAMSUNG에서 개발한 ARM기반 CPU

그리고 모바일CPU시장에서도 2세대로 나뉘게 되는 멀티코어CPU들이 등장하기 시작했습니다.
듀얼코어 ARM Cortex-A9 CPU를 채택하여 보다 적은 전력으로 1080p HD급 영상까지 재생가능할 정도로 성능은 좋아졌습니다. Nvidia, Marvell, Samsung.. 등 여러업체들이 이미 듀얼코어 CPU들을 출시했으며, 구글의 android 3.0인 허니콤에서는 멀티코어CPU를 기본사양으로 권장하고 있습니다. 2011년도 스마트폰에는 대부분 이 듀얼코어CPU를 탑재할 것이며 아이폰5도 이를 장착할것이라는 루머가 돌고있습니다.

최근 삼성에서 개발한 듀얼코어CPU - 코드네임 '오리온'

Nvidia에서 나온 듀얼코어CPU 'TEGRA 2'

SOC 반도체칩 회사인 마벨(Marvell)이 스마트폰용 CPU 시장의 게임의 법칙을 다시 쓰고 있습니다. 마벨은 이제 막 듀얼 코어 아키텍처가 도입되고 있는 스마트폰용 CPU 칩 시장에 코어가 3개인 트리플코어 SOC 애플리케이션 프로세서 칩을 출시하여 경쟁사들을 바짝 긴장시키고 있습니다. 마벨이 출시한 Armada 628 애플리케이션 프로세서(application processor)칩은 세계에서 처음으로 아키텍처의 서로 다른 프로세서 코어를 하나의 실리콘 다이에 집적한 스마트폰용 이종집합(heterogeneous) 트리플 코어 CPU 프로세서 칩입니다. 이 칩을 구성하고 있는 핵심 부위인 같은 아키텍처 구조의 코어 2개는 1.5GHz 데이터 처리속도로 초당 2억 개의 삼각형을 처리하는 그래픽 처리 등 멀티미디어 기능을 수행할 뿐만 아니라 1080p 풀 HD급 해상도의 3차원 동영상 화면과 그래픽을 처리해 줍니다. 이는 두 개의 코어가 각각 두 방향에서 1080p 해상도의 영상 프레임을 동시에 처리해주기 때문에 동영상 속의 물체가 3차원으로 보이는 원리입니다. 우리가 물체를 입체적으로 볼 수 있는 것은 두 눈이 물체를 보는 시점과 각도가 미세하게 다르기 때문인 것을 감안한 3차원 동영상 묘사 기술입니다. 삼성의 스마트폰 갤럭시S에 사용된 허밍버드 애플리케이션 프로세서가 초당 9천개의 삼각형을 처리할 수 있다고 하니Armana 628 칩의 그래픽 처리 성능이 얼마나 뛰어난지 상상이 갑니다. 이 두 개의 코어와 아키텍처 구조가 다른 세 번째 프로세서코어는 소비전력을 최소화하면서 각종 멀티미디어 처리 명령어를 최대한 빠르게 처리하도록 도와주는 컨트롤러 기능을 합니다. 이 칩이 1080p 풀HD급 동영상을 최대 10시간 이상 동안 재생할 수 는 것은 바로 이 세 번 째 코어의 힘입니다. 음악 파일은 최대 140시간 이상 재생할 수 있다고 합니다. 이 칩은 또한 USB3.0 스펙을 지원하는 최초의 모바일 기기용 SOC 칩이라고 합니다.

이러한 멀티코어를 스마트폰에서 채용하게 되면, 웹페이지에 들어가는 Javascript, Flash등을 CPU마다 독립적으로 처리가 가능해지며, Apple에서 더이상 퍼포먼스를 이유로 Flash를 거부할 이유가 없어지겠군요. 같은 작업을 하는데 더 적은 전력을 소모하고, 사양높은 게임들이 구동가능해 지며, 빠른 멀티태스킹과 높은반응성, 부드러운UI가 가능해집니다. 위의 그림중 Marvell이 개발한 ARMADA는 트리플코어 CPU로써 현재 갤럭시S에 탑재되있는 CPU는 초당 폴리곤을 9000개밖에 처리못하는 반면, ARMADA는 2억개의 폴리곤을 처리가능합니다.

ps. 일반PC의 CPU하고 다르게 모바일CPU는 GPU처리까지 같이 합니다.

내년쯤엔 쿼드코어, 하이퍼쓰레딩 같은 CPU기술들도 스마트폰에 적용되지않을까라는 예상을 해봅니다. 진짜로 내손안의 PC라는 말이 무색하지 않을 것 같군요.