ARM和X86嵌入式工控機比較.
ARM和X86嵌入式工控機比較分析 CISC的典型代表是各種X86的CPU,ARM則是RISC最常見的處 理器。
關(guān)于ARM和X86架構(gòu)上的比較也就代表了CISC和RISC的發(fā)展趨勢。RISC架構(gòu)系統(tǒng)在嵌入式領(lǐng)域廣泛應(yīng)用(比X86有更大的出貨量)比較重要的有幾個原因:
(1)因為有成熟的處理器IP可以直接加以利用,可以減少芯片 的研發(fā)周期、降低開發(fā)難度,開發(fā)周期比較短,芯片做得針對性很強;
(2)功耗低,嵌入式系統(tǒng)大多都是在很多特定場合使用的,譬 如手持設(shè)備。 在有限的空間里面,散熱也是個大問題。X86的CPU需要南橋和 北橋來擴展內(nèi)存控制器、PCI控制器、AGP控制器、ATA控制器、USB控制器等,這樣系統(tǒng)結(jié)構(gòu)復(fù)雜,但是擴展性很好,不適合專用設(shè)備,但是很適合通用設(shè)備,因此在PC和服務(wù)器中得到了廣泛的應(yīng)用。 ARM處理器更接近于SOC(System on Chip),一顆芯片上集成一個 系統(tǒng),事實上正是如此,譬如專門的手持設(shè)備的ARM,就是一個ARM Core,然后集成SDRAM Controller、FLASH Controller、LCD Controller和Uart等,然后集成以太網(wǎng)MAC或者專門的Network Engine,甚至還會集成專門的AC97、MMX等迎合不同的應(yīng)用需要。采用 ARM 處理器的結(jié)果就是,在板級的時候,硬件結(jié)構(gòu)非常簡單,可以簡單的把ARM平臺的嵌入式系統(tǒng)認為是:CPU + SDRAM + Flash + I/O + Power Supply。 軟件上,X86系統(tǒng)復(fù)位以后,首先運行的是BIOS,根據(jù)硬件的 具體設(shè)置對I/O、 IRQ、地址空間等進行初步的分配管理;接著是 boot manager,譬如 NT Loader 或者Linux,它會對CPU系統(tǒng)進行進一步的設(shè)置,然后 Load OS kernel &root filesystem,把硬件的控制權(quán)交給OS。 對于ARM嵌入式的系統(tǒng),基本上過程存在一些差異,在Flash的某個特定地址存儲了boot loader,這里的boot loader相當于集成了X86系統(tǒng)的BIOS + Boot Manager的功能,復(fù)位啟動boot loader, 然后加載load Linux kernel & root filesystem。
比較ARM和X86這兩個架構(gòu)之間的差異包括如下幾點:
(1)ARM處理器本身集成了豐富的常用控制器接口;X86沒有提供控制器接口,通過南北橋擴展外設(shè)。ARM平臺的架構(gòu)比較簡單,不需要太多的硬件電路,X86系統(tǒng)則比較復(fù)雜。
(2)ARM處理器的外設(shè)空間是統(tǒng)一制定的,由存儲器控制器進行管理;X86的外設(shè)空間由Mem和I/O這兩套獨立的空間構(gòu)成,并分別由不同的控制器控制,結(jié)構(gòu)略顯復(fù)雜。
(3)ARM采用先進的RISC技術(shù),并輔上獨特設(shè)計,保證其超低功耗的品質(zhì);X86因為其CISC結(jié)構(gòu),始終存在大功耗的毛病,并據(jù)此而伴隨散熱、噪聲等一