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