在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Android的ARM匯編語言系列之一:ARM匯編語言開篇

            基于Android的ARM匯編語言系列之一:ARM匯編語言開篇

            作者: 時(shí)間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
            章節(jié)列表

            之一:ARM匯編語言開篇
            之二:C/C++程序生成ARM匯編程序的過程分析
            之三:ARM匯編語言程序結(jié)構(gòu)
            之四:ARM處理器的尋址方式
            之五:ARM指令集與Thumb指令集
            之六:NEON指令集與VFP指令集

            本文引用地址:http://www.biyoush.com/article/201611/317694.htm

            這是博文的開篇文章,這里會(huì)先介紹一下ARM處理器的大致分類和作用。

            一 ARM處理器與ARM指令集

            整個(gè)ARM處理器被分為三個(gè)部分:

            • Classic
            • Embedded
            • Application

            Classic被稱為經(jīng)典系列。

            ARM1~ARM11一直都以數(shù)字來命名,ARM12以后改為用Cortex命名。Cortex有以下幾個(gè)分類:

            • Cortex-A:廣泛用于智能手機(jī)、上網(wǎng)本、電子書以及數(shù)字電視等。
            • Cortex-M:用于微控制領(lǐng)域,該系列的特點(diǎn)是高能效和低功耗。
            • Cortex-R:用于支持深層嵌入式的餓實(shí)時(shí)應(yīng)用,該系列的特點(diǎn)是低功耗、良好的中斷行為、卓越性能以及與現(xiàn)有平臺(tái)的高兼容性。

            盡管ARM處理器版本眾多,它是很多型號(hào)ARM處理器兼容一套ARM指令集,ARM架構(gòu)與ARM處理器的對(duì)應(yīng)關(guān)系如下圖所示:

            上圖涉及的技術(shù),這里也簡單提一下:

            • VFP:為ARM處理器提供了浮點(diǎn)運(yùn)算功能。
            • Jazelle:允許某些架構(gòu)的硬件上加速運(yùn)行Java字節(jié)碼。
            • SIMD:多媒體指令集。
            • TrustZone:安全性控制,避免產(chǎn)品受到外部的惡意攻擊。
            • NEON:NEON是SIMD體系結(jié)構(gòu)的擴(kuò)展,NEON在執(zhí)行上比傳統(tǒng)的SIMD占用更少的指令周期。

            Android最初選擇ARM作為平臺(tái)設(shè)備的處理器結(jié)構(gòu),并做了專門的優(yōu)化。發(fā)展到Android4.1版本以后,已經(jīng)全面支持ARM、x86和MIPS三種架構(gòu)的處理器。

            二 ARM處理器的工作模式和工作狀態(tài)

            2.1 ARM處理器的工作模式

            ARM處理器共37個(gè)32位處理器,其中有31個(gè)通用寄存器和6個(gè)狀態(tài)寄存器。ARM處理器支持7種運(yùn)行模式,分別是:

            • 用戶模式(usr):ARM處理器正常的程序運(yùn)行狀態(tài)。
            • 快速中斷模式(flq):用于高速數(shù)據(jù)傳輸或通道處理。
            • 外部中斷模式(irq):用于通用的中斷處理。
            • 管理模式(svc):操作系統(tǒng)使用的保護(hù)模式。
            • 數(shù)據(jù)訪問終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,可用于虛擬存儲(chǔ)以及存儲(chǔ)保護(hù)。
            • 系統(tǒng)模式(sys):運(yùn)行具有特短的操作系統(tǒng)任務(wù)。
            • 未定義指令終止模式(und):當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式。

            2.2 ARM處理器的工作狀態(tài)

            • ARM狀態(tài):執(zhí)行32位字對(duì)齊的ARM指令。
            • Thumb狀態(tài):執(zhí)行16位字對(duì)齊的ARM指令。

            Thumb狀態(tài)下的寄存器的命名與ARM有部分差異,它們的對(duì)應(yīng)關(guān)系如下所示:

            • Thumb狀態(tài)下的R0~R7與ARM狀態(tài)下的R0~R7相同。
            • Thumb狀態(tài)下的CPSR與ARM狀態(tài)下的CPSR相同。
            • Thumb狀態(tài)下的FP與ARM狀態(tài)下的R11相同。
            • Thumb狀態(tài)下的IP與ARM狀態(tài)下的R12相同。
            • Thumb狀態(tài)下的SP與ARM狀態(tài)下的R13相同。
            • Thumb狀態(tài)下的LR與ARM狀態(tài)下的R14相同。
            • Thumb狀態(tài)下的PC與ARM狀態(tài)下的R15相同。


            關(guān)鍵詞: AndroidARM匯編語

            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉