[강좌]모바일 쿼드코어 트렌드 이끄는 '테그라 3'
pc하드웨어 이해하기
하나님-사람 2012-04-11 , 조회 (645) , 추천 (0) , 스크랩 (0)
출처
원문
[강좌] 모바일 쿼드코어 트렌드 이끄는 '테그라 3'   원문복사 링크복사
[분야] 컴퓨터 [작성자] 권용만 [작성일] 2011.12.09. 23:00

현재 컴퓨팅 분야의 대세는 누가 뭐래도 ‘병렬화’다. 단일 코어의 프로세서와 단일 쓰레드의 처리 방식이 사실 효율 면에서는 이론적으로 가장 뛰어나고 사용도 익숙하지만 병렬화 쪽으로 패러다임이 옮겨간 이유는 현실적인 기술적 한계 때문이다. 이미 서버 부분은 물론이고 PC도 멀티 코어 프로세서가 대세가 되면서 병렬화는 사용자들에 익숙한 개념이 되어 가고 있다.

그리고 이 병렬화의 물결은 이제 모바일 부분에도 불어 오고 있다. 모바일을 위한 프로세서의 조건은 데스크톱이나 서버와 비교할 때 그 이상의 엄격함이 존재하며, 가장 큰 과제는 성능을 높이면서도 전력 소비량, 발열량을 줄이는 것이다. 그리고 모바일을 위한 프로세서에서도 싱글 코어 프로세서의 한계가 대두됨과 함께, 본격적으로 듀얼 코어 프로세서 이상의 사용이 논의되고, 실현되고 있다.

이미 듀얼 코어 모바일 프로세서는 다양한 디바이스들에서 사용되고, 그 가치를 인정받고 있다. 그리고 이제 듀얼 코어를 넘어서는, ‘쿼드 코어’ 모바일 프로세서가 시장에 선보일 채비를 마쳤다. 그리고 이의 선두에 서는 프로세서가 엔비디아(NVIDIA)의 ‘테그라 3(Tegra 3)’로, 이 프로세서는 네 개의 메인 코어와 함께 저전력 ‘컴패니언 코어(Companion Core)’로 구성되는 독특한 아키텍처로 성능과 효율 모두를 극대화하고 있다.



■ 모바일도 이제 ‘멀티 코어’ 시대

최근 10여년 간 컴퓨팅 성능 향상의 중심에는 ‘멀티 코어’와 ‘멀티 쓰레드’가 있었다. 고성능 연산을 요구하는 전문적인 분야에서만 이용되던 멀티 쓰레드 환경은 이제 PC 레벨에서도 완전히 자리를 잡고 있는데, 여기에는 단일 코어의 성능 향상에 물리적인 한계가 다가왔다는 현실적인 이유가 있다. 단일 코어 형태로는 더 이상 성능을 개선하기가 현실적으로 힘들어졌고, 가장 현실적인 대안이 ‘멀티 코어’였다.

싱글 코어 프로세서가 성능의 한계를 맞은 이유는 현재 반도체가 사용하는 실리콘의 특성 때문이기도 하다. 이론적으로는 수십 GHz 이상도 버틸 수 있는 이 실리콘 기반 반도체들은, 현실적으로는 고집적 환경에서 4GHz 이상도 제대로 내기가 힘들다. 현재 데스크톱, 서버를 위한 상용 프로세서들이 대부분 코어 수에 관계없이 최대 3~4GHz 정도인 것도 이런 현실적인 문제 때문이다.

이런 현실적인 ‘벽’은 공정이 개선되어 가면서 조금씩 올라가고는 있지만, 그 이상으로 요구되는 성능의 기준이 높아지고 있다는 것이 문제다. 그리고 무리해서 이 ‘벽’을 넘어가려 하면, 성능 이상으로 높아지는 전력 소비와 발열이 문제가 되며, 어느 시점이 되면 싱글 코어의 성능을 개선하는 것보다 멀티 코어가 성능과 전력 소비 모두 우수한 시점이 오게 된다.


▲ 모바일 프로세서는 발열과 전력 소비 부분의 기준이 엄격하다.

모바일 프로세서에서는 이런 기준이 좀 더 엄격해진다. 특히 전력 소비와 발열 면에서 배터리를 사용하면서 쿨링을 위한 솔루션을 갖추기 쉽지 않은 모바일 단말에서, 저전력 저발열 특성은 대단히 중요해진다. 그리고 이 요소 덕분에 섣불리 코어 수에 따라 선형적인 소비전력 증가와 이에 따른 발열 증가를 가져오는 멀티 코어 프로세서의 도입 초기에는 많은 우려가 나오기도 했다.

하지만 듀얼 코어 프로세서가 도입되고 나서 이러한 멀티 코어 프로세서에 대한 우려는 많이 줄어들었다. 현재의 ARM Cortex 기반 모바일 프로세서에서 현실적인 ‘벽’인 1GHz 전후를 넘은 고클럭 싱글 코어 프로세서들의 성능과 전력 소비량을 생각해 보면, 듀얼 코어 프로세서가 제공하는 성능과 전력 소비량이 오히려 효율이 더 좋았기 때문이다. 또한 절대적인 전력 소비량 역시 각종 절전 기능을 사용해, 단말 수준에서는 싱글 코어 프로세서 기반 단말과 비슷한 수준을 만들어 냈다.

모바일 애플리케이션 환경도 사용자들의 요구사항이 많아짐에 따라 점점 무거워지고 있으며, 현재의 모바일 환경에서 사용되는 주요 OS들은 모두 기본적으로 멀티 태스킹 환경을 전제로 하고 있다. 여러 개의 백그라운드 프로세서가 유지되고, 활성화되어 있는 상황에서 멀티 코어 프로세서는 가장 간편하고 효율적으로 시스템의 처리 용량을 확장할 수 있는 방법이며, 이런 장점들로 인해 이제 시장에서도 듀얼 코어 모바일 프로세서를 흔히 찾아볼 수 있게 되었다.


▲ 코어 수가 많아지면 오히려 전력 소비량에서 유리할 수 있다.

멀티 코어 프로세서는 최적화된 환경에서 비슷한 성능의 싱글 코어 프로세서 대비 적은 전력 소비를 기대할 수 있다. 멀티태스킹 환경에서 피크 성능에 대한 요구를 충족시키기 위해 싱글 코어 프로세서의 경우에는 높은 클럭과 전압을 필요로 하지만, 멀티 코어 프로세서는 같은 작업량을 낮은 클럭과 전압에서 동작하는 여러 개의 코어로 나눌 수 있기 때문이다. 만약 싱글 코어 프로세서에 필요한 성능이 프로세서의 물리적인 ‘벽’을 넘어서는 경우라면, 멀티 코어 프로세서의 전력 소비량이 오히려 적어진다.

이미 비슷한 형태로 ‘멀티 코어’의 시대로 간 PC의 경우 멀티 코어 환경의 효율성에 대한 논란이 있었다. PC가 멀티 코어 환경으로 옮겨갈 때에는 각종 소프트웨어의 지원들이 다소 미흡했기 때문이다. 하지만 지금에 이르러서는 많은 사람들이 멀티 코어 환경의 효용성에 대해 인정하고 있는데, 이는 운영체제부터 시작해 각종 소프트웨어들이 멀티 코어 환경을 지원하고, 사용자들이 그 이득을 체감할 수 있었기 때문이다.

멀티 코어로의 이동에 다소 진통을 겪은 PC에 비해, 모바일 쪽은 비교적 소프트웨어적인 대응에 대해서는 수월한 편이다. 일단 현재 가장 보편적으로 사용되는 안드로이드 OS의 경우, 리눅스 커널을 기반으로 해 기본적으로 훌륭한 멀티 코어, 멀티 쓰레드 환경을 지원하고 있다. 또한 주로 사용하는 웹브라우저 등의 애플리케이션이나, 고성능을 요구하는 게임 등에서도 멀티 코어 환경에 잘 대응하고 있는 만큼, 멀티 코어 프로세서를 사용한 디바이스의 성능 효율 문제에 대해서는 준비가 충분히 된 상태다.


▲ 모바일 디바이스도 멀티태스킹 환경이 기본이다.

언제나 가볍게 들고 다녀야 하는 모바일 디바이스에서 이렇게 강력한 성능이 필요한지에 대한 답은 당연히 ‘필요하다’ 는 것이다. 모바일 디바이스들은 이제 단순히 콘텐츠를 소비하는 데만 그치는 것이 아니라 소비와 생산을 동시에 행하는 위치에 서게 되었으며, 콘텐츠의 소비 측면에 있어서도 더 만족스러운 사용자 경험을 위해 더 높은 성능이 필요하게 되었기 때문이다.

최근 안드로이드 OS 환경에서 사용되는 웹 브라우저들은 동시에 여러 개의 페이지를 열 수 있도록 구성되어 있으며, 최신 안드로이드 OS에서는 탭 브라우징을 지원하기도 한다. 또한 모바일 웹 페이지도 기존의 ‘간략화된’ 페이지가 아니라 모바일의 특성에 맞는 다양한 기능을 담기 시작했으며, 이들 기능을 만족스럽게 전달하기 위해서는 만만치 않은 단말 성능이 요구되기 시작했으며, 멀티 코어 프로세서는 이를 효율적으로 소화해낼 수 있는 가장 현실적인 방법이다.

또한 모바일 디바이스에서 고성능이 요구
되는 부분이 ‘멀티미디어’ 다. 가장 흔히 사용하는 ‘카메라’의 경우, 사진이나 동영상을 단순히 찍고 저장하는 것이 아니라 HDR등 각종 효과를 가미하여 ‘보기 좋은’ 모습을 만들고, 편집 등을 위해 강력한 단말 성능이 요구된다. 그리고 멀티 코어 프로세서의 강력한 성능은 디바이스의 활용 폭을 더 넓혀 줄 수 있는데, 대표적인 것이 위치 인식, 얼굴 인식 등의 각종 인식, 분석 기능들과 3D 디스플레이, 게이밍 등이 있다.


▲ 오른쪽보다는 왼쪽 화면이 더 보기가 좋다.

최근의 모바일 디바이스에서 중요하게 여겨지는 부분으로 ‘게이밍’ 이 있다. 이제 모바일 디바이스는 단순한 서비스를 위한 단말을 넘어 훌륭한 게임 플랫폼으로 자리잡고 있으며, 디바이스의 만족도에 있어 중요한 요소로 자리잡고 있다. 그리고 최근의 게임 엔진들은 멀티 쓰레드 구조를 가지고 있으며, 각각의 개별 작업 크기는 줄어들지만 쓰레드 수는 많아지는 형태의 모델로 지속적으로 이전되는 추세다. 그리고 이런 최신 게임들에서 멀티 코어 프로세서는 그 능력을 확실하게 보여 준다.

게임에 있어 멀티 코어 프로세서가 제공할 수 있는 이점은 여러 가지가 있다. 멀티 코어 프로세서에서 실시간 피직스 효과의 경우 각종 물리 연산들이 쓰레드 형태로 여러 코어로 나뉘면서, 효율적으로 높은 성능을 얻을 수 있다. 또한 게임 패키지의 크기를 줄이면서 다양한 효과를 얻기 위한 방법 중 하나인 실시간 텍스쳐 생성의 이용에 있어서도, 멀티 코어 프로세서의 연산성능을 활용하면 게임 패키지 크기를 줄이면서 의도했던 다양한 효과를 얻을 수 있다.

이런 기술들을 효율적으로 이용하는 게임들의 경우, 싱글 코어 프로세서를 사용하는 디바이스에 비해 듀얼 코어나 쿼드 코어 프로세서를 사용하는 디바이스에서 극적인 성능 향상을 체험할 수 있다. 특히 멀티 쓰레드 환경에 최적화되고 있는 최근의 모바일 게임들의 경우 듀얼 코어 프로세서 기반에서도 만족스런 성능이 나오지 않는 경우가 있는데, 쿼드 코어 프로세서는 이런 성능의 한계를 뛰어넘게 할 수 있을 것으로 기대된다.

■ 모바일에서의 ‘쿼드 코어’ 시대 연 ‘테그라 3’

엔비디아는 이미 2011년 2월 쿼드 코어 구성의 모바일 프로세서인 프로젝트 칼 엘(Kal-El)을 시연한 바 있다. 이 프로젝트 칼 엘은 프로세서 코어를 낮은 주파수에서 동작시켜 배터리 수명을 연장시키면서 듀얼 코어 또는 싱글 코어 프로세서에 비해 더 많은 작업을 수행할 수 있음을 증명했던 바 있다. 이 프로젝트 칼 엘은 2011년 11월 9일 ‘테그라 3(Tegra 3)’로 공식적으로 선보인 바 있다.

‘테그라 3’ 프로세서는 프로젝트 수준의 시절부터 선보이던 성능과 전력 소비량의 밸런스를 한 차원 높이는 데 성공했다. 테그라 3 프로세서는 기존 듀얼 코어 구성의 테그라 2에 비해 최고 3배 빨라진 그래픽 성능과 함께 최고 61%의 전력 소비 감소를 이루어 냈다. 이를 통해, 테그라 3를 사용하는 디바이스는 12시간 동안 HD급 비디오 재생이 가능한, 최고 수준의 배터리 수명을 실현할 수 있게 되었다.

특히 테그라 3에서 두드러지는 장점은 일반적인 대기 상태에서의 전력 소비를 최소화했다는 것이다. 이는 엔비디아가 테그라 3에서 구현한 vSMP 기술을 통해 가능해졌으며, 음악이나 동영상 재상, 백그라운드 데이터 업데이트 등 저전력 작업을 하는 동안에는 부하가 심하지 않은 작업을 처리하기 위해 특별히 고안된 저전력형 코어인 ‘컴패니언 코어’를 통해 처리하기 때문이다.


▲ 부하가 낮을 때는 컴패니언 코어를, 높을 때는 메인 코어를 이용한다.

‘컴패니언 코어’가 등장한 이유는 모바일 사용 사례 연구 결과 대부분의 모바일 기기가 활성 대기 상태에 있는 시간이 80%에 이르며, 인텐시브 모바일 애플리케이션의 처리 시간은 20%에 불과하다는 데서 찾을 수 있다. 기기가 활성 상태에 있을 때도 메일 동기화, 소셜 미디어 동기화, 라이브 배경화면, 액티브 위젯 등 수많은 작업이 백그라운드에서 수행되고 있으며, 이들 작업들은 성능적인 척도를 그리 크게 적용받지 않는다.

하지만 이런 백그라운드 작업을 처리할 때도 성능에 초점이 맞추어져 있는 메인 코어를 사용할 경우 전력 효율에서 아쉬움이 남을 수밖에 없다. 실리콘 디바이스의 전력 소비는 누설 전력과 동적 전력의 총합이 되며, 누설 전력은 실리콘 프로세스 기술에 의해, 동적 전력은 실리콘 프로세스 기술과 동작 전압 및 주파수 등에 의해 결정된다. 풀 로드일 때의 소비전력은 동적 전력 소비가, 유휴 상태일 때는 누설 전력이 소비전력에서 큰 부분을 차지하게 된다.

그리고 누설 전력과 동적 전력을 모두 만족시키기는 쉽지 않다. 고속 프로세스 기술의 트랜지스터는 고속으로 동작이 가능하지만 유휴 상태에서 높은 누설전력 소비가 문제가 된다. 저전력 프로세스 기술의 트랜지스터는 매우 낮은 누설 전력을 소비하지만, 동작 속도가 올라갈 경우 정상 범위보다 높은 전압 수준을 필요로 하고, 과도한 양의 동적 전력 소비로 인한 전력 및 열 문제를 안게 된다.


▲ 테그라 3는 두 종류의 코어를 가진 하이브리드 형태로 나온다.

테그라 3는 누설 전력과 동적 전력 사이에서의 고민을 vSMP 기술로 해결했다. 가변 대칭형 다중 처리 기술로 해석되는 이 vSMP 기술은 활성 대기 상태의 전력 소모를 최소화하고, 동적 상태에서의 성능을 최적화하기 위해 각 상태에 최적화된 코어를 따로 구성해 스위칭할 수 있게 한 것이다. 이는 노트북 PC 등에 사용되는 엔비디아의 ‘옵티머스(Optimus)’ 기술과도 유사한 개념이라 생각할 수 있다.

테그라 3는 쿼드 코어 프로세서로 발표되었지만, 총 5개의 코어를 가지고 있다. 이 모든 코어는 ARM Cortex A9 아키텍처를 기반으로 하고 있지만 프로세스 기술과 동작 주파수 범위가 다르다. 성능에 최적화된 네 개의 메인 프로세서 코어는 고속 프로세스 기술로 만들어져 1GHz 대의 동작 속도를 제공하지만, 전력 소비에 최적화된 컴패니언 코어는 저전력 프로세스 기술로 만들어져 500MHz 대의 동작 속도를 가진다.

컴패니언 코어는 주로 모바일 기기가 활성 대기 상태에 있거나 각종 백그라운드 작업을 실행할 때 사용된다. 또한 오디오 스트리밍, 오프라인 오디오, 온라인 또는 오프라인 동영상 재생 등 프로세싱 역량을 많이 필요로 하지 않은 애플리케이션에 사용된다. 이들 작업들이 프로세싱 역량을 비교적 적게 차지하는 이유는 각종 하드웨어 인코더와 디코더들이 최근의 모바일 프로세서에 통합되는 추세이기 때문이다.


▲ 신세대 제품군이 나오면서, 성능과 전력 소비 효율을 함께 잡을 수 있게 되었다.

테그라 3의 vSMP 기술의 핵심은 컴패니언 코어와 메인 코어 사이의 작업 분배 관리에 있다. 엔비디아는 테그라 3에서 컴패니언 코어와 메인 코어 관리를 OS에 완전히 투명하게 만들기 위해 하드웨어 기반과 저 수준의 소프트웨어 관리를 모두 수행하게 된다. 이 관리는 엔비디아의 동적 전압 및 주파수 스케일링, 그리고 CPU Hot-Plug 관리 소프트웨어가 처리하며 다른 특별한 OS의 변경이 필요 없다.

테그라 3의 프로세서 관리 로직은 지속적으로 프로세서 작업량을 모니터하여 자동적으로, 그리고 역동적으로 컴패니언 코어와 메인 코어를 활성화 또는 비활성화한다. 이 결정은 현재 프로세서의 작업량과 이에 따른 OS 커널에 내장된 프로세서 주파수 컨트롤 서브시스템의 동작 주파수 추천에 의거한다. 이 때문에 테그라 3의 vSMP를 위한 OS 나 애플리케이션의 특별한 수정이 필요하지는 않다.

물론 이 프로세서 관리 로직은 컴패니언 코어와 메인 코어 사이의 스위칭만 해 주는 건 아니다. 메인 코어를 사용할 경우에도 CPU 가버너(Governor)와 프로세서 관리 로직은 지속적으로 프로세서 작업량과 각 메인 코어의 활용도를 모니터하여, 메인 코어 네 개를 개별적으로 활성화하거나 비활성화한다. 이를 통해 작업량에 따른 전력 소비 효율과 함께 만족스러운 성능을 얻을 수 있게 한다.


▲ 컴패니언 코어와 메인 코어는 함께 활성화되지는 않는다.

vSMP 기술의 구조적 특징 중 하나는 컴패니언 코어와 메인 코어의 활성화를 동시에 지원하지 않는다는 것이다. 이는 다른 주파수에서 구동되는 코어 사이에 캐시를 동기화할 때 불이익이 적용되는 것을 피해 캐시 일관성을 가질 수 있도록 했기 때문이다. 컴패니언 코어와 메인 코어는 동일한 L2 캐시를 공유하며, 캐시는 컴패니언 코어와 메인 코어에서 동일한 수준의 시간으로 데이터를 재전송하도록 구성되어 있다.

또한 안드로이드 OS의 특성에 맞는 최적화된 OS 스케줄링을 위해, 테그라 3는 모든 액티브 코어를 비슷한 동기식 동작 주파수로 항상 유지한다. 이는 안드로이드 OS가 모든 가용 코어가 비슷한 성능을 가지고 있다고 가정하고 작업량을 편성하기 때문이다. vSMP가 컴패니언 코어에서 메인 코어로 전환할 때도, 프로세서 관리 로직은 매끄러운 전환을 보장하며, OS 스케줄링 패널티를 야기하지 않는다.

■  성능과 전력 효율을 동시에 잡는 쿼드코어 '테그라 3'

테그라 3는 vSMP 기술과 함께 쿼드 코어 구성으로 성능과 전력 효율을 동시에 잡았다. 코어 수가 많은 것이 적은 것보다 전력 관리에서 우수할 수 있는데, 같은 워크로드에서 쿼드 코어 프로세서는 듀얼 코어 프로세서보다 낮은 전압과 주파수에서 동일한 양을 처리할 수 있기 때문이다. 또한 테그라 3는 메인 코어에 고속 프로세스 기술을 이용해 높은 주파수에서도 낮은 동작 전압 범위를 사용해 구동할 수 있다.

엔비디아가 테스트한 결과에 따르면, 테그라 3의 4개의 코어를 모두 사용하는 풀 로드 상태에서 현재의 듀얼 코어 모바일 프로세서들과 비교했을 때 성능은 두 배 가량 뛰어남에도 전력 소비량은 비슷하거나, 오히려 더 적은 것으로 나타나고 있다. 이는 vSMP 기술과 함께 메인 코어에 사용된 고속 프로세스 기술이 기여한 바가 크다. 또한 현재의 안드로이드 OS는 훌륭한 수준의 멀티 코어 프로세서 지원을 이미 선보이고 있는 만큼, 멀티 코어 프로세서를 통한 사용자 경험 향상은 지금 당장 즐길 수 있다.

모바일 애플리케이션에 대한 성능적인 요구가 증가함에 따라 SoC 제조사들은 향상된 성능의 제공과 함께 전력 소비를 모바일에 합리적인 수준으로 유지하기 위한 다양한 방법을 사용하고 있다. 그리고 엔비디아가 ‘테그라 3’를 통해 선보인 쿼드 코어 구성과 vSMP 기술은 현재의 모바일 기기들이 가진 성능에 대한 기준을 한 차원 끌어올리고 사용자에게 새로운 모바일 경험을 제공할 수 있을 것으로 기대된다.


▲ 새로운 개념의 구성 설계를 선보인 '테그라 3'

http://www.acrofan.com/ko-kr/consumer/content/?mode=view&cate=0002&wd=20111209&ucode=0200020001&page=1&keyfield=&keyword=

추천 스크랩 전체목록