ARM ပ႐ိုဆက္ဆာနဲ႔ Intel x86 ပ႐ိုဆက္ဆာ ဘာေတြကြာသလဲ

ARM-vs-X86-Key-differences-explained-.jpg

Android OS ေတြဟာ CPU ေတြရဲ႕တည္ေဆာက္မႈ နည္းပညာ ၃ မ်ဳိး ARM, Intel နဲ႔ MIPS (MIPS Technologies Inc) ကို ေထာက္ပံ့ လုပ္ေဆာင ္ေပးႏိုင္ပါတယ္။ အဲဒီအထဲမွာ ARM ကေရပန္းအစားဆံုး ဆိုတာ ျငင္းစရာ မရွိပါဘူး။ Intel ဟာ စားပြဲတင္ ကြန္ပ်ဴတာေတြနဲ႔ ဆာဗာေလာကမွာ ဘုရင္ျဖစ္ခဲ့တာ အားလံုးအသိ ျဖစ္ပါတယ္။ ဒါေပမဲ့ မိုဘိုင္းမွာေတာ့ ထင္တိုင္း မေပါက္ခဲ့ပါဘူး။ MIPS ကလည္း သူ႔ရာဇဝင္ ေနာက္ေၾကာင္း ေကာင္းခဲ့ၿပီး ေအာင္ျမင္မႈ အျမာက္အျမားရခဲ့ၿပီး ျဖစ္ပါတယ္။ 32 bit ေရာ 64bit လုပ္ေဆာင္ခ်က္ေတြကို လုပ္ေဆာင္ႏိုင္ခဲ့ၿပီး ျဖစ္ပါတယ္။ သူလည္းပဲ အခုအခ်ိန္မွာေတာ့ မိုဘိုင္းေလာကမွာ  ေနာက္က်န္ေနခဲ့ပါတယ္။ အဲဒီအတြက္ မိုဘိုင္း ေလာကမွာေတာ့ လက္ရွိအခ်ိန္မွာ ARM က လက္ရွိခ်န္ပီယံ၊ သူ႔ရဲ႕ၿပိဳင္ဘက္က အထင္ကရ ကုမၸဏီႀကီး Intel ပဲ ျဖစ္ပါတယ္။ အဲဒီအတြက္ ARM နဲ႔ Intel ပ႐ိုဆက္ဆာ ေတြဟာ ဘာကြာျခား ေနသလဲ၊  မိုဘိုင္းေလာကမွာ ARM က ဘာျဖစ္လို႔ အသာရေနသလဲ၊ သင့္ရဲ႕ မိုဘိုင္းဖုန္းနဲ႔ Tablet ေတြမွာ ဘယ္ CPU သံုးထားတဲ့ ပစၥည္းက အဆင္ေျပ မလဲဆိုတာက စိတ္ဝင္စားစရာ ေကာင္းပါတယ္။

Fab

ARM ပ႐ိုဆက္ဆာေတြနဲ႔ Intel ပ႐ိုဆက္ဆာေတြရဲ႕ အဓိကအက်ဆံုး ကြာျခားမႈေတြထဲမွာ စစခ်င္းထုတ္လုပ္တဲ့ နည္းပညာ fab ေတြက စၿပီးကြာျခားမႈ ရွိပါတယ္။ ARM ဟာ ေတာက္ေလွ်ာက္ ပါဝါစားႏႈန္း အနိမ့္ဆံုး ပ႐ိုဆက္ဆာေတြကို ထုတ္လုပ္ခဲ့ပါတယ္။ Intel ကေတာ့ စားပြဲတင္ ကြန္ပ်ဴတာေတြနဲ႔ ဆာဗာေတြအတြက္ စြမ္းေဆာင္ရည္ ျမင့္သထက္ ျမင့္ေအာင္၊ ပါဝါစားႏႈန္း နိမ့္ေအာင္ ရည္ရြယ္ထုတ္လုပ္ ထားခဲ့ပါတယ္။

အဲဒီအတြက္ စားပြဲတင္ ကြန္ပ်ဳတာေတြနဲ႔ ဆာဗာေတြမွာ Intel CPU ေတြသံုးခဲ့တာ လြန္ခဲ့တဲ့ႏွစ္ ၄၀ ေလာက္ကတည္းက ျဖစ္ပါတယ္။  တစ္ခုသတိျပဳရမွာက Intel ရဲ႕ ထုတ္လုပ္ခဲ့ၿပီးသမွ် ပ႐ိုဆက္ဆာေတြ အားလံုးဟာ CISC (Complex Instruction Set  Computing)  ခိုင္းေစၫႊန္ၾကားခ်က္ တည္ေဆာက္မႈ နည္းပညာ ISA (Instruction Set architecture) ကို ထုတ္လုပ္ခဲ့ပါတယ္။ Intel  ကေနအဲဒီ နည္းပညာသံုး CPU ေတြကိုပဲ သံုးခဲ့ၿပီး မိုဘိုင္းပစၥည္းေတြနဲ႔ ကိုက္ညီေအာင္ လုပ္ထားတာ ျဖစ္ပါတယ္။ အခုလက္ရိွ အခ်ိန္မွာ Intel ရဲ႕ CPU ေတြက 22 nm,  14 nm,  ARM CPU ေတြက 28nm, 22nm, 20nm နဲ႔ထုတ္လုပ္ ထားပါတယ္။

CISC နဲ႕ RISC

နည္းပညာေတြ ဘယ္ေလာက္ တိုးတက္လာလာ အေျခခံက်တဲ့ အခ်က္အလက္ေတြက အေျပာင္းအလဲ မရွိပါဘူး။ Intel CPU ေတြက CISC (Complex Instruction Set Computing) ကို သံုးဖို႔အတြက္ ရည္ရြယ္ ထုတ္လုပ္ထားၿပီး ARM ေတြကေတာ့ RISC (Reduced Instruction Set Computring) ကို သံုးဖို႔အတြက္ ရည္ရြယ္ ထုတ္လုပ္ထားပါတယ္။ CPU ေတြရဲ႕ စြမ္းေဆာင္ရည္ကို တိုးေအာင္ လုပ္ေဆာင္ရင္ ပါဝါစားႏႈန္းက ျမင့္သြားေလ့ရွိပါတယ္။ CISC နဲ႔ RISC က အဲဒီအခ်က္မွာ ကြာျခားမႈ ရွိေနပါတယ္။ ARM CPUေတြက RISC Instruction Set ကို သံုးထားပါတယ္။ RISC ေတြက သူ႔နာမည္အတိုင္း ခိုင္းေစၫႊန္ၾကား ခ်က္ေတြကို ေလွ်ာ့ထားပါတယ္။ ခိုင္းေစၫႊန္ၾကား ခ်က္ေတြဟာ ေသးငယ္ပါတယ္။ CISC ေတြကေတာ့ ႐ႈပ္ေထြးပါတယ္။ ဥပမာ CISC ရဲ႕ ခိုင္းေစ ၫႊန္ၾကားခ်က္တစ္ခု ၿပီးေျမာက္ဖို႔အတြက္ CPU ကေန တြက္ခ်က္ စစ္ေဆးမႈ ၃၊၄ ႀကိမ္ ၃၊၄ ခု လုပ္ရပါတယ္။

လက္ရွိ သံုးေနၾကတဲ့ ေခတ္ေပၚ CPU ေတြဟာ microcode လို႔ေခၚတဲ့ CPU အတြင္းပိုင္းမွာ လုပ္ေဆာင္တဲ့ Internal Instruction Set ေတြျဖစ္ပါတယ္။ အဲဒီခိုင္းေစခ်က္ေတြဟာ သင္ခိုင္းေစ ၫႊန္ၾကားခ်က္ေတြနဲ႔ မတူဘဲ CPU ကေနတိုက္႐ိုက္ လုပ္ေဆာင္ေပးတဲ့ code ေတြ ျဖစ္ပါတယ္။ အဲဒီခိုင္းေစ ၫႊန္ၾကားခ်က္ေတြဟာ အေသးစား ခိုင္းေစၫႊန္ၾကားခ်က္ ေတြျဖစ္လို႔ (Micro Instruction Set) ေတြလို႔ ေခၚတာျဖစ္ပါတယ္။

သင္ခိုင္းေစ ၫႊန္ၾကားခ်က္ တစ္ခုခု ကြန္ပ်ဴတာကို ခိုင္းလိုက္ရင္ အဲဒီ  CPU ကတြက္ခ်က္ စစ္ေဆးလုပ္ေဆာင္ ေပးႏိုင္တဲ့ micro instruction ေတြအျဖစ္ ေျပာင္းလဲ (compile) လုပ္ေပးရပါတယ္။ အဲဒီလို လုပ္ေဆာင္မႈကို decoder က တာဝန္ယူ လုပ္ေပးရပါတယ္။  RISC ပ႐ိုဆက္ဆာ ေတြကေတာ့ သူ႔ရဲ႕ခိုင္းေစ ၫႊန္ၾကားခ်က္ေတြဟာ microcode လုပ္ေဆာင္မႈေတြနဲ႔ အမ်ားႀကီးနီးစပ္လို႔ decode စရာသိပ္မလိုပါဘူး။  အဲဒီ လုပ္ေဆာင္ခ်က္ ေလ်ာ့သြားတာဟာ ဘာမွမေျပာ ပေလာက္ဘူးလို႔ ထင္ရေပမယ့္ CISC ေတြ ထက္ RISC ေတြက အမ်ားႀကီး ဝန္ေပါ့ေစပါတယ္။ အဲဒီေနာက္ ဆက္တြဲအေနနဲ႔ကေတာ့ RISC  ARM CPU သံုးထားတဲ့ မိုဘိုင္းစမတ္ဖုန္း၊ Tablet ေတြဟာ ဘက္ထရီ တစ္ခါအားသြင္းရင္ အၾကာႀကီး သံုးႏိုင္တာ၊ ဘက္ထရီ ပါဝါအမ်ားႀကီး မလိုတာ၊ အပူစြန္႔ ထုတ္ဖို႔ heatsink ေတြ ပန္ကာေတြ မလိုတာစတဲ့ အက်ဳိးဆက္ေတြ ျဖစ္လာပါတယ္။ Intel က သိပ္မၾကာေသးခင္ကမွ ထုတ္ထားတဲ့ Atom CPU ေတြနဲ႔ Broadwell-Y CPU ေတြပဲ ပါဝါစားႏႈန္း နိမ့္ေအာင္လုပ္ထားၿပီး ပန္ကာသံုးစရာမလိုတဲ့ CPU ေတြ ျဖစ္လာပါတယ္။ Intelရဲ႕CPU ေတြနဲ႔ ARM CPU ေတြမတူညီရတဲ့ အဓိက အခ်က္ထဲမွာ CISC နဲ႔ RISC ကြာျခားမႈကလည္း အဓိက အခ်က္တစ္ခု ျဖစ္ေနပါတယ္။

64 bit

ARM နဲ႔Intelရဲ႕ ကြာျခားခ်က္ တစ္ခုရွိေနတာက 64bit computing ျဖစ္ပါတယ္။ 64 bit computing အေၾကာင္းေရးရင္လည္း အစက ျပန္စရပါမယ္။ Intel CPU ေတြမွာ သံုးထားတဲ့ x86 instruction set ရဲ႕  64 bit ဗားရွင္းဟာ Intel က တီထြင္သံုးခဲ့တာ မဟုတ္ပါဘူး။ အဲဒီ  Instruction set x86-64 (အတိုေကာက္ x64 လို႔ သံုးေလ့ရွိပါတယ္။)  ဟာ AMD (Advanced Micro Device) က ဒီဇိုင္း လုပ္ထားတာ ျဖစ္ပါတယ္။ ကြန္ပ်ဴတာေလာကမွာ x86 32bit  နဲ႔တင္ မလံုေလာက္ဘူးဆိုတာ Intel က သိပါတယ္။ အဲဒီအတြက္ သူ႕ရဲ႕ 64bit ပ႐ိုဆက္ဆာ ပေရာဂ်က္ကို စတင္ခဲ့ၿပီး IA-64 လို႔ ေခၚခဲ့ပါတယ္။ တကယ္တမ္း အဲဒီ IA-64 ဟာ အီတာနီယမ္ (Itanium) ပ႐ိုဆက္ဆာေတြမွာ သံုးခဲ့တာ ျဖစ္ပါတယ္။ အဲဒီအတြက္ AMD ကသူ႔ရဲ႕ ပ႐ိုဆက္ဆာေတြမွာ Intel ရဲ႕ IA-64 ကို သံုးလို႔မျဖစ္ႏို္င္ဘူးဆိုတာသိၿပီး 64 bit addressing နဲ႔ 64bit registers ေတြ သံုးထားတဲ့သူ႔ရဲ႕  x 64 ကို  ဒီဇိုင္းလုပ္ခဲ့ပါတယ္။ IA-64 ပေရာဂ်က္ဟာ ေအာင္ျမင္မႈ မရခဲ့ဘဲ ဒီေန႔သံုးစြဲေနတဲ့ 64bit instruction set ေတြဟာ AMD ရဲ႕ 64 bit ဒီဇိုင္းကို သံုးထားတာ ျဖစ္ပါတယ္။ ဒါေပမဲ့ AMD ရဲ႕ မူရင္းဒီဇိုင္းနဲ႔ အေသးစား ကြာျခားမႈ နည္းနည္း ရွိေနပါတယ္။ Intel က အဲဒီ 64bit လုပ္ေဆာင္မႈေတြကို အခုမိုဘိုင္းမွာ သံုးဖို႔လုပ္ထားတာ ျဖစ္ပါတယ္။

ARM ေတြကေတာ့ သီးျခားပံုစံ တစ္မ်ဳိး ျဖစ္ပါတယ္။ ARM ကလည္း မိုဘိုင္းေလာကမွာ 64bit သံုးရမယ္၊ သံုးဖို႔လိုတယ္ဆိုတာ သိပါတယ္။ အဲဒီအတြက္ ၂၀၁၁ ခုႏွစ္ထဲမွာသူ႔ရဲ႕ ARMv8 64-bit တည္ေဆာက္မႈ နည္းပညာကို ေၾကညာခဲ့ပါတယ္။ အဲဒီလို ႏွစ္ေပါင္းမ်ားစြာ တီထြင္လုပ္ေဆာင္မႈရဲ႕ ရလဒ္အေနနဲ႔ သူ႔ရဲ႕ မ်ဳိးဆက္သစ္ ARM, ISA အသစ္ကို ေၾကညာႏိုင္ခဲ့တာ ျဖစ္ပါတယ္။ အဲဒီလုပ္ေဆာင္မႈက 64bit ကို အျပည့္အဝ လုပ္ေဆာင္ႏိုင္ဖို႔ပဲ ရည္ရြယ္ လုပ္ေဆာင္ထားတာ ျဖစ္ေပမယ့္ လက္ရွိသံုးစြဲေနတဲ့ လုပ္ေဆာင္မႈ ပံုစံေတြနဲ႔ Instruction set ေတြက ရွိေနပါေသးတယ္။ အဲဒီအတြက္ ARMv8 တည္ေဆာက္မႈ နည္းပညာကို တြက္ခ်က္စစ္ေဆးမႈ အပိုင္းႏွစ္ခု ခြဲထုတ္လိုက္ပါတယ္။ အဲဒါေတြက AArch32 နဲ႔ AArch64 ျဖစ္ပါတယ္။ အဲဒီနာမည္ ေပးထားတဲ့အတိုင္း တစ္ပိုင္းက 64 bit, တစ္ပိုင္း က 32 bit  code ေတြကို တာဝန္ယူ လုပ္ေပးပါလိမ့္မယ္။ ARM ရဲ႕ စိတ္ကူးေကာင္းတဲ့ ဒီဇိုင္းေၾကာင့္ ပံုမွန္တြက္ခ်က္ စစ္ေဆးမႈေတြကို လုပ္ေဆာင္ရင္း အပိုင္းတစ္ခုကေန အပိုင္းတစ္ခု အဆင္ေျပေျပ ေျပာင္းသံုးသြား ႏုိင္ေစပါတယ္။  အဓိပၸာယ္ ကေတာ့ 64bit instruction decoder ေတြဟာ  ဒီဇိုင္းအသစ္လုပ္ၿပီး 32bit  instruction ေတြနဲ႔ compatible ျဖစ္ေအာင္ ေနာက္ေၾကာင္း ျပန္လွည့္ၾကည့္ေနစရာ မလိုေတာ့ပါဘူး။ 64bit ခိုင္းေစ ၫႊန္ၾကားခ်က္ေတြကို 64bit အပိုင္းကလုပ္၊ 32bit ခိုင္းေစၫႊန္ ၾကားခ်က္ေတြကို 32 bit  အပိုင္းကလုပ္၊ ပ႐ိုဆက္ဆာ တစ္ခုလံုး ကေတာ့ 32bit ေရာ၊ 64bit  ကိုပါ တာဝန္ယူ လုပ္ေဆာင္ေပး ႏုိင္ေစပါတယ္။ 64bit မွာေတာ့ Intel  က ဦးေဆာင္ထားႏိုင္ၿပီး၊ ARM က လက္တေလာ ထုတ္ထားတဲ့ CPU ေတြနဲ႔ Andriod 5 OS ေတြ တြဲသံုးထားမွသာ 64bit ကို အျပည့္အဝ ေထာက္ပံ့ေပးႏိုင္ပါမယ္။ Nexus စီးရီးနဲ႔ Nokia N1 တက္ဘလက္ ေတြေလာက္ပဲ 64 bit လုပ္ေဆာင္ ႏိုင္ပါေသးတယ္။

Heterogeneous Computing

ARM ရဲ႕ big.LITTLE တည္ေဆာက္မႈ နည္းပညာဟာ မတူညီတဲ့ နည္းပညာပစၥည္း ႏွစ္ခုကို ေပါင္းစပ္သံုးစြဲတဲ့ တြက္ခ်က္စစ္ေဆး ေဆာင္ရြက္မႈ တစ္ခုျဖစ္ၿပီး Intel ကေန အဲဒီလုပ္ေဆာင္မႈနဲ႔ နီးစပ္တဲ့ လုပ္ေဆာင္မႈ တစ္ခုမွ လုပ္ထားတာ မရွိေသးပါဘူး။ big. LITTLECPU ႏွစ္လံုး တြဲသံုးတာျဖစ္ၿပီး အမ်ဳိးအစားတူစရာ မလိုပါဘူး။ မ်ားေသာအားျဖင့္ သမား႐ိုးက် Dual Core ဒါမွမဟုတ္ Quad Core  ပ႐ိုဆက္ဆာေတြရဲ႕ Core ၂ ခု ဒါမွမဟုတ္ Core ၄ ခုက အမ်ဳိးအစား တူေနပါတယ္။ ဥပမာေျပာရရင္ Dual Core Atom ပ႐ိုဆက္ဆာဆိုရင္ သူ႔ရဲ႕ Core ႏွစ္ခုဟာ ထပ္တူညီတူေနၿပီး x86-64 လုပ္ေဆာင္ေပးတဲ့  Core ေတြျဖစ္ေနပါတယ္။ အဲဒီ Core ႏွစ္ခုဟာ စြမ္းေဆာင္ရည္၊ ပါဝါစားႏႈန္းေတြကအစ တူေနပါတယ္။ ဒါေပမဲ့ ARM ရဲ႕ big.LITTLE ကေတာ့ မိုဘိုင္း ပစၥည္းေတြ အတြက္ မတူညီတဲ့ နည္းပညာ ပစၥည္းႏွစ္ခုကို ေပါင္းစပ္ လုပ္ေဆာင္ေပးတဲ့ heterogeneous computing ကို မိတ္ဆက္ ေပးခဲ့တာ ျဖစ္ပါတယ္။ အဓိပၸာယ္ကေတာ့ Core ႏွစ္ခုဟာ စြမ္းေဆာင္ရည္နဲ႔ ပါဝါတူစရာ မလိုပါဘူး။ တကယ္လို႔ မိုဘိုင္းပစၥည္းဟာ အလုပ္မ်ားမေနဘူး စြမ္းအင္နိမ့္တဲ့ Core ကိုသံုး အလုပ္လုပ္ ပါလိမ့္မယ္။ တကယ္လို႔ တြက္ခ်က္စစ္ေဆးမႈ ႐ႈပ္ေထြးၿပီး စြမ္းေဆာင္ရည္ျမင့္ဖို႔ လိုအပ္တဲ့ ဂိမ္းေတြ၊ တျခားလုပ္ေဆာင္မႈေတြအတြက္ စြမ္းေဆာင္ရည္ျမင့္တဲ့ Core ကေန တာဝန္ယူ လုပ္ေပးပါလိမ့္မယ္။

ARM Cortex-A53 က in-order-executions ကို သံုးထားပါတယ္။ ပါဝါစားႏႈန္း နည္းေအာင္ ျဖစ္ပါတယ္။ ဒါေပမဲ့ Cortex-A57  က out-of- order- execution ကို သံုးထားၿပီး ျမန္တယ္၊ ပါဝါစားတယ္ဆိုတဲ့သေဘာျဖစ္ပါတယ္။ big.LITTLE ပ႐ိုဆက္ဆာထဲမွာ Cortex-A 53  နဲ႔ Cortex-A57ရဲ႕ Core ေတြ သံုးထားႏိုင္ၿပီး၊ အဲဒီ Core ေတြဟာ လုပ္ငန္း လိုအပ္ခ်က္အရ သံုးပါလိမ့္မယ္။ သင့္အေနနဲ႔ အလြန္ျမန္တဲ့ out-of-order execution ေတြ အလုပ္လုပ္ဖို႔ မလိုအပ္တဲ့ အေျခအေနေတြ ဥပမာ ေနာက္ကြယ္ကေန သင့္ရဲ႕အီးေမးလ္ေတြကို sync လုပ္ေနတာ မ်ဳိးအတြက္ မလိုအပ္ပါဘူး။ ဒါေပမဲ့ သင့္အေနနဲ႔ ႐ႈပ္ေထြးတဲ့ ဂိမ္းေတြ ကစားမယ္ ဆိုရင္ေတာ့ အဲဒီဂိမ္းနဲ႔ သင့္ေတာ္တဲ့ Core ကို run ပါလိမ့္မယ္။

အဲဒီ အေျခခံ သေဘာတရားက ႐ႈပ္ေထြြးတဲ့ ေလာ့ဂ်စ္ေတြကို စြမ္းေဆာင္ရည္ ထိေရာက္တဲ့ ပ႐ုိဆက္ဆာမွာ အလုပ္လုပ္ခိုင္းမွာ ျဖစ္ပါတယ္။ Instruction Pipeline ေတြကို ဒီအတိုင္းပဲ သံုးတာ မဟုတ္ပါဘူး။ SIMD (Single Instruction Multiple Data) လုပ္ေဆာင္မႈကိုေတာ့ Intel က SSE/ MMX ေတြသံုး လုပ္ေဆာင္မွာျဖစ္ၿပီး ARM က NEON ကို သံုးပါလိမ့္မယ္။

Compatibility

ARM ဟာ လက္ရွိ မိုဘိုင္း ပ႐ိုဆက္ဆာ ေတြထဲမွာ ဦးေဆာင္ေနပါတယ္။ သူ႔ရဲ႕ဒီဇိုင္းကို အေျခခံထားတဲ့ ခ်စ္ပ္ ၅၀ ဘီလီယံကို ARM  ရဲ႕ ပါတနာေတြကေန ေစ်းကြက္တင္ထားၿပီး ျဖစ္ပါတယ္။ အဲဒီခ်စ္ပ္ေတြ အားလံုးဟာ မိုဘိုင္းနဲ႔ Embedded ေစ်းကြက္အတြက္ ျဖစ္ပါတယ္။  Android လို႔ေျပာလိုက္ရင္ ARM ေတြက စက္မႈ လုပ္ငန္းသံုးစံ de-facto standard ျဖစ္ေနတာက Intel နဲ႔ MIPS အတြက္ ျပႆနာ ျဖစ္ေနပါတယ္။ Android ဟာ သူ႔ရဲ႕အဓိက ပ႐ိုဂရမ္ ဘာသာစကားကို ဂ်ားဗား (Java) ကို သံုးထားေပမယ့္ ပ႐ိုဂရမ္ ေရးသားသူေတြကေန App ေတြကို ဖန္တီးဖို႔ C ဒါမွမဟုတ္ C++ ကိုသံုးႏိုင္ ေစပါတယ္။ အဲဒီ  “Native” app ေတြဟာ အၾကမ္းဖ်င္းအေနနဲ႔ ARM ပ႐ိုဆက္ဆာေတြက complied လုပ္ႏိုင္ေပမယ့္ Intel နဲ႔ MIPS ေတြကေတာ့ အၿမဲမလုပ္ႏိုင္ပါဘူး။  Intel  နဲ႔ MIPS ေတြက အထူးစပါယ္ရွယ္ ဘာသာျပန္ေပးတဲ့ ေဆာ့ဖ္ဝဲကို သံုးၿပီး ARM instruction ေတြကို သူတို႔ ပ႐ိုဆက္ဆာေတြရဲ႕ code ေတြအျဖစ္ convert လုပ္ေျပာင္း ရပါတယ္။ ဒါဟာ စြမ္းေဆာင္ရည္ကို ထိခိုက္ေစပါတယ္။ အလုပ္ပို လုပ္ရေစပါတယ္။ လက္ရွိအခ်ိန္မွာ play store က ရွိရွိသမွ် App ေတြရဲ႕ ၉၀ ရာခိုင္ႏႈန္းေလာက္ compatible  ျဖစ္ေနၿပီလို႔ Intelနဲ႔ MIPS က ေျပာထားပါတယ္။

Atom Bay Trail native suppport Android  x 86 instructionset သံုးထားတဲ့ Intel ရဲ႕ Atom CPU ေတြက ဘာေၾကာင့္ Android OS ေတြ run ႏိုင္သလဲဆိုတာ ေမးစရာျဖစ္ေနပါတယ္။ ေနာက္ပိုင္းထုတ္တဲ့ Bay Trail Atom CPU ေတြထဲမွာ Android ရဲ႕ခိုင္းေစ ၫႊန္ၾကားခ်က္ေတြကို x64 CPU ေတြက လုပ္ေဆာင္ ေပးႏိုင္ေအာင္ ေဆာ့ဖ္ဝဲသံုး ဘာသာျပန္ေပးတဲ့  (Software Translation Layer) တစ္ခု ထည့္ေပးထားလို႔ ျဖစ္ပါတယ္။ အရင္က ထုတ္လုပ္ထားတဲ့ Atom CPU ေတြကေတာ့ အဲဒီဘာသာျပန္တဲ့ လုပ္ေဆာင္ခ်က္ဟာ CPU ရဲ႕အျပင္မွာ ရွိေနတယ္ လို႔ယူဆရပါတယ္။

အဲဒီလိုလုပ္ ေဆာင္ေပးထားတဲ့အတြက္ Intel ကေန Android ရဲ႕ ခိုင္းေစၫႊန္ၾကားခ်က္ေတြကို native support လုပ္တယ္လို႔ ေျပာထားတာ ျဖစ္ပါတယ္။ ဘယ္လိုပဲျဖစ္ျဖစ္ ARM CPU ကေန andriod code ေတြကို တိုက္႐ိုက္ အလုပ္လုပ္တာ ထက္ေတာ့ အလုပ္ပို၊ အခ်ိန္ပို ၾကာေနပါလိမ့္မယ္။

ARM ရဲ႕ အားသာခ်က္ တစ္ခုက CPU ရဲ႕တည္ေဆာက္မႈ နည္းပညာကို လိုင္စင္ခံ ထုတ္လုပ္ခြင့္ရိွသလို သူ႔မွာသံုးတဲ့ OS က လည္း Open source ျဖစ္ေနတာကလည္း ARM ရဲ႕ အားသာခ်က္ ျဖစ္ေနပါတယ္။ ေနာက္ဆံုး အေနနဲ႔ကေတာ့ မိုဘိုင္းပစၥည္းေတြ အထူးသျဖင့္ စမတ္ဖုန္းေတြမွာေတာ့  ARM ေတြကပဲ ေနရာယူ ထားပါဦးမယ္။ Tablet ေတြမွာေတာ့ Intel ရဲ႕ AtomCPUေတြနဲ႔ ARM ရဲ႕ အဆင့္ျမင့္ CPU ေတြအၿပိဳင္ ျဖစ္ေနပါလိမ့္မယ္။