版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1ARMARM技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)ARM ARM 處理器的寄存器組織處理器的寄存器組織ARMARM處理器的工作模式處理器的工作模式ARMARM微處理器系列微處理器系列第第2 2章章 ARMARM體系結(jié)構(gòu)及編程模型體系結(jié)構(gòu)及編程模型ARM ARM 異常處理異常處理ARMARM處理器的工作狀態(tài)處理器的工作狀態(tài)ARMARM處理器的存儲(chǔ)器格式處理器的存儲(chǔ)器格式2ARMAdvanced RISC Machines q ARM既可以認(rèn)為是一個(gè)公司的名字,也可以既可以認(rèn)為是一個(gè)公司的名字,也可以認(rèn)為是對(duì)一類(lèi)微處理器的通稱,還可以認(rèn)為是一認(rèn)為是對(duì)一類(lèi)微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名
2、字。種技術(shù)的名字。ARM技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)q 1991年年ARM公司成立于英國(guó)劍橋的一個(gè)谷倉(cāng)公司成立于英國(guó)劍橋的一個(gè)谷倉(cāng)里,經(jīng)過(guò)幾年的發(fā)展已經(jīng)成為,全球主要半導(dǎo)體里,經(jīng)過(guò)幾年的發(fā)展已經(jīng)成為,全球主要半導(dǎo)體芯片生產(chǎn)廠家和操作系統(tǒng)的開(kāi)發(fā)商的最主要合作芯片生產(chǎn)廠家和操作系統(tǒng)的開(kāi)發(fā)商的最主要合作伙伴,主要出售芯片設(shè)計(jì)技術(shù)的授權(quán)?;锇?,主要出售芯片設(shè)計(jì)技術(shù)的授權(quán)。3ARM 公司的公司的Chip less模式模式q 世界各大半導(dǎo)體生產(chǎn)商從世界各大半導(dǎo)體生產(chǎn)商從ARMARM公司購(gòu)買(mǎi)其設(shè)計(jì)的公司購(gòu)買(mǎi)其設(shè)計(jì)的ARMARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入微處理器核,根據(jù)各自不同的應(yīng)用
3、領(lǐng)域,加入適當(dāng)?shù)耐鈬娐?,從而形成自己的適當(dāng)?shù)耐鈬娐?,從而形成自己的ARMARM微處理器芯微處理器芯片進(jìn)入市場(chǎng)。片進(jìn)入市場(chǎng)。ARM技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)q 基于基于ARM技術(shù)的微處理器應(yīng)用約占據(jù)了技術(shù)的微處理器應(yīng)用約占據(jù)了32位位RISC微處理器微處理器75以上的市場(chǎng)份額,以上的市場(chǎng)份額,ARM技術(shù)正技術(shù)正在逐步滲入到我們生活的各個(gè)方面。在逐步滲入到我們生活的各個(gè)方面。q 我國(guó)的我國(guó)的中興集成電路、中興集成電路、大唐電訊、中芯國(guó)際和大唐電訊、中芯國(guó)際和上海華虹,以及國(guó)外的一些公司如德州儀器、意法上海華虹,以及國(guó)外的一些公司如德州儀器、意法半導(dǎo)體、半導(dǎo)體、PhilipsPhi
4、lips、IntelIntel、SamsungSamsung等都推出了自等都推出了自己設(shè)計(jì)的基于己設(shè)計(jì)的基于ARMARM核的處理器。核的處理器。4ARMARM微處理器的應(yīng)用領(lǐng)域微處理器的應(yīng)用領(lǐng)域 工業(yè)控制領(lǐng)域:作為工業(yè)控制領(lǐng)域:作為3232的的RISCRISC架構(gòu),基于架構(gòu),基于ARMARM核的微控制器芯片不但占據(jù)了高端微控核的微控制器芯片不但占據(jù)了高端微控制器市場(chǎng)的大部分市場(chǎng)份額,同時(shí)也逐漸制器市場(chǎng)的大部分市場(chǎng)份額,同時(shí)也逐漸向低端微控制器應(yīng)用領(lǐng)域擴(kuò)展,向低端微控制器應(yīng)用領(lǐng)域擴(kuò)展,ARMARM微控制微控制器的低功耗、高性價(jià)比,向傳統(tǒng)的器的低功耗、高性價(jià)比,向傳統(tǒng)的8 8位位/16/16位微控
5、制器提出了挑戰(zhàn)。位微控制器提出了挑戰(zhàn)。ARM技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)q 到目前為止,到目前為止,ARM微處理器及技術(shù)的應(yīng)用已經(jīng)微處理器及技術(shù)的應(yīng)用已經(jīng)廣泛深入到國(guó)民經(jīng)濟(jì)的各個(gè)領(lǐng)域廣泛深入到國(guó)民經(jīng)濟(jì)的各個(gè)領(lǐng)域5ARMARM微處理器的應(yīng)用領(lǐng)域微處理器的應(yīng)用領(lǐng)域ARM技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)q 網(wǎng)絡(luò)應(yīng)用:隨著寬帶技術(shù)的推廣,采用網(wǎng)絡(luò)應(yīng)用:隨著寬帶技術(shù)的推廣,采用ARM技技術(shù)的術(shù)的ADSL芯片正逐步獲得競(jìng)爭(zhēng)優(yōu)勢(shì)。此外,芯片正逐步獲得競(jìng)爭(zhēng)優(yōu)勢(shì)。此外,ARM在語(yǔ)音及視頻處理上行了優(yōu)化,并獲得廣泛支持,在語(yǔ)音及視頻處理上行了優(yōu)化,并獲得廣泛支持,也對(duì)也對(duì)DSP的應(yīng)用領(lǐng)域提出了
6、挑戰(zhàn)。的應(yīng)用領(lǐng)域提出了挑戰(zhàn)。q 消費(fèi)類(lèi)電子產(chǎn)品:消費(fèi)類(lèi)電子產(chǎn)品:ARM技術(shù)在目前流行的數(shù)字技術(shù)在目前流行的數(shù)字音頻播放器、數(shù)字機(jī)頂盒和游戲機(jī)中得到廣泛采用。音頻播放器、數(shù)字機(jī)頂盒和游戲機(jī)中得到廣泛采用。q 成像和安全產(chǎn)品:現(xiàn)在流行的數(shù)碼相機(jī)和打印成像和安全產(chǎn)品:現(xiàn)在流行的數(shù)碼相機(jī)和打印機(jī)中絕大部分采用機(jī)中絕大部分采用ARM技術(shù)。手機(jī)中的技術(shù)。手機(jī)中的32位位SIM智智能卡也采用了能卡也采用了ARM技術(shù)。技術(shù)。6ARMARM微處理器的特點(diǎn)微處理器的特點(diǎn)低功耗、低成本、高性能低功耗、低成本、高性能采用采用RISC指令集指令集ARM技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)q 高性能高性能使用大量的寄
7、存器使用大量的寄存器ARM/THUMB指令支持指令支持三三/五級(jí)流水線五級(jí)流水線7ARMARM微處理器的特點(diǎn)微處理器的特點(diǎn)采用采用RISCRISC體系結(jié)構(gòu)體系結(jié)構(gòu)ARM技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)q 采用采用RISC架構(gòu)的架構(gòu)的ARM處理器一般具有如下特點(diǎn):處理器一般具有如下特點(diǎn):固定長(zhǎng)度的指令格式,指令規(guī)整、簡(jiǎn)單、固定長(zhǎng)度的指令格式,指令規(guī)整、簡(jiǎn)單、基基 本尋址方式有本尋址方式有23種;種;使用單周期指令,便于流水線操作執(zhí)行;使用單周期指令,便于流水線操作執(zhí)行;大量使用寄存器,數(shù)據(jù)處理指令只對(duì)寄存大量使用寄存器,數(shù)據(jù)處理指令只對(duì)寄存器進(jìn)行操作,只有加載器進(jìn)行操作,只有加載/存儲(chǔ)指
8、令可以訪問(wèn)存存儲(chǔ)指令可以訪問(wèn)存儲(chǔ)器,以提高指令的執(zhí)行效率。儲(chǔ)器,以提高指令的執(zhí)行效率。8ARMARM微處理器的特點(diǎn)微處理器的特點(diǎn)大量使用寄存器大量使用寄存器ARM技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)q ARM 處理器共有處理器共有37個(gè)寄存器,被分為若干個(gè)組,個(gè)寄存器,被分為若干個(gè)組,這些寄存器包括:這些寄存器包括:31個(gè)通用寄存器,包括程序計(jì)數(shù)器(個(gè)通用寄存器,包括程序計(jì)數(shù)器(PC 指針),均為指針),均為32位的寄存器;位的寄存器;6個(gè)狀態(tài)寄存器,用以標(biāo)識(shí)個(gè)狀態(tài)寄存器,用以標(biāo)識(shí)CPU的工作狀的工作狀態(tài)及程序的運(yùn)行狀態(tài),均為態(tài)及程序的運(yùn)行狀態(tài),均為32位。位。9ARMARM微處理器的特點(diǎn)
9、微處理器的特點(diǎn)高效的指令系統(tǒng)高效的指令系統(tǒng)ARM技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)q ARM微處理器支持兩種指令集:微處理器支持兩種指令集:ARM指令集指令集和和Thumb指令集。指令集。q ARM指令為指令為32位的長(zhǎng)度,位的長(zhǎng)度,Thumb指令為指令為16位長(zhǎng)位長(zhǎng)度。度。Thumb指令集為指令集為ARM指令集的功能子集,但指令集的功能子集,但與等價(jià)的與等價(jià)的ARM代碼相比較,可節(jié)省代碼相比較,可節(jié)省3040以以上的存儲(chǔ)空間,同時(shí)具備上的存儲(chǔ)空間,同時(shí)具備32位代碼的所有優(yōu)點(diǎn)。位代碼的所有優(yōu)點(diǎn)。10ARMARM微處理器的特點(diǎn)微處理器的特點(diǎn)低功耗、高效率低功耗、高效率ARM技術(shù)的應(yīng)用領(lǐng)域
10、及特點(diǎn)技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)q 除此以外,除此以外,ARM體系結(jié)構(gòu)還在保證高性能的前體系結(jié)構(gòu)還在保證高性能的前提下盡量縮小芯片的面積,并降低功耗:提下盡量縮小芯片的面積,并降低功耗:q 所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定是否所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,從而提高指令的執(zhí)行效率。被執(zhí)行,從而提高指令的執(zhí)行效率。q 可用加載可用加載/存儲(chǔ)指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)存儲(chǔ)指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率。的傳輸效率。q 可在一條數(shù)據(jù)處理指令中同時(shí)完成邏輯處理和可在一條數(shù)據(jù)處理指令中同時(shí)完成邏輯處理和移位處理。移位處理。q 在循環(huán)處理中使用地址的自動(dòng)增減來(lái)提高運(yùn)行在循環(huán)處理中使
11、用地址的自動(dòng)增減來(lái)提高運(yùn)行效率。效率。11ARMARM技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)ARM ARM 處理器的寄存器組織處理器的寄存器組織ARMARM處理器的工作模式處理器的工作模式ARMARM微處理器系列微處理器系列第第2 2章章 ARMARM體系結(jié)構(gòu)及編程模型體系結(jié)構(gòu)及編程模型ARM ARM 異常處理異常處理ARMARM處理器的工作狀態(tài)處理器的工作狀態(tài)ARMARM處理器的存儲(chǔ)器格式處理器的存儲(chǔ)器格式12ARMARM微處理器系列微處理器系列 ARM微處理器系列微處理器系列qARM7系列系列qARM9系列系列qARM9E系列系列qARM10E系列系列qSecurCore系列系列qInt
12、el的的Xscaleq其中,其中,ARM7、ARM9、ARM9E和和ARM10為為4個(gè)通用個(gè)通用處理器系列,每一個(gè)系列提供一套相對(duì)獨(dú)特的性能來(lái)滿足不處理器系列,每一個(gè)系列提供一套相對(duì)獨(dú)特的性能來(lái)滿足不同應(yīng)用領(lǐng)域的需求。同應(yīng)用領(lǐng)域的需求。SecurCore系列專門(mén)為安全要求較高的系列專門(mén)為安全要求較高的應(yīng)用而設(shè)計(jì)。應(yīng)用而設(shè)計(jì)。 13ARM7ARM7微處理器系列微處理器系列 qARM7系列是為低功耗的系列是為低功耗的32位位RISC處理器,最適合用于對(duì)價(jià)處理器,最適合用于對(duì)價(jià)位和功耗要求較高的消費(fèi)類(lèi)應(yīng)用。位和功耗要求較高的消費(fèi)類(lèi)應(yīng)用。ARM7系列有如下特點(diǎn):系列有如下特點(diǎn):具有調(diào)試開(kāi)發(fā)方便;具有調(diào)
13、試開(kāi)發(fā)方便;極低的功耗,適合對(duì)功耗要求較高的應(yīng)用,如便攜式產(chǎn)品;極低的功耗,適合對(duì)功耗要求較高的應(yīng)用,如便攜式產(chǎn)品;能夠提供三級(jí)流水線結(jié)構(gòu);能夠提供三級(jí)流水線結(jié)構(gòu);代碼密度高,并兼容代碼密度高,并兼容16位的位的Thumb指令集;指令集;對(duì)操作系統(tǒng)的支持廣泛,如對(duì)操作系統(tǒng)的支持廣泛,如Windows CE、Linux、Palm OS等;等;指令系統(tǒng)與指令系統(tǒng)與ARM9系列、系列、ARM9E系列和系列和ARM10E系列兼容,系列兼容,便于用戶的產(chǎn)品升級(jí)換代;便于用戶的產(chǎn)品升級(jí)換代;主頻最高可達(dá)主頻最高可達(dá)130M,高速的運(yùn)算處理能力能勝任絕大多數(shù)的,高速的運(yùn)算處理能力能勝任絕大多數(shù)的復(fù)雜應(yīng)用。復(fù)
14、雜應(yīng)用。ARM微處理器系列微處理器系列14ARM7ARM7微處理器系列微處理器系列ARM微處理器系列微處理器系列q主要應(yīng)用領(lǐng)域:工業(yè)控制、主要應(yīng)用領(lǐng)域:工業(yè)控制、Internet設(shè)備、網(wǎng)絡(luò)和調(diào)制設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備、移動(dòng)電話等多種多媒體和嵌入式應(yīng)用。解調(diào)器設(shè)備、移動(dòng)電話等多種多媒體和嵌入式應(yīng)用。qARM7系列微處理器包括如下幾種類(lèi)型的核:系列微處理器包括如下幾種類(lèi)型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其。其中,中,ARM7TMDI是目前使用最廣泛的是目前使用最廣泛的32位嵌入式位嵌入式RISC處理處理器,屬低端器,屬低端ARM處理器核。處理器核。T
15、DMI的基本含義為:的基本含義為:T:支持:支持16為壓縮指令集為壓縮指令集Thumb;D:支持片上:支持片上Debug;M:內(nèi)嵌硬件乘法器(:內(nèi)嵌硬件乘法器(Multiplier)I:嵌入式:嵌入式ICE,支持片上斷點(diǎn)和調(diào)試點(diǎn);,支持片上斷點(diǎn)和調(diào)試點(diǎn);15ARM9ARM9微處理器系列微處理器系列 ARM微處理器系列微處理器系列qARM9系列微處理器在高性能和低功耗特性方面提供最佳的系列微處理器在高性能和低功耗特性方面提供最佳的表現(xiàn)。具有以下特點(diǎn):表現(xiàn)。具有以下特點(diǎn):5級(jí)整數(shù)流水線,指令執(zhí)行效率更高。級(jí)整數(shù)流水線,指令執(zhí)行效率更高。存儲(chǔ)器采用哈佛結(jié)構(gòu)。存儲(chǔ)器采用哈佛結(jié)構(gòu)。支持支持32位位ARM
16、指令集和指令集和16位位Thumb指令集。指令集。支持支持32位的高速位的高速AMBA總線接口。總線接口。全性能的全性能的MMU,支持,支持Windows CE、Linux、Palm OS等等多種主流嵌入式操作系統(tǒng)。多種主流嵌入式操作系統(tǒng)。MPU支持實(shí)時(shí)操作系統(tǒng)。支持實(shí)時(shí)操作系統(tǒng)。支持?jǐn)?shù)據(jù)支持?jǐn)?shù)據(jù)Cache和指令和指令Cache,具有更高的指令和數(shù)據(jù)處,具有更高的指令和數(shù)據(jù)處理能力。理能力。16ARM9ARM9微處理器系列微處理器系列qARM9ARM9系列微處理器主要應(yīng)用于無(wú)線設(shè)備、儀器儀表、系列微處理器主要應(yīng)用于無(wú)線設(shè)備、儀器儀表、安全系統(tǒng)、機(jī)頂盒、高端打印機(jī)、數(shù)字照相機(jī)和數(shù)字?jǐn)z安全系統(tǒng)、機(jī)
17、頂盒、高端打印機(jī)、數(shù)字照相機(jī)和數(shù)字?jǐn)z像機(jī)等。像機(jī)等。ARM微處理器系列微處理器系列qARM9ARM9系列微處理器包含系列微處理器包含ARM920TARM920T、ARM922TARM922T和和ARM940TARM940T三三種類(lèi)型,以適用于不同的應(yīng)用場(chǎng)合。種類(lèi)型,以適用于不同的應(yīng)用場(chǎng)合。17ARM9E微處理器系列微處理器系列 ARM微處理器系列微處理器系列qARM9EARM9E系列微處理器的主要特點(diǎn)如下:系列微處理器的主要特點(diǎn)如下:支持支持DSP指令集,適合于需要高速數(shù)字信號(hào)處理的場(chǎng)合。指令集,適合于需要高速數(shù)字信號(hào)處理的場(chǎng)合。5級(jí)整數(shù)流水線,指令執(zhí)行效率更高。級(jí)整數(shù)流水線,指令執(zhí)行效率更高
18、。支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。支持支持32位的高速位的高速AMBA總線接口??偩€接口。支持支持VFP9浮點(diǎn)處理協(xié)處理器。浮點(diǎn)處理協(xié)處理器。全性能的全性能的MMU,支持眾多主流嵌入式操作系統(tǒng)。,支持眾多主流嵌入式操作系統(tǒng)。支持?jǐn)?shù)據(jù)支持?jǐn)?shù)據(jù)Cache和指令和指令Cache,具有更高的處理能力。,具有更高的處理能力。主頻最高可達(dá)主頻最高可達(dá)300M。18ARM9EARM9E微處理器系列微處理器系列qARM9EARM9E系列微處理器主要應(yīng)用于下一代無(wú)線設(shè)備、數(shù)字系列微處理器主要應(yīng)用于下一代無(wú)線設(shè)備、數(shù)字消費(fèi)品、成像設(shè)備、工業(yè)控制、存儲(chǔ)設(shè)備和網(wǎng)絡(luò)設(shè)備消費(fèi)品、成
19、像設(shè)備、工業(yè)控制、存儲(chǔ)設(shè)備和網(wǎng)絡(luò)設(shè)備等領(lǐng)域。等領(lǐng)域。ARM微處理器系列微處理器系列qARM9EARM9E系列微處理器包含系列微處理器包含ARM926EJ-SARM926EJ-S、ARM946E-SARM946E-S和和ARM966E-SARM966E-S三種類(lèi)型,以適用于不同的應(yīng)用場(chǎng)合。三種類(lèi)型,以適用于不同的應(yīng)用場(chǎng)合。19ARM10EARM10E微處理器系列微處理器系列 ARM微處理器系列微處理器系列qARM10EARM10E系列微處理器的主要特點(diǎn)如下:系列微處理器的主要特點(diǎn)如下:支持支持DSP指令集,適合于需要高速數(shù)字信號(hào)處理的場(chǎng)合。指令集,適合于需要高速數(shù)字信號(hào)處理的場(chǎng)合。6級(jí)整數(shù)流水線
20、,指令執(zhí)行效率更高。級(jí)整數(shù)流水線,指令執(zhí)行效率更高。支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。支持支持32位的高速位的高速AMBA總線接口??偩€接口。支持支持VFP10浮點(diǎn)處理協(xié)處理器。浮點(diǎn)處理協(xié)處理器。全性能的全性能的MMU,支持眾多主流嵌入式操作系統(tǒng)。,支持眾多主流嵌入式操作系統(tǒng)。支持?jǐn)?shù)據(jù)支持?jǐn)?shù)據(jù)Cache和指令和指令Cache,具有更高的處理能力,具有更高的處理能力主頻最高可達(dá)主頻最高可達(dá)400M。內(nèi)嵌并行讀內(nèi)嵌并行讀/寫(xiě)操作部件。寫(xiě)操作部件。20ARM10EARM10E微處理器系列微處理器系列qARM10EARM10E系列微處理器主要應(yīng)用于下一代無(wú)線設(shè)備、
21、數(shù)系列微處理器主要應(yīng)用于下一代無(wú)線設(shè)備、數(shù)字消費(fèi)品、成像設(shè)備、工業(yè)控制、通信和信息系統(tǒng)等領(lǐng)字消費(fèi)品、成像設(shè)備、工業(yè)控制、通信和信息系統(tǒng)等領(lǐng)域。域。ARM微處理器系列微處理器系列qARM10EARM10E系列微處理器包含系列微處理器包含ARM1020EARM1020E、ARM1022EARM1022E和和ARM1026EJ-SARM1026EJ-S三種類(lèi)型,以適用于不同的應(yīng)用場(chǎng)合。三種類(lèi)型,以適用于不同的應(yīng)用場(chǎng)合。21SecurCoreSecurCore微處理器系列微處理器系列 ARM微處理器系列微處理器系列qSecurCoreSecurCore系列微處理器除了具有系列微處理器除了具有ARMAR
22、M體系結(jié)構(gòu)各種主體系結(jié)構(gòu)各種主要特點(diǎn)外,還在系統(tǒng)安全方面具有如下的特點(diǎn):要特點(diǎn)外,還在系統(tǒng)安全方面具有如下的特點(diǎn):帶有靈活的保護(hù)單元,確保操作系統(tǒng)和應(yīng)用數(shù)據(jù)的安全。帶有靈活的保護(hù)單元,確保操作系統(tǒng)和應(yīng)用數(shù)據(jù)的安全。采用軟內(nèi)核技術(shù),防止外部對(duì)其進(jìn)行掃描探測(cè)。采用軟內(nèi)核技術(shù),防止外部對(duì)其進(jìn)行掃描探測(cè)??杉捎脩糇约旱陌踩匦院推渌麉f(xié)處理器??杉捎脩糇约旱陌踩匦院推渌麉f(xié)處理器。22SecurCoreSecurCore微處理器系列微處理器系列q SecurCoreSecurCore系列微處理器主要應(yīng)用于一些對(duì)安全性要求系列微處理器主要應(yīng)用于一些對(duì)安全性要求較高的應(yīng)用產(chǎn)品及應(yīng)用系統(tǒng),如電子商務(wù)、電子
23、政務(wù)、較高的應(yīng)用產(chǎn)品及應(yīng)用系統(tǒng),如電子商務(wù)、電子政務(wù)、電子銀行業(yè)務(wù)、網(wǎng)絡(luò)和認(rèn)證系統(tǒng)等領(lǐng)域。電子銀行業(yè)務(wù)、網(wǎng)絡(luò)和認(rèn)證系統(tǒng)等領(lǐng)域。ARM微處理器系列微處理器系列q SecurCoreSecurCore系列微處理器包含系列微處理器包含SecurCoreSecurCore SC100 SC100、SecurCoreSecurCore SC110 SC110、SecurCoreSecurCore SC200 SC200和和SecurCoreSecurCore SC210SC210四種類(lèi)型,以適用于不同的應(yīng)用場(chǎng)合。四種類(lèi)型,以適用于不同的應(yīng)用場(chǎng)合。23StrongARMStrongARM微處理器系列微處理
24、器系列 ARM微處理器系列微處理器系列qIntel StrongARM處理器是便攜式通訊產(chǎn)品和消費(fèi)類(lèi)電子處理器是便攜式通訊產(chǎn)品和消費(fèi)類(lèi)電子產(chǎn)品的理想選擇,已成功應(yīng)用于多家公司的掌上電腦系產(chǎn)品的理想選擇,已成功應(yīng)用于多家公司的掌上電腦系列產(chǎn)品。列產(chǎn)品。qIntel StrongARMIntel StrongARM SA-1100 SA-1100處理器是采用處理器是采用ARMARM體系結(jié)構(gòu)高體系結(jié)構(gòu)高度集成的度集成的3232位位RISCRISC微處理器。它融合了微處理器。它融合了IntelIntel公司的設(shè)計(jì)公司的設(shè)計(jì)和處理技術(shù)以及和處理技術(shù)以及ARMARM體系結(jié)構(gòu)的電源效率,采用在軟件上體系結(jié)構(gòu)
25、的電源效率,采用在軟件上兼容兼容ARMv4ARMv4體系結(jié)構(gòu)、同時(shí)采用具有體系結(jié)構(gòu)、同時(shí)采用具有IntelIntel技術(shù)優(yōu)點(diǎn)的體技術(shù)優(yōu)點(diǎn)的體系結(jié)構(gòu)。系結(jié)構(gòu)。24Xscale處理器處理器 ARM微處理器系列微處理器系列qXscaleXscale 處理器是基于處理器是基于ARMv5TEARMv5TE體系結(jié)構(gòu)的解決方案,是體系結(jié)構(gòu)的解決方案,是一款全性能、高性價(jià)比、低功耗的處理器。它支持一款全性能、高性價(jià)比、低功耗的處理器。它支持1616位位的的ThumbThumb指令和指令和DSPDSP指令集,已使用在數(shù)字移動(dòng)電話、個(gè)指令集,已使用在數(shù)字移動(dòng)電話、個(gè)人數(shù)字助理和網(wǎng)絡(luò)產(chǎn)品等場(chǎng)合。人數(shù)字助理和網(wǎng)絡(luò)產(chǎn)品
26、等場(chǎng)合。qXscaleXscale 處理器是處理器是IntelIntel目前主要推廣的一款目前主要推廣的一款A(yù)RMARM微處理器。微處理器。25ARMARM技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)ARM ARM 處理器的寄存器組織處理器的寄存器組織ARMARM處理器的工作模式處理器的工作模式ARMARM微處理器系列微處理器系列第第2 2章章 ARMARM體系結(jié)構(gòu)及編程模型體系結(jié)構(gòu)及編程模型ARM ARM 異常處理異常處理ARMARM處理器的工作狀態(tài)處理器的工作狀態(tài)ARMARM處理器的存儲(chǔ)器格式處理器的存儲(chǔ)器格式26處理器模式處理器模式ARM微處理器的工作模式微處理器的工作模式q usrusr:
27、ARMARM處理器正常的程序執(zhí)行狀態(tài)處理器正常的程序執(zhí)行狀態(tài)q fiqfiq:用于高速數(shù)據(jù)傳輸或通道處理:用于高速數(shù)據(jù)傳輸或通道處理q irqirq:用于通用的中斷處理:用于通用的中斷處理q svcsvc:操作系統(tǒng)使用的保護(hù)模式:操作系統(tǒng)使用的保護(hù)模式q abtabt:用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù):用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù)q syssys:運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)q undund:當(dāng)出現(xiàn)未定義指令終止時(shí)進(jìn)入該模式:當(dāng)出現(xiàn)未定義指令終止時(shí)進(jìn)入該模式27用戶模式和特權(quán)模式用戶模式和特權(quán)模式ARM微處理器的工作模式微處理器的工作模式q 除了用戶模式之外的其他除了用戶模式之外的其
28、他6 6種處理器模式稱為特權(quán)模式種處理器模式稱為特權(quán)模式q 特權(quán)模式下,程序可以訪問(wèn)所有的系統(tǒng)資源,也可以特權(quán)模式下,程序可以訪問(wèn)所有的系統(tǒng)資源,也可以任意地進(jìn)行處理器模式的切換。任意地進(jìn)行處理器模式的切換。q 特權(quán)模式中,除系統(tǒng)模式外,其他特權(quán)模式中,除系統(tǒng)模式外,其他5 5種模式又稱為異常模式種模式又稱為異常模式q 大多數(shù)的用戶程序運(yùn)行在用戶模式下,此時(shí),應(yīng)用程大多數(shù)的用戶程序運(yùn)行在用戶模式下,此時(shí),應(yīng)用程序不能夠訪問(wèn)一些受操作系統(tǒng)保護(hù)的系統(tǒng)資源,應(yīng)用序不能夠訪問(wèn)一些受操作系統(tǒng)保護(hù)的系統(tǒng)資源,應(yīng)用程序也不能直接進(jìn)行處理器模式的切換。程序也不能直接進(jìn)行處理器模式的切換。q 用戶模式下,當(dāng)需要
29、進(jìn)行處理器模式切換時(shí),應(yīng)用程用戶模式下,當(dāng)需要進(jìn)行處理器模式切換時(shí),應(yīng)用程序可以產(chǎn)生異常處理,在異常處理中進(jìn)行處理器模式序可以產(chǎn)生異常處理,在異常處理中進(jìn)行處理器模式的切換。的切換。28模式切換模式切換ARM微處理器的工作模式微處理器的工作模式q 處理器模式可以通過(guò)軟件進(jìn)行切換,也可以通過(guò)外部處理器模式可以通過(guò)軟件進(jìn)行切換,也可以通過(guò)外部中斷或者異常處理過(guò)程進(jìn)行切換。中斷或者異常處理過(guò)程進(jìn)行切換。q 當(dāng)應(yīng)用程序發(fā)生異常中斷時(shí),處理器進(jìn)入相應(yīng)的異常模式。當(dāng)應(yīng)用程序發(fā)生異常中斷時(shí),處理器進(jìn)入相應(yīng)的異常模式。在每一種異常模式下都有一組寄存器,供相應(yīng)的異常處理程在每一種異常模式下都有一組寄存器,供相應(yīng)
30、的異常處理程序使用,這樣就可以保證在進(jìn)入異常模式時(shí),用戶模式下的序使用,這樣就可以保證在進(jìn)入異常模式時(shí),用戶模式下的寄存器不被破壞。寄存器不被破壞。q 系統(tǒng)模式并不是通過(guò)異常進(jìn)入的,它和用戶模式具有完全一系統(tǒng)模式并不是通過(guò)異常進(jìn)入的,它和用戶模式具有完全一樣的寄存器。但是系統(tǒng)模式屬于特權(quán)模式,可以訪問(wèn)所有的樣的寄存器。但是系統(tǒng)模式屬于特權(quán)模式,可以訪問(wèn)所有的系統(tǒng)資源,也可以直接進(jìn)行處理器模式切換。系統(tǒng)資源,也可以直接進(jìn)行處理器模式切換。29ARMARM技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)ARMARM處理器的工作模式處理器的工作模式ARMARM微處理器系列微處理器系列第第2 2章章 ARMA
31、RM體系結(jié)構(gòu)及編程模型體系結(jié)構(gòu)及編程模型ARM ARM 異常處理異常處理ARM ARM 處理器的寄存器組織處理器的寄存器組織ARMARM處理器的存儲(chǔ)器格式處理器的存儲(chǔ)器格式ARMARM處理器的工作狀態(tài)處理器的工作狀態(tài)30寄存器組織寄存器組織 lARMARM微處理器共有微處理器共有3737個(gè)個(gè)3232位寄存器,其中位寄存器,其中3131個(gè)為通用寄個(gè)為通用寄存器,存器,6 6個(gè)為狀態(tài)寄存器。但是這些寄存器不能被同時(shí)個(gè)為狀態(tài)寄存器。但是這些寄存器不能被同時(shí)訪問(wèn),具體哪些寄存器是可編程訪問(wèn)的,取決微處理訪問(wèn),具體哪些寄存器是可編程訪問(wèn)的,取決微處理器的工作狀態(tài)及具體的運(yùn)行模式。但在任何時(shí)候,通器的工作
32、狀態(tài)及具體的運(yùn)行模式。但在任何時(shí)候,通用寄存器用寄存器R14R14R0R0、程序計(jì)數(shù)器、程序計(jì)數(shù)器PCPC、一個(gè)或兩個(gè)狀態(tài)寄、一個(gè)或兩個(gè)狀態(tài)寄存器都是可訪問(wèn)的。存器都是可訪問(wèn)的。 ARM微處理器的寄存器格式微處理器的寄存器格式31ARMARM狀態(tài)下的寄存器組織狀態(tài)下的寄存器組織 q 通用寄存器:通用寄存器包括R0R15,可以分為三類(lèi):未分組寄存器未分組寄存器R0R0R7R7分組寄存器分組寄存器R8R8R14R14程序計(jì)數(shù)器程序計(jì)數(shù)器PC(R15)PC(R15)ARM微處理器的寄存器格式微處理器的寄存器格式32ARM狀態(tài)下的寄存器組織狀態(tài)下的寄存器組織ARM微處理器的寄存器格式微處理器的寄存器格
33、式33未分組寄存器未分組寄存器R0R0R7R7ARM微處理器的寄存器格式微處理器的寄存器格式q 在所有的運(yùn)行模式下,未分組寄存器都指向同一個(gè)物理寄在所有的運(yùn)行模式下,未分組寄存器都指向同一個(gè)物理寄存器,他們未被系統(tǒng)用作特殊的用途,因此,在中斷或異存器,他們未被系統(tǒng)用作特殊的用途,因此,在中斷或異常處理進(jìn)行運(yùn)行模式轉(zhuǎn)換時(shí),由于不同的處理器運(yùn)行模式常處理進(jìn)行運(yùn)行模式轉(zhuǎn)換時(shí),由于不同的處理器運(yùn)行模式均使用相同的物理寄存器,可能會(huì)造成寄存器中數(shù)據(jù)的破均使用相同的物理寄存器,可能會(huì)造成寄存器中數(shù)據(jù)的破壞,這一點(diǎn)在進(jìn)行程序設(shè)計(jì)時(shí)應(yīng)引起注意。壞,這一點(diǎn)在進(jìn)行程序設(shè)計(jì)時(shí)應(yīng)引起注意。34分組寄存器分組寄存器R8
34、R8R12R12ARM微處理器的寄存器格式微處理器的寄存器格式q 每次所訪問(wèn)的物理寄存器與處理器當(dāng)前的運(yùn)行模式有關(guān)每次所訪問(wèn)的物理寄存器與處理器當(dāng)前的運(yùn)行模式有關(guān)q R8R12:每個(gè)寄存器對(duì)應(yīng)兩個(gè)不同的物理寄存器:每個(gè)寄存器對(duì)應(yīng)兩個(gè)不同的物理寄存器 當(dāng)使用當(dāng)使用fiq模式時(shí),訪問(wèn)寄存器模式時(shí),訪問(wèn)寄存器R8_fiqR12_fiq; 當(dāng)使用除當(dāng)使用除fiq模式以外的其他模式時(shí),訪問(wèn)寄存器模式以外的其他模式時(shí),訪問(wèn)寄存器R8_usrR12_usr。35分組寄存器分組寄存器R13R13R14R14ARM微處理器的寄存器格式微處理器的寄存器格式q R13、R14:每個(gè)寄存器對(duì)應(yīng):每個(gè)寄存器對(duì)應(yīng)6個(gè)不同
35、的物理寄存器個(gè)不同的物理寄存器q 其中的一個(gè)是用戶模式與系統(tǒng)模式共用,另外其中的一個(gè)是用戶模式與系統(tǒng)模式共用,另外5個(gè)物理寄個(gè)物理寄存器對(duì)應(yīng)于其他存器對(duì)應(yīng)于其他5種不同的運(yùn)行模式種不同的運(yùn)行模式q 采用以下的記號(hào)來(lái)區(qū)分不同的物理寄存器:采用以下的記號(hào)來(lái)區(qū)分不同的物理寄存器: R13_ R14_q mode為以下幾種之一:為以下幾種之一:usr、fiq、irq、svc、abt、und。36堆棧指針堆棧指針R13R13ARM微處理器的寄存器格式微處理器的寄存器格式q R13在在ARM指令中常用作堆棧指針,但這只是一種習(xí)慣指令中常用作堆棧指針,但這只是一種習(xí)慣用法,用戶也可使用其他的寄存器作為用法,
36、用戶也可使用其他的寄存器作為堆棧指針堆棧指針。q 在在Thumb指令集中,某些指令強(qiáng)制性的要求使用指令集中,某些指令強(qiáng)制性的要求使用R13作作為堆棧指針。為堆棧指針。q 由于處理器的每種運(yùn)行模式均有自己獨(dú)立的物理寄存器由于處理器的每種運(yùn)行模式均有自己獨(dú)立的物理寄存器R13,在初始化部分,都要初始化每種模式下的,在初始化部分,都要初始化每種模式下的R13,這,這樣,當(dāng)程序的運(yùn)行進(jìn)入異常模式時(shí),可以將需要保護(hù)的寄樣,當(dāng)程序的運(yùn)行進(jìn)入異常模式時(shí),可以將需要保護(hù)的寄存器放入存器放入R13所指向的堆棧,而當(dāng)程序從異常模式返回時(shí),所指向的堆棧,而當(dāng)程序從異常模式返回時(shí),則從對(duì)應(yīng)的堆棧中恢復(fù)。則從對(duì)應(yīng)的堆棧
37、中恢復(fù)。 37子程序連接寄存器子程序連接寄存器R14R14ARM微處理器的寄存器格式微處理器的寄存器格式q R14也稱作子程序連接寄存器或也稱作子程序連接寄存器或連接寄存器連接寄存器LR。當(dāng)執(zhí)行。當(dāng)執(zhí)行BL子程序調(diào)用指令時(shí),可以從子程序調(diào)用指令時(shí),可以從R14中得到中得到R15(程序計(jì)數(shù)(程序計(jì)數(shù)器器PC)的備份。其他情況下,)的備份。其他情況下,R14用作通用寄存器。用作通用寄存器。q 在每一種運(yùn)行模式下,都可用在每一種運(yùn)行模式下,都可用R14保存子程序的返回地址,保存子程序的返回地址,當(dāng)用當(dāng)用BL或或BLX指令調(diào)用子程序時(shí),將指令調(diào)用子程序時(shí),將PC的當(dāng)前值拷貝給的當(dāng)前值拷貝給R14,執(zhí)行
38、完子程序后,又將,執(zhí)行完子程序后,又將R14的值拷貝回的值拷貝回PC,即可完,即可完成子程序的調(diào)用返回。成子程序的調(diào)用返回。38程序計(jì)數(shù)器程序計(jì)數(shù)器PC(R15)PC(R15)ARM微處理器的寄存器格式微處理器的寄存器格式q ARMARM狀態(tài)下,位狀態(tài)下,位1:01:0為為0 0,位,位31:231:2用于保存用于保存PCPC;q ThumbThumb狀態(tài)下,位狀態(tài)下,位00為為0 0,位,位31:131:1用于保存用于保存PCPC;q R15R15雖然也可用作通用寄存器,但一般不這么使用,因?yàn)殡m然也可用作通用寄存器,但一般不這么使用,因?yàn)閷?duì)對(duì)R15R15的使用有一些特殊的限制,當(dāng)違反了這些限
39、制時(shí),的使用有一些特殊的限制,當(dāng)違反了這些限制時(shí),程序的執(zhí)行結(jié)果是未知的。程序的執(zhí)行結(jié)果是未知的。q 由于由于ARM體系結(jié)構(gòu)采用了多級(jí)流水線技術(shù),對(duì)于體系結(jié)構(gòu)采用了多級(jí)流水線技術(shù),對(duì)于ARM指指令集而言,令集而言,PC總是指向當(dāng)前指令的下兩條指令的地址,總是指向當(dāng)前指令的下兩條指令的地址,即即PC的值為當(dāng)前指令的地址值加的值為當(dāng)前指令的地址值加8個(gè)字節(jié)。個(gè)字節(jié)。39程序狀態(tài)寄存器程序狀態(tài)寄存器(CPSR/SPSR)(CPSR/SPSR)l寄存器寄存器R16R16用作用作CPSR(CPSR(當(dāng)前程序狀態(tài)寄存器當(dāng)前程序狀態(tài)寄存器) ),CPSRCPSR可在任何可在任何運(yùn)運(yùn)行模式下被訪問(wèn),它包括條件
40、標(biāo)志位、中斷禁止位、當(dāng)前行模式下被訪問(wèn),它包括條件標(biāo)志位、中斷禁止位、當(dāng)前處理器模式標(biāo)志位,以及其他一些相關(guān)的控制和狀態(tài)位。處理器模式標(biāo)志位,以及其他一些相關(guān)的控制和狀態(tài)位。q 每一種運(yùn)行模式下又都有一個(gè)專用的物理狀態(tài)寄存器,稱每一種運(yùn)行模式下又都有一個(gè)專用的物理狀態(tài)寄存器,稱為為SPSRSPSR(備份的程序狀態(tài)寄存器),異常發(fā)生時(shí),(備份的程序狀態(tài)寄存器),異常發(fā)生時(shí),SPSRSPSR用用于保存于保存CPSRCPSR的值,從異常退出時(shí)則可由的值,從異常退出時(shí)則可由SPSRSPSR來(lái)恢復(fù)來(lái)恢復(fù)CPSRCPSR。q 由于用戶模式和系統(tǒng)模式不屬于異常模式,他們沒(méi)有由于用戶模式和系統(tǒng)模式不屬于異常模
41、式,他們沒(méi)有SPSRSPSR,當(dāng)在這兩種模式下訪問(wèn)當(dāng)在這兩種模式下訪問(wèn)SPSRSPSR,結(jié)果是未知的。,結(jié)果是未知的。ARM微處理器的寄存器格式微處理器的寄存器格式40ARMARM技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)ARM ARM 異常處理異常處理ARMARM微處理器系列微處理器系列第第2 2章章 ARMARM體系結(jié)構(gòu)及編程模型體系結(jié)構(gòu)及編程模型ARM ARM 處理器的寄存器組織處理器的寄存器組織ARMARM處理器的存儲(chǔ)器格式處理器的存儲(chǔ)器格式ARMARM處理器的工作狀態(tài)處理器的工作狀態(tài)ARMARM處理器的工作模式處理器的工作模式41異常(異常(ExceptionsExceptions)
42、l當(dāng)正常的程序執(zhí)行流程發(fā)生暫時(shí)的停止時(shí),稱之為異當(dāng)正常的程序執(zhí)行流程發(fā)生暫時(shí)的停止時(shí),稱之為異常,例如處理一個(gè)外部的中斷請(qǐng)求。在處理異常之前常,例如處理一個(gè)外部的中斷請(qǐng)求。在處理異常之前,當(dāng)前處理器的狀態(tài)必須保留,這樣當(dāng)異常處理完成,當(dāng)前處理器的狀態(tài)必須保留,這樣當(dāng)異常處理完成之后,當(dāng)前程序可以繼續(xù)執(zhí)行。處理器允許多個(gè)異常之后,當(dāng)前程序可以繼續(xù)執(zhí)行。處理器允許多個(gè)異常同時(shí)發(fā)生,它們將會(huì)按固定的優(yōu)先級(jí)進(jìn)行處理。同時(shí)發(fā)生,它們將會(huì)按固定的優(yōu)先級(jí)進(jìn)行處理。ARM異常處理異常處理q ARMARM體系結(jié)構(gòu)中的異常,與體系結(jié)構(gòu)中的異常,與8 8位位/16/16位體系結(jié)構(gòu)的中斷有很位體系結(jié)構(gòu)的中斷有很大的相
43、似之處,但異常與中斷的概念并不完全等同。大的相似之處,但異常與中斷的概念并不完全等同。 42ARMARM體系結(jié)構(gòu)所支持的異常類(lèi)型體系結(jié)構(gòu)所支持的異常類(lèi)型 異常類(lèi)型異常類(lèi)型具體含義具體含義復(fù)位復(fù)位復(fù)位電平有效時(shí),產(chǎn)生復(fù)位異常,程序跳轉(zhuǎn)到復(fù)位處理復(fù)位電平有效時(shí),產(chǎn)生復(fù)位異常,程序跳轉(zhuǎn)到復(fù)位處理程序處執(zhí)行。程序處執(zhí)行。未定義指令未定義指令遇到不能處理的指令時(shí),產(chǎn)生未定義指令異常。遇到不能處理的指令時(shí),產(chǎn)生未定義指令異常。軟件中斷軟件中斷執(zhí)行執(zhí)行SWI指令產(chǎn)生,用于用戶模式下的程序調(diào)用特權(quán)操指令產(chǎn)生,用于用戶模式下的程序調(diào)用特權(quán)操作指令。作指令。指令指令預(yù)取中止預(yù)取中止處理器預(yù)取指令的地址不存在,或該
44、地址不允許當(dāng)前指處理器預(yù)取指令的地址不存在,或該地址不允許當(dāng)前指令訪問(wèn),產(chǎn)生指令預(yù)取中止異常。令訪問(wèn),產(chǎn)生指令預(yù)取中止異常。數(shù)據(jù)中止數(shù)據(jù)中止處理器數(shù)據(jù)訪問(wèn)指令的地址不存在,或該地址不允許當(dāng)處理器數(shù)據(jù)訪問(wèn)指令的地址不存在,或該地址不允許當(dāng)前指令訪問(wèn)時(shí),產(chǎn)生數(shù)據(jù)中止異常。前指令訪問(wèn)時(shí),產(chǎn)生數(shù)據(jù)中止異常。IRQ外部中斷請(qǐng)求有效,且外部中斷請(qǐng)求有效,且CPSR中的中的I位為位為0時(shí),產(chǎn)生時(shí),產(chǎn)生IRQ異常。異常。FIQ快速中斷請(qǐng)求引腳有效,且快速中斷請(qǐng)求引腳有效,且CPSR中的中的F位為位為0時(shí),產(chǎn)生時(shí),產(chǎn)生FIQ異常。異常。ARM異常處理異常處理43對(duì)異常的響應(yīng)對(duì)異常的響應(yīng) ARM異常處理異常處理q
45、 當(dāng)一個(gè)異常出現(xiàn)以后,當(dāng)一個(gè)異常出現(xiàn)以后,ARMARM微處理器會(huì)執(zhí)行以下幾步操作微處理器會(huì)執(zhí)行以下幾步操作 將下一條指令的地址存入相應(yīng)連接寄存器將下一條指令的地址存入相應(yīng)連接寄存器LR,以便程序,以便程序在處理異常返回時(shí)能從正確的位置重新開(kāi)始執(zhí)行。在處理異常返回時(shí)能從正確的位置重新開(kāi)始執(zhí)行。 將將CPSR復(fù)制到相應(yīng)的復(fù)制到相應(yīng)的SPSR中。中。 根據(jù)異常類(lèi)型,強(qiáng)制設(shè)置根據(jù)異常類(lèi)型,強(qiáng)制設(shè)置CPSR的運(yùn)行模式位的運(yùn)行模式位。 強(qiáng)制強(qiáng)制PC從相關(guān)的異常向量地址取下一條指令執(zhí)行,從而從相關(guān)的異常向量地址取下一條指令執(zhí)行,從而跳轉(zhuǎn)到相應(yīng)的異常處理程序處。跳轉(zhuǎn)到相應(yīng)的異常處理程序處。 44R14_ =
46、Return LinkR14_ = Return LinkSPSR_ = CPSRSPSR_ = CPSRCPSR4:0 = Exception Mode NumberCPSR4:0 = Exception Mode NumberCPSR5 = 0CPSR5 = 0If = Reset or FIQ thenIf = Reset or FIQ thenCPSR6 = 1CPSR6 = 1CPSR7 = 1CPSR7 = 1PC = Exception Vector AddressPC = Exception Vector Address異常響應(yīng)偽代碼異常響應(yīng)偽代碼ARM異常處理異常處理q 處理
47、器處于處理器處于ThumbThumb狀態(tài),則當(dāng)異常向量地址加載入狀態(tài),則當(dāng)異常向量地址加載入PCPC時(shí),時(shí),處理器自動(dòng)切換到處理器自動(dòng)切換到ARMARM狀態(tài)。狀態(tài)。ARMARM微處理器對(duì)異常的響應(yīng)過(guò)微處理器對(duì)異常的響應(yīng)過(guò)程用偽碼可以描述為:程用偽碼可以描述為:在ARM狀態(tài)下執(zhí)行禁止快速中斷禁止正常中斷轉(zhuǎn)入異常入口地址45從從異常異常返回返回ARM異常處理異常處理q 異常處理完畢之后,異常處理完畢之后,ARMARM微處理器會(huì)執(zhí)行以下幾步操作從微處理器會(huì)執(zhí)行以下幾步操作從異常返回:異常返回: 將連接寄存器將連接寄存器LR的值減去相應(yīng)的偏移量后送到的值減去相應(yīng)的偏移量后送到PC中。中。 將將SPSR
48、復(fù)制回復(fù)制回CPSR中。中。 若在進(jìn)入異常處理時(shí)設(shè)置了中斷禁止位,要在此清除。若在進(jìn)入異常處理時(shí)設(shè)置了中斷禁止位,要在此清除。 可以認(rèn)為應(yīng)用程序總是從復(fù)位異常處理程序開(kāi)始執(zhí)行的,可以認(rèn)為應(yīng)用程序總是從復(fù)位異常處理程序開(kāi)始執(zhí)行的,因此復(fù)位異常處理程序不需要返回。因此復(fù)位異常處理程序不需要返回。46FIQFIQ(Fast Interrupt RequestFast Interrupt Request)lFIQFIQ異常是為了支持?jǐn)?shù)據(jù)傳輸或者通道處理而設(shè)計(jì)的。異常是為了支持?jǐn)?shù)據(jù)傳輸或者通道處理而設(shè)計(jì)的。ARM異常處理異常處理q 若將若將CPSRCPSR的的F F位置為位置為1 1,則會(huì)禁止,則會(huì)禁止
49、FIQFIQ中斷,若將中斷,若將CPSRCPSR的的F F位位清零,處理器會(huì)在指令執(zhí)行時(shí)檢查清零,處理器會(huì)在指令執(zhí)行時(shí)檢查FIQFIQ的輸入。注意只有的輸入。注意只有在特權(quán)模式下才能改變?cè)谔貦?quán)模式下才能改變F F位的狀態(tài)。位的狀態(tài)。 q 可由外部通過(guò)對(duì)處理器上的可由外部通過(guò)對(duì)處理器上的nFIQnFIQ引腳輸入低電平產(chǎn)生引腳輸入低電平產(chǎn)生FIQFIQ。不管是在不管是在ARMARM狀態(tài)還是在狀態(tài)還是在ThumbThumb狀態(tài)下進(jìn)入狀態(tài)下進(jìn)入FIQFIQ模式,模式,F(xiàn)IQFIQ處處理程序均可以執(zhí)行以下指令從理程序均可以執(zhí)行以下指令從FIQFIQ模式返回:模式返回:SUBS PC,R14_fiq ,#
50、4SUBS PC,R14_fiq ,#447IRQ(Interrupt Request) lIRQIRQ異常屬于正常的中斷請(qǐng)求,可通過(guò)對(duì)處理器的異常屬于正常的中斷請(qǐng)求,可通過(guò)對(duì)處理器的nIRQnIRQ引腳輸入低電平產(chǎn)生,引腳輸入低電平產(chǎn)生,IRQIRQ的優(yōu)先級(jí)低于的優(yōu)先級(jí)低于FIQFIQ,當(dāng)程序,當(dāng)程序執(zhí)行進(jìn)入執(zhí)行進(jìn)入FIQFIQ異常時(shí),異常時(shí),IRQIRQ可能被屏蔽??赡鼙黄帘?。ARM異常處理異常處理q 若將若將CPSRCPSR的的I I位置為位置為1 1,則會(huì)禁止,則會(huì)禁止IRQIRQ中斷,若將中斷,若將CPSRCPSR的的I I位位清零,處理器會(huì)在指令執(zhí)行完之前檢查清零,處理器會(huì)在指令執(zhí)
51、行完之前檢查IRQIRQ的輸入。注意的輸入。注意只有在特權(quán)模式下才能改變只有在特權(quán)模式下才能改變I I位的狀態(tài)。位的狀態(tài)。q 不管是在不管是在ARMARM狀態(tài)還是在狀態(tài)還是在ThumbThumb狀態(tài)下進(jìn)入狀態(tài)下進(jìn)入IRQIRQ模式,模式,IRQIRQ處處理程序均可以執(zhí)行以下指令從理程序均可以執(zhí)行以下指令從IRQIRQ模式返回:模式返回:SUBS PC , R14_irq , #4 ; PC=SUBS PC , R14_irq , #4 ; PC=R14_irq-448ABORT(中止)(中止) l產(chǎn)生中止異常意味著對(duì)存儲(chǔ)器的訪問(wèn)失敗。產(chǎn)生中止異常意味著對(duì)存儲(chǔ)器的訪問(wèn)失敗。ARMARM微處理器微
52、處理器在存儲(chǔ)器訪問(wèn)周期內(nèi)檢查是否發(fā)生中止異常。在存儲(chǔ)器訪問(wèn)周期內(nèi)檢查是否發(fā)生中止異常。ARM異常處理異常處理q 中止異常包括兩種類(lèi)型:中止異常包括兩種類(lèi)型: 指令指令預(yù)取中止:發(fā)生在指令預(yù)取時(shí)。預(yù)取中止:發(fā)生在指令預(yù)取時(shí)。 數(shù)據(jù)中止:發(fā)生在數(shù)據(jù)訪問(wèn)時(shí)。數(shù)據(jù)中止:發(fā)生在數(shù)據(jù)訪問(wèn)時(shí)。q 若數(shù)據(jù)中止發(fā)生,系統(tǒng)的響應(yīng)與指令的類(lèi)型有關(guān)。若數(shù)據(jù)中止發(fā)生,系統(tǒng)的響應(yīng)與指令的類(lèi)型有關(guān)。q 當(dāng)確定了中止的原因后,當(dāng)確定了中止的原因后,AbortAbort處理程序均可以執(zhí)行以下指令處理程序均可以執(zhí)行以下指令從中止模式返回,無(wú)論是在從中止模式返回,無(wú)論是在ARMARM狀態(tài)還是狀態(tài)還是ThumbThumb狀態(tài):狀態(tài):
53、SUBS PC, R14_abt, #4;指令指令預(yù)取中止預(yù)取中止SUBS PC, R14_abt, #8;數(shù)據(jù)中止;數(shù)據(jù)中止49Software Interruupt(軟件中斷軟件中斷) l軟件中斷指令(軟件中斷指令(SWISWI)用于進(jìn)入管理模式,常用于請(qǐng)求執(zhí)行)用于進(jìn)入管理模式,常用于請(qǐng)求執(zhí)行特定的管理功能。軟件中斷處理程序執(zhí)行以下指令可以從特定的管理功能。軟件中斷處理程序執(zhí)行以下指令可以從SWISWI模式返回,無(wú)論是在模式返回,無(wú)論是在ARMARM狀態(tài)還是狀態(tài)還是ThumbThumb狀態(tài):狀態(tài):MOVS PC , R14_svcMOVS PC , R14_svc以上指令恢復(fù)以上指令恢復(fù)
54、PCPC(從(從R14_svcR14_svc)和)和CPSRCPSR(從(從SPSR_svcSPSR_svc)的的值,并返回到值,并返回到SWISWI的下一條指令。的下一條指令。ARM異常處理異常處理50Undefined Instruction(Undefined Instruction(未定義指令未定義指令) )ARM異常處理異常處理q當(dāng)當(dāng)ARMARM處理器遇到不能處理的指令時(shí),會(huì)產(chǎn)生未定義指令處理器遇到不能處理的指令時(shí),會(huì)產(chǎn)生未定義指令異常。采用這種機(jī)制,可以通過(guò)軟件仿真擴(kuò)展異常。采用這種機(jī)制,可以通過(guò)軟件仿真擴(kuò)展ARMARM或或ThumbThumb指指令集。令集。q處理器執(zhí)行以下程序返
55、回,無(wú)論是在處理器執(zhí)行以下程序返回,無(wú)論是在ARMARM狀態(tài)還是狀態(tài)還是ThumbThumb狀狀態(tài):態(tài):MOVS PC, R14_undMOVS PC, R14_undq以上指令恢復(fù)以上指令恢復(fù)PCPC(從(從R14_undR14_und)和)和CPSRCPSR(從(從SPSR_undSPSR_und)的)的值,并返回到未定義指令后的下一條指令。值,并返回到未定義指令后的下一條指令。51異常向量表(異常向量表(Exception VectorsException Vectors) 地地 址址異異 常常進(jìn)入模式進(jìn)入模式0 x0000,00000 x0000,0000復(fù)位復(fù)位管理模式管理模式0 x
56、0000,00040 x0000,0004未定義指令未定義指令未定義模式未定義模式0 x0000,00080 x0000,0008軟件中斷軟件中斷管理模式管理模式0 x0000,000C0 x0000,000C中止(預(yù)取指令)中止(預(yù)取指令)中止模式中止模式0 x0000,00100 x0000,0010中止(數(shù)據(jù))中止(數(shù)據(jù))中止模式中止模式0 x0000,00140 x0000,0014保留保留保留保留0 x0000,00180 x0000,0018IRQIRQIRQIRQ0 x0000,001C0 x0000,001CFIQFIQFIQFIQARM異常處理異常處理52異常優(yōu)先級(jí)(異常優(yōu)先
57、級(jí)(Exception PrioritiesException Priorities) 優(yōu)先級(jí)優(yōu)先級(jí)異異 常常1 1(最高)(最高)復(fù)位復(fù)位2 2數(shù)據(jù)中止數(shù)據(jù)中止3 3FIQFIQ4 4IRQIRQ5 5預(yù)取指令中止預(yù)取指令中止6 6(最低)(最低)未定義指令、未定義指令、SWISWIARM異常處理異常處理53應(yīng)用程序中的異常處理應(yīng)用程序中的異常處理 l當(dāng)系統(tǒng)運(yùn)行時(shí),異??赡軙?huì)隨時(shí)發(fā)生,為保證在當(dāng)系統(tǒng)運(yùn)行時(shí),異??赡軙?huì)隨時(shí)發(fā)生,為保證在ARMARM處理器處理器發(fā)生異常時(shí)不至于處于未知狀態(tài),在應(yīng)用程序的設(shè)計(jì)中,發(fā)生異常時(shí)不至于處于未知狀態(tài),在應(yīng)用程序的設(shè)計(jì)中,首先要進(jìn)行異常處理,采用的方式是在異
58、常向量表中的特首先要進(jìn)行異常處理,采用的方式是在異常向量表中的特定位置放置一條跳轉(zhuǎn)指令,跳轉(zhuǎn)到異常處理程序,當(dāng)定位置放置一條跳轉(zhuǎn)指令,跳轉(zhuǎn)到異常處理程序,當(dāng)ARMARM處處理器發(fā)生異常時(shí),程序計(jì)數(shù)器理器發(fā)生異常時(shí),程序計(jì)數(shù)器PCPC會(huì)被強(qiáng)制設(shè)置為對(duì)應(yīng)的異會(huì)被強(qiáng)制設(shè)置為對(duì)應(yīng)的異常向量,從而跳轉(zhuǎn)到異常處理程序,當(dāng)異常處理完成以后常向量,從而跳轉(zhuǎn)到異常處理程序,當(dāng)異常處理完成以后,返回到主程序繼續(xù)執(zhí)行。,返回到主程序繼續(xù)執(zhí)行。 l我們需要處理所有的異常,盡管我們可以簡(jiǎn)單的在某些異我們需要處理所有的異常,盡管我們可以簡(jiǎn)單的在某些異常處理程序處放置死循環(huán)。常處理程序處放置死循環(huán)。ARM異常處理異常處理5
59、4ARMARM技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)技術(shù)的應(yīng)用領(lǐng)域及特點(diǎn)ARM ARM 處理器的寄存器組織處理器的寄存器組織ARMARM處理器的工作模式處理器的工作模式ARMARM微處理器系列微處理器系列第第2 2章章 ARMARM體系結(jié)構(gòu)及編程模型體系結(jié)構(gòu)及編程模型ARM ARM 異常處理異常處理ARMARM處理器的工作狀態(tài)處理器的工作狀態(tài)ARMARM處理器的存儲(chǔ)器格式處理器的存儲(chǔ)器格式55ARMARM微處理器的存儲(chǔ)器格式微處理器的存儲(chǔ)器格式 q ARMARM體系結(jié)構(gòu)所支持的最大尋址空間為體系結(jié)構(gòu)所支持的最大尋址空間為4GB4GB(2 23232字節(jié))字節(jié))ARM微處理器的存儲(chǔ)器格式q ARMARM體系結(jié)構(gòu)將
60、存儲(chǔ)器看作是從零地址開(kāi)始的字節(jié)的線體系結(jié)構(gòu)將存儲(chǔ)器看作是從零地址開(kāi)始的字節(jié)的線性組合。從零字節(jié)到三字節(jié)放置第一個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),性組合。從零字節(jié)到三字節(jié)放置第一個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),從第四個(gè)字節(jié)到第七個(gè)字節(jié)放置第二個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),從第四個(gè)字節(jié)到第七個(gè)字節(jié)放置第二個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),依次排列。依次排列。q ARMARM體系結(jié)構(gòu)可以用兩種方法存儲(chǔ)字?jǐn)?shù)據(jù),稱之為大端體系結(jié)構(gòu)可以用兩種方法存儲(chǔ)字?jǐn)?shù)據(jù),稱之為大端格式和小端格式格式和小端格式 56ARMARM體系結(jié)構(gòu)的存儲(chǔ)器格式體系結(jié)構(gòu)的存儲(chǔ)器格式大端格式大端格式 ARM微處理器的存儲(chǔ)器格式微處理器的存儲(chǔ)器格式q 在這種格式中,字?jǐn)?shù)據(jù)的高字節(jié)存儲(chǔ)在低地址中,而字在這
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 塑膠跑道產(chǎn)品供應(yīng)鏈分析
- 二手奢侈品交易電商行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 藥柜市場(chǎng)發(fā)展前景分析及供需格局研究預(yù)測(cè)報(bào)告
- 舌頭清潔刷項(xiàng)目運(yùn)營(yíng)指導(dǎo)方案
- 皮制書(shū)皮項(xiàng)目營(yíng)銷(xiāo)計(jì)劃書(shū)
- 農(nóng)業(yè)作物收獲技術(shù)行業(yè)經(jīng)營(yíng)分析報(bào)告
- 葡萄柚樹(shù)修剪器市場(chǎng)發(fā)展前景分析及供需格局研究預(yù)測(cè)報(bào)告
- 彩色皺紋紙產(chǎn)品供應(yīng)鏈分析
- 冷藏倉(cāng)儲(chǔ)行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 醫(yī)用呼吸裝置產(chǎn)品供應(yīng)鏈分析
- 建筑工程冬期施工規(guī)程JGJ/T 104-2011
- 網(wǎng)上評(píng)卷技術(shù)服務(wù)投標(biāo)方案(技術(shù)方案)
- 音樂(lè)表演職業(yè)生涯規(guī)劃書(shū)
- 江西省住宅工程開(kāi)裂、滲漏等質(zhì)量常見(jiàn)問(wèn)題防治技術(shù)指南
- 勞動(dòng)教育課程實(shí)施方案(通用12篇)
- 慕課課程課件
- 高中英語(yǔ)-Explore Peru教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 英語(yǔ)教學(xué)理論系列:中小學(xué)英語(yǔ)教學(xué)研究方法
- 外研版英語(yǔ)六年級(jí)上冊(cè)同步課課練精編(一起點(diǎn))
- 上海初中生綜合素質(zhì)評(píng)價(jià)典型事例范文通用6篇
- YDT 5132-2021 移動(dòng)通信鋼塔桅結(jié)構(gòu)工程驗(yàn)收規(guī)范
評(píng)論
0/150
提交評(píng)論