Author : Jin Hyeop Lee

(Any action violating either copyright laws or CCL policy of the original source is strictly prohibited)

 


 




서론


9월이 되자 어김없이 애플은 자사의 1년을 책임질 새 아이폰을 발표했습니다. 2007년 최초의 아이폰이 나왔으니 이제 9번째 아이폰인 셈입니다. 그 사이에 애플은 엄청나게 성장했고 그 선봉에는 아이폰이 서 있었습니다. 



현재 애플에게 가장 큰 매출을 가져다주며 지금의 애플을 있게 해 준 제품이 아이폰입니다. 즉 1년에 한 번 출시되는 새 아이폰에는 애플의 모든 역량이 집중되어 있다고 해도 크게 틀린 말이 아닙니다. 즉, 새 아이폰을 분석하는 것은 애플의 의도, 기술력 등을 파헤치는 것과 같습니다.


아이폰은 최초 아이폰에서 2세대 아이폰으로 넘어온 이래 지금까지 일반 버전과 s 버전으로 나누어지는 틱-톡 형태의 제품출시주기를 가져가고 있습니다. 메이저 넘버링의 변화에서는 디자인 등의 외적인 부분의 변화가 크게 부각되고, s 버전에서는 메이저 넘버링 버전에서 발생한 문제들을 잡고 주로 내부적인 변화를 꾀했습니다. 아이폰 4s의 시리, 아이폰 5s의 Touch ID 등 s 버전은 전작과 크게 달라지지 않은 디자인에도 불구하고 소비자를 매혹시킬 만한 큰 변화를 동반했었습니다. 6s도 다르지 않았습니다. 전작인 아이폰 6의 디자인과 거의 동일한 디자인을 채택했지만 7000 시리즈 알루미늄을 채택함으로서 전작에서 문제가 되었던 밴드게이트를 해결했고, A9 칩의 탑재로 다시 한 번 큰 폭의 CPU, 그래픽 성능 향상을 이끌어내었습니다. 또 3d터치, 라이브 포토 등의 굵직한 독자 기능들 역시 탑재되었습니다.


본 리뷰에서는 총 네 대의 아이폰 6s / 6s Plus를 이용해 색상별 비교, 전체적인 디자인부터 시작해 아이폰 6s 시리즈의 두뇌인 A9 SoC의 공정에 대한 담론, CPU, 그래픽 칩 아키텍처 분석, 실 생활에서의 배터리 성능, 카메라 성능, 그리고 새로 추가된 기능들을 중심으로 소프트웨어적 측면까지 말 그대로 아이폰 6s / 6s Plus의 모든 것을 다루게 될 것입니다. 1부에서는 새 아이폰의 성능적 변화에 초점을 맞추고, 2부에서 성능을 제외한 나머지 모든 부분을 다루는 방식으로 리뷰가 구성되어 있습니다.


그럼 1부 성능편 시작하겠습니다. 가장 먼저 성능의 핵심인 A9 SoC를 살펴볼 텐데 그 중에서도 CPU를 먼저 살펴보도록 하겠습니다.


A9's CPU : Twister 듀얼코어


(사진 : chipworks)


또 듀얼코어입니다. 애플을 제외한 대부분의 스마트폰 제조업체들은 듀얼코어를 넘어 쿼드, 옥타코어까지 뻗어나가고 있습니다. 심지어 최근에는 10코어짜리 SoC도 모습을 드러내고 있지요. 이런 상황 속에서 애플의 듀얼코어 고수는 고집스러워보이기까지 합니다. 하지만 한꺼풀 벗겨서 들여다보면 애플의 듀얼코어는 타사의 쿼드코어, 옥타코어와 비교해서도 성능적으로 전혀 밀리지 않음을 알 수 있습니다. 이쯤 되면 애플의 코어가 어떻게 생겨먹었는지 궁금해지시죠? 애플 A9 CPU의 Twister 코어에 대해 확실히 파헤쳐 드리겠습니다.


애플은 아이폰 5에 탑재된 A6 칩부터 칩을 커스텀 디자인하기 시작했습니다. 당시 A9에서 백엔드를 확장한 설계로 아키텍처의 전체 크기를 작게 유지하면서도 실 생활에서의 성능을 효과적으로 높이는 데 성공했습니다. A7 에서는 최초로 ARMv8 아키텍처를 도입했습니다. 안드로이드 진영이 ARMv8 아키텍처를 채택하기까지 시간도 오래 걸린데다 안드로이드 최초의 ARMv8 아키텍처 프로세서가 나온 시점에서도 OS가 64비트를 지원하지 않았다는 것을 상기해보면 애플이 이 분야에서 어느 정도로 앞서있는지를 잘 알 수 있습니다. 하지만 이런 애플도 A8 SoC에 이르러서는 성능 향상 폭이 완만해졌습니다. 애플은 최신 공정으로 이행하며 다이 크기를 줄여내기는 했지만 원하는 만큼의 전력소모 절감은 이뤄내지 못했습니다.(지난 애플 SoC 들의 설명을 자세히 확인하고 싶으시면 다음 글을 읽어보세요, 링크)


이제 A9 입니다. Twister라는 코드네임을 가진 아키텍처인데요, Cyclone(A7)에서 Typhoon(A8)로 이행할 때의 작은 변화가 아닌 근본적인 변화가 있었습니다. 최초로 FinFET을 채용한 애플의 SoC란 것도 중요하지만 여기서는 아키텍처적인 변화에 초점을 맞춰보겠습니다. Twister 아키텍처에 대해 좀 더 자세한 사항이 밝혀지기 전에는 단순히 IPC의 향상이 아키텍처의 확장으로부터 얻어진 것이라 판단했습니다. 하지만 이미 기존의 6-wide-OoO(Out of Order; 비순차실행) 코어였던 Typhoon 역시 모바일 시장에서는 이례적으로 넓은 아키텍처였습니다.


비순차실행 코어는 명령어를 어떤 순서로 백엔드에 공급할지를 결정하는 부분에서 굉장히 많은 에너지를 사용하는데 아키텍처의 넓이가 확장될수록 이 단계에 사용되는 에너지는 커지게됩니다. 게다가 이 증가는 선형적인 것이 아니라 지수적인 형태이지요. 즉, 전력 상한이 존재하는 상태에서 무턱대고 아키텍처를 확장하는 게 능사가 아닙니다. 실제로도 Twister는 Typhoon과 동일한 6-wide-OoO 구조임이 밝혀졌습니다. 그렇다면 '애플의 새로운 모바일 SoC, A9'(링크)에서 확인된 20%에 달하는 IPC 향상은 어디서 온 것일까요?



위 표를 보시면... 도대체 뭐가 달라진거야? 라고 반문하실 수 있겠습니다. 흔히 '아키텍처의 개선으로 IPC의 향상이 있었다.' 고 할 때 으레 증가했다고 말하던 이슈 폭과 재정렬 버퍼 사이즈 등이 동일합니다. 슥 봤을 때 차이점은 확 줄어든 분기예측 패널티와 늘어난 시프트 유닛의 갯수, 부동소수점 연산의 줄어든 레이턴시 등이 눈에 띕니다. 그 외에도 사소해 보이긴 하지만 FP/NEON ALU 세 개 유닛모두가 덧셈, 곱셈을 시행할 수 있도록 개선이 있었군요. L2 캐시도 늘어난 걸 확인할 수 있습니다. L3 캐시는 흔히 알려진 8MB가 아닌 4MB로 동일합니다.


이슈 폭과 재정렬 버퍼 사이즈는 위에서 말씀드린 것 처럼 '아키텍처의 넓이'에 결정적인 영향을 주는 요소들입니다. 이런 요소들은 이미 A7 때부터 이어져 온 것이며 그 넓이가 인텔의 하스웰에 맞먹습니다. 트위스터는 이런 요소들이 늘어나지 않은 것이 특징입니다. 반면 큰 폭으로 감소한 분기예측 패널티에 대해서 좀 더 자세히 알아보도록 하겠습니다.


분기예측 패널티에 대해 말씀드리기 전에 분기예측에 대해서 먼저 알려드리고자 합니다. 현대 CPU들은 잘 파이프라인 된 구조를 갖고있는데 이런 구조는 명령어가 꾸준히 공급될 때 엄청난 성능향상을 가져올 수 있습니다. 파이프라인이 깊어질수록 명령어가 꾸준히 공급될 때의 성능이 높아집니다. 게다가 파이프라인이 여러 개로 분절되면 개별 파이프라인이 단순해지게 되고, 클럭을 올리는 게 더 쉬워집니다. 다만 깊은 파이프라인은 명령어 스톨이 발생했을 때 그것을 복구하는 데 훨씬 큰 손해가 발생합니다.(파이프라인에 대한 좀 더 자세한 사항은 다음 글을 참조해주세요; 링크) 이런 파이프라인 스톨이 분기에 의해 일어난 것이라면 현대 컴퓨터는 분기예측이라는 기법을 통해 이로 인한 파이프라인 스톨을 최소화할 수 있습니다.


분기예측, 여기저기서 많이 들어본 단어이실 수도 있지만 그렇지 않은 독자분들을 위해 간단히 설명하겠습니다. 예를 들어 컴퓨터가 분기문을 만났다고 가정합시다. 아래 의사코드는 이해를 돕기 위해 사용되었으며 사실 저 코드가 컴파일되었을때는 다른 형태로 나타납니다.


if(x == 1) 

x = a + b;

else

x = a;


만약 x의 값이 1이라는 것을 컴퓨터가 알고있다면 문제가 없지만 x의 값이 다른 계산이 끝나야 알 수 있는 값이라면 저 코드는 꼼짝없이 계산이 끝나기 전까진 대기하고 있을 수밖에 없을 것입니다. 또 저 코드 뒤에 대기하고 있는 코드가 또 저 코드에 의해 변화된 x값을 요구하는식으로 물려버리면 CPU는 개점휴업 상태에 들어가게 되는거죠. 이런 상황을 타개하기 위해 분기예측기가 존재합니다. 분기예측기가 정확히 어떻게 분기를 예측하는가에 관한 알고리즘은 기회가 될 때 따로 다루도록 하겠습니다. 본 글에서는 분기예측을 통한 투기적 실행이 어떤 식으로 이뤄지는지만 간략히 설명하겠습니다. 분기가 발생하게 되면 분기예측기는 자신이 가진 알고리즘을 이용해 x의 값을 예측합니다. 예를 들어 분기예측기가 x를 1로 예측했다면 CPU는 x = a + b; 를 실행하게 됩니다. 이를 '투기적 실행' 이라고 합니다.


만약 분기예측기의 판단이 맞았다면 CPU는 값을 기다리는 긴 시간을 아낀 셈이 됩니다. 하지만 분기예측기의 판단이 틀렸다면? 분기예측기의 판단이 맞다고 가정하고 실행된 모든 값들은 쓰레기 값이 됩니다. 그러면 CPU는 다시 x = a;를 실행하기 위해 원래 단계로 돌아가야겠지요. 이 때 지금까지 실행되어 파이프라인을 채우고 있던 명령어들이 비워지면서 생기는 패널티가 위에서 나온 분기예측 실패 패널티(이하 분기예측 패널티)입니다. 즉, 분기예측 패널티는 사실상 파이프라인의 단계를 나타낸다고 봐도 무방합니다.


즉 분기예측 패널티가 엄청나게 감소했다는 것은 파이프라인의 단계가 간소화되었음을 뜻합니다. 파이프라인의 단계가 재구성되었다는 것은 애플이 아키텍처를 바닥부터 재설계했다는 것을 의미합니다. 일반적으로 파이프라인의 단계를 줄이게 되면 분기예측 패널티, 레이턴시 면에선 유리하지만 클럭을 올리기가 어려워지고 스루풋쪽에서는 손해를 본다는 것이 통설입니다. 하지만 애플은 파이프라인 단계를 간소화시키면서 동시에 클럭스피드를 30% 가량 올렸습니다. 애플이 파이프라인을 완전히 재설계하면서 각 파이프라인 간의 복잡도를 거의 균질하게 조절하는 작업을 거친 것 같습니다.


애플은 스루풋 향상과, 레이턴시 감소의 두 마리 토끼를 동시에 잡으며 트위스터 아키텍처를 한 단계 높은 차원으로 도약시켰습니다. 특히 레이턴시 측면의 향상이 눈부십니다. 첫 명령이 투입된 이후로 산출되기까지의 시간이 파이프라인 단계의 감소와 클럭스피드의 증가로 인해 엄청나게 감소되었습니다. 정수 덧셈 연산이 A8과 A9에 각각 투입된다면 A8이 첫 결과를 산출하기까지 10ns가 걸리는 반면 A9은 4.9ns밖에 걸리지 않습니다. 물론 꾸준히 명령어가 투입되면 이후부터는 한 클럭당 한 개의 결과가 산출되기 때문에 이 차이가 전체 소요시간에서 가지는 비중은 줄어들겠지만 클럭스피드 자체도 A9이 더 빠르기 때문에 최초의 차이는 계속 확장될 것입니다.(물론 최초의 차이가 전체 실행 시간에서 차지하는 비중은 계속 줄어들겠지만요)


(출처 : 아난드텍)


또 트위스터에서 특기할 만한 점은 캐시 용량과 접근 레이턴시의 향상입니다. L2 캐시는 기존의 3배인 3MB로 증가했고 간소화된 파이프라인과 빨라진 클럭스피드에 힘입어 접근 시간 역시 단축되었습니다. L3 캐시는 4MB로 똑같은 듯 보이지만 캐시 정책의 변화로 실제 사용할 수 있는 캐시의 용량에는 변화가 있었습니다. 기존의 inclusive 방식에서는 상위 레벨 캐시가 하위 레벨 캐시의 내용을 모두 포함해야 하기 때문에 실질적으로 사용할 수 있는 L3 캐시의 용량은 3MB 였습니다. 하지만 A9의 L3 캐시는 Victim 방식으로 작동합니다. 이는 하위 레벨 캐시에서 축출된 내용을 상위 레벨 캐시에 담아놓는 방식의 캐시 정책입니다. 하위 레벨 캐시와 완전 배타적으로 작동하지 않으면서 반대로 하위 레벨의 캐시가 포함하고 있는 내용을 담고 있지도 않다는 점에서 기존의 inclusive나 exclusive과는 다른 점이 있습니다. 어쨌든 하위 레벨 캐시의 내용을 담지 않기 때문에 4MB의 용량을 사용할 수 있고, 실질적인 용량 면에선 기존 캐시에 비해 늘어났습니다. 캐시 용량의 증가와 캐시 접근 레이턴시의 향상은 각각 정수연산성능, 부동소수점 연산 성능의 향상에 기여했습니다.  캐시에 관련된 좀 더 자세한 이야기는 다음 글을 참고하세요.(링크)


이런 아키텍처의 변화가 가져온 CPU 성능 변화는 아래 그래프를 보시면 되겠습니다. 새로 고안된 CPU 성능 지표입니다. 단일 벤치마크 툴 의존도를 줄이기 위해 만들어졌습니다. 앞으로 모바일 제품 리뷰나 The IYD Report : Smartphone에서 지속적으로 발전시켜 나갈 것입니다. 이 지표는 순수한 CPU 연산 성능을 확인하기 위해 기존 긱벤치 총점을 그대로 활용하는 게 아니라 긱벤치 총점에서 메모리 점수를 뺀 점수를 사용했습니다. 또 크로스 플랫폼 벤치마크인 Basemark OS II의 시스템 부분 결과 역시 표준화 후 통합작업을 거쳐 점수에 통합되었습니다. 아래 그래프는 위 방법으로 표준화시킨 CPU 성능 차트입니다. 



A9이 A8에 비해 대략 66%의 성능향상을 보이고 있는데 이는 애플이 공언한 70% CPU 성능향상에 상당히 근접한 수치입니다. 또 흥미로운 것은 A9칩이 전 세대 플래그쉽 아이패드인 아이패드 에어2의 A8X칩과 전체 성능이 거의 비슷하다는 점인데, A8X가 트리플코어를 채택하고 있음을 생각해보면 싱글코어에서 엄청난 폭의 성능향상이 있었음을 다시 한 번 알 수 있습니다. 또 이전 세대의 아이폰이 삼성의 플래그쉽 SoC에 비해 떨어지는 CPU 성능을 가졌다는 것을 생각해 보면, 삼성의 플래그쉽에 탑재된 Exynos 7420과의 비교에서도 약간의 우위를 점하고 있다는 사실은 A9의 엄청난 성능향상을 반증합니다.


다음 그래프는 긱벤치의 세목을 나타낸 그래프입니다. 각 CPU의 정수연산성능, 부동소수점 연산성능, 메모리 성능을 각각 나타내었습니다.



애플의 아키텍처가 ARM의 표준 아키텍처에 비해 상대적으로 부동소수점 성능이 높은 것을 알 수 있습니다. 흥미로운 것은 현대 컴퓨팅 워크로드가 정수연산보다는 부동소수점 연산에 상대적으로 치우쳐있다는 사실입니다.(링크) 당장 위 그래프와 종합 시스템 성능 그래프만으로 살펴봐도 상대적인 부동소수점 연산성능이 종합 연산성능을 잘 반영하고 있음을 확인할 수 있습니다. Cortex-A72 아키텍처나 루머로 돌고 있는 퀄컴의 Kryo 역시 Cortex-A57에 비해 상대적으로 부동소수점 성능이 높아졌다는 것 역시 주목할 필요가 있습니다. 


A9의 긱벤치 세부항목 성능 비교는 A8과 비교해 분석한 '애플의 새로운 모바일 SoC, A9 : 1부. 성능 및 아키텍처 분석'(링크)를 참조하시기 바랍니다.


(사진 : chipworks)


위 사진은 애플 A9의 다이 샷입니다. 보시면 아시겠지만 GPU가 차지하는 면적이 CPU의 그것보다 넓습니다. 게다가 전통적으로 애플 SoC의 화룡점정은 GPU였지요. 그 말인 즉, A9을 이야기 할 때 GPU를 절대 빼 놓을 수 없다는 이야기입니다. 그럼 이제 A9의 GPU에 대해 알아봅시다.


A9's GPU : PowerVR GT7600




전통적으로 애플은 상대적으로 CPU보다 GPU 성능에 주력해왔습니다. 이번에도 이런 경향성은 그대로 나타났습니다. 타사에 비해 상대적으로 낮은 해상도에도 불구하고 들어간 그래픽 칩셋의 성능은 매우 높습니다. 이번에 아이폰 6s의 A9에 들어간 그래픽 칩셋은 PowerVR의 GT7600 입니다. 6개의 클러스터에 192개의 스트림 프로세서를 가진 강력한 칩셋입니다. PowerVR의 카탈로그에 따르면 A9에 탑재된 GT7600이 전 세대 콘솔인 PS3와 XBOX 360을 상회하는 성능을 가졌음을 볼 수 있습니다.


클러스터의 갯수와 이전 세대 제품들의 로우 레벨 벤치마크 성능 비교를 통해 대략적인 클럭스피드를 유추할 수 있습니다. 아이폰 6s의 GT7600은 대략 600MHz의 클럭 스피드로 작동하는 것으로 추측됩니다. 이전 세대 아이폰에 비해 40%가량 빨라진 클럭스피드입니다. FinFET 공정으로의 이행이 가져다 준 이점이라고 볼 수 있겠지요. 클럭스피드의 향상과 새로운 아키텍처 채택 그리고 클러스터 갯수의 증가를 통해 애플은 공언한 대로 1.9배에 가까운 성능 향상을 얻을 수 있었습니다.


이번 세대에서도 애플은 기존에 자신들이 쥐고 있었던 그래픽 성능의 우위를 계속 가져가고 있습니다. 아래 그래프에 쓰인 수치 역시 단일 벤치마크 툴 의존도를 낮추기 위해 고안되었습니다. GFXBench의 High-Level Test인 T-Rex, Manhattan의 Onscreen, 1080p Offscreen 점수와 BaseMark OS II의 그래픽 부분 그리고 BaseMark Mobile GPU 벤치마크 수치를 표준화해 합산한 성능 점수입니다.(A9, A8 등 아이폰 모델은 Plus 모델로 한정)



A8을 100%로 표준화 시켰을 때의 그래프 형태입니다. A9은 A8 대비 91%의 성능 향상을 보여주고 있습니다. 심지어 전 세대 아이패드 에어 2의 A8X 보다도 높은 그래픽 성능을 보여주고 있습니다. 반면 엑시노스 7420과는 상당한 격차를 두고 있습니다. 현재 안드로이드 진영에서 엑시노스 7420이 가장 높은 오프스크린 성능을 보여주고 있다는 것을 감안하면 현재 스마트폰 시장에서 애플이 독보적인 그래픽 성능을 보유하고 있다는 것은 너무나도 분명합니다. 게다가 현재 하이엔드 안드로이드 폰들이 QHD 해상도를 채택하고 있다는 점은 이런 성능 차이를 더 큰 체감 차이로 만들어낼 것입니다. 그래픽 성능이 대폭 강화된 Mali-T880을 탑재할 다음 해 삼성의 엑시노스가 기대되는 대목입니다.


지금까지 살펴보신 바와 같이 애플 A9 SoC는 CPU와 GPU 양 쪽에서 전 세대 SoC에 비해 괄목할 만한 발전을 끌어냈습니다. 물론 CPU의 경우에는 아키텍처의 변화, GPU의 경우에는 아키텍처의 변화와 추가적으로 들어간 클러스터 역시 이런 성능향상에 일조했지만 여기서 새로운 FinFET 공정의 기여 역시 빼놓을 수 없는 부분입니다. 게다가 한바탕 뜨거운 감자였던 듀얼소싱 이야기 역시 빼 놓을 수 없겠지요. FinFET 공정에 대해서 좀 더 알아보도록 합시다.


FinFET 공정의 애플 AP : 스로틀링 특성 및 듀얼소싱에 대한 고찰


매번 대량의 AP를 반 세대정도 뒤쳐진 공정을 이용해 생산하며 리스크를 줄이고 원가를 낮추던 애플의 전략은 A8 SoC에 이르러 끝이 났습니다. 당시 애플은 가장 먼저 20nm 공정을 모바일 AP에 적용한 회사의 대열에 합류했습니다. 하지만 평면 트랜지스터를 사용하는 공정은 선폭이 미세화되면서 많은 문제를 일으켰습니다. 공정 미세화로 얻은 동적 전력소모 감소 효과를 정적 소모전력 증가분이 상쇄했습니다. 결과적으로 A8 칩은 다이 면적을 줄이는 데는 성공했지만 큰 폭의 성능향상 또는 전력소모 절감효과를 얻어내지 못했습니다.



이제 애플의 SoC는 FinFET 공정에서 생산됩니다. 물론 선폭이 기존 20nm에서 14nm/16nm로 감소하기도 했지만 현재 삼성과 TSMC의 14nm LPE, 16nm FF 공정은 인텔의 14nm 공정에 비하면 게이트 피치 등 많은 면에서 부족하며 오히려 기존 20nm 공정과 유사한 부분이 많습니다. 즉, 가장 큰 변화는 선폭의 감소라기보다도 FinFET 공정으로의 전환일 것입니다.


반도체의 제조공정이 미세화되면 같은 면적에 더 많은 트랜지스터를 집적할 수 있습니다. 이는 한 웨이퍼에서 뽑아낼 수 있는 칩이 많아진다는 것이고 궁극적으로 제작 단가가 감소한다는 의미입니다. 지금까지 반도체 공정이 경쟁적으로 미세화 된 중요한 동기 중 하나가 바로 단가 감소입니다. 하지만 여기서 단가 문제는 잠깐 옆으로 치워두고 생각해 봅시다.(최근에는 설비 투자 비용과 수율 문제로 단가가 무조건적으로 감소하는 것도 아니긴 합니다만) 


반도체의 선폭을 줄이는 것은 단가 감소 외에도 추가적인 효과를 가져오는데 바로 동적 전력의 감소입니다. 흔히 우리가 들어왔던 '공정미세화는 전력소모량 감소와 비례한다'는 공식이 바로 동적 전력에 해당하는 부분이었습니다. 선폭이 클 때는 이 공식이 매우 잘 맞아 들어갔습니다. 공정미세화로 인한 여러 부작용들은 무시할 수 있을 수준이었습니다. 계속되는 공정미세화는 거의 거기에 비례하는 전력소모량 감소를 가져왔고 그만큼 추가적인 트랜지스터를 집적하여 프로세서의 성능을 빠르게 늘려나갈 수 있었습니다. 하지만 어느 지점에서 공정미세화가 그에 비례하는 전력소모량 감소를 가져오지 못하기 시작했습니다. 바로 그 시점까지 무시되었던 공정 미세화의 부작용 때문인데 이 중 가장 큰 영향을 미치는 것이 Short Channel Effect입니다.


Short Channel Effect는 선폭이 짧아질 수록 트랜지스터의(MOSFET) Gate가 Source와 Drain 사이의 전류 흐름을 통제하기가 어려워져 발생하는 누설 전력의 증가입니다. 사실 더 자세한 설명을 위해서는 더 복잡한 개념의 설명이 필요하기에 추후 별도의 글로 찾아뵙도록 하겠습니다. 이 글에서는 이런 형태의 누설 전력을 정적 전력 소모라고 부르겠습니다.


(사진 : 아난드텍)


공정이 미세화될 수록 증가하는 정적 전력 소모는 미세공정으로 갈 수록 전체 전력소모에서 차지하는 비율이 커집니다. 이를 해결하기 위해서 Gate와 부분의 재질을 바꾸는 등 많은 노력이 있었습니다. 바로 High-K Metal Gate 인데 흔히 HKMG 공법이라고 불리죠. HKMG에서는 기존에 폴리실리콘으로 구성되어있던 Gate의 재질을 변경함으로서 정적 전력 소모를 줄일 수 있었습니다. 하지만 HKMG를 적용한 뒤에도 공정 미세화는 계속 이루어졌고 획기적으로 정적 전력소모를 감소시킬 방법을 찾아야만 했습니다.



이렇게 찾아낸 방법이 바로 FinFET 입니다. 인텔이 22nm 공정에서 최초로 도입했고 이제는 삼성, 글로벌파운드리, TSMC 등의 팹들이 적용하고 있지요. FinFET에서는 아예 실리콘을 핀처럼 세워버렸습니다. 그래서 이름도 핀펫이지요. 기존에는 Source에서 Drain으로 넘어가는 과정에서 Gate와 한 면으로 만났다면 이제는 세 면에서 만나게 되고 이로 인해서 정적 전력 소모량을 엄청나게 감소시킬 수 있었습니다.(맞닿는 면적이 넓어졌으므로 short channel effect를 상쇄시킬 수 있습니다.) 따라서 공정 미세화로 인한 동적 전력소모의 감소효과와 함께 정적 전력소모 역시 큰 폭으로 감소시키며 기존의 평면 트랜지스터에 비해 엄청난 소비전력 감소를 이끌어 낼 수 있었습니다.


즉 A9 칩은 기존 평면 트랜지스터에서 FinFET으로 이행함에 따라 전력소모 감소, 클럭스피드 여유분 확보 등의 이점을 얻을 수 있었고 이것은 A9 칩의 성능 향상의 한 기둥이 되었음은 물론, 아이폰 6s가 아이폰 6 보다 낮은 용량의 배터리를 탑재했음에도 비슷하거나 더 긴 배터리 타임을 보여줄 수 있는 이유입니다.


하지만 FinFET 공정에 장점만 있는 것은 아닙니다. 기존 평면 트랜지스터에 비해 제조 비용 상승이 동반될 수밖에 없고, 애플이 채택한 14nm/16nm FinFET 공정은 삼성, TSMC 양 쪽 모두에게 최신 공정입니다.  이는 기존의 구형 제조공정에 비해 상대적으로 떨어지는 수율을 의미합니다. 그리고 FinFET을 생산할 수 있는 팹 자체가 제한되어 있기 때문에 제조시설의 용량 자체도 제한되어 있습니다. 하지만 애플은 플래그쉽 제품을 출시한 지 3일만에 1000만대 넘게 팔아치우는 회사입니다. 애플은 이런 거대한 판매 규모때문에 한 파운드리 회사로부터 안정적인 물량을 공급받는 것이 어려워졌습니다.


그래서 애플이 선택한 것은 초유의 듀얼소싱 정책입니다. 애플이 듀얼소싱을 선택하게 된 배경에 대해서는 '애플의 새로운 모바일 SoC, A9 : 2부'(링크)에서 좀 더 자세히 보실 수 있습니다. 두 개의 파운드리로부터 뽑혀져 나온 각각의 A9 은 논리적인 단계에서는 완전히 동일하게 작동하지만 물리적인 단계에서는 전혀 다른 칩으로 볼 수 있습니다. 이제 관건은 애플이 각각의 허용 오차를 어느 정도로 엄격하게 잡았는가에 대한 것입니다. 지금까지 여기에 대해서 많은 말이 있었는데요, 저는 이를 확인하기 위해 총 네 대의 아이폰 6s 시리즈를 동원했습니다. TSMC 칩을 사용한 아이폰 6s, 아이폰 6s Plus와 삼성 A9을 사용한 아이폰 6s, 아이폰 6s Plus이 바로 그것입니다.


논리적으로 동일하게 작동하고 작동 클럭스피드가 같을 경우 칩의 성능은 당연히 같습니다. 우리가 중점적으로 봐야 할 부분은 칩이 똑같이 작동할 때 전력소모량 차이가 발생하는지 부분입니다. 이를 확인하기 위해 저는 긱벤치 배터리 벤치마크, GFXBench의 배터리 벤치마크, 긱벤치 성능 테스트를 연속적으로 실행시킨 경우의 배터리 지속시간을 측정했습니다. 그 결과는 아래와 같습니다. 단위는 분(minute)입니다.



아스테크니카 등의 기존 해외 매체들에서 나온 결과와 상당히 유사한 결과입니다. GFXBench의 배터리 벤치마크에서는 양 제품 모두 오차범위 내의 비슷한 배터리 성능을 보였습니다. 하지만 긱벤치 배터리 벤치마크 테스트로 넘어가면 그 이야기가 달라집니다. 기존 해외매체들이 보고한 것과 마찬가지로 삼성제 A9을 사용한 제품들이 큰 폭으로 떨어지는 배터리 지속시간을 보여주고 있습니다. 여기까지만 했으면 기존의 벤치마크와 다를 바가 없겠지요. 저는 Geekbench Loop 이라는 테스트를 추가했는데 이는 긱벤치가 자체적으로 제공하는 배터리 벤치마크 기능을 사용하는 것이 아니라 Geekbench의 성능 벤치마크를 비행기 모드, 화면 밝기 최저 상태에서 반복적으로 실행시켜 측정한 배터리 성능입니다. 이 결과값은 흥미로워 보입니다. 아이폰 6s의 경우 삼성 AP를 사용한 제품이 미세하지만 더 긴 사용시간을 보여주고 있으며 반대로 아이폰 6s Plus에서는 꽤 큰 차이로 TSMC AP를 사용한 제품이 삼성 AP를 사용한 제품을 앞서고 있습니다. 이 결과를 어떻게 해석해야 할까요? 아래 그래프를 보시면 그 궁금증이 해결되실 것 같습니다.


아래 그래프는 Geekbench Loop 테스트를 실행시켰을 때 60분까지의 긱벤치 점수를 그래프로 나타낸 것입니다. 스로틀링을 측정한 셈이죠. 놀라운 사실을 확인하실 수 있습니다.




그래프를 보시면 TSMC AP를 사용한 아이폰 6s, 아이폰 6s Plus 모두 60분 내내 일정한 점수를 유지하는 것을 보실 수 있습니다. 반면 삼성 AP를 사용한 아이폰 6s, 6s Plus는 그 정도가 다를 뿐 둘 다 유의미한 스로틀링을 보이고 있음을 확인할 수 있습니다. 아이폰 6s Plus의 경우 기기의 크기 자체가 크기때문에 복사열로 더 많은 열을 방출할 수 있기에 아이폰 6s보다 상대적으로 적은 스로틀링 폭을 보인 것으로 추정됩니다. 이 그래프는 삼성 AP가 TSMC AP에 비해 CPU가 풀로드 상태일 때 더 많은 열을 발생시킴을 강력히 시사하고 있습니다. 첫 번째 그래프는 아이폰 6s 간의 차이를 보여드리기 위해 y축의 범위를 좁게 잡았습니다. 두 번째 그래프는 아이폰 6의 스로틀링 테스트 결과를 대조군으로 포함시킨 그래프입니다. TSMC AP를 사용한 아이폰 6s / 6s Plus와 달리 삼성 AP를 사용한 아이폰 6s 경우 아이폰 6와 거의 비슷한 스로틀링 정도를 보여주고 있습니다.


이제 다시 위 표를 보면 Geekbench Loop 테스트에서 삼성 AP를 사용한 iPhone 6s가 TSMC AP를 사용한 iPhone 6s에 비해 더 긴 배터리 지속시간을 가졌던 이유를 이해할 수 있을 것입니다. 스로틀링으로 클럭스피드가 계속 떨어졌기 때문에 AP가 소비하는 전력 자체가 떨어졌기 때문입니다. 6s Plus에서 이 차이가 덜한 이유는 아이폰 6s 에 비해 양호한 열 발산 환경을 갖췄기 때문에 스로틀링으로 떨어진 클럭의 폭이 적었기 때문입니다. 실제 테스트에서도 배터리가 첫 10%를 소모하기까지의 시간은 삼성 AP를 사용한 아이폰이 훨씬 짧았지만 TSMC는 일정한 속도로 배터리를 소모한 것에 반해 삼성 AP를 사용한 아이폰은 점점 배터리 소모 속도가 느려지는 것을 확인할 수 있었습니다.


이는 Geekbench Battery 테스트에서 TSMC AP를 탑재한 각 아이폰이 삼성 AP를 탑재한 아이폰을 거의 비슷한 수준의 격차(35% 가량)으로 따돌리고 있는 것에 대한 설명이 될 수도 있습니다. Geekbench Battery 테스트의 경우 항상 CPU를 풀로드 상태로 두는 것이 아니라 로드를 계속해서 조절합니다. 따라서 풀로드가 지속되는 시간이 스로틀링이 결과에 영향을 미치기에 짧은 시간동안만 지속되고 이것이 이런 차이를 만들어냈습니다.


물론 표본의 갯수가 각각 2개밖에 되지 않기에 완전히 확신하기는 어렵지만 지금까지 많은 외신들의 보고와도 일치하는 결과를 보인 데다가 양 AP를 탑재한 총 네대의 기기가 너무나도 확연하고 일관적인 차이가 발생하고 있기에 충분한 의미를 가진다고 볼 수 있습니다. 현재까지 종합된 정보로는 'CPU 풀로드 상황에서 두 AP간에 분명한 전력소모 차이가 있다.'는 것이 결론이 되겠습니다.


물론 이것으로 실생활에서 양쪽 아이폰이 유의미한 배터리 지속시간 차이가 있다고 확대해석 할 수는 없습니다. GFXBench가 바로 그 대표적인 예시인데요, GFXBench 배터리 테스트의 경우 양 쪽 아이폰이 큰 차이가 없음을 확인할 수 있습니다. 이는 GFXBench가 CPU에 풀로드에 가까운 부하를 주지 않고 GPU, 디스플레이, 통신모듈(와이파이)가 동시에 사용되기 때문입니다. 사실 실생활에서 스마트폰을 사용하는 경우 AP의 전력소모보다 비-AP 전력소모가 더 커집니다. 이것이 CPU에서 발생하는 전력소모의 차이를 가려주는 데다가 CPU가 풀로드가 아닐 시 이 전력소모량 차이가 작아지는 것으로 보입니다. 무엇보다 여러 시나리오로 테스트된 해외 웹진들의 결과 역시 실생활에서는 오차범위 내의 차이만을 보인다고 보고되었기 때문입니다.


하지만 이 사안에서 애플은 비판을 피할 수 없습니다. 애플은 판매 전 이를 미리 공지하지 않았으며, 실생활에서 CPU가 풀로드 되는 환경이 잘 발생하지 않겠지만 특정 환경에서는 분명히 유의미한 격차를 가지는 두 AP를 '뽑기' 식으로 탑재한 것은 사실이기 때문입니다. 분명히 애플은 판매 전 이를 공지하고, AP 뽑기 방식이 아니라 6s / 6s Plus 제품에 나눠서 이를 넣는 등 이런 논란을 사전에 방지할 수 있는 충분한 능력이 있는 회사이고 그럼에도 불구하고 이를 이행하지 않은 것은 매우 유감스러운 부분입니다.


이제 AP에 대해서는 어느 정도 짚어본 듯 싶습니다. 이 외에도 M9 프로세서가 온 다이 형식으로 올라갔고, ISP 역시 개선되는 등 AP에 대한 추가적인 변경점이 있긴 했지만 이는 2부에서 다룰 부분으로 남겨두겠습니다.


하지만 CPU, GPU 성능만 살펴봤다고 핸드셋의 성능을 모두 다뤘다고 보기는 어렵습니다. 저장장치 역시 체감 성능에 영향을 주는 부분이기 때문인 동시에 이번 아이폰 6s 에서 큰 폭으로 개선된 부분 중 하나이기 때문입니다. 아이폰 6s의 저장장치가 어떻게 바뀌었는지 지금부터 살펴보도록 합시다. 


스토리지 성능 : PCI-E & NVMe


PCI-E, NVMe 어디서 많이 들어보신 용어 아니신가요? 네, 맞습니다. 최신 SSD 들이 M.2 등의 규격을 통해 PCI-E 라인으로 CPU에 직결되고 그 통신 프로토콜을 기존 하드디스크에 최적화된 방식을 버리고 NVMe를 사용하고 있지요. 이번 아이폰에 탑재된 NAND는 기존처럼 SDIO 방식으로 시스템에 연결되지 않고 PCI-E 라인으로 시스템과 연결됩니다. 이는 애플의 새 스토리지가 훨씬 넓은 대역폭, 응답성 등을 갖추었음을 의미합니다. 게다가 통신 프로토콜 역시 기존에 모바일에서 사용되던 eMMC나 UFS가 아니라 NVMe 규격을 채택했습니다. 또 기존의 제품보다 훨씬 진보한 형태의 컨트롤러가 탑재된 것 역시 성능 향상에 일조했습니다. 게다가 이번 아이폰 6s는 SLC를 캐시로 두는 방식으로 TLC 스토리지를 채택함으로서 오는 성능 저하를 최대한 막은 것으로 보입니다. 물론 공간의 제한으로 PC 수준의 메모리 칩 병렬성을 확보할 수 없기에 완전히 PC와 동등한 레벨의 스토리지는 아니지만 기존 모바일 NAND 들과 큰 격차를 가지고 있는 것 역시 분명합니다.





(출처 : 아난드텍)


애플의 새 NAND는 많은 면에서 전작에 비해 확실한 발전을 했습니다. 전작에서도 강점을 가졌던 Sequential Read / Wirte는 전작에 비해서도 훨씬 높은 성능을 기록했고 Random Read / Wirte 성능 역시 크게 증가한 것을 확인할 수 있습니다.


특히 순차 읽기, 순차 쓰기가 크게 강화된 스토리지 성능 변화는 아이폰이 4K 영상을 취급하기 시작했다는 점에서 중요한 변화가 될 수 있습니다. 하지만 이것을 감안하면 애플의 16 / 64 / 128 스토리지 정책은 더욱 이해가 안 되는 것이기도 합니다. 여기에 대한 부분은 2부에서 다시 자세히 다루도록 하겠습니다.


Inside Your iPhone 6s 성능편 결론


iPhone 6s에 들어간 Twister 아키텍처는 바닥부터 완전히 재설계된 아키텍처입니다. 기존 Typhoon 아키텍처에 비해 스루풋, 레이턴시 모두 향상되었으며 캐시 용량의 확장과 캐시 성능의 개선 등에 힘입어 IPC 역시 유의미하게 상승했습니다. 게다가 FinFET 공정으로의 이행은 코어 클럭 역시 큰 폭으로 상승시켜주었고 이는 큰 폭의 CPU 성능향상의 원동력이 되었습니다. 현재 플래그쉽 스마트폰 중 CPU 성능은 엑시노스 7420과 함께 가장 높은 수준입니다.


전통적으로 강하던 GPU 역시 놀라운 성능을 보여주고 있습니다. PowerVR GT7600의 채택으로 클러스터는 8개로 늘었고 역시 FinFET 공정의 채택으로 그 클럭스피드 역시 상승했습니다. 애플이 주장하는 바와 같이 기존에 비해 90% 가량의 성능 향상이 이뤄졌으며 현재 스마트폰 시장에서 독보적인 그래픽 성능을 가지고 있습니다.


최신 공정에서 대량의 물량을 뽑아내야 하는 사정과 협상력을 유지하고 싶어하는 애플 경영진의 욕심은 초유의 듀얼소싱을 가능케 했습니다. 주력 SoC가 삼성과 TSMC에서 각각 생산되었고 전 제품군에 혼용되어 있습니다. 현재까지의 측정 결과로는 CPU에 높은 부하가 지속적으로 걸릴 때 TSMC AP가 삼성 AP에 비해 발열, 전력소모가 유의미하게 적습니다. 실생활에서 두 제품간의 성능 차이는 거의 없습니다. 하지만 이것이 애플에게 주는 면죄부가 될 수는 없습니다.


PCI-E를 통해 NVMe 프로토콜로 시스템과 직결되는 NAND는 기존에 비해 큰 향상이 있었습니다. 특히 순차읽기, 쓰기 성능의 향상이 눈부십니다. 하지만 체감 성능에 큰 영향을 주는 랜덤 읽기, 쓰기 성능이 상대적으로 아쉽습니다. 하지만 전작에 비해 모든 면에서 큰 폭의 발전이 있었음은 부인할 수 없습니다.


아이폰 6s는 전체적으로 매우 균형잡힌 성능을 가지고 있습니다. CPU면 CPU, GPU면 GPU, 메모리 성능, 스토리지 성능까지 하나 빠지는 데가 없습니다. 아이폰 6s가 애플의 2015년 플래그쉽 스마트폰에 걸맞는 성능을 가지고 있다는 사실은 확실합니다.


Inside Your iPhone 6s 2부에서는 성능을 제외한 아이폰 6s의 모든 것을 뜯어보겠습니다. 많은 기대 부탁드립니다.


지금까지 긴 글 읽어주셔서 감사합니다.


//


IYD와 친해지세요(링크)


IYD 페이스북 : https://www.facebook.com/InsideYourDevice/

IYD 트위터 : https://twitter.com/IYD_twit


좋아요 & 팔로우 부탁드립니다.