얼마전에 애플의 팀쿡 아저씨가 아이폰5S를 발표하면서,
아이폰5S에 사용한 A7칩은 64비트로 작동한다.. 라고 했습니다..
사실, 64비트 A7에 관한 부분은 이전에 아이폰5S에 대한 루머중에 없었던 내용이었습니다.
색상이나 지문인식, 카메라, 플래시 등은 거의 루머와 일치했지만,
A7칩이 64비트라는 것은 루머로 퍼지지 않았던 걸로 기억합니다. (아니면 루머가 있었지만, 그리 주목받지 않았을지도)
아무튼, 64비트라는 것 외의 루머가 너무 정확히 맞아서 그런건지,
지문인식이나 5C버전 출시 소식보다는 64비트에 대한 찬반론이 더 뜨겁습니다.
찬성쪽 의견을 보자면,
어차피 스마트폰의 할일이 점점 많아지고 복잡해지니, 결국엔 64비트로 넘어가야 한다.
그리고 64라면 3GB라는 메모리의 한계도 넘을 수 있으니, 이번 아이폰5S는 새로운 스마트폰의 시대를 열 것이다.
이고,
반대쪽 의견은, 훨씬 많아서,
배터리 소모가 더 빠를 것이라든지,
현재로서 64비트 응용프로그램을 만드는 것은 프로그래머에게 일을 가중시키는 것이라든지,
실질적인 퍼포먼스 향상은 없을 것이고, 만약 A7칩이 그렇게 획기적이었다면, 아이폰5S가 아니라 아이폰6로 명명했을거라든지..
뭐 이런저런 비판도 있습니다.
자, 여기서 얼마전에 좌초된 프로젝트인 '우분투 엣지'를 봅시다.
이젠 프로젝트가 중지되어서 정확히 무슨 CPU를 쓸건지 알려지지는 않았지만,
최초에 밝힌 스펙에 보면 램을 4GB로 잡아놨습니다.
좀 더 생각해보면, 현재 ARM에서 최근 발표한 아키텍처를 보면 64비트로 돌아간다고 하던데, (삼성의 엑시노스쪽도 아키텍처가 발표되면 곧 적용하겠죠?)
이걸 겨냥한 스펙이 아닐까 싶습니다.
물론, 아이폰5S의 램은 1GB로 알려져있지만,
앞으로 아이폰 7쯤 되면 램이 4GB쯤 되지않을까도 예상해볼 수 있습니다.
아무튼,
개인적으로는, 64비트 ARM칩에 대한 논란의 중심에는 결국에 배터리가 있다고 생각합니다.
듣자하니, 64비트칩을 사용해서 램을 늘린다면, 그 램을 구동하기 위해 전력소모가 심하다고 하더군요.
게다가 아이폰같이 배터리를 내장하는 스마트폰이라면, 빠른 배터리 소모는 굉장한 약점이 될 수 있죠.
예전에 윈도우기반 데스크탑 컴퓨터에서도 x86에서 x64로 가면 엄청난 성능향상이 있을거라는 광고를 하면서,
이제 미래는 64비트의 시대이다! 라고 했지만,
결국 64비트의 시대는 아직도 도래하지 않았습니다. 64비트냐 32비트냐를 고르는 것은 램을 4GB쓸것이냐 말것이냐로 결정되고 있는게 현실입니다.
즉, 현재로서 일반적인 프로그램에서는 64비트나 32비트나 속도가 비슷하다는 뜻이죠.
이는 CPU의 성능이 굉장히 좋아져서 그런것도 있고,
일반적으로는 특별한 경우가 아니고서야 프로그램 개발자들이 64비트 전용 프로그램만 만들지는 않기때문이기도 할 것입니다.
그러니, 이제 막 태동하기 시작한 모바일용 64비트CPU도 그리 밝게 보진 않는다는 해석을 할 수 있습니다.
글쎄요.. 제가 잘 몰라서 그런데..
만약 64비트로 돌렸을때 낮은 클럭으로도 높은 클럭의 32비트 칩과 비슷한 성능을 낼 수 있다면,
이야기가 달라지긴 하겠지만, (클럭이 높으면 배터리 소모도 빠를테니까.. 비슷한 논리로, LTE무용론도 한때 있었죠)
현재의 배터리 성능의 한계를 생각해본다면,
현재로서는 64비트CPU를 모바일 기기, 특히나 무게가 중요한 휴대전화에 심는 것은 시기상조가 아닌가 하는 생각이 자꾸 듭니다..
뭐 저도 잘은 모르지만,
ARM도 각종 애드온(?)으로 부동소수점 연산은 더이상 고민거리는 아니라고 들은적이 있습니다.
문제는, 과연 ARM코어에 64비트 프로세싱이 필요한가? 입니다.
또는 ARM칩에 3GB이상의 램이 필요한가?입니다.
물론, 언젠가는 필요하겠지만..
램이 늘어나면 (아마도) 당연히 배터리 소모 속도도 늘어날테고요..
무거운 게임이나 멀티태스킹을 많이 하는 사람이라면 필요할 수도 있겠지만,
스마트폰으로 굳이 그렇게 할 필요가 있을까 싶기도 하고요..
본문에 잠시 언급했던 우분투 엣지처럼, 저성능 PC에 근접하는 특수목적의 스마트폰이라면 모르겠는데,
현재로서는 전화+간단한 어플 구동만 한다면, 지금 나오는 ARM칩으로도 충분하지 않을까 싶습니다.
조금 가까운 미래라면 또 모르겠지만, 현재로서는 그렇다는 이야기.
혹시나, 타블렛쯤 되면 고용량 램이나 64비트 프로세싱이 필요할 수도 있겠지만..
타블렛의 영역으로 넘어가버리면, 지금 인텔이 무시무시한 눈으로 지켜보고 있는게 타블렛 시장이고,
여차하면 64비트 저전력 칩셋을 설계할 수 있는 능력이 있는 회사가 인텔이니까,
ARM으로서는 애써서 64비트 아키텍처에 목매달 필요는 없을 것 같고요.. (스마트폰으로도 충분히 뽑아먹고 있으니..)
꼬마네꼬씨 의견처럼, VM으로 돌리는 안드로이드OS같은 경우는 램이 많을 수록 좋으니까 오히려 안드로이드쪽에 64비트가 더 유용할 것 같은데..
아무리 삼성이 하면 다 따라갈수 밖에 없다지만,(삼성도 엑시노스에 64비트를 넣을까말까 고민중이라죠)
PC에서의 32비트-64비트 문제처럼, 어플 개발자들에겐 이중고가 펼쳐지게 되는 상황이라 그것도 쉽진않을 듯합니다.
일반 유저가 체감 가능한 64비트의 이점은 64비트 어드레싱(램4GB)와 부동소수점 연산 부분이죠. (직접적인 성능이나 배테리는 별로 상관이 없습니다. A7의 성능 향상은 64비트라서가 아니라 ARMv8 아키텍쳐 기반이기 때문이죠.)
아이폰 램은 어차피 1GB요, 4GB 갈 날은 한참 남았고...
보통 CPU에서 부동소수점 연산은 인/디코딩 쪽인데 모바일에서는 거의 동영상 감상 정도...
그나마도 ARM은 VFP라는 부동소수점 연산 프로세서와, NEON이라는 멀티미디어 관련 아키텍쳐로, 부동소수점 연산에 대해서는 그다지 아쉬 울 게 없습니다.
그래서 논란이 되는 거죠... 64비트 네이티브 앱도 지금 당장 나올리 만무하고요. (성능 향상은 별로 없을 것 같긴 해도)
다만 64비트 도입이 시기상조라고 볼 수는 없는 게, 1년이라도 빨리 도입해야 64비트로의 이행이 그만큼 빨라지는 겁니다.
5S가 지금의 아이폰 4S 라인으로 가게 되면 모든 iOS를 64비트로 이행 완료 될테고, 1년 빨리 도입 한 만큼 완료 직전 ~ 완료 시점에서 발생하는 비용이 오히려 절약 될 수 있습니다.
(과도기에는 OS에서 32비트와 64비트를 모두 고려해야 하므로 그만큼 추가 비용이 발생...)
이건 iOS는 애플만이 만들기에 가능한 거고요...
안드로이드쪽은, PC와 마찬가지로, 상당기간 동안은 64비트 AP가 램을 많이 쓸 수 있다... 정도의 의의만 가지게 될 가능성이 높습니다.