ARM和X86功耗差異的深層緣由探討

   ARM和X86功耗的差異一直是個很熱的話題.ARM能夠作的很低,甚至1瓦都不到.而X86服務器的芯片能夠達到100-200瓦,就算是嵌入式處理器Atom系列也須要幾瓦.不少人說這是指令集的關係.ARM採用精簡指令集,X86採用複雜指令集,前者每條功能簡單,單挑指令耗電低.然後者每條指令複雜,單個指令耗電高.可是這種解釋很模糊.若是你們都作一樣的事情,完成一個大功能,精簡指令集須要指令較多,而複雜指令集須要指令少,加起來到底誰耗電多呢.還有,如今處理器廣泛採用微指令,大的指令會被拆分紅更小的指令,以達到更高的流水線效率.簡單指令集的單條微指令和複雜指令集的單條微指令相比的話,狀況就更復雜.我手頭沒有關於比較的具體數據,可是至少前文所列出關於功耗和指令集相關的解釋不是頗有說服力.

    今天碰到一個資深人士,總算找到一個比較合理的解釋.

    首先,功耗和工藝製程相關. ARM的處理器,不論是哪家,主要是靠臺積電等專業製造商生產的.而Intel的是本身的工廠製造的.通常來講後者比前者的工藝領先一代,也就是2-3年.若是一樣的設計,造出來的處理器因該是Intel的更緊湊,好比一個是22納米,一個是28納米,一樣功能確定是22納米的耗電更少.

    那爲何反而ARM的比X86耗電少得多呢.這就和另一個因素相關了,那就是設計.

    設計又分爲前端和後端設計,前端設計體現了處理器的構架,精簡指令集和複雜指令集的區別是經過前端設計體現的.後端設計處理電壓,時鐘等問題,是耗電的直接因素.

    先說下後端怎麼影響耗電的.咱們都學過,晶體管耗電主要兩個緣由,一個是動態功耗,一個是漏電功耗.動態功耗是指晶體管在輸入電壓切換的時候產生的耗電,而全部的邏輯功能的0/1切換,歸根結底都是時鐘信號的切換.若是時鐘信號保持不變,那麼這部分的功耗就爲0.這就是所謂的門控時鐘(Clock Gating).而漏電功耗能夠經過關掉某個模塊的電源來控制(Power Gating).固然,其中任何一項都會使得時鐘和電源所控制的模塊沒法工做.他們的區別在於,門控時鐘的恢復時間較短,而電源控制的時間較長.此外,若是條單條指令使用多個模塊的功能,在恢復功能的時候,並非最慢的那個模塊的時間,而多是幾個模塊時間相加,由於這牽涉到一個上電次序(Power Sequence)的問題,也就是恢復工做時候模塊間是有前後次序的,不遵守這個次序,就沒法恢復.而遵守這個次序,就會使得總恢復時間很長.因此在後端這塊,能夠獲得一個結論,爲了省電,能夠關閉一些暫時不會用到的處理器模塊.可是也不能輕易的關閉,不然一旦須要,恢復的話會讓完成某個指令的時間會很長,整體性能顯然下降.此外,子模塊的門控時鐘和電源開關一般是設計電路時就決定的,對於操做系統是透明的,沒法經過軟件來優化.

    再來看前端.ARM的處理器有個特色,就是亂序執行能力不如X86.換句話說,就是用戶在使用電腦的時候,他的操做是隨機的,沒法預測的,形成了指令也沒法預測.X86爲了加強對這種狀況下的處理能力,增強了亂序指令的執行.此外,X86還加強了單核的多線程能力.這樣作的缺點就是,沒法頗有效的關閉和恢復處理器子模塊,由於一旦關閉,恢復起來就很慢,從而形成低性能.爲了保持高性能,就不得不讓大部分的模塊都保持開啓, 而且時鐘也保持切換.這樣作的直接後果就是耗電高.而ARM的指令強在肯定次序的執行,而且依靠多核而不是單核多線程來執行.這樣容易保持子模塊和時鐘信號的關閉,顯然就更省電.

    此外,在操做系統這個級別,我的電腦上一般會開不少線程,而移動平臺一般會作優化,只保持必要的線程.這樣使得耗電差距進一步加大.固然,若是X86用在移動平臺,確定也會由於線程少而省電.凌動系列(ATOM)專門爲這些特性作了優化,在必定程度上下降亂序執行和多線程的處理能力,從而達到省電.

    此外,如今移動處理器都是片上系統(SoC)結構,也就是說,處理器以外,圖形,視頻,音頻,網絡等功能都在一個芯片裏.這些模塊的打開與關閉就容易預測的多,而且能夠經過軟件來控制.這樣,總體功耗就更加取決於軟件和製造工藝而不是處理機結構.在這點上,X86的處理器佔優點,由於Intel的工藝有很大優點,而軟件優化只要去作確定就能夠作到.

   以上緣由我以爲較好的解釋了ARM和X86的功耗差異.

   如今看看趨勢.

    Intel如今積極推動晶體管工藝革新,簡化前端設計,因此功耗劣勢會逐步減低.再有,隨着工藝的進一步發展,之後的移動設備主要功耗會轉移到外部設備而非處理器.好比內存,顯示屏,通信模塊等.這樣,性能會變的愈來愈重要.不過Intel有個難以跨越的鴻溝,就是成本,爲了保持高利潤,就算能夠下降也不會願意下降.等到不得不靠降成本維生的那一天,說明技術優點不復存在,公司也快走到頭了,只能轉型依靠服務和平臺來掙錢.這點能夠參照思科和華爲的競爭史.大膽預測,若是2013以後人類仍舊存在,移動處理器會逐漸分爲兩個市場,低端ARM把持,高端Intel獨佔.html

 

轉自CSDN移動平臺-開發平臺論壇前端

相關文章
相關標籤/搜索