X86工業(yè)主板和ARM工業(yè)主板二者之間的區(qū)別
CPU主要由運(yùn)算器、控制器、寄存器三部分組成,負(fù)責(zé)處理指令、執(zhí)行操作、控制時(shí)間、處理數(shù)據(jù)。如果沒(méi)有CPU,工業(yè)主板就不行。
X86和ARM的區(qū)別
- 目前CPU主要由X86和ARM組成。不同的體系結(jié)構(gòu)之間有很大的差距,從zui基本的邏輯角度來(lái)看,可以分為兩類(lèi),即“復(fù)雜指令集”和“精簡(jiǎn)指令集”系統(tǒng),即“CISC”和“RISC”。X86工業(yè)主板和ARM工業(yè)主板的主要區(qū)別在于,前者使用復(fù)雜指令集(CISC),后者使用精簡(jiǎn)指令集(RISC),這也是為什么X86工業(yè)主板在性能上比ARM工業(yè)主板快很多,強(qiáng)很多。
- X86工業(yè)主板的功耗高于ARM工業(yè)主板。功耗與CPU制造工藝有關(guān)。ARM的CPU主要是專(zhuān)ye廠商生產(chǎn)的,Intel是自己工廠生產(chǎn)的。一般來(lái)說(shuō),后者比前者領(lǐng)xian一代。如果設(shè)計(jì)一樣,生產(chǎn)出來(lái)的處理器應(yīng)該比Intel的geng緊湊,比如一個(gè)是22nm,一個(gè)是28nm,同樣的功能一定是22nm,耗電geng少。那為什么ARM工業(yè)主板的功耗比X86工業(yè)主板低?這和CPU設(shè)計(jì)有關(guān)。
- 在操作系統(tǒng)兼容方面,幾乎所有X86硬件平臺(tái)都可以直接使用微軟的視窗系統(tǒng)及現(xiàn)在流行的幾乎所有工具軟件,所以X86工業(yè)主板在系統(tǒng)兼容性方面具有無(wú)可比擬的優(yōu)勢(shì)。
CPU設(shè)計(jì)分為前端設(shè)計(jì)和后端設(shè)計(jì)。前端設(shè)計(jì)體現(xiàn)了CPU的架構(gòu),復(fù)雜指令集和簡(jiǎn)化指令集的區(qū)別通過(guò)前端設(shè)計(jì)體現(xiàn)。后端設(shè)計(jì)處理電壓、時(shí)鐘等問(wèn)題,這是功耗的直接因素。后端如何影響功耗?晶體管功耗主要有兩個(gè)原因:一是動(dòng)態(tài)功耗,二是漏功耗。動(dòng)態(tài)功耗是指切換輸入電壓時(shí)晶體管產(chǎn)生的功耗,所有邏輯功能的0/1切換,歸根結(jié)底就是時(shí)鐘信號(hào)的切換。如果時(shí)鐘信號(hào)保持不變,這部分功耗將為0。也就是所謂的時(shí)鐘計(jì)時(shí)??梢酝ㄟ^(guò)關(guān)閉某個(gè)模塊的電源來(lái)控制泄漏功耗。當(dāng)然,其中任何一個(gè)都會(huì)使時(shí)鐘和電源控制的模塊無(wú)法工作。不同的是門(mén)控時(shí)鐘的恢復(fù)時(shí)間較短,而功率控制時(shí)間較長(zhǎng)。另外,如果單個(gè)指令使用多個(gè)模塊的功能,在恢復(fù)功能時(shí),不是zui慢模塊的時(shí)間,而是幾個(gè)模塊的時(shí)間可能相加,因?yàn)檫@涉及到一個(gè)PowerSequence的問(wèn)題,即恢復(fù)工作時(shí),模塊之間有一個(gè)順序,不按照這個(gè)順序就無(wú)法恢復(fù)。按照這個(gè)順序,總的恢復(fù)時(shí)間會(huì)很長(zhǎng)。所以在后端可以得出一個(gè)結(jié)論,為了省電,可以關(guān)閉一些暫時(shí)不用的處理器模塊。但是不能輕易關(guān)閉,否則一旦需要恢復(fù),完成一條指令需要很長(zhǎng)時(shí)間,整體性能會(huì)明顯下降。同時(shí),子模塊的門(mén)控時(shí)鐘和電源開(kāi)關(guān)通常是在設(shè)計(jì)電路時(shí)決定的,對(duì)操作系統(tǒng)是透明的,無(wú)法通過(guò)軟件優(yōu)化。
看前端。ARMCPU的一個(gè)特點(diǎn)就是亂序執(zhí)行能力不如X86。換句話(huà)說(shuō),當(dāng)用戶(hù)使用工控機(jī)時(shí),其操作是隨機(jī)的、不可預(yù)測(cè)的,從而產(chǎn)生不可預(yù)測(cè)的指令。X86為了增強(qiáng)這種情況下的處理能力,加強(qiáng)了亂序指令的執(zhí)行。此外,X86還增強(qiáng)了單核的多線(xiàn)程能力。這樣做的缺點(diǎn)是處理器子模塊無(wú)法有效關(guān)閉和恢復(fù),因?yàn)橐坏╆P(guān)閉,恢復(fù)速度很慢,導(dǎo)致性能低下。為了保持高性能,大多數(shù)模塊必須打開(kāi),時(shí)鐘必須切換。這樣做的直接后果是高功耗。而ARM的指令側(cè)重于一定順序的執(zhí)行,依靠多核而不是單核多線(xiàn)程。這使得保持子模塊和時(shí)鐘信號(hào)關(guān)閉變得容易,這顯然節(jié)省了功率。
幾乎所有的ARM都使用Linux操作系統(tǒng),幾乎所有的硬件系統(tǒng)都要du立構(gòu)建自己的系統(tǒng),與其他系統(tǒng)不兼容,也導(dǎo)致了其應(yīng)用軟件移植的不便,制約了ARM的開(kāi)發(fā)和應(yīng)用。Android系統(tǒng)開(kāi)發(fā)完成后,統(tǒng)一了基于ARM架構(gòu)的工控機(jī)的操作系統(tǒng),使新推出的基于ARM架構(gòu)的工控機(jī)系統(tǒng)具有統(tǒng)一、開(kāi)放、免費(fèi)的操作系統(tǒng),為ARM的發(fā)展提供了強(qiáng)大的支持和動(dòng)力。
X86和ARM的發(fā)展
兩者沒(méi)有可比性,X86無(wú)法達(dá)到ARM的功耗,ARM也無(wú)法達(dá)到X86的性能。在服務(wù)器、工作站等高性能計(jì)算應(yīng)用中,無(wú)論功耗和使用環(huán)境,X86都有絕dui優(yōu)勢(shì)。但是在功耗、環(huán)境和固定任務(wù)的約束下,ARM有很大的優(yōu)勢(shì)。