0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么叫arm架構(gòu)?ARM的技術(shù)實(shí)現(xiàn)

傳感器技術(shù) ? 來源:未知 ? 作者:李倩 ? 2018-05-08 14:35 ? 次閱讀

什么叫arm架構(gòu)

ARM架構(gòu)過去稱作進(jìn)階精簡指令集機(jī)器(AdvancedRISCMachine,更早稱作:AcornRISCMachine),是一個(gè)32位精簡指令集(RISC)處理器架構(gòu),其廣泛地使用在許多嵌入式系統(tǒng)設(shè)計(jì)。

由于節(jié)能的特點(diǎn),ARM處理器非常適用于移動通訊領(lǐng)域,符合其主要設(shè)計(jì)目標(biāo)為低耗電的特性。

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

ARM架構(gòu)圖

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

1

ALU:

它有兩個(gè)操作數(shù)鎖存器、加法器、邏輯功能、結(jié)果以及零檢測邏輯構(gòu)成。

2

桶形移位寄存器:

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

3

高速乘法器:

乘法器一般采用“加一移位”的方法來實(shí)現(xiàn)乘法。ARM為了提高運(yùn)算速度,則采用兩位乘法的方法,根據(jù)乘數(shù)的2位來實(shí)現(xiàn)“加一移位”運(yùn)算;ARM高速乘法器采用32&TImes;8位的結(jié)構(gòu),這樣,可以降低集成度(其相應(yīng)芯片面積不到并行乘法器的1/3)。

4

浮點(diǎn)部件:

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

5

控制器

ARM的控制器采用的是硬接線的可編程邏輯陣列PLA。

6

寄存器:

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

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

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

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

ARM的技術(shù)實(shí)現(xiàn)

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

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

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

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

因?yàn)橹皇俏覀儾荒茌p易的告訴電路電壓,只能選擇使用1/0來寫入開/關(guān)的模式,然后我們對0和1的順序進(jìn)行分組,以形成機(jī)器碼指令,該指令是計(jì)算機(jī)處理器的最小工作單元,以下是機(jī)器語言的示例:

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

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

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

X86架構(gòu)工業(yè)電腦與ARM架構(gòu)工業(yè)電腦

的區(qū)別

1

性能:

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

2

擴(kuò)展能力:

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

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

3

操作系統(tǒng)的兼容性:

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

ARM幾乎都采用Linux的操作系統(tǒng),而且?guī)缀跛械挠布到y(tǒng)都要單獨(dú)構(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)一的、開放式的、免費(fèi)的操作系統(tǒng),為ARM的發(fā)展提供了強(qiáng)大的支持和動力。

4

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

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

5

功耗:

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9009

    瀏覽量

    366149
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5275

    瀏覽量

    119680
  • 匯編語言
    +關(guān)注

    關(guān)注

    14

    文章

    406

    瀏覽量

    35661

原文標(biāo)題:什么叫arm架構(gòu)?X86架構(gòu)與ARM架構(gòu)有什么區(qū)別

文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    我對ARM架構(gòu)的理解

    好主意。Arm計(jì)算機(jī)體系結(jié)構(gòu)由于Arm將其架構(gòu)授權(quán)給第三方,因此Arm設(shè)計(jì)的微架構(gòu)和第三方微架構(gòu)
    發(fā)表于 09-03 17:56

    詳談ARM架構(gòu)、ARM內(nèi)核發(fā)展史

    戳藍(lán)字“CSDN云計(jì)算”關(guān)注我們哦!作者 |架構(gòu)技術(shù)聯(lián)盟責(zé)編 | 阿禿1、ARM架構(gòu)ARM內(nèi)核1.1
    發(fā)表于 07-01 09:13

    ARM架構(gòu)是什么

    從單片機(jī)轉(zhuǎn)到ARM,主要需要學(xué)習(xí)ARM架構(gòu),ARM相比單片機(jī)多了一些外設(shè)和總線。在僅僅是裸奔的情況下,如果熟悉了ARM
    發(fā)表于 07-01 09:23

    ARMARM的架構(gòu)ARM架構(gòu)的區(qū)別

    目錄文章目錄目錄ARMARM 的架構(gòu)x86 架構(gòu)ARM 架構(gòu)的區(qū)別ARM技術(shù)
    發(fā)表于 07-16 06:43

    ARM架構(gòu)

    ARM架構(gòu)ARM架構(gòu)如圖所示,ARM公司只提供內(nèi)核技術(shù),而其他外設(shè)則為芯片商設(shè)計(jì)并使用,
    發(fā)表于 08-04 06:18

    arm架構(gòu)和x86架構(gòu)有什么區(qū)別

    什么arm架構(gòu)?x86架構(gòu)是由哪些部分組成的?arm架構(gòu)和x86
    發(fā)表于 10-25 08:25

    Arm架構(gòu)的擴(kuò)展詳解

    Arm架構(gòu)的補(bǔ)充以版本增量的形式提供,稱為擴(kuò)展。擴(kuò)展允許我們根據(jù)合作伙伴的需求定期發(fā)布新功能,而無需制作主要架構(gòu)的主要變化。 Arm每年都會發(fā)布一個(gè)新的擴(kuò)展。Cortex cpu,它
    發(fā)表于 08-02 06:08

    ARM架構(gòu)_-_介紹

    ppt主要介紹了arm架構(gòu),通過介紹寄存器、指令集、總線、工作模式等方面來闡釋ARM架構(gòu)。
    發(fā)表于 05-24 14:14 ?41次下載

    什么arm架構(gòu)_X86架構(gòu)ARM架構(gòu)有什么區(qū)別

    本文首先介紹了arm架構(gòu)的概念,其次介紹了ARM架構(gòu)圖與ARM技術(shù)
    發(fā)表于 04-24 08:45 ?8.6w次閱讀
    什么<b class='flag-5'>叫</b><b class='flag-5'>arm</b><b class='flag-5'>架構(gòu)</b>_X86<b class='flag-5'>架構(gòu)</b>與<b class='flag-5'>ARM</b><b class='flag-5'>架構(gòu)</b>有什么區(qū)別

    ARM架構(gòu)基礎(chǔ)知識小結(jié)

    從單片機(jī)轉(zhuǎn)到ARM,主要需要學(xué)習(xí)ARM架構(gòu),ARM相比單片機(jī)多了一些外設(shè)和總線。
    的頭像 發(fā)表于 06-11 15:40 ?4556次閱讀

    ARM架構(gòu)是什么 限制ARM對華為的影響

    目前,ARM架構(gòu)的處理器幾乎占據(jù)了所有的手機(jī)處理器,高通、蘋果、華為的處理器均是基于ARM架構(gòu)。今天,ARM暫停了與華為的一切業(yè)務(wù)往來,因?yàn)?/div>
    的頭像 發(fā)表于 08-14 15:29 ?7785次閱讀

    為什么要使用Arm架構(gòu)

    Arm架構(gòu)依然盤踞著移動設(shè)備領(lǐng)域指令集架構(gòu)市場的龍頭位置。隨著RISC-V生態(tài)的持續(xù)擴(kuò)展,巨頭廠商和小公司的不斷入局,Arm架構(gòu)的安穩(wěn)日子也
    發(fā)表于 12-16 09:56 ?3460次閱讀

    arm架構(gòu)是哪個(gè)國家的

     arm架構(gòu)是英國的。英國ARM公司是全球領(lǐng)先的半導(dǎo)du體知識產(chǎn)權(quán) (IP) 提供商。全世界超過95%的智能手機(jī)和平板電腦都采用ARM架構(gòu)。
    發(fā)表于 07-21 09:42 ?1.1w次閱讀

    Arm架構(gòu)科普解讀 Arm架構(gòu)的底層邏輯和Arm架構(gòu)的頂層設(shè)計(jì)

    本文主要探討了 Arm 架構(gòu)的底層邏輯,介紹了Arm 架構(gòu)的頂層設(shè)計(jì);以處理器核心架構(gòu)為基礎(chǔ),以系統(tǒng)架構(gòu)
    的頭像 發(fā)表于 02-06 05:33 ?5857次閱讀
    <b class='flag-5'>Arm</b><b class='flag-5'>架構(gòu)</b>科普解讀  <b class='flag-5'>Arm</b><b class='flag-5'>架構(gòu)</b>的底層邏輯和<b class='flag-5'>Arm</b><b class='flag-5'>架構(gòu)</b>的頂層設(shè)計(jì)

    fpga封裝技術(shù)arm架構(gòu)的優(yōu)缺點(diǎn)

    FPGA封裝技術(shù)ARM架構(gòu)是兩個(gè)不同的概念,分別屬于硬件設(shè)計(jì)的不同領(lǐng)域。
    的頭像 發(fā)表于 03-26 15:51 ?668次閱讀