在日常工作中也許我們會接觸arm64痴柔、x86、
這幾個名詞烁巫,本篇整理一下它們的基礎(chǔ)知識和區(qū)別。
今天小編就帶你深入了解CPU
的這兩大架構(gòu):ARM
和X86
。
- ARM
ARM64
是CPU
構(gòu)架的一種风纠,通常用于手機(jī)、平板等CPU
牢贸,目前筆記本電腦
也會采用ARM64構(gòu)架的CPU
竹观。- x86
x86
是CPU
構(gòu)架的一種,通常用于筆記本電腦潜索、臺式電腦臭增、服務(wù)器、超級計算機(jī)
竹习。
ARM
手機(jī)和PC端CPU
的ARM
架構(gòu)
ARM
是一種CPU架構(gòu)
誊抛,常用在手機(jī)上,套用一句話:ARM不生產(chǎn)芯片由驹,只提供一個芯片設(shè)計的Idea
芍锚。
可以說,作為一家不生產(chǎn)芯片的芯片廠商蔓榄,ARM
卻在全球范圍內(nèi)支撐起了各種嵌入式設(shè)備
并炮、智能手機(jī)
、平板電腦
甥郑、智能穿戴
和物聯(lián)網(wǎng)設(shè)備
的運行逃魄,只是ARM
每年都會從構(gòu)建上述設(shè)備體內(nèi)的上億顆處理器中“抽成”,嚴(yán)格遵守薄利多銷的運營模式澜搅。
手機(jī)CPU
的主流品牌伍俘,絕大數(shù)是采用ARM架構(gòu)
,當(dāng)然現(xiàn)在ARM
也進(jìn)軍PC
市場勉躺。
- 高通驍龍(snapdragon)
- 三星(Exynos)
- 聯(lián)發(fā)科(Helio)
- 華為(麒麟)
- 蘋果 (A11癌瘾,A7,A6)
- Intel
- Nvidia
- 安卓apk/lib 目錄下的幾個文件夾:
arm64-v8a
armeabi-v7a
x86
IOS模擬器
- 4s-5: i386
- 5s-7s Plus: x86_64
- 真機(jī)(iOS設(shè)備):
armv6: iPhone饵溅、iPhone 2妨退、iPhone 3G、iPod Touch(第一代)、iPod Touch(第二代)
armv7: iPhone 3Gs咬荷、iPhone 4冠句、iPhone 4s、iPad幸乒、iPad 2
armv7s: iPhone 5懦底、iPhone 5c (靜態(tài)庫只要支持了armv7,就可以在armv7s的架構(gòu)上運行)
arm64(注:無armv64): iPhone 5s、iPhone 6罕扎、iPhone 6 Plus聚唐、iPhone 6s、iPhone 6s Plus壳影、 iPhone 7 拱层、iPhone 7 Plus、iPad Air宴咧、iPad Air2根灯、iPad mini2、iPad mini3掺栅、iPad mini4烙肺、iPad Pro
X86
電腦CPU的x86架構(gòu)
主流品牌:
- Inter(英特爾)
- AMD
比如操作系統(tǒng)區(qū)分
- Windows 10 (Multiple Editions) (x64) - DVD (Chinese-Simplified)
- Windows 10 (Multiple Editions) (x86) - DVD (Chinese-Simplified)
X86
架構(gòu)源于英特爾幾十年前出品的CPU型號8086
(包括后續(xù)型號8088/80286/80386/80486/80586)。
8086
以及8088
被當(dāng)時的IBM采用氧卧,制造出了名噪一時的IBM PC機(jī)桃笙,從此個人電腦風(fēng)靡一時。
你如果年齡不是很小沙绝,可能聽說過早年的386電腦
搏明、486電腦
乃至586電腦
的說法,就是從這來的闪檬。后來英特爾
注冊了奔騰
品牌星著,不再沿用686、786……這樣的命名粗悯,但后來的奔騰
虚循、奔騰2
、奔騰3
样傍、奔騰4
横缔,以及我們熟悉的酷睿
架構(gòu),都是從當(dāng)初的80X86
一脈相承下來的架構(gòu)衫哥,只是不斷優(yōu)化茎刚、擴(kuò)充功能、提升性能而已撤逢。而其他X86
處理器廠商斗蒋,比如AMD
捌斧、威盛
、全美達(dá)
(已退出X86領(lǐng)域)等泉沾,其產(chǎn)品也都兼容X86
架構(gòu)。
X64
是X86_X64
的簡稱之所以叫X86
妇押,是因為實在應(yīng)用得過于廣泛導(dǎo)致X86
直接成為了其代名詞跷究。
X32
和X64
------這兩個概念你可以大致的認(rèn)為它們是居于X86
之下(之內(nèi))的兩個子概念。
它們指的不是CPU
架構(gòu)敲霍,而是CPU寄存器
俊马、運算器能訪問
、處理的數(shù)據(jù)位寬
肩杈,以及與此相關(guān)的一整套CPU
設(shè)計規(guī)范柴我。
X32 CPU
------32位的CPU(32bit的CPU); X64 CPU------64位的CPU(64bit的CPU)
簡單的說,X32
的X86
CPU只能處理32位
的數(shù)據(jù)扩然、運行32位
的操作系統(tǒng)艘儒;
X64
的 CPU則可以處理64位
以及32位
的數(shù)據(jù)、運行32位
以及64位
的操作系統(tǒng)------X64向下兼容X32夫偶。
奔騰
直到奔騰4早期型號的CPU
界睁,都是X32
的X86
架構(gòu);
從后期的奔騰4 CPU
開始直至今天的酷睿i
架構(gòu)的CPU
兵拢,都是X64的X86架構(gòu)
翻斟。
當(dāng)然,AMD
的處理器目前也都是X64的X86架構(gòu)
说铃。
ARM與X86架構(gòu)對比
Intel
和ARM
的處理器除了最本質(zhì)的復(fù)雜指令集(CISC)
和精簡指令集(RISC)
的區(qū)別之外访惜,下面我們再從以下幾個方面對比下ARM
和X86架構(gòu)
。
一腻扇、制造工藝
ARM
和Intel
處理器的一大區(qū)別是ARM
從來只是設(shè)計X86
低功耗處理器债热,Intel
的強(qiáng)項是設(shè)計超高性能的臺式機(jī)
和服務(wù)器處理器
。
二衙解、64位計算
對于64位
計算阳柔,ARM
和Intel
也有一些顯著區(qū)別。Intel
并沒有開發(fā)64位
版本的x86指令集
蚓峦。64位
的指令集名為x86-64
(有時簡稱為x64)舌剂,實際上是AMD
設(shè)計開發(fā)的。Intel
想做64位
計算暑椰,它知道如果從自己的32位x86架構(gòu)
進(jìn)化出64位架構(gòu)
霍转,新架構(gòu)效率會很低,于是它搞了一個新64位處理器項目名為IA64
一汽。由此制造出了Itanium系列
處理器避消。
同時AMD
知道自己造不出能與IA64
兼容的處理器低滩,于是它把x86
擴(kuò)展一下,加入了64位
尋址和64位寄存器
岩喷。最終出來的架構(gòu)恕沫,就是 AMD64
,成為了64位
版本的x86處理器
的標(biāo)準(zhǔn)纱意。IA64
項目并不算得上成功婶溯,現(xiàn)如今基本被放棄了。Intel
最終采用了AMD64
偷霉。Intel
當(dāng)前給出的移動方案迄委,是采用了AMD開發(fā)
的64位指令集
(有些許差別)的64位
處理器。
而ARM
在看到移動設(shè)備對64位
計算的需求后类少,于2011年
發(fā)布了ARMv8 64位
架構(gòu)叙身,這是為了下一代ARM
指令集架構(gòu)工作若干年后的結(jié)晶。為了基于原有的原則和指令集硫狞,開發(fā)一個簡明的64位
架構(gòu)信轿,ARMv8
使用了兩種執(zhí)行模式,AArch32
和AArch64
妓忍。顧名思義虏两,一個運行32位
代碼,一個運行64位
代碼(詳情戳)世剖。ARM設(shè)計
的巧妙之處定罢,是處理器在運行中可以無縫地在兩種模式間切換。這意味著64位
指令的解碼器是全新設(shè)計的旁瘫,不用兼顧32位
指令祖凫,而處理器依然可以向后兼容。
三酬凳、異構(gòu)計算
ARM
的big.LITTLE架構(gòu)
是一項Intel
一時無法復(fù)制的創(chuàng)新惠况。在big.LITTLE
架構(gòu)里,處理器可以是不同類型的宁仔。傳統(tǒng)的雙核
或者四核
處理器中包含同樣的2個核
或者4個核
稠屠。一個雙核Atom處理器
中有兩個一模一樣的核,提供一樣的性能翎苫,擁有相同的功耗权埠。ARM
通過big.LITTLE
向移動設(shè)備推出了**異構(gòu)計算。這意味著處理器中的核可以有不同的性能和功耗
煎谍。當(dāng)設(shè)備正常運行時攘蔽,使用低功耗核
,而當(dāng)你運行一款復(fù)雜的游戲時呐粘,使用的是高性能的核
满俗。