벤치리뷰·뉴스·정보/아키텍처·정보분석

[분석정보] Bay Trail이 실현하는 윈도우 안드로이드가 공존하는 태블릿

tware 2013. 9. 26. 18:30

 

x86 버전 Android에서 호환성 문제가 매우 적은 이유

 

Intel은 9월 중순에 개최한 IDF에서 개발 코드 네임 Bay Trail-T (베이 트레일 티)로 알려진 "Atom Z3000 '시리즈를 발표했다. 전회의 기사 에서는 그 Bay Trail-T의 성능에 대해 벤치 마크를 이용하여 전했다. 자세한 것은 그 쪽의 문서를 참조하여 주시기 바란다. 결과에서 보여진 것은 Bay Trail이 기존의 Atom 사용자가 가지고 있던 이미지를 크게 뒤집는 제품이라는 것이다. 특히 이전 세대인 'Atom Z2760'(Clover Trail) 세대의 약점이었던 GPU 성능이 크게 개선된 것은 사용자에게 희소식이라 할 수 있겠다.

 Bay Trail의 진화점은 이러한 하드웨어 측면뿐만 아니다. Clover Trail 세대에서는 Windows만 되고 있던 OS 지원에 새로 Android가 추가되었다. 이를 통해 OEM 업체들은 동일한 하드웨어를 사용하여 Windows 버전과 Android 용 제품을 약간의 재 작업만으로 출시 가능하게 되는 것 외에 x86인 프로세서 장점을 활용하여 Windows 데스크톱, Windows 스토어, Android의 3 종류의 어플리케이션을 실행하는 제품이 가능하게 된다.

 


x86 버전의 Windows와 Android에 대응, 64bit는 2014 년 1분기 지원 예정


 Atom Z3000 시리즈 소프트웨어 측면에서의 가장 큰 특징은 x86 버전의 Windows와 Android의 두 OS가 동일 플랫폼에서 지원되는 것이다. 물론 ARM 아키텍처 SoC는 ARM 버전의 Android 및 Windows RT를 이미 지원하고 실제 Tegra 시리즈를 탑재한 태블릿을 제조하고 있는 업체는 이미 동일한 기판을 사용하면서 Windows RT와 Android 태블릿을 제조하는 것이 가능했다.

 x86에서 같은 일을 할수 있게 된 가장 큰 장점은 물론 x86 버전의 Windows를 사용할 수 있는 것이다. Windows 8 및 Windows RT의 가장 큰 차이점은 기존의 Windows 응용 프로그램 (이하 Windows 데스크톱 응용 프로그램)을 그대로 수행 할 수 있는지 여부이다. x86 이라면 Microsoft Office의 이전 버전 (Windows RT는 Office 2013의 ARM 버전이 표준 탑재) 또는 Adob​​e의 Photoshop 등 대표적인 Windows 데스크톱 응용 프로그램을 그대로 실행할 수 있다. 물론 기존의 Windows 응용 프로그램은 터치에 최적화되어 있지 않기 때문에 태블릿으로 이용할 경우에는 약간의 제한이 따른다는 사실. 하지만 키보드나 마우스를 연결하면 폴더 형 노트북 PC와 마찬가지로 취급 할 수있는, 특히 창의적인 사용자에게 큰 메리트라고 할 수 있다.

 Atom Z3000 시리즈에서 지원되는 Windows는 기본적으로 Winodws 8 (8.1 포함)이 된다. 기존의 Atom Z2760에서는 32bit 버전의 Windows 8만 지원되고 있었지만, Atom Z3000 시리즈는 64bit 버전의 Windows 8을 지원한다.

 그러나 발표 시점에서 64bit 버전의 Windows 지원은 아직 시작되지 않았다. 왜냐하면 현재 Instant Go (예전 Connected Standby 이름으로 불리고 있었던 절전시에도 통신 상태로 대기 모드)를 지원하는 64bit 버전의 장치 드라이버 개발이 늦었기 때문이다. Instant Go를 지원하기 위해 GPU 및 Wi-Fi, Bluetooth 등 다양한 장치 드라이버가 Instant Go에 대응하고 있을 필요가 있어, 그 개발에는 상당한 시간이 걸린다. 따라서 Intel은 우선 32bit 버전의 개발을 앞세워 64bit 버전에 관해서는 2014년 1분기부터 지원 하는 것이다.

 그러나 하드웨어 플랫폼으로는 Intel 64 (이른바 x64)에 대응하고 있기 때문에 드라이버의 준비가 갖추어지면 OEM 업체들은 OS를 64bit 버전으로 전환 출하 가능하게 된다. 또한 Instant Go에 대응하려면 다양한 소프트웨어에서 조정이 필요하므로, 32bit 버전으로 출하된 제품을 64bit 버전으로 사용자 수준에서 대체하는 것은 사실상 불가능 하며, 그러한 업그레이드는 어떤 OEM 메이커도 제공하지 않을 가능성이 높기 때문에, 그 점은 주의했으면 한다. 다만, 현재 많은 Atom Z3000 시리즈를 탑재한 제품은 메모리가 2GB 제품이 많아 소비자 사용자 수준에서 실질적으로 64bit 버전을 사용하는 메리트는 없는 것과 같다. 특별한 이유가 없으면 64bit 버전을 기다릴 필요는 없다.

 

 

 

 

Intel의 레퍼런스 플랫폼 Bay Trail 탑재 태블릿. 2,560 × 1,440 도트 초 고해상도인  것이 특징

 

 

IDF의 Intel 기자 설명회에서 공개된 Lenovo의 8인치 액정 탑재 Windows 태블릿

 

 

 

 

IDF의 Intel 기자 설명회에서 공개된 Dell의 8인치 액정 탑재 Windows 태블릿

 

 

IDF와 같은 시기에 발표된 ASUS의 Transformer Book T100 ( 다른 기사 참조)

 

ARM 버전과의 시간차가 거의 없어진 x86 버전의 Android

 

 

IDF에서 공개한 Acer의 7인치 액정 탑재의 Android 타블렛. 가격은 미 공표했지만, Acer의 담당자는 매우 저렴한 가격으로 제공하는 것을 제안했다. Intel이 199 달러부터 라는 가격대를 제시하고 있는 것을 보면 이 제품이 199 달러로 제공될 가능성은 높다


 그리고 Atom Z3000 시리즈에서 지원되는 두 번째 OS가 Android 다. 이전 세대 였던 Atom Z2760 (Clover Trail) 세대는 Windows 8만 지원되며, Android는 지원되지 않았다. Android는 이후에 등장한 Atom Z2500 (Clover Trail +)에서 지원되며, OEM은 Windows 태블릿을 제조하려는 경우에는 Atom Z2760을 Android 태블릿을 제조하고자 하는 경우에는 Atom Z2500으로 각각 다른 기판을 준비 할 필요가 있었다. 하지만 Atom Z3000 시리즈는 Windows 8과 Android를 모두 지원하고 있기 때문에, 약간의 재 작업 (펌웨어 조정 등)은 필요하지만 동일한 기판에서 Windows 8과 Android를 탑재한 태블릿을 제조 할수 있다 .

 Android는 일반적인 스마트 폰과 태블릿에 채용되고 있는 ARM 버전은 사용할 수 없으며 x86 버전을 사용할 필요가 있다. 잘 알려진대로 Android 개발은 오픈 소스라는 인터넷 개발자 커뮤니티에서 협력하고 행하는 방식이 취해지고 있어 그 개발의 제 1 타겟이되고 있는 ISA (명령어 세트 아키텍처)가 ARM 인 것이다. 따라서 Android의 새로운 버전이 나오면 먼저 ARM 버전이 만들어진 후 x86, MIPS, PowerPC와 같은 다른 ISA로 이식이 이루어져 간다. 현재 Android 시장에서 최대의 점유율을 자랑하는 ISA가 ARM인 만큼 이전에는 다른 ISA에 대한 이식은 꽤 시간이 지나야 되는 것이 많았다.

 하지만 이러한 상황은 2011년 정도부터 극적으로 개선되었다. Intel이 Google과의 협력해 나갈 것을 발표하고 그 개발에 힘을 쏟기 시작한 것도 있어, 현재는 최신 ARM 버전이 나오고 나서 빠르면 1개월 정도, 늦어도 수개월 안에 x86 버전이 등장하게 됐다. (다른 ISA의 최신 버전은 x86 버전보다 더 느린 것이 보통이다).

 이런한 상황으로 변화한 배경에는 Intel이 Google과 협력하여 임하게 되는 것과, Intel 자신도 사내에 Android를 개발하는 전담 팀을 두고 x86 버전의 개발을 촉진하고 있기 때문이다. Intel 소프트웨어 부문을 총괄하는 Intel 부사장 겸 소프트웨어 서비스 사업 본부장 더그 피셔 씨에 의하면 "Intel의 Android를 개발하는 엔지니어는 Google의 그것을 상회하는 규모로 세계 최대이다 "라는 것으로, Intel 자신이 개발 자원을 투입하고 있는 상황도 있어, ARM에 이어 두 번째라는 지위를 획득했다는 것이 현실이다.

 


Dalvik과 NDK의 2종류가 있는 Android 응용 프로그램 ISA가 다르면 NDK 에서 문제


 이러한 x86 버전의 Android를 추진하는 Intel 이지만, ARM 전용 Windows RT가 x86 ISA 용으로 만들어진 응용 소프트웨어 (Windows 데스크톱 응용 프로그램과 일부 Windows 스토어 응용 프로그램)가 동작하지 않아 사용자에 별로 침투하지 못한 것과 같은 문제가 발생할 가능성이 있다고 처음에는 생각했다. 즉, ARM 전용으로 개발된 Android 응용 프로그램이 x86 버전 Android에서 작동하지 않을 가능성이다.

 하지만 뚜껑을 열어 보니 사용자에게서 "이 응용 프로그램이 움직이지 않는다 '등의 주장은 그다지 많지 않았다. 라기 보다 많은 사용자는 이러한 문제가 있는 것조차 깨닫지 못했다. 즉, 실질적으로는 사용자가 깨닫지 못할 정도로 호환성 문제가 발생하지 않는다는 것이다 (제로로는 말하지 않는 것은 그것이 왜 인지는 구체적인 예는 뒤에 말한다.)

 호환성 문제를 이해하기 위하여는 Android 응용 프로그램이 어떤 구조로 되어 있는지를 이해해 나갈 필요가 있을 것이다. 몇 번인가 이 연재에서도 언급했지만 Android 응용 프로그램에는 크게 말하면 "Dalvik"(달빅)과 'NDK'라는 두 구조로 분류 할 수 있다. Android 표준 구조가 Dalvik을 이용하는 타입의 응용 프로그램으로 Dalvik VM이라는 가상 컴퓨터에서 응용 프로그램이 움직이게 되어 있다 (Java가 작동하는 방식에 가깝다고 생각하면 알기 쉬울 것이다). 이 가상 머신은 OS가 이용하는 ISA에서 독립해 움직이기 때문에 ARM 버전 Android 이던지 x86 버전 Android 이던지 같은 응용 프로그램이 작동하도록 되어있다. 따라서 이 Dalvik의 구조를 이용하여 작성된 Android 애플리케이션에 대해서는 호환성 문제는 발생하지 않는다.


 그러나 이 Dalvik은 가상 머신상에서 움직이는 구조이므로 하드웨어에서 직접 접근하는 응용 프로그램은 만들 수 없고, 아무리 하여도 처리 오버 헤드가 발생해 버리기 때문에 성능이 요구되는 응용 프로그램에는 그다지 적합하지 않다. 그래서 Android에서 제공되는 것이 NDK (Native Development Kit)라고 불리는 개발 키트이다. 이를 이용하여 응용 프로그램을 만들때 하드웨어에 직접 액세스 하는 처리와 Dalvik 같은 오버 헤드 없이 애플리케이션을 만들 수있다. 그러나 이 NDK를 이용했을 경우에는 Windows 바이너리와 마찬가지로 ARM 버전, x86 버전과 각 ISA 따로 마련할 필요가 있다.

 즉, ISA가 다른 Android 사이에서 응용 프로그램을 공유하려면 이 NDK를 이용하여 개발한 소프트웨어에 대한 대응이 필수라는 것이다. 지금까지 Android는 대부분 ARM 뿐이었기 때문에 개발자들은 ARM 버전만 준비하면 커버 할수 있다고 생각하는 경향으로, 아주 많은 애플리케이션에서 ARM 버전 밖에 준비되어 있지 않다는 것이 많아, 사실 지금도 적지 않다.

 그런데 사용자 수준에서 x86 버전의 Android에서 그것이 움직이지 않아, 이것이 움직이지 않는다는 불만은 거의 없다. 그럼 왜 호환성 문제는 별로 발생하지 않는 것일까?

 


x86 버전 Android에 표준으로 탑재 된 Houdini Binary Translator


 그 비밀은 x86 버전의 Android에 표준으로 탑재된 Intel의 내부 코드 네임으로 "Houdini Binary Translator" 로 불리는 바이너리 변환 소프트웨어가 NDK로 만든 ARM 바이너리를 x86으로 변환하면서 실행한다. 따라서 만일 ARM 버전의 바이너리 밖에 없는 응용 프로그램을 실행해도 x86 버전의 Android에서 실행할 수 있는 것이다. Intel에 따르면, 이 바이너리 변환을 이용함으로써 ARM 버전 NDK로 작성된 소프트웨어의 90%를 x86 용 Android에서 실행할 수 있다.

 실제로 지난 4월 일본에서도 판매가 시작된 Atom Z2420 (Medfield 코어)을 탑재한 ASUS "Fonepad"에서 동작하는 응용 프로그램을을 보면 재미있는 것이 나타난다. 잘 알려진대로 Android 응용 프로그램은 apk라는 배포 형식으로 되어 있어, 개발자들이 그것을 꺼내려면 내용을 확인하기 쉽게되어 있다 (여기에서는 본론과는 관계 없기 때문에 어떻게 하거나 만지지 않는다). apk 파일은 실체로는 zip 형식으로 압축되어 있는 것으로, Windows PC에서 확장명을. zip으로 변경하면 내용을 확인할 수 있다. 안을 살펴보면, "lib" 이라는 폴더가 있고 여기에 실행에 필요한 파일이 들어가 있는데, ARM이라면 "armeabi"라는 하위 폴더가 있고, x86이라면 "x86"이라는 하위 폴더가 표시된다.

 하지만 Fonepad에서 이용되는 응용 프로그램을 보면, x86없이 armeabi 또는 "armeabi-v7" 뿐인 응용 프로그램이 몇개나 있다. 즉, 이러한 응용 프로그램은 Houdini Binary Translator에 의해 실행되는 것이다. 필자가 개인적으로 이용하는 Fonepad에 설치된 응용 프로그램의 일부를 살펴 보았는데, 다음과 같이 되어 있었다.

Fonepad 설치 앱 lib 폴더 ISA 대응

 

       ARM x86
Amazon Kindle 4.2.0.34 O
 -
ASUS 스튜디오 3.0.20130411  O  -
Chrome 29.0.1547.72       - O
Earth 7.1.2.2011       - O
Facebook 3.7       O -
Google Play 무비 2.6.9   - O
Google+ 4.1.2.51968121       - O
Facebook Messenger 2.7.1       O -
AVG AntiVirus Pro 3.3       O O
Twitter 4.1.7       O -

 

 
 이 표를 보면 알수 있듯이, x86에 처음부터 대응하고 있는 것은 주로 Google 순정 응용 프로그램으로 이것 이외에서 대응하고 있던 것은, AVG 안티 바이러스 소프트 정도였다. Facebook도 Twitter도 Kindle도 모두 ARM 것만 대응하고 있다. 아마 보통 Fonepad를 사용하는 사용자는 이 사실을 모를 것이다. 즉, 그만큼 바이너리 변환 속도가 필요함이 충분해 사용자가 불만을 가지고 있지 않다는 것이다. 반대로 말하면, 만일 그런 응용 프로그램을 x86 네이티브로 만들어 주면, 더 빠르게 실행할 수 있다는 것이기도 하다.

 Intel은 이 Houdini Binary Translator 대해 별로 대대적으로 설명하고 있지 않다. 그 이유는 OS의 내부에 표준으로 내장되어 있으며, 사용자는 그것을 의식하지 않고 사용할 수 있기 때문에 설명 할 필요가 없기 때문이다. 다만, 90%가 변환 가능하다는 것은, 10%는 변환 할 수 없다는 것 이므로 나머지 10%의 응용 프로그램을 만들고 있는 개발자를 향​​해서는 x86 버전의 개발을 촉진할 필요가 있다. Intel은 NDK를 이용해 Android 애플리케이션을 개발하는 사용자에 x86 버전의 바이너리를 포함하는 움직임을 강화하고 있어 각종 개발 도구 등을 무상 내지는 유료로 배포하고 있다.

 그 중 일부는 C / C + + 컴파일러, 디버깅 도구, 소프트웨어 최적화 도구, Windows의 가상 환경 (Intel HAXM) 등 Intel System Studio for Android (유료), ARM과 x86 양쪽 모두에 대응하는 Android 응용 프로그램 개발을 촉진하기 Beacon Mountain (무료) 등이 준비되어 있다. Intel 으로서는 Android에 뒤쫓는 측이기 때문에 개발 환경을 충실히 하는 것으로 대응을 촉구하는 목적이 있는 것으로 생각된다.

 실제로 필자가 이용하고 있는 Fonepad에도 발매 당초는 주식회사 이북 이니셔티브 재팬이 운영하는 전자 서적 스토어 "eBookJapan"의 Android 응용 프로그램이 작동하지 않았다. 그런데 x86 버전이 출시되었으며 현재는 문제없이 사용할 수 있다. 이러한 대응이 현재 진행되고 있어 사용자가 x86 버전 Android 장치를 구입했다고 해도, 호환성의 문제가 발생할 가능성은 적어지고 있다.

 

x86 버전 Android의 구조. 표준 NDK 응용 프로그램 바이너리 변환이 들어가 있어 90% 이상의 ARM 버전 NDK 응용 프로그램을 그대로 사용할 수 있다.

 

 

 

Fonepad에 도입되는 응용 프로그램 apk의 내용을 확인해 보면, 기본적으로는 ARM 만 지원하는 응용 프로그램이 움직이고 있다는 것을 알 수 있다. 이 응용 프로그램은 ASUS가 표준 상태에서 Fonepad에 설치되어 있는 ASUS 스튜디오.

 


듀얼 OS 솔루션 3 종류의 어플리케이션이 하나의 하드웨어에서


 이렇게, Intel은 x86 버전 Android 버전 보급을 향해 상당히 힘을 주고 있어 적어도 태블릿에 관해서는 Windows와 같은 정도로 다루려 하고 있다. 즉, OEM 업체가 최종적인 제품으로 Windows를 채용하는지, Android를 채용하는지는 OEM 업체에 맡기고 Intel으로도 결실한 솔루션을 제공하는 플랫폼 벤더로 왕도를 걷는 것이다.

 OEM 제조업체는 듀얼 OS 같은 제 3의 길을 검토하고 있는 업체도 있다. 만일 Windows와 Android가 공존 한다면, Windows 데스크톱 응용 프로그램, Windows 스토어 응용 프로그램, Android 어플리케이션의 3 종류가 하나의 하드웨어에서 사용할 수 있게 된다. 이러한 접근 방식은 과거에는 듀얼 OS와 가상 OS 등의 방식으로 구현이 시도되어 왔기 때문에 지금까지 없었던 것은 아니다. 예를 들어, 가상 OS라면 BlueStacks 이 유명하고, Windows 및 Mac OS에 설치하면 Android 응용 프로그램을 Windows 및 Mac OS에서 사용 가능하다.

 IDF 전시 회장에서 Insyde Software가 전시한 것은 새로운 듀얼 OS 수법이다. 이 회사가 작성한 UEFI BIOS를 이용하여 2개의 OS를 하​​나의 하드웨어에 공존된다. 구체적으로는 한쪽의 OS가 기동되고 있을 때에는, 이제 다른 OS는 ACPI의 S3 (메모리 서스펜드) 상태에서 대기하게 되는 구조로 되어 있다. Windows는 기본적으로 ACPI에 대응하고 있지만, Android는 ACPI를 지원하지 않기 때문에 회사가 독자적으로 ACPI S3에 대응시키고 있다. 이 상태에서 Google의 인증도 취득하고 Google Play 마켓 등도 이용할 수 있다고 한다. 회장의 시현에서는 Lenovo와 Acer 노트북 PC에 설치하여 Windows 8 및 Android를 전환 모습을 보여줬다.

 이처럼 Bay Trail 세대에서 Windows와 Android를 동시에 지원함으로써 x86 프로세서를 채용한 장치는 하드웨어에서 의미로 2-in-1뿐만 아니라 소프트웨어 측면에서도 2-in- 1이 실현해 나갈 것이다. 이러한 새로운 매력을 이용하여 PC 벤더가 어떤 제품을 준비해 가는지 그것이 지금부터 기다려진다.

 

 

 

Insyde Software의 듀얼 OS 솔루션은 OS의 재부팅을 필요로하지 않는 타입의 듀얼 OS. 상대방의 OS는 ACPI의 S3 정지되고 대기 상태에 들어간다. Android에는 독자적으로 S3에 대응하고 있다

 

 

[분석정보] 저가 IA 안드로이드가 태블릿 시장을 바꾼다

 

 

[모바일 리뷰] ASUS Fonepad에 탑재된 스마트폰 Atom의 진실

 

 

[분석정보] IDF 13 Windows 8.1, Android, Chrome OS 대응 제품 발표

 

 

[분석정보] CPU, GPU 성능이 현격한 차이로 향상된 Bay Trail

 

 

[제품정보] 인텔, 태블릿용 쿼드 코어 "Atom Z3700"

 

 

[분석정보] 스몰 코어 CPU Avoton '에서 밝혀진 Intel의 저전력 CPU 전략

 

 

[분석정보] Toshiba, 8인치 LCD 채용 Windows 8.1 태블릿을 전시

 

 

[분석정보] Intel, 저전력 서버용 SoC Atom C2000 발표

 

 

[분석정보] Intel, 14nm SoC 버전 Broadwell / Denverton 절전 서버 출시

 

 

[분석정보] 컴퓨텍스 2013 Bay Trail-T와 LTE 모뎀을 무기로 모바일 시장에 파는 Intel

 

 

[분석정보] 태블릿 윈도우 라이센스 재검토 시작 윈텔(Wintel) 제국의 역습

 

 

 

[아키텍처] 인텔 22나노 아톰(ATOM) CPU코어 실버몬트(Silvermont) 세부 사항

 

 

[아키텍처] 저전력 x86 시장에서 AMD의 재규어와 싸울 인텔 실버몬트

 

 

[정보분석] 인텔 22나노 아톰(ATOM) CPU코어 실버몬트(Silvermont) 세부 사항

 

 

[정보분석] Clover Trail +과 같은 과정을 무기로 전진하는 Intel 스마트 폰 사업

 

 

[정보분석] 아웃 오브 오더 및 최신 프로세스를 채용하는 향후의 Atom

 

 

[정보분석] 14나노 공정까지 달려가는 인텔 아톰 스마트폰, 타블렛 전략

 

 

[정보분석] IDF에서 보다. Google, Microsoft, Intel의 줄다리기

 

 

[정보분석] Clover Trail +과 같은 과정을 무기로 전진하는 Intel 스마트 폰 사업

 

 

[정보분석] 아웃 오브 오더 및 최신 프로세스를 채용하는 향후의 Atom



[모바일 리뷰] 삼성 아티브 스마트 PC 500T 아톰기반 윈도우8 태블릿

 

 

[모바일 리뷰] 인텔 클로버 트레일(Atom Z2760) 리뷰 에이서 W510

 

 

[정보분석] 14나노 공정까지 달려가는 인텔 아톰 스마트폰, 타블렛 전략

 


[정보분석] CES 2012 인텔 폴 오텔리니 기조연설. 인텔 스마트폰 출시