애플은 왜 최초로 64비트 아이폰을 개발했을까

애플의 아이폰 (iPhone) 5S/C 발표 행사가 끝난 후, '과연 스마트폰에 64비트 아키텍처가 필요 있을까? 필요 있다면 어떤 점이 좋아졌는가?'를 놓고  수많은 국내외 미디어들과 블로거들이 중요한 이슈로 다루었다.

더욱이 국내 유명한 한 블로거 분이 저의 페이스북에 댓글을 달아 이러한 의문에 대해 질문을 했다. 간단한 견해를 밝혔는데 뜨거운 토론의 불을 지펴지기 시작했다. 일부 외신에서는 세계 최초 64비트 스마트폰이 '현실성이 없는 마케팅 용어'라고 비아냥 거리까지 했다.

그렇다면, 나는 개인적으로 한 가지  의문이 생기게 시작했다. 과연 그럴까? 기술적인 관점에서 왜 애플이 64비트 아키텍처를 아이폰(iPhone) 5S/C에 도입했는지 그 근거를 한 번 찾아 보고 싶어졌다.

애플은 지난 2007년 WWDC 행사에서 데스크톱 운영체제인 Mac OS X인 레오파드(Leopard)를 발표했다. 이것이 애플 제품에 대한 첫 64비트 아키텍처 지원이었다. 그 당시 키노트를 맡았던 고 스티브 잡스는 32비트와 64비트를 각각 Side-by-Side 에서 동작할 수 있도록 만들었다고 했다. 이윽고 보여준 데모에서는 미국 국회 도서관을 찍은 사진 하나를  불러 오는 데, 중앙처리장치(CPU) 처리 속도가 64 비트에서는 28.48 초 밖에 걸리지 않았다. 하지만 32비트에서는 81.64 초나 걸렸다.

이러한 차이는 RAM 에서 32비트는 최대 3.25 기가바이트까지 지원하는데 64비트는 16EB(엑사바이트, 17억 기가바이트) 까지 처리할 수 있기 때문에 발생한다. 특히, 이번 애플 발표에서 퓐 쉴러 부사장이 범용 레지스터와 부동 소수점 레지스터가 기존에 비하여 2배라고 강조한 것을 본다면, 서버용 ARM Cortex A50 에서 A7 칩을 더 발전 시켰다는 것을 알아 차릴 수 있다.  [그림1 참조]

477408_20130913153828_093_0001


[그림1: 필 쉴러 부사장이 A7 칩과 64비트 아키텍처 설명 장면]


그렇다면, 한 가지 의문 사항이 발생할 것이다. 이전까지의 32비트는 어떻게 앱의 프로세스를 실행시켰는가?

32비트에서는 저장 메모리(디스크)에서 하나의 프로세스가 데이터를 불러온다. 이때  여러번  실행되면, 프로세스 힙 내의 메모리가 조각 현상(Fragmentation) 으로 전체 시스템이 느려지는 현상이 발생한다. 특히, 프로세스가 얽히거나 데드락이 걸리는 경우에는 스마트폰 상의 배터리를 더욱 더 소모 시키는 가중 현상이 발생한다. 더 흥미로운 점은, 64비트용 부동 소수점 연산은 그래픽, 오디오 및 비디오 등등 멀티미디어, OpenGL ES를 이용한 3D 게임과 같은 물리 연산에서는 강력한 능력을 발휘한다는 사실이다.

이러한 문제점을 64비트 아키텍처가 더 많은 메모리를 확보해 줌으로써 훨씬 더 많은 프로세스와 빠른 멀티 태스킹을 처리할 수 있도록 도와준다.

애플은 64비트 아키텍처 뿐만 아니라 다른 기능에 대해 많은 시간을 할애하면서 새로운 iPhone 5S/C의 기능을 설명했다. 예를 들어, 8메가 아이사이트(iSight) 카메라 뿐만 아니라 뒷면 조명, 하이브리드 IR 필터와 라이브 포토 필터, 3x 비디오 줌과 20번 연속 촬영, 슬로모션 촬영 등등이다. 이러한 카메라 기능이 새로운 하드웨어(HW) 카메라 센서 때문일 수도 있지만, [그림2] 에서 보듯이, 소프트웨어적으로 64비트 운영체제(OS)가 그러한 HW 센서를 받아 커널 디바이스 드라이버에 연결하여, 다시 사용자 모드인 iPhoto 와 같은 응용 앱들로 충분히 잘 처리해주는 예이다.


[그림2: 수많은 사진들을 iPhoto 에서 년도별 사진 갤러리 살펴 보는 화면]


또한 여러분들도 잘 아다시피, iOS7이 처음 발표되었을 때 조나단 아이브는 그동안 디자인 철학인 스큐어몰피즘 대신 플랫 디자인으로 간다고 했다.  이번 iOS7 에서는  더 두렸하고 생동감 있게 표현하기 위해 아이콘에  더 많은 컬러를 표현해야 했다. 따라서 64비트 아키텍처가 더 많은 컬러들을  표현을 해 주는 데 커다란 역할을 해준다. 그뿐만 아니라, 이미 앱 개발자들을 위해 XCode가 64비트 컴파일러를 지원하며, 64비트 트랜지션 가이드라인도 제공하고 있다.

더욱 더 놀라운 점은, M7 모션 보조 프로세서의 도입이다. 자이로스코프, 액셀러메이터, 컴파스와 같은 센서를 직접 CPU에 영향을 주지 않도록 해서 CPU는 원래의 앱 프로세스 실행에 중점을 두도록 했다. 그외 입출력 센서들은 M7 모션 보조 프로세서가 맡도록 했다. 이것은 더 많은 램을 필요하거나, 주변 센서로 부터 전력을 빼앗가는 64비트 아키텍처의 단점을 잘 방지해 준다.

또한 헬스케어나 피트니스와 같은 앱에서는 좀더 정확한 데이터를 뽑을 수 있도록 도와 줌으로서 새로운 컨텍스트 지향(Context-Aware)의 디바이스+서비스를 결합한 형태의 앱을 탄생케 한다. 바로 이 기능은 향후에 나올(?) 스마트시계인 아이와치( iWatch) 의 핵심 기능으로서 자리를 잡을 것으로 기대된다.  타업체들은 시계를 시계로만 보지만, 애플은 모바일 세계에서는 이동성 중요함을 잘 알고 있다. 애플의 다른 기기나 파트너 업체와 인터넷을 연결하여 IoT(Internet over Things)간 컨텍스트 지향 서비스가 향후에 사람들의 이동성 패턴을 근거하여 서비스 하는 데 중요한 빅데이터(Bigdata)로서 활용할 수 있기 때문이다.

한편, 삼성전자 신종균 대표도 애플 발표가 있고 난 며칠 후, 다음 스마트폰에서는 64비트를 도입하겠다는 의지를 밝혔지만 불행하게도 제 생각엔  구글의 안드로이드(Android)가 64비트 아키텍처로 가지 않는 한, 반쪽 짜리 64비트용 스마트폰이 탄생할 확률이 높다. 그 이유는 삼성은 애플과 달리 하드웨어 제작은 자체적으로 하지만, 소프트웨어 OS 와 개발자 도구, 앱스토어는 구글에서 만들기 때문이다.

덧붙혀, 구글은 안드로이드의 다음 버전인 키캣(KitKat)을 발표했다. 하지만 요즘 구글의 전략을 살펴 보면 새로운 안드로이드 경영진 교체와 더불어 웹OS인 크롬에 좀더 집중하는 양상이다.  삼성전자가 갤럭시5(가칭)를 HW와 SW가 통합된 64비트 아키텍처 탑재한 스마트폰을 출시하기가 만만치 않다고 해석할 수 있다.

반대로 애플은 다음 달, OS X 매버릭에서 데스크탑과 서버 제품으로서 HW+SW가 통합된 64비트 아키텍처를 십분 이용한 기능들을 소개할 것으로 기대된다.

Newsletter
디지털 시대, 새로운 정보를 받아보세요!