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