《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > ARM、Intel,、MIPS處理器啥區(qū)別 看完就懂了

ARM,、Intel、MIPS處理器啥區(qū)別 看完就懂了

2017-04-27
關(guān)鍵詞: CPU ARM Intel MIPS

       安卓支持三類處理器(CPU):ARM,、IntelMIPS,。ARM無疑被使用得最為廣泛。Intel因?yàn)槠占坝谂_式機(jī)和服務(wù)器而被人們所熟知,,然而對移動行業(yè)影響力相對較小,。MIPS在32位和64位嵌入式領(lǐng)域中歷史悠久,獲得了不少的成功,可目前Android的采用率在三者中最低,。

  總之,,ARM現(xiàn)在是贏家而Intel是ARM的最強(qiáng)對手。那么ARM處理器和Intel處理器到底有何區(qū)別,?為什么ARM如此受歡迎?你的智能手機(jī)或平板電腦用的是什么處理器到底重要不重要,?

d5.jpg

  處理器(CPU)

  中央處理器(CPU)是你智能設(shè)備的大腦,。它的任務(wù)是通過執(zhí)行一系列指令來驅(qū)動你的設(shè)備,包括顯示屏,、觸摸屏,、調(diào)制解調(diào)器等,讓一坨塑料金屬混合物變成閃亮的智能手機(jī)或者平板電腦,。

  移動設(shè)備非常復(fù)雜,,其中的處理器需要執(zhí)行數(shù)百萬行指令才能完成人們希望這些設(shè)備去做的事。速度和功耗對處理器來說至關(guān)重要,。速度影響用戶體驗(yàn),,功耗影響電池壽命。完美的移動設(shè)備必須有好性能以及低功耗,。

  這就是為什么選擇什么樣的處理器很重要,。一個超級耗電、反應(yīng)遲鈍的處理器會很快吸干你的電池,,而一個考究的,、高效的處理器給你帶來高性能和長久的電池壽命。

  總體而言,,ARM和Intel處理器的第一個區(qū)別是,,前者使用精簡指令集(RISC),而后者使用復(fù)雜指令集(CISC),。

  通俗而言,,精簡指令集規(guī)模較小,更接近原子操作,,而復(fù)雜指令集規(guī)模較大,,更加復(fù)雜。所謂原子操作,,是指每條指令的工作大都可以由處理器在一個操作內(nèi)完成,,例如對兩個寄存器做加法。

  復(fù)雜指令集的指令描述某個意圖,,但是處理器必須執(zhí)行3或4個更簡單的指令來實(shí)現(xiàn)這個意圖,。例如,可以命令一個復(fù)雜指令集處理器對2個數(shù)求和,,并把結(jié)果存入主內(nèi)存中,。為了完成這個命令,,處理器首先從地址1中取得第一個數(shù)(操作1),然后從地址2中取得另一個數(shù)(操作2),,然后求和(操作3),,等等。

d6.jpg

  所有的現(xiàn)代處理器都使用一種所謂微指令的概念,,這是一個處理器內(nèi)部的指令集合,,用來描述處理器可以做的原子操作。

  復(fù)雜指令集處理器實(shí)際上執(zhí)行了3條微指令,。對精簡指令集處理器而言,,其指令跟其微指令十分接近,而復(fù)雜指令集處理器的指令需要先被轉(zhuǎn)換成一些更精簡的微指令(就像前面的復(fù)雜指令集處理器做加法的例子中那樣),。

  也就是說,,精簡指令集處理器中的解碼器(負(fù)責(zé)告訴處理器到底要干些什么的東東)要簡單得多,而簡潔意味著高效和低功耗,。

  制造工藝

  ARM和Intel處理器的另外一個主要區(qū)別是ARM從來只是設(shè)計低功耗處理器,。其宗旨是設(shè)計低功耗處理器,這是他們的強(qiáng)項,。Intel的強(qiáng)項是設(shè)計超高性能的臺式機(jī)和服務(wù)器處理器,,并且的確做的不錯。

  Intel是臺式機(jī)的服務(wù)器行業(yè)的老大,。過去的20年里我所有的PC,,筆記本和服務(wù)器(除了一個外)用的都是Intel的處理器。然而進(jìn)入移動行業(yè)時,,Intel依然使用和臺式機(jī)同樣的復(fù)雜指令集架構(gòu),,試圖將其硬塞入給移動設(shè)備使用的體積較小的處理器中。

  Intel i7處理器平均發(fā)熱率為45瓦,?;贏RM的片上系統(tǒng)(其中包括圖形處理器)的發(fā)熱率最大瞬間峰值大約是3瓦,約為Intel i7處理器的1/15,。Intel現(xiàn)如今是個巨頭,,雇傭了大量的聰明人。

  其最新的Atom系列處理器采用了跟ARM處理器類似的溫度控制設(shè)計,,為此Intel必須使用最新的22納米制造工藝,。一般而言,制造工藝的納米數(shù)越小,,能量的使用效率越高,。ARM處理器使用更低的制造工藝,擁有類似的溫控效果。比如,,高通曉龍805處理器使用28納米制造工藝,。

d7.jpg 

       64位

  對于64位計算,ARM和Intel也有一些顯著區(qū)別,。你知不知道,,Intel并沒有開發(fā)64位版本的x86指令集。這個64位的指令集,,名為x86-64(有時簡稱為x64),,實(shí)際上是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)。

d8.jpg

  IA64項目并不算得上成功,,現(xiàn)如今基本被放棄了,。Intel最終采用了AMD64。Intel當(dāng)前給出的移動方案,,是采用了AMD開發(fā)的64位指令集(有些許差別)的64位處理器,。

  ARM的故事很不一樣:看到移動設(shè)備對64位計算的需求后,ARM于2011年發(fā)布了ARMv8 64位架構(gòu),,這是為了下一代ARM指令集架構(gòu)工作若干年后的結(jié)晶,。為了基于原有的原則和指令集,開發(fā)一個簡明的64位架構(gòu),,ARMv8使用了兩種執(zhí)行模式,,AArch32和AArch64。

d9.jpg

  顧名思義,,一個運(yùn)行32位代碼,,一個運(yùn)行64位代碼。ARM設(shè)計的巧妙之處,,是處理器在運(yùn)行中可以無縫地在兩種模式間切換,。這意味著64位指令的解碼器是全新設(shè)計的,不用兼顧32位指令,而處理器依然可以向后兼容,。

  異構(gòu)計算

d10.jpg

  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è)備正常運(yùn)行時,,使用低功耗核,而當(dāng)你運(yùn)行一款復(fù)雜的游戲是,,使用的是高性能的核,。

  這是什么做到的呢?設(shè)計處理器的時候,,要考慮大量的技術(shù)設(shè)計的采用與否,,這些技術(shù)設(shè)計決定了處理器的性能以及功耗。

  在一條指令被解碼并準(zhǔn)備執(zhí)行時,,Intel和ARM的處理器都使用流水線,。就是說解碼的過程是并行的。

  第一步從內(nèi)存中讀取指令,,第二步檢查和解碼指令,,第三步執(zhí)行指令,周而復(fù)始,。流水線的好處在于,,當(dāng)前指令在第二步的時候,下一條指令已經(jīng)處于第一步,。當(dāng)前指令在第三步中執(zhí)行的時候,,下一條指令正處于第二步,而下下條指令處于第一步中,,如此循環(huán),。

  為了更快地執(zhí)行指令,這些流水線可以被設(shè)計成允許指令們不按照程序的順序被執(zhí)行(亂序執(zhí)行),。一些巧妙的邏輯結(jié)構(gòu)可以判斷下一條指令是否依賴于當(dāng)前的指令執(zhí)行的結(jié)果,。Intel和ARM都提供亂序執(zhí)行邏輯結(jié)構(gòu),可想而知,,這種結(jié)構(gòu)十分的復(fù)雜,。復(fù)雜意味著更多的功耗,。

  Intel處理器由設(shè)計者們選擇是否加入亂序邏輯結(jié)構(gòu)。異構(gòu)計算則沒有這方便的問題,。ARM Cortex-A53采用順序執(zhí)行,,因此功耗低一些。而ARM Cortex-A57使用亂序執(zhí)行,,所以更快但更耗電,。采用big.LITTLE架構(gòu)的處理器可以同時擁有Cortex-A53和Cortex-A57核,根據(jù)具體的需要決定如何使用這些核,。在后臺同步郵件的時候,,不需要高速的亂序執(zhí)行,僅在玩復(fù)雜游戲的時候需要,。在合適的時間使用合適的核,。

d11.jpg

  原則上,處理器中復(fù)雜邏輯結(jié)構(gòu)越多性能越高,,越少則效率越高,,指令流水線只是其中之一,包括浮點(diǎn)運(yùn)算單元,,單指令多數(shù)據(jù)邏輯(SIMD)(比如ARM的NEON和Intel的SSE/MMX),,以及一級緩存二級緩存,。

  每種Atom片上系統(tǒng),,Intel僅提供一種方案,而ARM以及芯片合作伙伴提供的芯片則有多種方案可以配置,。

  兼容性

  ARM目前是移動處理器的老大,。ARM的合作伙伴們基于ARM的設(shè)計向移動和嵌入式市場的出貨量已經(jīng)達(dá)500億片。對于安卓,,ARM已然成為標(biāo)準(zhǔn),,這對Intel和MIPS而言是個問題。

  盡管安卓的主要編程語言是Java,,開發(fā)者也可以使用現(xiàn)有的代碼(比如C或者C++)去開發(fā)應(yīng)用,。這些固定平臺的應(yīng)用通常都編譯成ARM處理器的程序,不全都會編譯成Intel或者M(jìn)IPS處理器的程序,。

  為了解決這個問題,,Intel和MIPS要使用特殊的轉(zhuǎn)換軟件把ARM的指令轉(zhuǎn)換成他們處理器使用的指令。這當(dāng)然是會降低性能的,。

  目前MIPS和Intel聲稱兼容Play Store里大約90%的應(yīng)用,。對于最受歡迎的150個應(yīng)用,兼容率是100%,。一方面兼容率很高,,另一方面表明ARM的主導(dǎo)地位,,使得其他的處理器設(shè)計者需要提供一個兼容層。

  總結(jié)

  制造處理器是一項復(fù)雜的業(yè)務(wù),。ARM,,Intel和MIPS都在不懈努力地向移動設(shè)備提供最好的技術(shù),而很明顯ARM是老大,。擁有著低功耗,,簡明的64位設(shè)計,異構(gòu)計算,,以及作為移動計算的標(biāo)準(zhǔn),,看來ARM必能保持其老大的地位。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。