ARM將在更多的應(yīng)用場合替代x86
x86概述
X86是由Intel推出的一種復(fù)雜指令集,用于控制芯片的運行的程序,現(xiàn)在X86已經(jīng)廣泛運用到了家用PC(機箱+xx主板+xx電源+xx處理器+(光驅(qū)選裝)的領(lǐng)域。
x86架構(gòu)于1978年推出的Intel 8086中央處理器中首度出現(xiàn),它是從Intel 8008處理器中發(fā)展而來的,而8008則是發(fā)展自Intel 4004的。8086在三年后為IBM PC所選用,之后x86便成為了個人計算機的標(biāo)準(zhǔn)平臺,成為了歷來最成功的CPU架構(gòu)。
x86架構(gòu)是重要地可變指令長度的CISC(復(fù)雜指令集計算機,Complex InstrucTIon Set Computer)。字組(word, 4字節(jié))長度的存儲器訪問允許不對齊存儲器地址,字組是以低位字節(jié)在前的順序儲存在存儲器中。向前兼容性一直都是在x86架構(gòu)的發(fā)展背后一股驅(qū)動力量(設(shè)計的需要決定了這項因素而常常導(dǎo)致批評,尤其是來自對手處理器的擁護者和理論界,他們對于一個被廣泛認(rèn)為是是落后設(shè)計的架構(gòu)的持續(xù)成功感到不解)。但在較新的微架構(gòu)中,x86處理器會把x86指令轉(zhuǎn)換為更像RISC的微指令再予執(zhí)行,從而獲得可與RISC比擬的超標(biāo)量性能,而仍然保持向前兼容。x86架構(gòu)的處理器一共有四種執(zhí)行模式,分別是真實模式,保護模式,系統(tǒng)管理模式以及虛擬V86模式。
ARM架構(gòu)
下圖所示的是ARM構(gòu)架圖。它由32位ALU、若干個32位通用寄存器以及狀態(tài)寄存器、32&TImes;8位乘法器、32&TImes;32位桶形移位寄存器、指令譯碼以及控制邏輯、指令流水線和數(shù)據(jù)/地址寄存器組成。
1.ALU:它有兩個操作數(shù)鎖存器、加法器、邏輯功能、結(jié)果以及零檢測邏輯構(gòu)成。
2.桶形移位寄存器:ARM采用了32&TImes;32位的桶形移位寄存器,這樣可以使在左移/右移n位、環(huán)移n位和算術(shù)右移n位等都可以一次完成。
3.高速乘法器:乘法器一般采用“加一移位”的方法來實現(xiàn)乘法。ARM為了提高運算速度,則采用兩位乘法的方法,根據(jù)乘數(shù)的2位來實現(xiàn)“加一移位”運算;ARM高速乘法器采用32&TImes;8位的結(jié)構(gòu),這樣,可以降低集成度(其相應(yīng)芯片面積不到并行乘法器的1/3)。
4.浮點部件:浮點部件是作為選件供ARM構(gòu)架使用。FPA10浮點加速器是作為協(xié)處理方式與ARM相連,并通過協(xié)處理指令的解釋來執(zhí)行。
5.控制器:ARM的控制器采用的是硬接線的可編程邏輯陣列PLA。
6.寄存器
除了用戶模式之外的其他6種處理器模式稱為特權(quán)模式(PrivilegedModes)。在這些模式下,程序可以訪問所有的系統(tǒng)資源,也可以任意地進行處理器模式的切換。其中,除系統(tǒng)模式外,其他5種特權(quán)模式又稱為異常模式。
處理器模式可以通過軟件控制進行切換,也可以通過外部中斷或異常處理過程進行切換。大多數(shù)的用戶程序運行在用戶模式下,這時,應(yīng)用程序不能夠訪問一些受操作系統(tǒng)保護的系統(tǒng)資源,應(yīng)用程序也不能直接進行處理器模式的切換。當(dāng)需要進行處理器模式的切換時,應(yīng)用程序可以產(chǎn)生異常處理,在異常處理過程中進行模式的切換。這種體系結(jié)構(gòu)可以使操作系統(tǒng)控制整個系統(tǒng)的資源。
當(dāng)應(yīng)用程序發(fā)生異常中斷時,處理器進入相應(yīng)的異常模式。在每一種異常模式中都有一組寄存器,供相應(yīng)的異常處理程序使用,這樣就可以保證在進入異常模式時,用戶模式下的寄存器(保證了程序運行狀態(tài))不被破壞。
系統(tǒng)模式并不是通過異常過程進入的,它和用戶模式具有完全一樣的寄存器。但是系統(tǒng)模式屬于特權(quán)模式,可以訪問所有的系統(tǒng)資源,也可以直接進行處理器模式的切換。它主要供操作系統(tǒng)任務(wù)使用。通常操作系統(tǒng)的任務(wù)需要訪問所有的系統(tǒng)資源,同時該任務(wù)仍然使用用戶模式下的寄存器組,而不是使用異常模式下相應(yīng)的寄存器組,這樣可以保證當(dāng)異常中斷發(fā)生時任務(wù)狀態(tài)不被破壞。
X86架構(gòu)與ARM架構(gòu)區(qū)別
1、性能
X86架構(gòu)的工業(yè)電腦比ARM架構(gòu)的工業(yè)電腦在性能方面要快得多、強得多。ARM的優(yōu)勢在于效率,ARM采用RISC流水線指令集,在完成綜合性工作處于劣勢,而在任務(wù)相對固定的應(yīng)用場合其優(yōu)勢就能發(fā)揮得淋漓盡致。
2、擴展能力
X86架構(gòu)的工業(yè)電腦采用“橋”的方式與擴展設(shè)備(如硬盤、內(nèi)存等)進行連接,且X86架構(gòu)的工業(yè)電腦能很容易進行性能擴展,如增加內(nèi)存、硬盤等。
ARM架構(gòu)的工業(yè)電腦是通過專用的數(shù)據(jù)接口使CPU與數(shù)據(jù)存儲設(shè)備進行連接,所以ARM的存儲、內(nèi)存等性能擴展難以進行(一般在產(chǎn)品設(shè)計時已經(jīng)定好其內(nèi)存及數(shù)據(jù)存儲的容量),所以采用ARM架構(gòu)的工業(yè)電腦,一般不考慮擴展。
3、操作系統(tǒng)的兼容性
幾乎所有X86硬件平臺都可以直接使用微軟的視窗系統(tǒng)及現(xiàn)在流行的幾乎所有工具軟件,所以X86系統(tǒng)在兼容性方面具有無可比擬的優(yōu)勢。
ARM幾乎都采用Linux的操作系統(tǒng),而且?guī)缀跛械挠布到y(tǒng)都要單獨構(gòu)建自己的系統(tǒng),與其他系統(tǒng)不能兼容,這也導(dǎo)致其應(yīng)用軟件不能方便移植,也制約了ARM的發(fā)展和應(yīng)用。Android系統(tǒng)開發(fā)后,統(tǒng)一了ARM架構(gòu)電腦的操作系統(tǒng),使新推出基于ARM架構(gòu)的電腦系統(tǒng)有了統(tǒng)一的、開放式的、免費的操作系統(tǒng),為ARM的發(fā)展提供了強大的支持和動力。
4、軟件開發(fā)的方便性及可使用工具的多樣性
在軟件開發(fā)方面, X86架構(gòu)比ARM架構(gòu)更容易、更簡單、實際成本也更低,同時更容易找到第三方軟件(免去自己開發(fā)的時間和成本),而且軟件移植更容易。
5、功耗
在服務(wù)器、工作站以及其他高性能運算等應(yīng)用方面,不考慮功耗和使用環(huán)境等條件,X86占了優(yōu)絕對優(yōu)勢;但受功耗、環(huán)境等條件制約且工作任務(wù)固定的情況下ARM就占有很大的優(yōu)勢。
醫(yī)療設(shè)備逐漸從X86轉(zhuǎn)到ARM平臺主要原因是什么
醫(yī)療器械開發(fā)中,ARM替換x86很多場合不是性能問題,而是驅(qū)動軟件支持問題,其中標(biāo)準(zhǔn)A4紙打印機即是最大的攔路虎之一,而致遠(yuǎn)電子ARM9、Cortex-A8、Cortex-A9核心板、工控板全線支持USB接口A4紙打印機,拔除攔路虎。
ARM與x86在性能、功耗、價格、體積等方面各有所長,2011年之前,公眾對于ARM與x86比較主要集中在各自優(yōu)劣勢的分析上。而2011年之后,輿論則開始習(xí)慣用“戰(zhàn)爭”來形容ARM與x86兩個陣營的關(guān)系。
自“戰(zhàn)爭”打響以來,ARM向x86傳統(tǒng)應(yīng)用領(lǐng)域的擴張正逐步深入,而x86向ARM應(yīng)用領(lǐng)域的滲透卻收效甚微(基于x86陣營主力Intel的盈利模式,有網(wǎng)友評論:這不是一個技術(shù)問題,而是一個商業(yè)問題)。
在工業(yè)與醫(yī)療領(lǐng)域,低端電子產(chǎn)品多采用ARM核的微控制器,高端應(yīng)用則屬于x86的傳統(tǒng)勢力范圍(如ATM、PIS、醫(yī)療影像系統(tǒng)、生化分析、血液分析)。x86對于ARM的優(yōu)勢,在諸多應(yīng)用場合依靠的是配套廠商在軟件、驅(qū)動上的支持(如常規(guī)的USB接口打印機),而在性能、功耗、成本、軟件設(shè)計復(fù)雜度上皆可由ARM取代。
以醫(yī)療行業(yè)中大型生化分析儀、大型血液分析儀、健康管理一體機等為例,A4紙打印機為標(biāo)準(zhǔn)配件,但基本所有打印機廠商僅支持Windows系統(tǒng)驅(qū)動或桌面linux系統(tǒng)驅(qū)動,對運行于ARM處理器上WinCE系統(tǒng)或嵌入式linux系統(tǒng)均不支持,僅打印機一項即限制了醫(yī)療器械廠家使用ARM處理器開發(fā)這幾類產(chǎn)品的意愿。
自2003年開始致遠(yuǎn)電子攜周立功單片機在全國范圍內(nèi)推廣ARM嵌入式系統(tǒng)技術(shù),先后開發(fā)了NXP、Samsung、TI(包括被收購的Luminary)、Intel(ARMxscale)、Freescale等品牌ARM處理器多達40余系列,產(chǎn)品在工業(yè)自動化、電力、煤礦、軌道交通、醫(yī)療等行業(yè)應(yīng)用廣泛。
2014年,致遠(yuǎn)電子更是率先在ARM9、ARM11、Cortex-A8、Cortex-A9等運行WinCE或嵌入式Linux系統(tǒng)的ARM處理器上支持了標(biāo)準(zhǔn)A4紙打印機,推動ARM在工業(yè)自動化、醫(yī)療等眾多領(lǐng)域替換x86應(yīng)用邁出堅實的一步。
隨著ARM處理器性能提升、嵌入式開發(fā)人員整體技術(shù)水平的提高以及其他配套廠商對WinCE、嵌入式Linux、Andriod系統(tǒng)的支持,ARM勢必將在更多的應(yīng)用場合替代x86。