Sự khác biệt giữa hình ảnh hệ thống Intel x86 Atom và Atom_64 là gì?


97

Tôi đang sử dụng Trình quản lý SDK Android để cài đặt hình ảnh hệ thống cho Android M Preview. Tuy nhiên, tôi nhận thấy rằng có hai hình ảnh riêng biệt cho nền tảng x86.

nhập mô tả hình ảnh ở đây

Sự khác biệt giữa hai loại này là gì và tôi nên chọn cái nào cho bản cài đặt Ubuntu 15.04 64-bit của mình? (CPU của tôi bao gồm AMD-V và nó được kích hoạt trong BIOS, trong trường hợp có bất kỳ sự khác biệt nào.)


5
AFAIK, chỉ là chúng mô phỏng các kiến ​​trúc CPU khác nhau, giống như ARM, ARM64, MIPS, v.v.
CommonsWare

5
Không quan trọng máy bạn đang sử dụng làm IDE của mình. Điều này liên quan đến phần cứng bạn đang mô phỏng. Vì vậy, hình ảnh Atom vs Atom_64 là bạn muốn mô phỏng chạy ứng dụng của mình trên thiết bị có CPU Atom hay CPU Atom 64 bit.
đóighost

2
Có vẻ như một hình ảnh là hình ảnh CPU 32 bit và hình ảnh còn lại là hình ảnh 64 bit,
Phantômaxx

Xem các câu trả lời hàng đầu cho câu hỏi tương tự này ; IMHO một lời giải thích rõ ràng hơn câu trả lời dưới đây.
ToolmakerSteve

Câu trả lời:


68

Theo bài báo này

Với việc Google phát hành hình ảnh giả lập Android 5.0 x86 64 bit gần đây, các nhà phát triển có thể tạo ứng dụng 64 bit cho các thiết bị sử dụng bộ xử lý Intel Atom.

Android 32 bit so với 64 bit

Nhiều nền tảng 64-bit ngày nay, bao gồm Solaris, AIX *, HP-UX *, Linux *, OS X *, BSD và IBM z / OS *, sử dụng kiểu LP64. Vì Android dựa trên nhân Linux nên các nền tảng Android 64-bit cũng sử dụng kiểu LP64.

CPU Intel 64-bit có chế độ tương thích 32-bit. Trong khi các ứng dụng 32 bit sẽ chạy trên bộ xử lý 64 bit, việc biên dịch bằng trình biên dịch tối ưu hóa 64 bit cho phép chúng tận dụng các lợi ích về kiến ​​trúc của môi trường 64 bit .

Cách chạy ứng dụng 64-bit trên trình giả lập

Tạo thiết bị ảo Android mới (AVD) dựa trên hình ảnh hệ thống 64-bit của bộ xử lý Intel Atom và mở Trình quản lý AVD trong Trình quản lý SDK hoặc ADT. Sau đó nhấp vào 'tạo' và điền vào các trường như trong Hình. Bây giờ trình giả lập AVD 64-bit đã sẵn sàng để chạy.

nhập mô tả hình ảnh ở đây

Hệ điều hành Android * 64-Bit

Theo mặc định, tất cả các ứng dụng 32 bit chạy mà không gặp trục trặc trên bộ xử lý 64 bit, nhưng có thể chạy chậm hơn các ứng dụng được điều chỉnh để chạy trên bộ xử lý 64 bit.

Android đã sẵn sàng để xử lý 64 bit

Một trong những lợi ích chính của việc chuyển từ chip 32 bit sang 64 bit hiện nay chủ yếu là lý thuyết: hỗ trợ cho bộ nhớ RAM exabyte, thay vì chỉ gigabyte. Nhưng cách chip 64-bit xử lý bộ nhớ cũng có thể dẫn đến cải thiện hiệu suất trong một số tác vụ.

Tóm lược

Android với công nghệ 64-bit cho nền tảng dựa trên bộ xử lý Intel Atom có ​​thể giúp các nhà phát triển tối ưu hóa các ứng dụng của họ ngay bây giờ. Việc xây dựng các ứng dụng Android cho 64-bit cũng dễ dàng như việc xây dựng các ứng dụng Android 32-bit truyền thống. Giờ đây, bạn có thể sử dụng trình giả lập Android 64 bit chính thức để chạy và gỡ lỗi các ứng dụng 64 bit.

Có thể bài viết này có thể giúp bạn hiểu sự khác biệt giữa các hình ảnh hệ thống này.

Cập nhật

Google hiện khuyến khích sử dụng trình giả lập x86 như bạn có thể thấy trong hình ảnh này

nhập mô tả hình ảnh ở đây

Sự khác biệt là khi sử dụng hình ảnh x86, nó hiện sử dụng ảo hóa nhanh, được tăng tốc phần cứng trong điều kiện thích hợp ( HAXM ) nên không có cảm giác như có lớp mỡ ở giữa nữa.


1
Bạn đã đề cập đến các ứng dụng "biên dịch bằng trình biên dịch tối ưu hóa 64-bit". Vì vậy, làm thế nào để biên dịch ứng dụng của tôi với trình biên dịch 64 bit và đạt được lợi thế khi chạy trong môi trường 64 bit?
Artem M

3
@Jorge Casariego chúng ta có nên sử dụng intel x86 atom system imagetrong quá trình phát triển bằng AVD để có tốc độ giả lập tốt hơn không?
iraj jelodari

8
Nhưng nếu chúng ta không quan tâm đến kiến ​​trúc đích, câu hỏi cơ bản là: trình giả lập "Atom_64" có chạy nhanh hơn trên CPU Intel 64 bit không? Tôi không có ý tưởng từ câu trả lời dài dòng của bạn. Và việc bạn đề cập đến "x86" đơn giản là khó hiểu, vì câu hỏi là về sự lựa chọn giữa hai hình ảnh, cả hai đều đề cập đến x86, chỉ khác nhau khi đề cập đến Atom và Atom_64.
ToolmakerSteve

@ToolmakerSteve Tôi thực sự có cùng nghi ngờ. Ngoài ra tôi đang nhìn thấy mà bây giờ mỗi gói được trở nên khá lớn, chọn những cái đúng là rất quan trọng để lấp đầy với các dữ liệu không cần thiết con đường
Carmine Tambascia

15

FYI: Trong tài liệu Android Studio chính thức có nói rằng "hình ảnh hệ thống x86 chạy nhanh nhất trong trình giả lập."

Tôi chưa thử 64bit, vì vậy tôi không thể thực sự nhận xét về điều đó. Có thể người khác có thể.


1
Không trả lời được câu hỏi, đó là về việc lựa chọn giữa hai hình ảnh hệ thống "x86" khác nhau, một trong số đó cũng đề cập đến "atom_64", hình còn lại đề cập đến "nguyên tử".
ToolmakerSteve

9

tôi đã thử cả hai và x86_64 xảy ra chậm hơn một chút so với x86. những gì tôi phát hiện ra sau một nghiên cứu nhỏ là x86 có thể chạy trên tập lệnh dựa trên 32 bit và dựa trên 64 bit trong khi x86_64 chỉ chạy trên 64 bit cần giải mã thêm ...

bạn cũng có thể kiểm tra tại đây https://developer.android.com/ndk/guides/x86-64.html để biết thêm thông tin ..


1
Câu đầu tiên là thông tin hữu ích tiềm năng. Phần còn lại của câu trả lời này về cơ bản là nhầm lẫn, vì "x86_64" đề cập đến thiết bị bạn đang mô phỏng , không phải máy tính bạn đang chạy trình giả lập của mình. Điểm mấu chốt: không quan trọng bạn chọn cái nào, trừ khi bạn đang kiểm tra một số khác biệt nhỏ trong hành vi trên một kiến ​​trúc mục tiêu cụ thể.
ToolmakerSteve

@ToolmakerSteve vấn đề quan trọng là cách phần cứng được mô phỏng, cụ thể là nếu cpu máy chủ có thể được sử dụng trực tiếp thông qua công nghệ ảo hóa phần cứng.
andho

@andho bạn có thể nói rõ hơn được không? Tôi bối rối; vậy cái nào nhanh hơn / nhẹ hơn / dễ dàng hơn trên hệ thống của tôi để mô phỏng? x86 hoặc x86_64
buncis

1
@buncis nếu CPU của bạn hỗ trợ VT (hầu hết đều có) và bạn đã bật nó trong BIOS và các mô-đun cần thiết được cài đặt trong hệ điều hành, thì cả x86 và x86_64 sẽ có tốc độ tương tự vì các hướng dẫn giả lập được chạy trực tiếp trên CPU chủ. Nếu VT không có sẵn, mô phỏng phần mềm được sử dụng. Trong trường hợp này x86 nhanh hơn / nhẹ hơn / dễ dàng hơn vì không gian địa chỉ nhỏ hơn cần phải mô phỏng x86 so với x86_64 (ví dụ: đăng ký 64 bit so với đăng ký 32 bit).
andho

2

x86 có nghĩa là hệ thống 32 bit. Bây giờ tôi đã đọc tất cả các câu trả lời trên và tôi sẽ trực tiếp đi vào vấn đề.

x86 Atom -> 32bit Intel CPU với mô phỏng android 32bit

x86 Atom_64 -> CPU Intel 32bit với mô phỏng android 64bit

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.