<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 什么叫arm架構?X86架構與ARM架構有什么區別

什么叫arm架構?X86架構與ARM架構有什么區別

作者: 時(shí)間:2018-04-27 來(lái)源:網(wǎng)絡(luò ) 收藏

  什么叫arm架構

本文引用地址:http://dyxdggzs.com/article/201804/379168.htm

  架構過(guò)去稱(chēng)作進(jìn)階精簡(jiǎn)指令集機器(AdvancedRISCMachine,更早稱(chēng)作:AcornRISCMachine),是一個(gè)32位精簡(jiǎn)指令集(RISC)處理器架構,其廣泛地使用在許多嵌入式系統設計。由于節能的特點(diǎn),處理器非常適用于移動(dòng)通訊領(lǐng)域,符合其主要設計目標為低耗電的特性。

  在今日,家族占了所有32位嵌入式處理器75%的比例[1],使它成為占全世界最多數的32位架構之一。ARM處理器可以在很多消費性電子產(chǎn)品上看到,從可攜式裝置(PDA、移動(dòng)電話(huà)、多媒體播放器、掌上型電子游戲,和計算機)到電腦外設(硬盤(pán)、桌上型路由器)甚至在導彈的彈載計算機等軍用設施中都有他的存在。在此還有一些基于A(yíng)RM設計的派生產(chǎn)品,重要產(chǎn)品還包括Marvell的XScale架構和德州儀器的OMAP系列。

  ARM架構圖

  下圖所示的是ARM構架圖。它由32位ALU、若干個(gè)32位通用寄存器以及狀態(tài)寄存器、32&TImes;8位乘法器、32&TImes;32位桶形移位寄存器、指令譯碼以及控制邏輯、指令流水線(xiàn)和數據/地址寄存器組成。

  1.ALU:它有兩個(gè)操作數鎖存器、加法器、邏輯功能、結果以及零檢測邏輯構成。

  2.桶形移位寄存器:ARM采用了32&TImes;32位的桶形移位寄存器,這樣可以使在左移/右移n位、環(huán)移n位和算術(shù)右移n位等都可以一次完成。

  3.高速乘法器:乘法器一般采用“加一移位”的方法來(lái)實(shí)現乘法。ARM為了提高運算速度,則采用兩位乘法的方法,根據乘數的2位來(lái)實(shí)現“加一移位”運算;ARM高速乘法器采用32&TImes;8位的結構,這樣,可以降低集成度(其相應芯片面積不到并行乘法器的1/3)。

  4.浮點(diǎn)部件:浮點(diǎn)部件是作為選件供ARM構架使用。FPA10浮點(diǎn)加速器是作為協(xié)處理方式與ARM相連,并通過(guò)協(xié)處理指令的解釋來(lái)執行。

  5.控制器:ARM的控制器采用的是硬接線(xiàn)的可編程邏輯陣列PLA。

  6.寄存器

1.jpg

 

  除了用戶(hù)模式之外的其他6種處理器模式稱(chēng)為特權模式(PrivilegedModes)。在這些模式下,程序可以訪(fǎng)問(wèn)所有的系統資源,也可以任意地進(jìn)行處理器模式的切換。其中,除系統模式外,其他5種特權模式又稱(chēng)為異常模式。

  處理器模式可以通過(guò)軟件控制進(jìn)行切換,也可以通過(guò)外部中斷或異常處理過(guò)程進(jìn)行切換。大多數的用戶(hù)程序運行在用戶(hù)模式下,這時(shí),應用程序不能夠訪(fǎng)問(wèn)一些受操作系統保護的系統資源,應用程序也不能直接進(jìn)行處理器模式的切換。當需要進(jìn)行處理器模式的切換時(shí),應用程序可以產(chǎn)生異常處理,在異常處理過(guò)程中進(jìn)行模式的切換。這種體系結構可以使操作系統控制整個(gè)系統的資源。

  當應用程序發(fā)生異常中斷時(shí),處理器進(jìn)入相應的異常模式。在每一種異常模式中都有一組寄存器,供相應的異常處理程序使用,這樣就可以保證在進(jìn)入異常模式時(shí),用戶(hù)模式下的寄存器(保證了程序運行狀態(tài))不被破壞。

  系統模式并不是通過(guò)異常過(guò)程進(jìn)入的,它和用戶(hù)模式具有完全一樣的寄存器。但是系統模式屬于特權模式,可以訪(fǎng)問(wèn)所有的系統資源,也可以直接進(jìn)行處理器模式的切換。它主要供操作系統任務(wù)使用。通常操作系統的任務(wù)需要訪(fǎng)問(wèn)所有的系統資源,同時(shí)該任務(wù)仍然使用用戶(hù)模式下的寄存器組,而不是使用異常模式下相應的寄存器組,這樣可以保證當異常中斷發(fā)生時(shí)任務(wù)狀態(tài)不被破壞

  ARM的技術(shù)實(shí)現

  要想深入理解ARM的實(shí)現原理是個(gè)很大的學(xué)習工程,這里一樣希望讀者讀后能對ARM起到一個(gè)總體的認識,后續可以進(jìn)一步的深入學(xué)習。我們先以ARM匯編基礎來(lái)展開(kāi)這一章的chat。

  匯編語(yǔ)言是機器代碼上的一個(gè)薄的語(yǔ)法層,它由以二進(jìn)制編碼的指令組成,這是我們的計算機所理解。那么為什么我們不寫(xiě)代碼呢?可想而知以二進(jìn)制來(lái)進(jìn)行coding的話(huà)是多么的痛苦,因此我們將編寫(xiě)ARM程序集。

  但是計算機本身只識別機器碼是不能運行匯編代碼的,這就需要將匯編代碼裝到機器代碼中的工具GNUBinutils項目中的GNUAssembler。一旦用擴展名*.s編寫(xiě)程序就需要把它與其進(jìn)行組合并與ld鏈接起來(lái):   

11.jpg

  我們從最底層來(lái)看下,在最底層,電路上有電信號,信號是將電壓切換為兩個(gè)電平來(lái)形成的,例如0伏(關(guān))或5伏(開(kāi))。

  因為只是我們不能輕易的告訴電路電壓,只能選擇使用1/0來(lái)寫(xiě)入開(kāi)/關(guān)的模式,然后我們對0和1的順序進(jìn)行分組,以形成機器碼指令,該指令是計算機處理器的最小工作單元,以下是機器語(yǔ)言的示例:

3.jpg

  我們知道ARM處理器只能對寄存器執行數據處理,所以與存儲器的交互有兩種:從存儲器加載到寄存器,并將值從寄存器存儲到存儲器,即ARM使用加載/存儲(LDR和STR)模型進(jìn)行內存訪(fǎng)問(wèn)。

  通常LDR用于將內存中的內容加載到寄存器中,STR用于存儲寄存器中的內容到存儲器地址。我們來(lái)舉一個(gè)基本例子:

4.jpg

  第一看的小伙伴或許會(huì )一頭霧水,下面以一張圖來(lái)解釋下ARM是如何和存儲器交互的:

5.jpg

  架構工業(yè)電腦與ARM架構工業(yè)電腦的區別

  1、性能

  架構的工業(yè)電腦比ARM架構的工業(yè)電腦在性能方面要快得多、強得多。ARM的優(yōu)勢在于效率,ARM采用RISC流水線(xiàn)指令集,在完成綜合性工作處于劣勢,而在任務(wù)相對固定的應用場(chǎng)合其優(yōu)勢就能發(fā)揮得淋漓盡致。

  2、擴展能力

  架構的工業(yè)電腦采用“橋”的方式與擴展設備(如硬盤(pán)、內存等)進(jìn)行連接,且X86架構的工業(yè)電腦能很容易進(jìn)行性能擴展,如增加內存、硬盤(pán)等。

  ARM架構的工業(yè)電腦是通過(guò)專(zhuān)用的數據接口使CPU與數據存儲設備進(jìn)行連接,所以ARM的存儲、內存等性能擴展難以進(jìn)行(一般在產(chǎn)品設計時(shí)已經(jīng)定好其內存及數據存儲的容量),所以采用ARM架構的工業(yè)電腦,一般不考慮擴展。

  3、操作系統的兼容性

  幾乎所有X86硬件平臺都可以直接使用微軟的視窗系統及現在流行的幾乎所有工具軟件,所以X86系統在兼容性方面具有無(wú)可比擬的優(yōu)勢。

  ARM幾乎都采用Linux的操作系統,而且幾乎所有的硬件系統都要單獨構建自己的系統,與其他系統不能兼容,這也導致其應用軟件不能方便移植,也制約了ARM的發(fā)展和應用。Android系統開(kāi)發(fā)后,統一了ARM架構電腦的操作系統,使新推出基于A(yíng)RM架構的電腦系統有了統一的、開(kāi)放式的、免費的操作系統,為ARM的發(fā)展提供了強大的支持和動(dòng)力。

  4、軟件開(kāi)發(fā)的方便性及可使用工具的多樣性

  在軟件開(kāi)發(fā)方面, X86架構比ARM架構更容易、更簡(jiǎn)單、實(shí)際成本也更低,同時(shí)更容易找到第三方軟件(免去自己開(kāi)發(fā)的時(shí)間和成本),而且軟件移植更容易。

  5、功耗

  在服務(wù)器、工作站以及其他高性能運算等應用方面,不考慮功耗和使用環(huán)境等條件,X86占了優(yōu)絕對優(yōu)勢;但受功耗、環(huán)境等條件制約且工作任務(wù)固定的情況下ARM就占有很大的優(yōu)勢。



關(guān)鍵詞: X86 ARM

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>