Intel x86 Atom과 Atom_64 시스템 이미지의 차이점은 무엇입니까?


97

Android SDK Manager를 사용하여 Android M Preview 용 시스템 이미지를 설치하고 있습니다. 그러나 x86 플랫폼에 대해 두 개의 개별 이미지가 있음을 알았습니다.

여기에 이미지 설명 입력

이 둘의 차이점은 무엇이며 64 비트 Ubuntu 15.04 설치를 위해 어떤 것을 선택해야합니까? (내 CPU에는 AMD-V가 포함되어 있으며 차이가있을 경우 BIOS에서 활성화됩니다.)


5
AFAIK, 그들이 단지 등 ARM, ARM64, MIPS, 같은 다른 CPU 아키텍처를 에뮬레이트 뿐이다
CommonsWare

5
IDE로 사용하는 시스템은 중요하지 않습니다. 이것은 당신이 에뮬레이트하는 하드웨어와 관련이 있습니다. 따라서 Atom 대 Atom_64 이미지는 Atom CPU 또는 Atom 64 비트 CPU가있는 기기에서 앱 실행을 에뮬레이션할지 여부입니다.
hungryghost 2015 년

2
하나는 32 비트 CPU 이미지이고, 다른 하나는, 64 비트 일 것 같습니다
Phantômaxx

이 유사한 질문에 대한 상위 답변 참조하십시오 . IMHO는 아래 답변보다 명확한 설명입니다.
ToolmakerSteve

답변:


68

기사 에 따르면

Google의 최신 x86 64 비트 Android 5.0 에뮬레이터 이미지 릴리스를 통해 개발자는 Intel Atom 프로세서 기반 장치 용 64 비트 앱을 만들 수 있습니다.

Android 32 비트 대 64 비트

오늘날 Solaris, AIX *, HP-UX *, Linux *, OS X *, BSD 및 IBM z / OS *를 포함한 많은 64 비트 플랫폼은 LP64 모델을 사용합니다. Android는 Linux 커널을 기반으로하기 때문에 Android 64 비트 플랫폼도 LP64 모델을 사용합니다.

Intel 64 비트 CPU에는 32 비트 호환 모드가 있습니다. 32 비트 애플리케이션은 64 비트 프로세서에서 실행되지만 64 비트 최적화 컴파일러로 컴파일하면 64 비트 환경의 아키텍처 이점을 활용할 수 있습니다 .

에뮬레이터에서 64 비트 앱을 실행하는 방법

Intel Atom 프로세서 64 비트 시스템 이미지를 기반으로 새 AVD (Android Virtual Device)를 만들고 SDK Manager 또는 ADT에서 AVD Manager를 엽니 다. 그런 다음 '생성'을 클릭하고 그림과 같이 필드를 채 웁니다. 이제 64 비트 AVD 에뮬레이터를 실행할 준비가되었습니다.

여기에 이미지 설명 입력

64 비트 Android * OS

기본적으로 모든 32 비트 응용 프로그램은 64 비트 프로세서에서 결함없이 실행되지만 64 비트 프로세서에서 실행되도록 조정 된 응용 프로그램보다 느리게 실행될 수 있습니다.

Android는 64 비트 처리 준비가되어 있습니다.

32 비트에서 64 비트 칩으로 전환 할 때 얻을 수있는 주요 이점 중 하나는 현재 거의 이론적입니다. 즉, 단순한 기가 바이트가 아닌 엑사 바이트의 RAM 지원입니다. 그러나 64 비트 칩이 메모리를 처리하는 방식은 일부 작업에서 성능을 향상시킬 수도 있습니다.

요약

Intel Atom 프로세서 기반 플랫폼을위한 64 비트 기술이 적용된 Android는 개발자가 현재 애플리케이션최적화하는 데 도움이 될 수 있습니다 . 64 비트 용 Android 애플리케이션을 빌드하는 것은 기존의 32 비트 Android 애플리케이션을 빌드하는 것만 큼 쉽습니다. 이제 공식 Android 64 비트 에뮬레이터를 사용하여 64 비트 앱을 실행하고 디버깅 할 수 있습니다.

이 기사가이 시스템 이미지의 차이점을 이해하는 데 도움이 될 수 있습니다.

최신 정보

Google은 이제이 이미지에서 볼 수있는 것처럼 x86 에뮬레이터를 사용하는 것이 좋습니다.

여기에 이미지 설명 입력

차이점은 x86 이미지를 사용할 때 이제 올바른 조건 ( HAXM ) 에서 빠른 하드웨어 가속 가상화를 사용 하므로 더 이상 중간 계층이없는 것처럼 느껴지지 않습니다.


1
"64 비트 최적화 컴파일러로 컴파일"하는 애플리케이션을 언급했습니다. 그렇다면 64 비트 컴파일러로 애플리케이션을 컴파일하고 64 비트 환경에서 실행할 때 이점을 얻는 방법은 무엇입니까?
Artem M

3
@Jorge Casariego는 intel x86 atom system image에뮬레이터 속도를 높이기 위해 AVD로 개발 하는 동안 사용해야 합니까?
iraj jelodari

9
그러나 대상 아키텍처에 대해 신경 쓰지 않는다면 "Atom_64"에뮬레이터가 64 비트 Intel CPU에서 더 빨리 실행됩니까? 나는 당신의 긴 대답에 대해 전혀 모릅니다. "x86"에 대한 언급은 단순히 혼란 스럽습니다. 질문은 두 이미지 중 하나를 선택하는 것에 관한 것이기 때문입니다. 두 이미지 모두 x86을 언급하며 Atom과 Atom_64를 언급하는 것만으로도 다릅니다.
ToolmakerSteve

@ToolmakerSteve 실제로 같은 의심이 있습니다. 또한 이제 각 패키지가 상당히 커
졌으므로

15

참고 : 공식 Android Studio 문서 에는 "x86 시스템 이미지가 에뮬레이터에서 가장 빠르게 실행됩니다."라고 나와 있습니다.

나는 64 비트를 시도하지 않았기 때문에 그것에 대해 정말로 언급 할 수 없다. 다른 사람이 할 수 있습니다.


1
두 개의 서로 다른 "x86"시스템 이미지 중에서 하나를 선택하는 것에 대한 질문에 대답하지 않습니다. 하나는 "atom_64"도 언급하고 다른 하나는 "atom"을 언급합니다.
ToolmakerSteve

9

나는 둘 다 시도했고 x86_64는 x86보다 약간 느립니다. 약간의 연구 끝에 x86은 32 비트 기반 명령어 세트와 64 비트 기반에서 실행될 수있는 반면 x86_64는 64 비트에서만 실행되며 더 많은 디코딩이 필요하다는 것을 알게되었습니다.

자세한 내용은 https://developer.android.com/ndk/guides/x86-64.html 에서 확인할 수도 있습니다 .


1
첫 번째 문장은 잠재적으로 유용한 정보입니다. 이 답변의 나머지 부분은 근본적으로 혼란 스럽습니다. "x86_64"는 에뮬레이터를 실행중인 PC가 아니라 에뮬레이션 중인 장치를 나타 내기 때문 입니다. 결론 : 특정 대상 아키텍처에서 동작의 미묘한 차이를 테스트하지 않는 한 어떤 것을 선택하든 상관 없습니다.
ToolmakerSteve

@ToolmakerSteve 특히 하드웨어 가상화 기술을 통해 호스트 CPU를 직접 사용할 수있는 경우 하드웨어를 에뮬레이션하는 방법이 중요합니다.
andho

@andho 더 자세히 설명 할 수 있습니까? 혼란 스럽습니다. 그래서 어느 것이 내 시스템에서 더 빠르고 / 가볍고 / 쉽게 에뮬레이트합니까? x86 또는 x86_64
buncis

1
@buncis CPU가 VT를 지원하고 (대부분의 경우) BIOS에서 활성화하고 OS에 필요한 모듈을 설치 한 경우 x86 및 x86_64는 에뮬레이터 명령이 호스트 CPU에서 직접 실행되므로 속도가 비슷해야합니다. VT를 사용할 수없는 경우 소프트웨어 에뮬레이션이 사용됩니다. 이 경우 x86은 x86_64보다 x86을 에뮬레이트하기 위해 더 작은 주소 공간이 필요하기 때문에 더 빠르고 / 가볍고 / 쉽습니다 (예 : 64 비트 레지스트리 대 32 비트 레지스트리).
andho

2

x86은 32 비트 시스템을 의미합니다. 이제 위의 모든 답변을 읽었으며 직접 요점으로 오겠습니다.

x86 Atom-> 32 비트 안드로이드 시뮬레이션이있는 32 비트 Intel CPU

x86 Atom_64-> 64 비트 안드로이드 시뮬레이션이있는 32 비트 Intel CPU

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.