Nhà thiết kế | Steve Furber, Sophie Wilson Acorn Computers/Arm Ltd. |
---|---|
Bits | 32-bit, 64-bit |
Ra mắt | 1985; 39 năm trước |
Kiến trúc | RISC |
Loại | Register-Register |
Branch | Thanh ghi trạng thái, so sánh và branch |
Open | Độc quyền |
ARM (trước đây viết tắt là Advanced RISC Machine và ban đầu là Acorn RISC Machine) là một dòng kiến trúc RISC dành cho vi xử lý, được tùy biến cho nhiều môi trường khác nhau. Arm Holdings phát triển và cấp phép kiến trúc này cho các công ty khác, những công ty này sau đó thiết kế các sản phẩm như SoC và các module hệ thống (SoM) kết hợp với các thành phần như bộ nhớ, giao diện, radio. Họ cũng thiết kế các lõi thực hiện tập lệnh và cấp phép cho các thiết kế này cho các công ty đối tác để tạo ra các sản phẩm dựa trên các lõi này.
Các bộ xử lý RISC thường yêu cầu ít bóng bán dẫn hơn so với các bộ xử lý CISC (như bộ xử lý x86 trong hầu hết máy tính cá nhân), điều này giúp giảm chi phí, tiêu thụ điện năng và tản nhiệt. Những đặc điểm này đặc biệt phù hợp với các thiết bị di động, chạy bằng pin như điện thoại thông minh, máy tính xách tay, máy tính bảng và các hệ thống nhúng khác. Đối với các siêu máy tính tiêu tốn nhiều năng lượng, ARM cũng có thể là giải pháp tiết kiệm năng lượng.
ARM Holdings thường xuyên phát hành các bản cập nhật cho kiến trúc của mình. Từ ARMv3 đến ARMv7, kiến trúc hỗ trợ không gian địa chỉ 32 bit và số học 32 bit; hầu hết các phiên bản đều có các hướng dẫn cố định 32 bit. Phiên bản Thumb hỗ trợ tập lệnh có độ dài thay đổi, bao gồm cả lệnh 32 và 16 bit để cải thiện mật độ mã. Một số lõi cũ hơn cũng hỗ trợ thực thi phần cứng cho mã byte Java. Phiên bản ARMv8-A, phát hành năm 2011, bổ sung hỗ trợ cho không gian địa chỉ 64 bit và số học 64 bit với tập lệnh mới có độ dài cố định 32 bit.
Tính đến năm 2017, hơn 100 tỷ bộ xử lý ARM đã được sản xuất, làm cho ARM trở thành kiến trúc tập lệnh phổ biến nhất và được sản xuất nhiều nhất. Hiện nay, các lõi Cortex được sử dụng rộng rãi, cùng với các lõi 'cổ điển' cũ và các biến thể lõi SecurCore chuyên dụng có sẵn, bao gồm hoặc loại trừ các khả năng tùy chọn.
Quá trình phát triển
Acorn Computer, nhà sản xuất máy tính ở Anh, lần đầu tiên phát triển kiến trúc Acorn RISC Machine (ARM) vào những năm 1980 để tích hợp vào các máy tính cá nhân của mình. Các sản phẩm đầu tiên dựa trên ARM của họ là các mô-đun đồng xử lý cho dòng máy tính BBC Micro. Sau thành công của BBC Micro, Acorn Computer đã xem xét việc chuyển từ bộ xử lý MOS Technology 6502 đơn giản để thâm nhập vào thị trường doanh nghiệp, nơi IBM PC đã chiếm ưu thế từ năm 1981. Dự án Acorn Business Computer (ABC) yêu cầu các bộ xử lý thứ hai để làm việc với nền tảng BBC Micro, nhưng các bộ xử lý như Motorola 68000 và National Semiconductor 32016 không phù hợp, trong khi 6502 không đủ mạnh cho giao diện đồ họa.
Theo Sophie Wilson, tất cả các bộ xử lý thử nghiệm vào thời điểm đó đều hoạt động tương đương với băng thông khoảng 4 Mbps.
Sau khi thử nghiệm các bộ xử lý có sẵn và thấy chúng không đủ tốt, Acorn quyết định cần thiết kế một kiến trúc mới. Lấy cảm hứng từ các nghiên cứu của dự án Berkeley RISC, Acorn quyết định phát triển bộ xử lý của riêng mình. Chuyến thăm đến Western Design Center ở Phoenix, nơi bộ xử lý 6502 đang được cập nhật hiệu quả bởi một công ty duy nhất, đã cho thấy rằng các kỹ sư của Acorn, Steve Furber và Sophie Wilson, không cần nguồn lực lớn mà chỉ cần nghiên cứu hiện đại và cơ sở phát triển.
Wilson đã phát triển bộ hướng dẫn và viết mô phỏng bộ xử lý bằng BBC BASIC chạy trên BBC Micro với bộ xử lý 6502 thứ hai. Điều này đã thuyết phục các kỹ sư Acorn rằng họ đang đi đúng hướng. Wilson đã tiếp cận Giám đốc điều hành của Acorn, Hermann Hauser, để yêu cầu thêm tài nguyên. Hauser đã đồng ý và tập hợp một nhóm nhỏ để triển khai mô hình của Wilson về phần cứng.
Acorn RISC Machine: ARM2
Dự án Acorn RISC Machine chính thức khởi động vào tháng 10 năm 1983. Acorn đã chọn VLSI Technology làm đối tác cung cấp silicon vì họ đã cung cấp ROM và các chip tùy chỉnh cho Acorn. Wilson và Furber lãnh đạo nhóm thiết kế, và họ đã phát triển một sản phẩm với hiệu suất tương tự như 6502. Mục tiêu chính của thiết kế là đạt được xử lý đầu vào/đầu ra với độ trễ thấp như bộ xử lý 6502. Kiến trúc bộ nhớ của 6502 giúp các nhà phát triển chế tạo máy tính nhanh chóng mà không cần phần cứng truy cập bộ nhớ trực tiếp (DMA).
Các mẫu silicon ARM đầu tiên hoạt động rất tốt khi được thử nghiệm lần đầu vào ngày 26 tháng 4 năm 1985.
Ứng dụng đầu tiên của ARM là bộ xử lý phụ cho BBC Micro, giúp phát triển phần mềm mô phỏng, hoàn thiện các chip hỗ trợ (VIDC, IOC, MEMC) và tăng tốc phần mềm CAD sử dụng trong phát triển ARM2. Wilson đã viết lại BBC BASIC bằng hợp ngữ ARM, tận dụng kiến thức từ việc thiết kế bộ hướng dẫn để tạo ra mã rất hiệu quả. ARM BBC BASIC trở thành một thử nghiệm lý tưởng cho bất kỳ trình giả lập ARM nào. Mục tiêu của việc tạo ra máy tính chủ yếu dựa trên ARM được hoàn thành vào năm 1987 với việc phát hành Acorn Archimedes. Năm 1992, Acorn nhận giải Queen's Award for Technology lần thứ hai cho ARM.
ARM2 nổi bật với bus dữ liệu 32 bit, không gian địa chỉ 26 bit và 27 thanh ghi 32 bit. Tám bit từ thanh ghi bộ đếm chương trình được dùng cho các mục đích khác; sáu bit trên cùng (có sẵn do không gian địa chỉ 26 bit) làm cờ trạng thái và hai bit dưới cùng (do bộ đếm chương trình luôn căn chỉnh từ) dùng cho các chế độ cài đặt. Bus địa chỉ được mở rộng lên 32 bit trong ARM6, nhưng mã chương trình vẫn phải nằm trong bộ nhớ 64MB đầu tiên ở chế độ tương thích 26 bit do các bit dành riêng cho cờ trạng thái. ARM2 có chỉ 30.000 bóng bán dẫn, so với khoảng 40.000 của model 68000 cũ hơn của Motorola. Sự đơn giản này chủ yếu là do thiếu microcode (chiếm khoảng một phần tư đến một phần ba của 68000) và không có bộ đệm (như hầu hết các CPU thời đó). Sự đơn giản này cho phép tiêu thụ năng lượng thấp và hiệu suất tốt hơn so với Intel 80286. Một phiên bản kế nhiệm, ARM3, được sản xuất với bộ đệm 4 KB, cải thiện hiệu suất hơn nữa.
Advanced RISC Machines Ltd. — ARM6
Cuối những năm 1980, Apple Computer và VLSI Technology bắt đầu hợp tác với Acorn để phát triển phiên bản mới của lõi ARM. Năm 1990, Acorn tách ra thành một công ty mới mang tên Advanced RISC Machines Ltd, sau này đổi tên thành ARM Ltd khi công ty mẹ ARM Holdings niêm yết trên sàn chứng khoán London và NASDAQ vào năm 1998. Hợp tác giữa Apple và ARM đã dẫn đến việc phát triển ARM6, được ra mắt lần đầu vào đầu năm 1992. Apple đã sử dụng ARM610, dựa trên ARM6, làm nền tảng cho PDA Apple Newton của họ.
Những giấy phép đầu tiên
Năm 1994, Acorn đã chọn ARM610 làm CPU chính cho hệ thống RiscPC của họ. DEC nhận giấy phép kiến trúc ARMv4 và phát triển StrongARM. Với tốc độ 233 MHz, CPU này tiêu tốn chỉ một watt (phiên bản mới hơn tiêu thụ ít hơn nhiều). Công việc này sau đó được Intel tiếp nhận theo thỏa thuận giải quyết vụ kiện và Intel đã tận dụng cơ hội để bổ sung dòng i960 với StrongARM. Intel sau đó phát triển phiên bản hiệu suất cao của mình, XScale, mà công ty đã bán cho Marvell. Số lượng bóng bán dẫn của lõi ARM hầu như không thay đổi qua các phiên bản; ARM2 có 30.000 bóng bán dẫn, trong khi ARM6 có 35.000.
Thị phần
Năm 2005, khoảng 98% số điện thoại di động được bán ra đã trang bị ít nhất một bộ xử lý ARM. Đến năm 2010, các nhà sản xuất chip dựa trên kiến trúc ARM đã báo cáo số lượng lô hàng lên tới 6,1 tỷ bộ xử lý, chiếm 95% thị trường điện thoại thông minh, 35% TV kỹ thuật số và hộp giải mã, cũng như 10% máy tính di động. Đến năm 2011, kiến trúc ARM 32 bit đã trở thành kiến trúc phổ biến nhất trong các thiết bị di động và là kiến trúc 32 bit phổ biến nhất trong các hệ thống nhúng. Đến năm 2013, tổng số chip dựa trên ARM sản xuất đã đạt 10 tỷ, với các chip này hiện diện trong gần 60% thiết bị di động toàn cầu.
Cấp phép
Giấy phép lõi
Hoạt động chủ yếu của ARM Holdings là cung cấp giấy phép cho các IP cores, cho phép tạo ra các vi điều khiển (MCUs), CPU và hệ thống trên chip dựa trên lõi của họ. Các nhà sản xuất thiết kế tích hợp lõi ARM với các thành phần khác để tạo ra sản phẩm hoàn chỉnh, điển hình là thiết bị có thể được sản xuất tại các nhà máy chế tạo bán dẫn với chi phí thấp nhưng vẫn đạt hiệu suất cao. Thành công nổi bật nhất là ARM7TDMI, với hàng trăm triệu đơn vị được bán ra. Atmel đã là một trung tâm thiết kế quan trọng trong hệ thống nhúng dựa trên ARM7TDMI.
Các kiến trúc ARM được sử dụng trong các thiết bị như điện thoại thông minh, PDA và các thiết bị di động khác trải dài từ ARMv5 đến ARMv7-A, phù hợp cho các thiết bị cấp thấp và tầm trung, đến ARMv8-A được áp dụng trong các thiết bị cao cấp hiện nay.
Vào năm 2009, một số nhà sản xuất đã ra mắt netbook sử dụng CPU kiến trúc ARM, trực tiếp cạnh tranh với những netbook sử dụng Intel Atom. Theo phân tích của công ty IHS iSuppli, đến năm 2015, các mạch tích hợp ARM có thể chiếm đến 23% tổng số máy tính xách tay.
ARM Holdings cung cấp nhiều tùy chọn cấp phép với chi phí và khả năng cung cấp khác nhau. Tất cả những người được cấp phép đều nhận được mô tả phần cứng tích hợp của lõi ARM, cùng với bộ công cụ phát triển phần mềm hoàn chỉnh bao gồm trình biên dịch, trình gỡ lỗi, và bộ phát triển phần mềm. Họ cũng được quyền bán các sản phẩm silicon chứa CPU ARM.
Các gói SoC tích hợp thiết kế lõi ARM bao gồm ba thế hệ đầu tiên của Nvidia Tegra, dòng Quatro của CSR, Nova và NovaThor của ST-Ericsson, Precision32 MCU của Silicon Labs, các sản phẩm OMAP của Texas Instruments, Hummingbird và Exynos của Samsung, và A4, A5 cùng A5 Freescale của i.MX.
Những công ty fabless được cấp phép, muốn tích hợp lõi ARM vào thiết kế chip của mình, thường chỉ quan tâm đến việc mua lõi IP bán dẫn đã được kiểm chứng và sẵn sàng sản xuất. Đối với các khách hàng này, ARM Holdings cung cấp mô tả danh sách cổng của lõi ARM, cùng với mô hình mô phỏng trừu tượng và các chương trình thử nghiệm để hỗ trợ tích hợp và xác minh thiết kế. Nhiều khách hàng lớn hơn, bao gồm các nhà sản xuất thiết bị tích hợp (IDM), chọn mua vi xử lý IP dưới dạng RTL (Verilog). Với RTL tổng hợp, khách hàng có thể thực hiện các tối ưu hóa và mở rộng kiến trúc. Điều này cho phép các nhà thiết kế đạt được các mục tiêu thiết kế đặc biệt mà không thể thực hiện với danh sách cổng cố định (như tốc độ xung nhịp cao, mức tiêu thụ điện năng thấp, mở rộng tập lệnh, v.v.). Mặc dù ARM Holdings không cấp quyền bán lại kiến trúc ARM, nhưng khách hàng có thể tự do bán sản phẩm được sản xuất như chip, bảng đánh giá và hệ thống hoàn chỉnh. Các công ty bán dẫn có thể là một ngoại lệ; họ không chỉ được phép bán silicon thành phẩm chứa lõi ARM, mà còn có quyền tái sản xuất lõi ARM cho các khách hàng khác.
ARM Holdings định giá IP dựa trên giá trị cảm nhận. Các lõi ARM với hiệu suất thấp hơn thường có chi phí giấy phép thấp hơn so với các lõi hiệu suất cao hơn. Trong các thỏa thuận triển khai, lõi tổng hợp thường có giá cao hơn lõi cứng (hộp đen). Đối với những khách hàng của nhà máy có giấy phép ARM, như Samsung hoặc Fujitsu, có thể cung cấp giảm chi phí cấp phép. Đổi lại việc mua lõi ARM qua dịch vụ thiết kế nội bộ của nhà máy bán dẫn, khách hàng có thể giảm hoặc loại bỏ phí giấy phép trả trước của ARM.
So với các nhà máy bán dẫn chuyên biệt như TSMC và UMC, những đơn vị không cung cấp dịch vụ thiết kế nội bộ, Fujitsu và Samsung thường tính phí gấp hai đến ba lần cho mỗi wafer sản xuất. Đối với các ứng dụng có khối lượng thấp đến trung bình, nhà máy dịch vụ thiết kế thường có mức giá chung thấp hơn nhờ vào trợ cấp phí giấy phép. Tuy nhiên, đối với sản phẩm sản xuất hàng loạt với khối lượng lớn, việc giảm chi phí dài hạn có thể đạt được thông qua việc giảm giá wafer, điều này giúp giảm thiểu tác động của chi phí NRE (Kỹ thuật không định kỳ) của ARM, làm cho nhà máy chuyên dụng trở thành lựa chọn tối ưu hơn.
Các công ty đã thiết kế chip sử dụng lõi ARM bao gồm Annapurna Labs của Amazon.com, Analog Devices, Apple, AppliedMicro (hiện tại là MACOM Technology Solutions), Atmel, Broadcom, Cypress Semiconductor, Freescale Semiconductor (hiện tại là NXP Semiconductors), Maxim Integrated, Nvidia, NXP, Qualcomm, Renesas, Samsung Electronics, ST Microelectronics, Texas Instruments và Xilinx.
Giấy phép kiến trúc
Các công ty cũng có thể mua giấy phép kiến trúc ARM để thiết kế lõi CPU riêng bằng cách sử dụng các bộ hướng dẫn ARM. Những lõi này phải hoàn toàn tuân thủ kiến trúc ARM. Các công ty đã phát triển các lõi thực hiện kiến trúc ARM bao gồm Apple, ApplicationMicro, Broadcom, Cavium (hiện tại là Marvell), Nvidia, Qualcomm và Samsung Electronics.
Các dạng lõi
Kiến trúc | Core rộng bit |
Cores | Hồ sơ | Ghi chú | |
---|---|---|---|---|---|
ARM Holdings | Bên thứ 3 | ||||
ARM1 | |||||
ARM2, ARM250, ARM3 | Amber, STORM Open Soft Core | ||||
ARM6, ARM7 | |||||
ARM8 | StrongARM, FA526, ZAP Open Source Processor Core | ||||
ARM7TDMI, ARM9TDMI, SecurCore SC100 | |||||
ARM7EJ, ARM9E, ARM10E | XScale, FA626TE, Feroceon, PJ1/Mohawk | ||||
ARM11 | |||||
ARM Cortex-M0, ARM Cortex-M0+, ARM Cortex-M1, SecurCore SC000 | |||||
ARM Cortex-M3, SecurCore SC300 | |||||
ARM Cortex-M4, ARM Cortex-M7 | |||||
ARM Cortex-M23, ARM Cortex-M33 | |||||
ARM Cortex-R4, ARM Cortex-R5, ARM Cortex-R7, ARM Cortex-R8 | |||||
ARM Cortex-R52 | |||||
ARM Cortex-A5, ARM Cortex-A7, ARM Cortex-A8, ARM Cortex-A9, ARM Cortex-A12, ARM Cortex-A15, ARM Cortex-A17 | Qualcomm Krait, Scorpion, PJ4/Sheeva, Apple Swift | ||||
ARM Cortex-A32 | |||||
ARM Cortex-A35, ARM Cortex-A53, ARM Cortex-A57, ARM Cortex-A72, ARM Cortex-A73 | X-Gene, Nvidia Project Denver, Cavium Thunder X, AMD K12, Apple Cyclone/Typhoon/Twister/Hurricane/Zephyr, Qualcomm Kryo, Samsung M1 và M2 ("Mongoose") |
| |||
TBA | ThunderX2 | ||||
ARM Cortex-A55, ARM Cortex-A75, ARM Cortex-A76 | |||||
TBA | Apple A12 Bionic | ||||
TBA |
ARM Holdings cung cấp danh sách các nhà cung cấp triển khai lõi ARM cho thiết kế của họ, bao gồm các sản phẩm tiêu chuẩn dành riêng cho ứng dụng (ASSP), bộ vi xử lý và vi điều khiển.
Kiến trúc 32-bit
Kiến trúc ARM 32-bit, chẳng hạn như ARMv7-A (được sử dụng trên AArch32), là kiến trúc phổ biến nhất trên các thiết bị di động kể từ năm 2011.
Các lưu ý về thiết kế
Để đạt được thiết kế tối ưu, đơn giản và hiệu suất cao, các nhà thiết kế ARM đã xây dựng nó theo kiểu nối cứng không có vi chương trình, tương tự như bộ vi xử lý 8-bit 6502 từng được sử dụng trong các máy vi tính của hãng Acorn trước đây.
Cấu trúc ARM mang những đặc điểm của RISC như sau:
- Cấu trúc nạp/lưu trữ.
- Không cho phép truy xuất bộ nhớ không thẳng hàng (nhưng đã được hỗ trợ trong lõi ARM v6)
- Tập lệnh trực giao
- 16 thanh ghi 32-bit lớn
- Chiều dài mã máy cố định là 32 bit để dễ giải mã và thực hiện pipeline, điều này yêu cầu chấp nhận giảm mật độ mã máy.
- Phần lớn các lệnh thực thi trong một chu kỳ đơn.
So với các bộ vi xử lý cùng thời như Intel 80286 và Motorola 68020, ARM có một số đặc điểm nổi bật như sau:
- Hầu hết các lệnh đều có khả năng thực thi có điều kiện, giảm bớt nhu cầu viết các tiêu đề rẽ nhánh và bù đắp cho việc thiếu bộ dự đoán rẽ nhánh.
- Trong các lệnh số học, điều kiện thực hiện được chỉ định thông qua mã điều kiện.
- Có một thanh ghi dịch 32-bit với chức năng tuyệt vời, phù hợp với hầu hết các lệnh số học và tính toán địa chỉ.
- Các kiểu định địa chỉ theo chỉ số rất mạnh mẽ
- Có hệ thống ngắt hai mức ưu tiên đơn giản nhưng nhanh chóng, cùng với khả năng chuyển nhóm thanh ghi.
Hệ điều hành hỗ trợ
Các hệ điều hành 32-bit
Lịch sử các hệ điều hành
Máy tính cá nhân đầu tiên sử dụng ARM 32 bit, Acorn Archimedes, đã chạy một hệ điều hành tạm thời gọi là Arthur, sau đó phát triển thành RISC OS. Hệ điều hành này được sử dụng trên các hệ thống ARM của Acorn và các nhà sản xuất khác. Một số máy của Acorn cũng chạy phiên bản Unix được gọi là RISC iX (không nên nhầm lẫn với RISC/os, một biến thể Unix hiện đại cho kiến trúc MIPS).
Hệ điều hành nhúng
Kiến trúc ARM 32 bit được hỗ trợ bởi nhiều hệ điều hành nhúng và thời gian thực, bao gồm:
- A2
- Android
- ChibiOS/RT
- Deos
- DRYOS
- eCos
- embOS
- FreeRTOS
- Integrity
- Linux
- Micro-Controller Operating Systems
- MQX
- Nucleus PLUS
- NuttX
- OSE
- OS-9
- Pharos
- Plan 9
- PikeOS
- QNX
- RIOT
- RTEMS
- RTXC Quadros
- SCIOPTA
- ThreadX
- TizenRT
- T-Kernel
- VxWorks
- Windows Embedded Compact
- Windows 10 IoT Core
- Zephyr
Hệ điều hành di động
Kiến trúc ARM 32 bit là nền tảng phần cứng chủ yếu cho hầu hết các hệ điều hành di động như:
- Android
- Bada
- BlackBerry OS/BlackBerry 10
- Chrome OS
- Firefox OS
- MeeGo
- Sailfish
- Symbian
- Tizen
- Ubuntu Touch
- webOS
- Windows RT
- Windows Mobile
- Windows Phone
- Windows 10 Mobile
Trước đây, nhưng hiện đã ngừng hỗ trợ:
- iOS 10 và các phiên bản trước đó
Hệ điều hành Máy tính để bàn và máy chủ
Kiến trúc ARM 32 bit được hỗ trợ bởi RISC OS và nhiều hệ điều hành tương tự Unix, bao gồm:
- FreeBSD
- NetBSD
- OpenBSD
- OpenSolaris
- Các bản phân phối Linux như:
- Debian
- Gentoo
- Ubuntu
Hệ điều hành 64-bit
Hệ thống nhúng
- Integrity
- OSE
- SCIOPTA
- seL4
Hệ điều hành di động
- iOS hỗ trợ ARMv8-A từ iOS 7 trở đi trên các SoC 64-bit của Apple. Từ iOS 11 trở đi, chỉ hỗ trợ các bộ vi xử lý ARM 64-bit và ứng dụng tương ứng.
- Android hỗ trợ ARMv8-A từ phiên bản Android Lollipop (5.0) trở đi.
Hệ điều hành Desktop/server
- Linux kernel phiên bản 3.7 từ cuối năm 2012 đã hỗ trợ ARMv8-A. Một số bản phân phối Linux hỗ trợ ARMv8-A bao gồm:
- Debian
- Ubuntu
- Fedora
- openSUSE
- SUSE Linux Enterprise
- FreeBSD đã tích hợp hỗ trợ ARMv8-A vào cuối năm 2014.
- OpenBSD thử nghiệm hỗ trợ ARMv8 vào năm 2017.
- NetBSD hỗ trợ ARMv8 kể từ đầu năm 2018.
- Windows 10 có khả năng chạy các ứng dụng 32-bit 'x86 và ARM 32-bit', cũng như các ứng dụng desktop ARM64 gốc. Hỗ trợ cho các ứng dụng ARM 64-bit trong Windows Store sẽ được cập nhật sớm.
Porting đến hệ điều hành 32-bit hoặc 64-bit ARM
Các ứng dụng Windows được biên dịch cho ARM và liên kết với Winelib từ dự án Wine có thể chạy trên hệ điều hành Linux (hoặc FreeBSD và các hệ điều hành tương thích khác) ở cả 32-bit và 64-bit ARM. Các file nhị phân x86, khi không được biên dịch đặc biệt, có thể chạy trên ARM bằng QEMU kết hợp với Wine (trên Linux và các hệ điều hành tương tự), tuy nhiên tốc độ và hiệu suất không đạt mức tối ưu như khi sử dụng Winelib.