CPU主要由運算器、控制器、寄存器三部分組成,擔負處理指令、執行操作、控制時間、處理數據四大作用,如果沒有CPU,工業主板將無法工作。
X86和ARM的區別
1、目前CPU主要由X86和ARM兩大架構。不同架構間的差距非常大,而從最基本的邏輯角度來分類的話,可以被分為兩大類,即 “復雜指令集”與“精簡指令集”系統,也就是“CISC”與“RISC”。 X86工業主板與ARM工業主板最主要區別是前者使用復雜指令集(CISC),而后者使用精簡指令集(RISC),這也是為何X86工業主板比ARM工業主板在性能方面要快得多、強得多。
2、X86工業主板的功耗要比ARM工業主板的高。功耗和CPU制造工藝相關。ARM的CPU主要是由專業制造商生產,而Intel是由自己的工廠制造。一般來說后者比前者的工藝領先一代。如果同樣的設計,造出來的處理器應該是Intel的更緊湊,如一個是22納米,一個是28納米,同樣功能肯定是22納米的耗電更少。那為何反而ARM工業主板的功耗比X86工業主板的低呢? 這跟CPU設計有關。
CPU設計又分為前端和后端設計,前端設計體現了CPU的構架,復雜指令集和精簡指令集的區別是通過前端設計體現的。后端設計處理電壓,時鐘等問題,是耗電的直接因素。那后端是怎么影響耗電的?晶體管耗電主要兩個原因:一個是動態功耗,一個是漏電功耗。動態功耗是指晶體管在輸入電壓切換的時候產生的耗電,而所有的邏輯功能的0/1切換,歸根結底都是時鐘信號的切換。如果時鐘信號保持不變,那么這部分的功耗就為0。即所謂的門控時鐘(Clock Gating)。而漏電功耗可以通過關掉某個模塊的電源來控制(Power Gating)。當然,其中任何一項都會使得時鐘和電源所控制的模塊無法工作。區別在于,門控時鐘的恢復時間較短,而電源控制的時間較長。此外,如果單條指令使用多個模塊的功能,在恢復功能的時候,并不是最慢的那個模塊的時間,而可能是幾個模塊時間相加,因為這涉及到一個上電次序(Power Sequence)的問題,也就是恢復工作時候模塊間是有先后次序的,不遵照這個次序,就無法恢復。而遵照這個次序,就會使得總恢復時間很長。所以在后端這塊,可以得到一個結論,為了省電,可以關閉一些暫時不會用到的處理器模塊。但是也不能輕易的關閉,否則一旦需要恢復會讓完成某個指令的時間會很長,總體性能顯然降低。同時,子模塊的門控時鐘和電源開關通常是設計電路時就決定的,對于操作系統是透明的,無法通過軟件來優化。
再來看前端。ARM的CPU有個特點,就是亂序執行能力不如X86。換句話說,就是用戶在使用工控機時,其操作是隨機的,無法預測的,造成了指令也無法預測。X86為了增強對這種情況下的處理能力,加強了亂序指令的執行。此外,X86還增強了單核的多線程能力。這樣做的缺點就是,無法很有效的關閉和恢復處理器子模塊,因為一旦關閉,恢復起來就很慢,從而造成低性能。為了保持高性能,就不得不讓大部分的模塊都保持開啟,并且時鐘也保持切換。這樣做的直接后果就是耗電高。而ARM的指令強在確定次序的執行,并且依靠多核而不是單核多線程來執行。這樣容易保持子模塊和時鐘信號的關閉,顯然就更省電。
3、在操作系統兼容方面,幾乎所有X86硬件平臺都可以直接使用微軟的視窗系統及現在流行的幾乎所有工具軟件,所以X86工業主板在系統兼容性方面具有無可比擬的優勢。
ARM幾乎都采用Linux的操作系統,而且幾乎所有的硬件系統都要單獨構建自己的系統,與其他系統不能兼容,這也導致其應用軟件不能方便移植,也制約了ARM的發展和應用。Android系統開發后,統一了ARM架構工控機的操作系統,使新推出基于ARM架構的工控機系統有了統一的、開放式的、免費的操作系統,為ARM的發展提供了強大的支持和動力。
X86和ARM的發展
兩者不具備可比性,X86無法做到ARM的功耗,而ARM也無法做到X86的性能。在服務器、工作站以及其它高性能運算等應用方面,不考慮功耗和使用環境等條件,X86占了優絕對優勢;但受功耗、環境等條件制約且工作任務固定的情況下ARM就占有很大的優勢。
CopyRight?深圳市研為科技有限公司2025
全國銷售熱線:0755-26470366、18923869746(微信同號)
傳真:0755-26470350E-mail:sales@yenware.com
地址:深圳市寶安區石巖街道石龍社區工業二路5號海天藍宇科技工業園3棟8樓
研為科技微信公眾號