版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、1ARMARM技術(shù)的應(yīng)用領(lǐng)域及特點技術(shù)的應(yīng)用領(lǐng)域及特點ARM ARM 處理器的寄存器組織處理器的寄存器組織ARMARM處理器的工作模式處理器的工作模式ARMARM微處理器系列微處理器系列第第2 2章章 ARMARM體系結(jié)構(gòu)及編程模型體系結(jié)構(gòu)及編程模型ARM ARM 異常處理異常處理ARMARM處理器的工作狀態(tài)處理器的工作狀態(tài)ARMARM處理器的存儲器格式處理器的存儲器格式2ARMAdvanced RISC Machines q ARM既可以認(rèn)為是一個公司的名字,也可以既可以認(rèn)為是一個公司的名字,也可以認(rèn)為是對一類微處理器的通稱,還可以認(rèn)為是一認(rèn)為是對一類微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名
2、字。種技術(shù)的名字。ARM技術(shù)的應(yīng)用領(lǐng)域及特點技術(shù)的應(yīng)用領(lǐng)域及特點q 1991年年ARM公司成立于英國劍橋的一個谷倉公司成立于英國劍橋的一個谷倉里,經(jīng)過幾年的發(fā)展已經(jīng)成為,全球主要半導(dǎo)體里,經(jīng)過幾年的發(fā)展已經(jīng)成為,全球主要半導(dǎo)體芯片生產(chǎn)廠家和操作系統(tǒng)的開發(fā)商的最主要合作芯片生產(chǎn)廠家和操作系統(tǒng)的開發(fā)商的最主要合作伙伴,主要出售芯片設(shè)計技術(shù)的授權(quán)?;锇?,主要出售芯片設(shè)計技術(shù)的授權(quán)。3ARM 公司的公司的Chip less模式模式q 世界各大半導(dǎo)體生產(chǎn)商從世界各大半導(dǎo)體生產(chǎn)商從ARMARM公司購買其設(shè)計的公司購買其設(shè)計的ARMARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入微處理器核,根據(jù)各自不同的應(yīng)用
3、領(lǐng)域,加入適當(dāng)?shù)耐鈬娐?,從而形成自己的適當(dāng)?shù)耐鈬娐?,從而形成自己的ARMARM微處理器芯微處理器芯片進入市場。片進入市場。ARM技術(shù)的應(yīng)用領(lǐng)域及特點技術(shù)的應(yīng)用領(lǐng)域及特點q 基于基于ARM技術(shù)的微處理器應(yīng)用約占據(jù)了技術(shù)的微處理器應(yīng)用約占據(jù)了32位位RISC微處理器微處理器75以上的市場份額,以上的市場份額,ARM技術(shù)正技術(shù)正在逐步滲入到我們生活的各個方面。在逐步滲入到我們生活的各個方面。q 我國的我國的中興集成電路、中興集成電路、大唐電訊、中芯國際和大唐電訊、中芯國際和上海華虹,以及國外的一些公司如德州儀器、意法上海華虹,以及國外的一些公司如德州儀器、意法半導(dǎo)體、半導(dǎo)體、PhilipsPhi
4、lips、IntelIntel、SamsungSamsung等都推出了自等都推出了自己設(shè)計的基于己設(shè)計的基于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ù)了高端微控制器市場的大部分市場份額,同時也逐漸制器市場的大部分市場份額,同時也逐漸向低端微控制器應(yīng)用領(lǐng)域擴展,向低端微控制器應(yīng)用領(lǐng)域擴展,ARMARM微控制微控制器的低功耗、高性價比,向傳統(tǒng)的器的低功耗、高性價比,向傳統(tǒng)的8 8位位/16/16位微控
5、制器提出了挑戰(zhàn)。位微控制器提出了挑戰(zhàn)。ARM技術(shù)的應(yīng)用領(lǐng)域及特點技術(shù)的應(yīng)用領(lǐng)域及特點q 到目前為止,到目前為止,ARM微處理器及技術(shù)的應(yīng)用已經(jīng)微處理器及技術(shù)的應(yīng)用已經(jīng)廣泛深入到國民經(jīng)濟的各個領(lǐng)域廣泛深入到國民經(jīng)濟的各個領(lǐng)域5ARMARM微處理器的應(yīng)用領(lǐng)域微處理器的應(yīng)用領(lǐng)域ARM技術(shù)的應(yīng)用領(lǐng)域及特點技術(shù)的應(yīng)用領(lǐng)域及特點q 網(wǎng)絡(luò)應(yīng)用:隨著寬帶技術(shù)的推廣,采用網(wǎng)絡(luò)應(yīng)用:隨著寬帶技術(shù)的推廣,采用ARM技技術(shù)的術(shù)的ADSL芯片正逐步獲得競爭優(yōu)勢。此外,芯片正逐步獲得競爭優(yōu)勢。此外,ARM在語音及視頻處理上行了優(yōu)化,并獲得廣泛支持,在語音及視頻處理上行了優(yōu)化,并獲得廣泛支持,也對也對DSP的應(yīng)用領(lǐng)域提出了
6、挑戰(zhàn)。的應(yīng)用領(lǐng)域提出了挑戰(zhàn)。q 消費類電子產(chǎn)品:消費類電子產(chǎn)品:ARM技術(shù)在目前流行的數(shù)字技術(shù)在目前流行的數(shù)字音頻播放器、數(shù)字機頂盒和游戲機中得到廣泛采用。音頻播放器、數(shù)字機頂盒和游戲機中得到廣泛采用。q 成像和安全產(chǎn)品:現(xiàn)在流行的數(shù)碼相機和打印成像和安全產(chǎn)品:現(xiàn)在流行的數(shù)碼相機和打印機中絕大部分采用機中絕大部分采用ARM技術(shù)。手機中的技術(shù)。手機中的32位位SIM智智能卡也采用了能卡也采用了ARM技術(shù)。技術(shù)。6ARMARM微處理器的特點微處理器的特點低功耗、低成本、高性能低功耗、低成本、高性能采用采用RISC指令集指令集ARM技術(shù)的應(yīng)用領(lǐng)域及特點技術(shù)的應(yīng)用領(lǐng)域及特點q 高性能高性能使用大量的寄
7、存器使用大量的寄存器ARM/THUMB指令支持指令支持三三/五級流水線五級流水線7ARMARM微處理器的特點微處理器的特點采用采用RISCRISC體系結(jié)構(gòu)體系結(jié)構(gòu)ARM技術(shù)的應(yīng)用領(lǐng)域及特點技術(shù)的應(yīng)用領(lǐng)域及特點q 采用采用RISC架構(gòu)的架構(gòu)的ARM處理器一般具有如下特點:處理器一般具有如下特點:固定長度的指令格式,指令規(guī)整、簡單、固定長度的指令格式,指令規(guī)整、簡單、基基 本尋址方式有本尋址方式有23種;種;使用單周期指令,便于流水線操作執(zhí)行;使用單周期指令,便于流水線操作執(zhí)行;大量使用寄存器,數(shù)據(jù)處理指令只對寄存大量使用寄存器,數(shù)據(jù)處理指令只對寄存器進行操作,只有加載器進行操作,只有加載/存儲指
8、令可以訪問存存儲指令可以訪問存儲器,以提高指令的執(zhí)行效率。儲器,以提高指令的執(zhí)行效率。8ARMARM微處理器的特點微處理器的特點大量使用寄存器大量使用寄存器ARM技術(shù)的應(yīng)用領(lǐng)域及特點技術(shù)的應(yīng)用領(lǐng)域及特點q ARM 處理器共有處理器共有37個寄存器,被分為若干個組,個寄存器,被分為若干個組,這些寄存器包括:這些寄存器包括:31個通用寄存器,包括程序計數(shù)器(個通用寄存器,包括程序計數(shù)器(PC 指針),均為指針),均為32位的寄存器;位的寄存器;6個狀態(tài)寄存器,用以標(biāo)識個狀態(tài)寄存器,用以標(biāo)識CPU的工作狀的工作狀態(tài)及程序的運行狀態(tài),均為態(tài)及程序的運行狀態(tài),均為32位。位。9ARMARM微處理器的特點
9、微處理器的特點高效的指令系統(tǒng)高效的指令系統(tǒng)ARM技術(shù)的應(yīng)用領(lǐng)域及特點技術(shù)的應(yīng)用領(lǐng)域及特點q ARM微處理器支持兩種指令集:微處理器支持兩種指令集:ARM指令集指令集和和Thumb指令集。指令集。q ARM指令為指令為32位的長度,位的長度,Thumb指令為指令為16位長位長度。度。Thumb指令集為指令集為ARM指令集的功能子集,但指令集的功能子集,但與等價的與等價的ARM代碼相比較,可節(jié)省代碼相比較,可節(jié)省3040以以上的存儲空間,同時具備上的存儲空間,同時具備32位代碼的所有優(yōu)點。位代碼的所有優(yōu)點。10ARMARM微處理器的特點微處理器的特點低功耗、高效率低功耗、高效率ARM技術(shù)的應(yīng)用領(lǐng)域
10、及特點技術(shù)的應(yīng)用領(lǐng)域及特點q 除此以外,除此以外,ARM體系結(jié)構(gòu)還在保證高性能的前體系結(jié)構(gòu)還在保證高性能的前提下盡量縮小芯片的面積,并降低功耗:提下盡量縮小芯片的面積,并降低功耗:q 所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定是否所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,從而提高指令的執(zhí)行效率。被執(zhí)行,從而提高指令的執(zhí)行效率。q 可用加載可用加載/存儲指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)存儲指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率。的傳輸效率。q 可在一條數(shù)據(jù)處理指令中同時完成邏輯處理和可在一條數(shù)據(jù)處理指令中同時完成邏輯處理和移位處理。移位處理。q 在循環(huán)處理中使用地址的自動增減來提高運行在循環(huán)處理中使
11、用地址的自動增減來提高運行效率。效率。11ARMARM技術(shù)的應(yīng)用領(lǐng)域及特點技術(shù)的應(yīng)用領(lǐng)域及特點ARM ARM 處理器的寄存器組織處理器的寄存器組織ARMARM處理器的工作模式處理器的工作模式ARMARM微處理器系列微處理器系列第第2 2章章 ARMARM體系結(jié)構(gòu)及編程模型體系結(jié)構(gòu)及編程模型ARM ARM 異常處理異常處理ARMARM處理器的工作狀態(tài)處理器的工作狀態(tài)ARMARM處理器的存儲器格式處理器的存儲器格式12ARMARM微處理器系列微處理器系列 ARM微處理器系列微處理器系列qARM7系列系列qARM9系列系列qARM9E系列系列qARM10E系列系列qSecurCore系列系列qInt
12、el的的Xscaleq其中,其中,ARM7、ARM9、ARM9E和和ARM10為為4個通用個通用處理器系列,每一個系列提供一套相對獨特的性能來滿足不處理器系列,每一個系列提供一套相對獨特的性能來滿足不同應(yīng)用領(lǐng)域的需求。同應(yīng)用領(lǐng)域的需求。SecurCore系列專門為安全要求較高的系列專門為安全要求較高的應(yīng)用而設(shè)計。應(yīng)用而設(shè)計。 13ARM7ARM7微處理器系列微處理器系列 qARM7系列是為低功耗的系列是為低功耗的32位位RISC處理器,最適合用于對價處理器,最適合用于對價位和功耗要求較高的消費類應(yīng)用。位和功耗要求較高的消費類應(yīng)用。ARM7系列有如下特點:系列有如下特點:具有調(diào)試開發(fā)方便;具有調(diào)
13、試開發(fā)方便;極低的功耗,適合對功耗要求較高的應(yīng)用,如便攜式產(chǎn)品;極低的功耗,適合對功耗要求較高的應(yīng)用,如便攜式產(chǎn)品;能夠提供三級流水線結(jié)構(gòu);能夠提供三級流水線結(jié)構(gòu);代碼密度高,并兼容代碼密度高,并兼容16位的位的Thumb指令集;指令集;對操作系統(tǒng)的支持廣泛,如對操作系統(tǒng)的支持廣泛,如Windows CE、Linux、Palm OS等;等;指令系統(tǒng)與指令系統(tǒng)與ARM9系列、系列、ARM9E系列和系列和ARM10E系列兼容,系列兼容,便于用戶的產(chǎn)品升級換代;便于用戶的產(chǎn)品升級換代;主頻最高可達(dá)主頻最高可達(dá)130M,高速的運算處理能力能勝任絕大多數(shù)的,高速的運算處理能力能勝任絕大多數(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è)備、移動電話等多種多媒體和嵌入式應(yīng)用。解調(diào)器設(shè)備、移動電話等多種多媒體和嵌入式應(yīng)用。qARM7系列微處理器包括如下幾種類型的核:系列微處理器包括如下幾種類型的核: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ào)試點;,支持片上斷點和調(diào)試點;15ARM9ARM9微處理器系列微處理器系列 ARM微處理器系列微處理器系列qARM9系列微處理器在高性能和低功耗特性方面提供最佳的系列微處理器在高性能和低功耗特性方面提供最佳的表現(xiàn)。具有以下特點:表現(xiàn)。具有以下特點:5級整數(shù)流水線,指令執(zhí)行效率更高。級整數(shù)流水線,指令執(zhí)行效率更高。存儲器采用哈佛結(jié)構(gòu)。存儲器采用哈佛結(jié)構(gòu)。支持支持32位位ARM
16、指令集和指令集和16位位Thumb指令集。指令集。支持支持32位的高速位的高速AMBA總線接口。總線接口。全性能的全性能的MMU,支持,支持Windows CE、Linux、Palm OS等等多種主流嵌入式操作系統(tǒng)。多種主流嵌入式操作系統(tǒng)。MPU支持實時操作系統(tǒng)。支持實時操作系統(tǒng)。支持?jǐn)?shù)據(jù)支持?jǐn)?shù)據(jù)Cache和指令和指令Cache,具有更高的指令和數(shù)據(jù)處,具有更高的指令和數(shù)據(jù)處理能力。理能力。16ARM9ARM9微處理器系列微處理器系列qARM9ARM9系列微處理器主要應(yīng)用于無線設(shè)備、儀器儀表、系列微處理器主要應(yīng)用于無線設(shè)備、儀器儀表、安全系統(tǒng)、機頂盒、高端打印機、數(shù)字照相機和數(shù)字?jǐn)z安全系統(tǒng)、機
17、頂盒、高端打印機、數(shù)字照相機和數(shù)字?jǐn)z像機等。像機等。ARM微處理器系列微處理器系列qARM9ARM9系列微處理器包含系列微處理器包含ARM920TARM920T、ARM922TARM922T和和ARM940TARM940T三三種類型,以適用于不同的應(yīng)用場合。種類型,以適用于不同的應(yīng)用場合。17ARM9E微處理器系列微處理器系列 ARM微處理器系列微處理器系列qARM9EARM9E系列微處理器的主要特點如下:系列微處理器的主要特點如下:支持支持DSP指令集,適合于需要高速數(shù)字信號處理的場合。指令集,適合于需要高速數(shù)字信號處理的場合。5級整數(shù)流水線,指令執(zhí)行效率更高。級整數(shù)流水線,指令執(zhí)行效率更高
18、。支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。支持支持32位的高速位的高速AMBA總線接口??偩€接口。支持支持VFP9浮點處理協(xié)處理器。浮點處理協(xié)處理器。全性能的全性能的MMU,支持眾多主流嵌入式操作系統(tǒng)。,支持眾多主流嵌入式操作系統(tǒng)。支持?jǐn)?shù)據(jù)支持?jǐn)?shù)據(jù)Cache和指令和指令Cache,具有更高的處理能力。,具有更高的處理能力。主頻最高可達(dá)主頻最高可達(dá)300M。18ARM9EARM9E微處理器系列微處理器系列qARM9EARM9E系列微處理器主要應(yīng)用于下一代無線設(shè)備、數(shù)字系列微處理器主要應(yīng)用于下一代無線設(shè)備、數(shù)字消費品、成像設(shè)備、工業(yè)控制、存儲設(shè)備和網(wǎng)絡(luò)設(shè)備消費品、成
19、像設(shè)備、工業(yè)控制、存儲設(shè)備和網(wǎng)絡(luò)設(shè)備等領(lǐng)域。等領(lǐng)域。ARM微處理器系列微處理器系列qARM9EARM9E系列微處理器包含系列微處理器包含ARM926EJ-SARM926EJ-S、ARM946E-SARM946E-S和和ARM966E-SARM966E-S三種類型,以適用于不同的應(yīng)用場合。三種類型,以適用于不同的應(yīng)用場合。19ARM10EARM10E微處理器系列微處理器系列 ARM微處理器系列微處理器系列qARM10EARM10E系列微處理器的主要特點如下:系列微處理器的主要特點如下:支持支持DSP指令集,適合于需要高速數(shù)字信號處理的場合。指令集,適合于需要高速數(shù)字信號處理的場合。6級整數(shù)流水線
20、,指令執(zhí)行效率更高。級整數(shù)流水線,指令執(zhí)行效率更高。支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。支持支持32位的高速位的高速AMBA總線接口??偩€接口。支持支持VFP10浮點處理協(xié)處理器。浮點處理協(xié)處理器。全性能的全性能的MMU,支持眾多主流嵌入式操作系統(tǒng)。,支持眾多主流嵌入式操作系統(tǒng)。支持?jǐn)?shù)據(jù)支持?jǐn)?shù)據(jù)Cache和指令和指令Cache,具有更高的處理能力,具有更高的處理能力主頻最高可達(dá)主頻最高可達(dá)400M。內(nèi)嵌并行讀內(nèi)嵌并行讀/寫操作部件。寫操作部件。20ARM10EARM10E微處理器系列微處理器系列qARM10EARM10E系列微處理器主要應(yīng)用于下一代無線設(shè)備、
21、數(shù)系列微處理器主要應(yīng)用于下一代無線設(shè)備、數(shù)字消費品、成像設(shè)備、工業(yè)控制、通信和信息系統(tǒng)等領(lǐng)字消費品、成像設(shè)備、工業(yè)控制、通信和信息系統(tǒng)等領(lǐng)域。域。ARM微處理器系列微處理器系列qARM10EARM10E系列微處理器包含系列微處理器包含ARM1020EARM1020E、ARM1022EARM1022E和和ARM1026EJ-SARM1026EJ-S三種類型,以適用于不同的應(yīng)用場合。三種類型,以適用于不同的應(yīng)用場合。21SecurCoreSecurCore微處理器系列微處理器系列 ARM微處理器系列微處理器系列qSecurCoreSecurCore系列微處理器除了具有系列微處理器除了具有ARMAR
22、M體系結(jié)構(gòu)各種主體系結(jié)構(gòu)各種主要特點外,還在系統(tǒng)安全方面具有如下的特點:要特點外,還在系統(tǒng)安全方面具有如下的特點:帶有靈活的保護單元,確保操作系統(tǒng)和應(yīng)用數(shù)據(jù)的安全。帶有靈活的保護單元,確保操作系統(tǒng)和應(yīng)用數(shù)據(jù)的安全。采用軟內(nèi)核技術(shù),防止外部對其進行掃描探測。采用軟內(nèi)核技術(shù),防止外部對其進行掃描探測。可集成用戶自己的安全特性和其他協(xié)處理器。可集成用戶自己的安全特性和其他協(xié)處理器。22SecurCoreSecurCore微處理器系列微處理器系列q SecurCoreSecurCore系列微處理器主要應(yīng)用于一些對安全性要求系列微處理器主要應(yīng)用于一些對安全性要求較高的應(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四種類型,以適用于不同的應(yīng)用場合。四種類型,以適用于不同的應(yīng)用場合。23StrongARMStrongARM微處理器系列微處理
24、器系列 ARM微處理器系列微處理器系列qIntel StrongARM處理器是便攜式通訊產(chǎn)品和消費類電子處理器是便攜式通訊產(chǎn)品和消費類電子產(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è)計公司的設(shè)計和處理技術(shù)以及和處理技術(shù)以及ARMARM體系結(jié)構(gòu)的電源效率,采用在軟件上體系結(jié)構(gòu)
25、的電源效率,采用在軟件上兼容兼容ARMv4ARMv4體系結(jié)構(gòu)、同時采用具有體系結(jié)構(gòu)、同時采用具有IntelIntel技術(shù)優(yōu)點的體技術(shù)優(yōu)點的體系結(jié)構(gòu)。系結(jié)構(gòu)。24Xscale處理器處理器 ARM微處理器系列微處理器系列qXscaleXscale 處理器是基于處理器是基于ARMv5TEARMv5TE體系結(jié)構(gòu)的解決方案,是體系結(jié)構(gòu)的解決方案,是一款全性能、高性價比、低功耗的處理器。它支持一款全性能、高性價比、低功耗的處理器。它支持1616位位的的ThumbThumb指令和指令和DSPDSP指令集,已使用在數(shù)字移動電話、個指令集,已使用在數(shù)字移動電話、個人數(shù)字助理和網(wǎng)絡(luò)產(chǎn)品等場合。人數(shù)字助理和網(wǎng)絡(luò)產(chǎn)品
26、等場合。qXscaleXscale 處理器是處理器是IntelIntel目前主要推廣的一款目前主要推廣的一款A(yù)RMARM微處理器。微處理器。25ARMARM技術(shù)的應(yīng)用領(lǐng)域及特點技術(shù)的應(yīng)用領(lǐng)域及特點ARM ARM 處理器的寄存器組織處理器的寄存器組織ARMARM處理器的工作模式處理器的工作模式ARMARM微處理器系列微處理器系列第第2 2章章 ARMARM體系結(jié)構(gòu)及編程模型體系結(jié)構(gòu)及編程模型ARM ARM 異常處理異常處理ARMARM處理器的工作狀態(tài)處理器的工作狀態(tài)ARMARM處理器的存儲器格式處理器的存儲器格式26處理器模式處理器模式ARM微處理器的工作模式微處理器的工作模式q usrusr:
27、ARMARM處理器正常的程序執(zhí)行狀態(tài)處理器正常的程序執(zhí)行狀態(tài)q fiqfiq:用于高速數(shù)據(jù)傳輸或通道處理:用于高速數(shù)據(jù)傳輸或通道處理q irqirq:用于通用的中斷處理:用于通用的中斷處理q svcsvc:操作系統(tǒng)使用的保護模式:操作系統(tǒng)使用的保護模式q abtabt:用于虛擬存儲及存儲保護:用于虛擬存儲及存儲保護q syssys:運行具有特權(quán)的操作系統(tǒng)任務(wù):運行具有特權(quán)的操作系統(tǒng)任務(wù)q undund:當(dāng)出現(xiàn)未定義指令終止時進入該模式:當(dāng)出現(xiàn)未定義指令終止時進入該模式27用戶模式和特權(quán)模式用戶模式和特權(quán)模式ARM微處理器的工作模式微處理器的工作模式q 除了用戶模式之外的其他除了用戶模式之外的其
28、他6 6種處理器模式稱為特權(quán)模式種處理器模式稱為特權(quán)模式q 特權(quán)模式下,程序可以訪問所有的系統(tǒng)資源,也可以特權(quán)模式下,程序可以訪問所有的系統(tǒng)資源,也可以任意地進行處理器模式的切換。任意地進行處理器模式的切換。q 特權(quán)模式中,除系統(tǒng)模式外,其他特權(quán)模式中,除系統(tǒng)模式外,其他5 5種模式又稱為異常模式種模式又稱為異常模式q 大多數(shù)的用戶程序運行在用戶模式下,此時,應(yīng)用程大多數(shù)的用戶程序運行在用戶模式下,此時,應(yīng)用程序不能夠訪問一些受操作系統(tǒng)保護的系統(tǒng)資源,應(yīng)用序不能夠訪問一些受操作系統(tǒng)保護的系統(tǒng)資源,應(yīng)用程序也不能直接進行處理器模式的切換。程序也不能直接進行處理器模式的切換。q 用戶模式下,當(dāng)需要
29、進行處理器模式切換時,應(yīng)用程用戶模式下,當(dāng)需要進行處理器模式切換時,應(yīng)用程序可以產(chǎn)生異常處理,在異常處理中進行處理器模式序可以產(chǎn)生異常處理,在異常處理中進行處理器模式的切換。的切換。28模式切換模式切換ARM微處理器的工作模式微處理器的工作模式q 處理器模式可以通過軟件進行切換,也可以通過外部處理器模式可以通過軟件進行切換,也可以通過外部中斷或者異常處理過程進行切換。中斷或者異常處理過程進行切換。q 當(dāng)應(yīng)用程序發(fā)生異常中斷時,處理器進入相應(yīng)的異常模式。當(dāng)應(yīng)用程序發(fā)生異常中斷時,處理器進入相應(yīng)的異常模式。在每一種異常模式下都有一組寄存器,供相應(yīng)的異常處理程在每一種異常模式下都有一組寄存器,供相應(yīng)
30、的異常處理程序使用,這樣就可以保證在進入異常模式時,用戶模式下的序使用,這樣就可以保證在進入異常模式時,用戶模式下的寄存器不被破壞。寄存器不被破壞。q 系統(tǒng)模式并不是通過異常進入的,它和用戶模式具有完全一系統(tǒng)模式并不是通過異常進入的,它和用戶模式具有完全一樣的寄存器。但是系統(tǒng)模式屬于特權(quán)模式,可以訪問所有的樣的寄存器。但是系統(tǒng)模式屬于特權(quán)模式,可以訪問所有的系統(tǒng)資源,也可以直接進行處理器模式切換。系統(tǒng)資源,也可以直接進行處理器模式切換。29ARMARM技術(shù)的應(yīng)用領(lǐng)域及特點技術(shù)的應(yīng)用領(lǐng)域及特點ARMARM處理器的工作模式處理器的工作模式ARMARM微處理器系列微處理器系列第第2 2章章 ARMA
31、RM體系結(jié)構(gòu)及編程模型體系結(jié)構(gòu)及編程模型ARM ARM 異常處理異常處理ARM ARM 處理器的寄存器組織處理器的寄存器組織ARMARM處理器的存儲器格式處理器的存儲器格式ARMARM處理器的工作狀態(tài)處理器的工作狀態(tài)30寄存器組織寄存器組織 lARMARM微處理器共有微處理器共有3737個個3232位寄存器,其中位寄存器,其中3131個為通用寄個為通用寄存器,存器,6 6個為狀態(tài)寄存器。但是這些寄存器不能被同時個為狀態(tài)寄存器。但是這些寄存器不能被同時訪問,具體哪些寄存器是可編程訪問的,取決微處理訪問,具體哪些寄存器是可編程訪問的,取決微處理器的工作狀態(tài)及具體的運行模式。但在任何時候,通器的工作
32、狀態(tài)及具體的運行模式。但在任何時候,通用寄存器用寄存器R14R14R0R0、程序計數(shù)器、程序計數(shù)器PCPC、一個或兩個狀態(tài)寄、一個或兩個狀態(tài)寄存器都是可訪問的。存器都是可訪問的。 ARM微處理器的寄存器格式微處理器的寄存器格式31ARMARM狀態(tài)下的寄存器組織狀態(tài)下的寄存器組織 q 通用寄存器:通用寄存器包括R0R15,可以分為三類:未分組寄存器未分組寄存器R0R0R7R7分組寄存器分組寄存器R8R8R14R14程序計數(shù)器程序計數(shù)器PC(R15)PC(R15)ARM微處理器的寄存器格式微處理器的寄存器格式32ARM狀態(tài)下的寄存器組織狀態(tài)下的寄存器組織ARM微處理器的寄存器格式微處理器的寄存器格
33、式33未分組寄存器未分組寄存器R0R0R7R7ARM微處理器的寄存器格式微處理器的寄存器格式q 在所有的運行模式下,未分組寄存器都指向同一個物理寄在所有的運行模式下,未分組寄存器都指向同一個物理寄存器,他們未被系統(tǒng)用作特殊的用途,因此,在中斷或異存器,他們未被系統(tǒng)用作特殊的用途,因此,在中斷或異常處理進行運行模式轉(zhuǎn)換時,由于不同的處理器運行模式常處理進行運行模式轉(zhuǎn)換時,由于不同的處理器運行模式均使用相同的物理寄存器,可能會造成寄存器中數(shù)據(jù)的破均使用相同的物理寄存器,可能會造成寄存器中數(shù)據(jù)的破壞,這一點在進行程序設(shè)計時應(yīng)引起注意。壞,這一點在進行程序設(shè)計時應(yīng)引起注意。34分組寄存器分組寄存器R8
34、R8R12R12ARM微處理器的寄存器格式微處理器的寄存器格式q 每次所訪問的物理寄存器與處理器當(dāng)前的運行模式有關(guān)每次所訪問的物理寄存器與處理器當(dāng)前的運行模式有關(guān)q R8R12:每個寄存器對應(yīng)兩個不同的物理寄存器:每個寄存器對應(yīng)兩個不同的物理寄存器 當(dāng)使用當(dāng)使用fiq模式時,訪問寄存器模式時,訪問寄存器R8_fiqR12_fiq; 當(dāng)使用除當(dāng)使用除fiq模式以外的其他模式時,訪問寄存器模式以外的其他模式時,訪問寄存器R8_usrR12_usr。35分組寄存器分組寄存器R13R13R14R14ARM微處理器的寄存器格式微處理器的寄存器格式q R13、R14:每個寄存器對應(yīng):每個寄存器對應(yīng)6個不同
35、的物理寄存器個不同的物理寄存器q 其中的一個是用戶模式與系統(tǒng)模式共用,另外其中的一個是用戶模式與系統(tǒng)模式共用,另外5個物理寄個物理寄存器對應(yīng)于其他存器對應(yīng)于其他5種不同的運行模式種不同的運行模式q 采用以下的記號來區(qū)分不同的物理寄存器:采用以下的記號來區(qū)分不同的物理寄存器: R13_ R14_q mode為以下幾種之一:為以下幾種之一:usr、fiq、irq、svc、abt、und。36堆棧指針堆棧指針R13R13ARM微處理器的寄存器格式微處理器的寄存器格式q R13在在ARM指令中常用作堆棧指針,但這只是一種習(xí)慣指令中常用作堆棧指針,但這只是一種習(xí)慣用法,用戶也可使用其他的寄存器作為用法,
36、用戶也可使用其他的寄存器作為堆棧指針堆棧指針。q 在在Thumb指令集中,某些指令強制性的要求使用指令集中,某些指令強制性的要求使用R13作作為堆棧指針。為堆棧指針。q 由于處理器的每種運行模式均有自己獨立的物理寄存器由于處理器的每種運行模式均有自己獨立的物理寄存器R13,在初始化部分,都要初始化每種模式下的,在初始化部分,都要初始化每種模式下的R13,這,這樣,當(dāng)程序的運行進入異常模式時,可以將需要保護的寄樣,當(dāng)程序的運行進入異常模式時,可以將需要保護的寄存器放入存器放入R13所指向的堆棧,而當(dāng)程序從異常模式返回時,所指向的堆棧,而當(dāng)程序從異常模式返回時,則從對應(yīng)的堆棧中恢復(fù)。則從對應(yīng)的堆棧
37、中恢復(fù)。 37子程序連接寄存器子程序連接寄存器R14R14ARM微處理器的寄存器格式微處理器的寄存器格式q R14也稱作子程序連接寄存器或也稱作子程序連接寄存器或連接寄存器連接寄存器LR。當(dāng)執(zhí)行。當(dāng)執(zhí)行BL子程序調(diào)用指令時,可以從子程序調(diào)用指令時,可以從R14中得到中得到R15(程序計數(shù)(程序計數(shù)器器PC)的備份。其他情況下,)的備份。其他情況下,R14用作通用寄存器。用作通用寄存器。q 在每一種運行模式下,都可用在每一種運行模式下,都可用R14保存子程序的返回地址,保存子程序的返回地址,當(dāng)用當(dāng)用BL或或BLX指令調(diào)用子程序時,將指令調(diào)用子程序時,將PC的當(dāng)前值拷貝給的當(dāng)前值拷貝給R14,執(zhí)行
38、完子程序后,又將,執(zhí)行完子程序后,又將R14的值拷貝回的值拷貝回PC,即可完,即可完成子程序的調(diào)用返回。成子程序的調(diào)用返回。38程序計數(shù)器程序計數(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雖然也可用作通用寄存器,但一般不這么使用,因為雖然也可用作通用寄存器,但一般不這么使用,因為對對R15R15的使用有一些特殊的限制,當(dāng)違反了這些限
39、制時,的使用有一些特殊的限制,當(dāng)違反了這些限制時,程序的執(zhí)行結(jié)果是未知的。程序的執(zhí)行結(jié)果是未知的。q 由于由于ARM體系結(jié)構(gòu)采用了多級流水線技術(shù),對于體系結(jié)構(gòu)采用了多級流水線技術(shù),對于ARM指指令集而言,令集而言,PC總是指向當(dāng)前指令的下兩條指令的地址,總是指向當(dāng)前指令的下兩條指令的地址,即即PC的值為當(dāng)前指令的地址值加的值為當(dāng)前指令的地址值加8個字節(jié)。個字節(jié)。39程序狀態(tài)寄存器程序狀態(tài)寄存器(CPSR/SPSR)(CPSR/SPSR)l寄存器寄存器R16R16用作用作CPSR(CPSR(當(dāng)前程序狀態(tài)寄存器當(dāng)前程序狀態(tài)寄存器) ),CPSRCPSR可在任何可在任何運運行模式下被訪問,它包括條件
40、標(biāo)志位、中斷禁止位、當(dāng)前行模式下被訪問,它包括條件標(biāo)志位、中斷禁止位、當(dāng)前處理器模式標(biāo)志位,以及其他一些相關(guān)的控制和狀態(tài)位。處理器模式標(biāo)志位,以及其他一些相關(guān)的控制和狀態(tài)位。q 每一種運行模式下又都有一個專用的物理狀態(tài)寄存器,稱每一種運行模式下又都有一個專用的物理狀態(tài)寄存器,稱為為SPSRSPSR(備份的程序狀態(tài)寄存器),異常發(fā)生時,(備份的程序狀態(tài)寄存器),異常發(fā)生時,SPSRSPSR用用于保存于保存CPSRCPSR的值,從異常退出時則可由的值,從異常退出時則可由SPSRSPSR來恢復(fù)來恢復(fù)CPSRCPSR。q 由于用戶模式和系統(tǒng)模式不屬于異常模式,他們沒有由于用戶模式和系統(tǒng)模式不屬于異常模
41、式,他們沒有SPSRSPSR,當(dāng)在這兩種模式下訪問當(dāng)在這兩種模式下訪問SPSRSPSR,結(jié)果是未知的。,結(jié)果是未知的。ARM微處理器的寄存器格式微處理器的寄存器格式40ARMARM技術(shù)的應(yīng)用領(lǐng)域及特點技術(shù)的應(yīng)用領(lǐng)域及特點ARM ARM 異常處理異常處理ARMARM微處理器系列微處理器系列第第2 2章章 ARMARM體系結(jié)構(gòu)及編程模型體系結(jié)構(gòu)及編程模型ARM ARM 處理器的寄存器組織處理器的寄存器組織ARMARM處理器的存儲器格式處理器的存儲器格式ARMARM處理器的工作狀態(tài)處理器的工作狀態(tài)ARMARM處理器的工作模式處理器的工作模式41異常(異常(ExceptionsExceptions)
42、l當(dāng)正常的程序執(zhí)行流程發(fā)生暫時的停止時,稱之為異當(dāng)正常的程序執(zhí)行流程發(fā)生暫時的停止時,稱之為異常,例如處理一個外部的中斷請求。在處理異常之前常,例如處理一個外部的中斷請求。在處理異常之前,當(dāng)前處理器的狀態(tài)必須保留,這樣當(dāng)異常處理完成,當(dāng)前處理器的狀態(tài)必須保留,這樣當(dāng)異常處理完成之后,當(dāng)前程序可以繼續(xù)執(zhí)行。處理器允許多個異常之后,當(dāng)前程序可以繼續(xù)執(zhí)行。處理器允許多個異常同時發(fā)生,它們將會按固定的優(yōu)先級進行處理。同時發(fā)生,它們將會按固定的優(yōu)先級進行處理。ARM異常處理異常處理q ARMARM體系結(jié)構(gòu)中的異常,與體系結(jié)構(gòu)中的異常,與8 8位位/16/16位體系結(jié)構(gòu)的中斷有很位體系結(jié)構(gòu)的中斷有很大的相
43、似之處,但異常與中斷的概念并不完全等同。大的相似之處,但異常與中斷的概念并不完全等同。 42ARMARM體系結(jié)構(gòu)所支持的異常類型體系結(jié)構(gòu)所支持的異常類型 異常類型異常類型具體含義具體含義復(fù)位復(fù)位復(fù)位電平有效時,產(chǎn)生復(fù)位異常,程序跳轉(zhuǎn)到復(fù)位處理復(fù)位電平有效時,產(chǎn)生復(fù)位異常,程序跳轉(zhuǎn)到復(fù)位處理程序處執(zhí)行。程序處執(zhí)行。未定義指令未定義指令遇到不能處理的指令時,產(chǎn)生未定義指令異常。遇到不能處理的指令時,產(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)前指令訪問,產(chǎn)生指令預(yù)取中止異常。令訪問,產(chǎn)生指令預(yù)取中止異常。數(shù)據(jù)中止數(shù)據(jù)中止處理器數(shù)據(jù)訪問指令的地址不存在,或該地址不允許當(dāng)處理器數(shù)據(jù)訪問指令的地址不存在,或該地址不允許當(dāng)前指令訪問時,產(chǎn)生數(shù)據(jù)中止異常。前指令訪問時,產(chǎn)生數(shù)據(jù)中止異常。IRQ外部中斷請求有效,且外部中斷請求有效,且CPSR中的中的I位為位為0時,產(chǎn)生時,產(chǎn)生IRQ異常。異常。FIQ快速中斷請求引腳有效,且快速中斷請求引腳有效,且CPSR中的中的F位為位為0時,產(chǎn)生時,產(chǎn)生FIQ異常。異常。ARM異常處理異常處理43對異常的響應(yīng)對異常的響應(yīng) ARM異常處理異常處理q
45、 當(dāng)一個異常出現(xiàn)以后,當(dāng)一個異常出現(xiàn)以后,ARMARM微處理器會執(zhí)行以下幾步操作微處理器會執(zhí)行以下幾步操作 將下一條指令的地址存入相應(yīng)連接寄存器將下一條指令的地址存入相應(yīng)連接寄存器LR,以便程序,以便程序在處理異常返回時能從正確的位置重新開始執(zhí)行。在處理異常返回時能從正確的位置重新開始執(zhí)行。 將將CPSR復(fù)制到相應(yīng)的復(fù)制到相應(yīng)的SPSR中。中。 根據(jù)異常類型,強制設(shè)置根據(jù)異常類型,強制設(shè)置CPSR的運行模式位的運行模式位。 強制強制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時,時,處理器自動切換到處理器自動切換到ARMARM狀態(tài)。狀態(tài)。ARMARM微處理器對異常的響應(yīng)過微處理器對異常的響應(yīng)過程用偽碼可以描述為:程用偽碼可以描述為:在ARM狀態(tài)下執(zhí)行禁止快速中斷禁止正常中斷轉(zhuǎn)入異常入口地址45從從異常異常返回返回ARM異常處理異常處理q 異常處理完畢之后,異常處理完畢之后,ARMARM微處理器會執(zhí)行以下幾步操作從微處理器會執(zhí)行以下幾步操作從異常返回:異常返回: 將連接寄存器將連接寄存器LR的值減去相應(yīng)的偏移量后送到的值減去相應(yīng)的偏移量后送到PC中。中。 將將SPSR
48、復(fù)制回復(fù)制回CPSR中。中。 若在進入異常處理時設(shè)置了中斷禁止位,要在此清除。若在進入異常處理時設(shè)置了中斷禁止位,要在此清除。 可以認(rèn)為應(yīng)用程序總是從復(fù)位異常處理程序開始執(zhí)行的,可以認(rèn)為應(yīng)用程序總是從復(fù)位異常處理程序開始執(zhí)行的,因此復(fù)位異常處理程序不需要返回。因此復(fù)位異常處理程序不需要返回。46FIQFIQ(Fast Interrupt RequestFast Interrupt Request)lFIQFIQ異常是為了支持?jǐn)?shù)據(jù)傳輸或者通道處理而設(shè)計的。異常是為了支持?jǐn)?shù)據(jù)傳輸或者通道處理而設(shè)計的。ARM異常處理異常處理q 若將若將CPSRCPSR的的F F位置為位置為1 1,則會禁止,則會禁止
49、FIQFIQ中斷,若將中斷,若將CPSRCPSR的的F F位位清零,處理器會在指令執(zhí)行時檢查清零,處理器會在指令執(zhí)行時檢查FIQFIQ的輸入。注意只有的輸入。注意只有在特權(quán)模式下才能改變在特權(quán)模式下才能改變F F位的狀態(tài)。位的狀態(tài)。 q 可由外部通過對處理器上的可由外部通過對處理器上的nFIQnFIQ引腳輸入低電平產(chǎn)生引腳輸入低電平產(chǎn)生FIQFIQ。不管是在不管是在ARMARM狀態(tài)還是在狀態(tài)還是在ThumbThumb狀態(tài)下進入狀態(tài)下進入FIQFIQ模式,模式,F(xiàn)IQFIQ處處理程序均可以執(zhí)行以下指令從理程序均可以執(zhí)行以下指令從FIQFIQ模式返回:模式返回:SUBS PC,R14_fiq ,#
50、4SUBS PC,R14_fiq ,#447IRQ(Interrupt Request) lIRQIRQ異常屬于正常的中斷請求,可通過對處理器的異常屬于正常的中斷請求,可通過對處理器的nIRQnIRQ引腳輸入低電平產(chǎn)生,引腳輸入低電平產(chǎn)生,IRQIRQ的優(yōu)先級低于的優(yōu)先級低于FIQFIQ,當(dāng)程序,當(dāng)程序執(zhí)行進入執(zhí)行進入FIQFIQ異常時,異常時,IRQIRQ可能被屏蔽??赡鼙黄帘?。ARM異常處理異常處理q 若將若將CPSRCPSR的的I I位置為位置為1 1,則會禁止,則會禁止IRQIRQ中斷,若將中斷,若將CPSRCPSR的的I I位位清零,處理器會在指令執(zhí)行完之前檢查清零,處理器會在指令執(zhí)
51、行完之前檢查IRQIRQ的輸入。注意的輸入。注意只有在特權(quán)模式下才能改變只有在特權(quán)模式下才能改變I I位的狀態(tài)。位的狀態(tài)。q 不管是在不管是在ARMARM狀態(tài)還是在狀態(tài)還是在ThumbThumb狀態(tài)下進入狀態(tài)下進入IRQIRQ模式,模式,IRQIRQ處處理程序均可以執(zhí)行以下指令從理程序均可以執(zhí)行以下指令從IRQIRQ模式返回:模式返回:SUBS PC , R14_irq , #4 ; PC=SUBS PC , R14_irq , #4 ; PC=R14_irq-448ABORT(中止)(中止) l產(chǎn)生中止異常意味著對存儲器的訪問失敗。產(chǎn)生中止異常意味著對存儲器的訪問失敗。ARMARM微處理器微
52、處理器在存儲器訪問周期內(nèi)檢查是否發(fā)生中止異常。在存儲器訪問周期內(nèi)檢查是否發(fā)生中止異常。ARM異常處理異常處理q 中止異常包括兩種類型:中止異常包括兩種類型: 指令指令預(yù)取中止:發(fā)生在指令預(yù)取時。預(yù)取中止:發(fā)生在指令預(yù)取時。 數(shù)據(jù)中止:發(fā)生在數(shù)據(jù)訪問時。數(shù)據(jù)中止:發(fā)生在數(shù)據(jù)訪問時。q 若數(shù)據(jù)中止發(fā)生,系統(tǒng)的響應(yīng)與指令的類型有關(guān)。若數(shù)據(jù)中止發(fā)生,系統(tǒng)的響應(yīng)與指令的類型有關(guān)。q 當(dāng)確定了中止的原因后,當(dāng)確定了中止的原因后,AbortAbort處理程序均可以執(zhí)行以下指令處理程序均可以執(zhí)行以下指令從中止模式返回,無論是在從中止模式返回,無論是在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)用于進入管理模式,常用于請求執(zhí)行)用于進入管理模式,常用于請求執(zhí)行特定的管理功能。軟件中斷處理程序執(zhí)行以下指令可以從特定的管理功能。軟件中斷處理程序執(zhí)行以下指令可以從SWISWI模式返回,無論是在模式返回,無論是在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處理器遇到不能處理的指令時,會產(chǎn)生未定義指令處理器遇到不能處理的指令時,會產(chǎn)生未定義指令異常。采用這種機制,可以通過軟件仿真擴展異常。采用這種機制,可以通過軟件仿真擴展ARMARM或或ThumbThumb指指令集。令集。q處理器執(zhí)行以下程序返
55、回,無論是在處理器執(zhí)行以下程序返回,無論是在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) 地地 址址異異 常常進入模式進入模式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)先級(異常優(yōu)先
57、級(Exception PrioritiesException Priorities) 優(yōu)先級優(yōu)先級異異 常常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)運行時,異??赡軙S時發(fā)生,為保證在當(dāng)系統(tǒng)運行時,異??赡軙S時發(fā)生,為保證在ARMARM處理器處理器發(fā)生異常時不至于處于未知狀態(tài),在應(yīng)用程序的設(shè)計中,發(fā)生異常時不至于處于未知狀態(tài),在應(yīng)用程序的設(shè)計中,首先要進行異常處理,采用的方式是在異
58、常向量表中的特首先要進行異常處理,采用的方式是在異常向量表中的特定位置放置一條跳轉(zhuǎn)指令,跳轉(zhuǎn)到異常處理程序,當(dāng)定位置放置一條跳轉(zhuǎn)指令,跳轉(zhuǎn)到異常處理程序,當(dāng)ARMARM處處理器發(fā)生異常時,程序計數(shù)器理器發(fā)生異常時,程序計數(shù)器PCPC會被強制設(shè)置為對應(yīng)的異會被強制設(shè)置為對應(yīng)的異常向量,從而跳轉(zhuǎn)到異常處理程序,當(dāng)異常處理完成以后常向量,從而跳轉(zhuǎn)到異常處理程序,當(dāng)異常處理完成以后,返回到主程序繼續(xù)執(zhí)行。,返回到主程序繼續(xù)執(zhí)行。 l我們需要處理所有的異常,盡管我們可以簡單的在某些異我們需要處理所有的異常,盡管我們可以簡單的在某些異常處理程序處放置死循環(huán)。常處理程序處放置死循環(huán)。ARM異常處理異常處理5
59、4ARMARM技術(shù)的應(yīng)用領(lǐng)域及特點技術(shù)的應(yīng)用領(lǐng)域及特點ARM ARM 處理器的寄存器組織處理器的寄存器組織ARMARM處理器的工作模式處理器的工作模式ARMARM微處理器系列微處理器系列第第2 2章章 ARMARM體系結(jié)構(gòu)及編程模型體系結(jié)構(gòu)及編程模型ARM ARM 異常處理異常處理ARMARM處理器的工作狀態(tài)處理器的工作狀態(tài)ARMARM處理器的存儲器格式處理器的存儲器格式55ARMARM微處理器的存儲器格式微處理器的存儲器格式 q ARMARM體系結(jié)構(gòu)所支持的最大尋址空間為體系結(jié)構(gòu)所支持的最大尋址空間為4GB4GB(2 23232字節(jié))字節(jié))ARM微處理器的存儲器格式q ARMARM體系結(jié)構(gòu)將
60、存儲器看作是從零地址開始的字節(jié)的線體系結(jié)構(gòu)將存儲器看作是從零地址開始的字節(jié)的線性組合。從零字節(jié)到三字節(jié)放置第一個存儲的字?jǐn)?shù)據(jù),性組合。從零字節(jié)到三字節(jié)放置第一個存儲的字?jǐn)?shù)據(jù),從第四個字節(jié)到第七個字節(jié)放置第二個存儲的字?jǐn)?shù)據(jù),從第四個字節(jié)到第七個字節(jié)放置第二個存儲的字?jǐn)?shù)據(jù),依次排列。依次排列。q ARMARM體系結(jié)構(gòu)可以用兩種方法存儲字?jǐn)?shù)據(jù),稱之為大端體系結(jié)構(gòu)可以用兩種方法存儲字?jǐn)?shù)據(jù),稱之為大端格式和小端格式格式和小端格式 56ARMARM體系結(jié)構(gòu)的存儲器格式體系結(jié)構(gòu)的存儲器格式大端格式大端格式 ARM微處理器的存儲器格式微處理器的存儲器格式q 在這種格式中,字?jǐn)?shù)據(jù)的高字節(jié)存儲在低地址中,而字在這
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 分公司合規(guī)聯(lián)系人工作實務(wù)講解
- 2.1《立在地球邊上放號》課件 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊
- 河南省八市重點高中2025屆高三第五次模擬考試英語試卷含解析
- 北師大長春附屬學(xué)校2025屆高考沖刺模擬數(shù)學(xué)試題含解析
- 甘肅省嘉峪關(guān)市2025屆高三第六次模擬考試英語試卷含解析
- 遼寧省清原中學(xué)2025屆高三第一次調(diào)研測試英語試卷含解析
- 四川省仁壽縣城北教學(xué)點2025屆高三第四次模擬考試數(shù)學(xué)試卷含解析
- 2025屆黑龍江省鶴崗市工農(nóng)區(qū)第一中學(xué)高三考前熱身英語試卷含解析
- 四川雙流棠湖中學(xué)2025屆高考語文必刷試卷含解析
- 江蘇省丹陽市丹陽高級中學(xué)2025屆高三第一次調(diào)研測試數(shù)學(xué)試卷含解析
- 中醫(yī)五則診斷法在臨床中的應(yīng)用與誤區(qū)
- 《初中語文教學(xué)中的跨學(xué)科融合與創(chuàng)新實踐》
- 《金子美玲兒童詩》課件
- 《立體主義》課件
- 甌北城市新區(qū)污水管網(wǎng)修復(fù)工程質(zhì)量評估報告(樣表)
- 四川省宜賓市翠屏區(qū)2023-2024學(xué)年八年級上學(xué)期期末考試英語試題
- (完整版)A4作文格紙可直接打印使用
- 四川省涼山州2023-2024學(xué)年七年級上學(xué)期期末檢測歷史試卷
- 建立網(wǎng)絡(luò)安全咨詢和支持團隊
- (人教版新目標(biāo))八年級英語上冊全冊各單元知識點期末總復(fù)習(xí)講解教學(xué)課件
- 無障礙醫(yī)用電梯人性化改造
評論
0/150
提交評論