第三章下ARM體系結(jié)構(gòu)及編程模型ppt課件_第1頁
第三章下ARM體系結(jié)構(gòu)及編程模型ppt課件_第2頁
第三章下ARM體系結(jié)構(gòu)及編程模型ppt課件_第3頁
第三章下ARM體系結(jié)構(gòu)及編程模型ppt課件_第4頁
第三章下ARM體系結(jié)構(gòu)及編程模型ppt課件_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、提綱ARM技術(shù)的運用領(lǐng)域及特點ARM 處置器的存放器組織ARM處置器的任務(wù)方式ARM微處置器系列第三章 ARM體系構(gòu)造及編程模型ARM 異常處置ARM處置器的任務(wù)形狀A(yù)RM處置器的存儲器格式ARMAdvanced RISC Machines qARMAdvanced RISC Machines,既可以以為是,既可以以為是一個公司的名字,也可以以為是對一類微處置器的通稱,一個公司的名字,也可以以為是對一類微處置器的通稱,還可以以為是一種技術(shù)的名字。還可以以為是一種技術(shù)的名字。ARM技術(shù)的運用領(lǐng)域及特點q1991年年ARM公司成立于英國劍橋,主要出賣芯片設(shè)公司成立于英國劍橋,主要出賣芯片設(shè)計技術(shù)的

2、授權(quán)。計技術(shù)的授權(quán)。ARM 公司的Chip less方式q世界各大半導(dǎo)體消費商從世界各大半導(dǎo)體消費商從ARMARM公司購買其設(shè)計的公司購買其設(shè)計的ARMARM微處微處置器核,根據(jù)各自不同的運用領(lǐng)域,參與適當?shù)耐鈬娐?,置器核,根?jù)各自不同的運用領(lǐng)域,參與適當?shù)耐鈬娐?,從而?gòu)本錢人的從而構(gòu)本錢人的ARMARM微處置器芯片進入市場。微處置器芯片進入市場。ARM技術(shù)的運用領(lǐng)域及特點q基于基于ARMARM技術(shù)的微處置器運用約占據(jù)了技術(shù)的微處置器運用約占據(jù)了3232位位RISCRISC微處微處 理器理器7575以上的市場份額,以上的市場份額,ARMARM技術(shù)正在逐漸滲入到我們生技術(shù)正在逐漸滲入到我們生

3、活的各個方面?;畹母鱾€方面。q我國的中興集成電路、大唐電訊、中芯國際和上海華虹,我國的中興集成電路、大唐電訊、中芯國際和上海華虹,以及國外的一些公司如德州儀器、意法半導(dǎo)體、以及國外的一些公司如德州儀器、意法半導(dǎo)體、PhilipsPhilips、IntelIntel、SamsungSamsung等都推出了本人設(shè)計的基于等都推出了本人設(shè)計的基于ARMARM核的處置器。核的處置器。ARM微處置器的運用領(lǐng)域 工業(yè)控制領(lǐng)域:作為工業(yè)控制領(lǐng)域:作為32的的RISC架構(gòu),基于架構(gòu),基于ARM核核的微控制器芯片不但占據(jù)了高端微控制器市場的大的微控制器芯片不但占據(jù)了高端微控制器市場的大部分市場份額,同時也逐漸向

4、低端微控制器運用領(lǐng)部分市場份額,同時也逐漸向低端微控制器運用領(lǐng)域擴展,域擴展,ARM微控制器的低功耗、高性價比,向微控制器的低功耗、高性價比,向傳統(tǒng)的傳統(tǒng)的8位位/16位微控制器提出了挑戰(zhàn)。位微控制器提出了挑戰(zhàn)。ARM技術(shù)的運用領(lǐng)域及特點q到目前為止,到目前為止,ARM微處置器及技術(shù)的運用曾經(jīng)廣泛深微處置器及技術(shù)的運用曾經(jīng)廣泛深化到國民經(jīng)濟的各個領(lǐng)域化到國民經(jīng)濟的各個領(lǐng)域ARM微處置器的運用領(lǐng)域ARM技術(shù)的運用領(lǐng)域及特點q網(wǎng)絡(luò)運用:隨著寬帶技術(shù)的推行,采用網(wǎng)絡(luò)運用:隨著寬帶技術(shù)的推行,采用ARM技術(shù)的技術(shù)的ADSL芯片正逐漸獲得競爭優(yōu)勢。此外,芯片正逐漸獲得競爭優(yōu)勢。此外,ARM在語音及視頻在

5、語音及視頻處置上行了優(yōu)化,并獲得廣泛支持,也對處置上行了優(yōu)化,并獲得廣泛支持,也對DSP的運用領(lǐng)域提的運用領(lǐng)域提出了挑戰(zhàn)。出了挑戰(zhàn)。q消費類電子產(chǎn)品:消費類電子產(chǎn)品:ARM技術(shù)在目前流行的數(shù)字音頻播技術(shù)在目前流行的數(shù)字音頻播放器、數(shù)字機頂盒和游戲機中得到廣泛采用。放器、數(shù)字機頂盒和游戲機中得到廣泛采用。q成像和平安產(chǎn)品:如今流行的數(shù)碼相機和打印機中絕大成像和平安產(chǎn)品:如今流行的數(shù)碼相機和打印機中絕大部分采用部分采用ARM技術(shù)。手機中的技術(shù)。手機中的32位位SIM智能卡也采用了智能卡也采用了ARM技術(shù)。技術(shù)。qARM微處置器的特點低功耗、低本錢、高性能采用RISC指令集ARM技術(shù)的運用領(lǐng)域及特點

6、q低功耗、低本錢、高性能低功耗、低本錢、高性能運用大量的存放器ARM/THUMB指令支持三/五級流水線ARM微處置器的特點采用RISC體系構(gòu)造ARM技術(shù)的運用領(lǐng)域及特點q采用采用RISC架構(gòu)的架構(gòu)的ARM處置器普通具有如下特點:處置器普通具有如下特點:固定長度的指令格式,指令歸整、簡單、基固定長度的指令格式,指令歸整、簡單、基 本尋本尋址方式有址方式有23種;種;運用單周期指令,便于流水線操作執(zhí)行;運用單周期指令,便于流水線操作執(zhí)行;大量運用存放器,數(shù)據(jù)處置指令只對存放器進展大量運用存放器,數(shù)據(jù)處置指令只對存放器進展操作,只需加載操作,只需加載/存儲指令可以訪問存儲器,以提高指存儲指令可以訪問

7、存儲器,以提高指令的執(zhí)行效率。令的執(zhí)行效率。ARM微處置器的特點大量運用存放器ARM技術(shù)的運用領(lǐng)域及特點qARM 處置器共有處置器共有37個存放器,被分為假設(shè)干個組,這個存放器,被分為假設(shè)干個組,這些存放器包括:些存放器包括:31個通用存放器,包括程序計數(shù)器個通用存放器,包括程序計數(shù)器PC 指針,指針,均為均為32位的存放器;位的存放器;6個形狀存放器,用以標識個形狀存放器,用以標識CPU的任務(wù)形狀及程的任務(wù)形狀及程序的運轉(zhuǎn)形狀,均為序的運轉(zhuǎn)形狀,均為32位。位。ARM微處置器的特點高效的指令系統(tǒng)ARM技術(shù)的運用領(lǐng)域及特點qARM微處置器支持兩種指令集:微處置器支持兩種指令集:ARM指令集和指

8、令集和Thumb指令集。指令集。qARM指令為指令為32位的長度,位的長度,Thumb指令為指令為16位長度。位長度。Thumb指令集為指令集為ARM指令集的功能子集,但與等價的指令集的功能子集,但與等價的ARM代碼相比較,可節(jié)省代碼相比較,可節(jié)省3040以上的存儲空間,同時具備以上的存儲空間,同時具備32位代碼的一切優(yōu)點。位代碼的一切優(yōu)點。ARM微處置器的特點其他技術(shù)ARM技術(shù)的運用領(lǐng)域及特點q除此以外,除此以外,ARM體系構(gòu)造還采用了一些特別的技術(shù),體系構(gòu)造還采用了一些特別的技術(shù),在保證高性能的前提下盡量減少芯片的面積,并降低功耗:在保證高性能的前提下盡量減少芯片的面積,并降低功耗:q一切

9、的指令都可根據(jù)前面的執(zhí)行結(jié)果斷定能否被執(zhí)行,一切的指令都可根據(jù)前面的執(zhí)行結(jié)果斷定能否被執(zhí)行,從而提高指令的執(zhí)行效率。從而提高指令的執(zhí)行效率。q可用加載可用加載/存儲指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸存儲指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率。效率。q可在一條數(shù)據(jù)處置指令中同時完成邏輯處置和移位處置。可在一條數(shù)據(jù)處置指令中同時完成邏輯處置和移位處置。q在循環(huán)處置中運用地址的自動增減來提高運轉(zhuǎn)效率。在循環(huán)處置中運用地址的自動增減來提高運轉(zhuǎn)效率。ARM微處置器系列 ARM微處置器系列qARM7系列系列qARM9系列系列qARM9E系列系列qARM10E系列系列qSecurCore系列系列qIntel

10、的的Xscaleq其中,其中,ARM7、ARM9、ARM9E和和ARM10為為4個通用個通用途置器系列,每一個系列提供一套相對獨特的性能來滿足不途置器系列,每一個系列提供一套相對獨特的性能來滿足不同運用領(lǐng)域的需求。同運用領(lǐng)域的需求。SecurCore系列專門為平安要求較高的系列專門為平安要求較高的運用而設(shè)計。運用而設(shè)計。 ARM7微處置器系列 qARM7系列是為低功耗的系列是為低功耗的32位位RISC處置器,最適宜用處置器,最適宜用于對價位和功耗要求較高的消費類運用。于對價位和功耗要求較高的消費類運用。ARM7系列有如下系列有如下特點:特點:具有嵌入式具有嵌入式ICERT邏輯,調(diào)試開發(fā)方便;邏

11、輯,調(diào)試開發(fā)方便;極低的功耗,適宜對功耗要求較高的運用,如便攜式產(chǎn)品;極低的功耗,適宜對功耗要求較高的運用,如便攜式產(chǎn)品;可以提供可以提供0.9MIPS/MHz的三級流水線構(gòu)造;的三級流水線構(gòu)造;代碼密度高,并兼容代碼密度高,并兼容16位的位的Thumb指令集;指令集;對操作系統(tǒng)的支持廣泛,如對操作系統(tǒng)的支持廣泛,如Windows CE、Linux、Palm OS等;等;指令系統(tǒng)與指令系統(tǒng)與ARM9系列、系列、ARM9E系列和系列和ARM10E系列兼容,系列兼容,便于用戶的產(chǎn)品晉級換代;便于用戶的產(chǎn)品晉級換代;主頻最高可達主頻最高可達130M,高速的運算處置才干能勝任絕大多數(shù)的,高速的運算處置

12、才干能勝任絕大多數(shù)的復(fù)雜運用。復(fù)雜運用。ARM微處置器系列ARM7微處置器系列ARM微處置器系列q主要運用領(lǐng)域:工業(yè)控制、主要運用領(lǐng)域:工業(yè)控制、Internet設(shè)備、網(wǎng)絡(luò)和調(diào)制設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備、挪動等多種多媒體和嵌入式運用。解調(diào)器設(shè)備、挪動等多種多媒體和嵌入式運用。qARM7系列微處置器包括如下幾種類型的核:系列微處置器包括如下幾種類型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其。其中,中,ARM7TMDI是目前運用最廣泛的是目前運用最廣泛的32位嵌入式位嵌入式RISC處置處置器,屬低端器,屬低端ARM處置器核。處置器核。TDMI的根本含義為:的根

13、本含義為:qT:支持:支持16為緊縮指令集為緊縮指令集Thumb;qD:支持片上:支持片上Debug;qM:內(nèi)嵌硬件乘法器:內(nèi)嵌硬件乘法器MultiplierqI:嵌入式:嵌入式ICE,支持片上斷點和調(diào)試點;,支持片上斷點和調(diào)試點;ARM9微處置器系列 ARM微處置器系列qARM9系列微處置器在高性能和低功耗特性方面提供最系列微處置器在高性能和低功耗特性方面提供最正確的表現(xiàn)。具有以下特點:正確的表現(xiàn)。具有以下特點:5級整數(shù)流水線,指令執(zhí)行效率更高。級整數(shù)流水線,指令執(zhí)行效率更高。提供提供1.1MIPS/MHz的哈佛構(gòu)造。的哈佛構(gòu)造。支持支持32位位ARM指令集和指令集和16位位Thumb指令集

14、。指令集。支持支持32位的高速位的高速AMBA總線接口??偩€接口。全性能的全性能的MMU,支持,支持Windows CE、Linux、Palm OS等多種等多種主流嵌入式操作系統(tǒng)。主流嵌入式操作系統(tǒng)。MPU支持實時操作系統(tǒng)。支持實時操作系統(tǒng)。支持數(shù)據(jù)支持數(shù)據(jù)Cache和指令和指令Cache,具有更高的指令和數(shù)據(jù)處置才干。,具有更高的指令和數(shù)據(jù)處置才干。ARM9微處置器系列qARM9ARM9系列微處置器主要運用于無線設(shè)備、儀器儀表、系列微處置器主要運用于無線設(shè)備、儀器儀表、平安系統(tǒng)、機頂盒、高端打印機、數(shù)字照相機和數(shù)字攝平安系統(tǒng)、機頂盒、高端打印機、數(shù)字照相機和數(shù)字攝像機等。像機等。ARM微處置

15、器系列qARM9ARM9系列微處置器包含系列微處置器包含ARM920TARM920T、ARM922TARM922T和和ARM940TARM940T三三種類型,以適用于不同的運用場所。種類型,以適用于不同的運用場所。ARM9E微處置器系列 ARM微處置器系列qARM9EARM9E系列微處置器的主要特點如下:系列微處置器的主要特點如下:支持支持DSP指令集,適宜于需求高速數(shù)字信號處置的場所。指令集,適宜于需求高速數(shù)字信號處置的場所。5級整數(shù)流水線,指令執(zhí)行效率更高。級整數(shù)流水線,指令執(zhí)行效率更高。支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。支持支持32位的高速位的高速A

16、MBA總線接口??偩€接口。支持支持VFP9浮點處置協(xié)處置器。浮點處置協(xié)處置器。全性能的全性能的MMU,支持眾多主流嵌入式操作系統(tǒng)。,支持眾多主流嵌入式操作系統(tǒng)。支持數(shù)據(jù)支持數(shù)據(jù)Cache和指令和指令Cache,具有更高的處置才干。,具有更高的處置才干。主頻最高可達主頻最高可達300M。ARM9E微處置器系列qARM9EARM9E系列微處置器主要運用于下一代無線設(shè)備、數(shù)字系列微處置器主要運用于下一代無線設(shè)備、數(shù)字消費品、成像設(shè)備、工業(yè)控制、存儲設(shè)備和網(wǎng)絡(luò)設(shè)備消費品、成像設(shè)備、工業(yè)控制、存儲設(shè)備和網(wǎng)絡(luò)設(shè)備等領(lǐng)域。等領(lǐng)域。ARM微處置器系列qARM9EARM9E系列微處置器包含系列微處置器包含ARM

17、926EJ-SARM926EJ-S、ARM946E-SARM946E-S和和ARM966E-SARM966E-S三種類型,以適用于不同的運用場所。三種類型,以適用于不同的運用場所。ARM10E微處置器系列 ARM微處置器系列qARM10EARM10E系列微處置器的主要特點如下:系列微處置器的主要特點如下:支持支持DSP指令集,適宜于需求高速數(shù)字信號處置的場所。指令集,適宜于需求高速數(shù)字信號處置的場所。6級整數(shù)流水線,指令執(zhí)行效率更高。級整數(shù)流水線,指令執(zhí)行效率更高。支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。支持支持32位的高速位的高速AMBA總線接口??偩€接口。支

18、持支持VFP10浮點處置協(xié)處置器。浮點處置協(xié)處置器。全性能的全性能的MMU,支持眾多主流嵌入式操作系統(tǒng)。,支持眾多主流嵌入式操作系統(tǒng)。支持數(shù)據(jù)支持數(shù)據(jù)Cache和指令和指令Cache,具有更高的處置才干,具有更高的處置才干主頻最高可達主頻最高可達400M。內(nèi)嵌并行讀內(nèi)嵌并行讀/寫操作部件。寫操作部件。ARM10E微處置器系列qARM10EARM10E系列微處置器主要運用于下一代無線設(shè)備、數(shù)系列微處置器主要運用于下一代無線設(shè)備、數(shù)字消費品、成像設(shè)備、工業(yè)控制、通訊和信息系統(tǒng)等領(lǐng)字消費品、成像設(shè)備、工業(yè)控制、通訊和信息系統(tǒng)等領(lǐng)域。域。ARM微處置器系列qARM10EARM10E系列微處置器包含系列

19、微處置器包含ARM1020EARM1020E、ARM1022EARM1022E和和ARM1026EJ-SARM1026EJ-S三種類型,以適用于不同的運用場所。三種類型,以適用于不同的運用場所。SecurCore微處置器系列 ARM微處置器系列qSecurCoreSecurCore系列微處置器除了具有系列微處置器除了具有ARMARM體系構(gòu)造各種主體系構(gòu)造各種主要特點外,還在系統(tǒng)平安方面具有如下的特點:要特點外,還在系統(tǒng)平安方面具有如下的特點:帶有靈敏的維護單元,確保操作系統(tǒng)和運用數(shù)據(jù)的平安。帶有靈敏的維護單元,確保操作系統(tǒng)和運用數(shù)據(jù)的平安。采用軟內(nèi)核技術(shù),防止外部對其進展掃描探測。采用軟內(nèi)核技

20、術(shù),防止外部對其進展掃描探測??杉捎脩舯救说钠桨蔡匦院推渌麉f(xié)處置器。可集成用戶本人的平安特性和其他協(xié)處置器。SecurCore微處置器系列q SecurCoreSecurCore系列微處置器主要運用于一些對平安性要求系列微處置器主要運用于一些對平安性要求較高的運用產(chǎn)品及運用系統(tǒng),如電子商務(wù)、電子政務(wù)、較高的運用產(chǎn)品及運用系統(tǒng),如電子商務(wù)、電子政務(wù)、電子銀行業(yè)務(wù)、網(wǎng)絡(luò)和認證系統(tǒng)等領(lǐng)域。電子銀行業(yè)務(wù)、網(wǎng)絡(luò)和認證系統(tǒng)等領(lǐng)域。ARM微處置器系列q SecurCoreSecurCore系列微處置器包含系列微處置器包含SecurCore SC100SecurCore SC100、SecurCore SC

21、110SecurCore SC110、SecurCore SC200SecurCore SC200和和SecurCore SecurCore SC210SC210四種類型,以適用于不同的運用場所。四種類型,以適用于不同的運用場所。StrongARM微處置器系列 ARM微處置器系列qIntel StrongARM處置器是便攜式通訊產(chǎn)品和消費類電子處置器是便攜式通訊產(chǎn)品和消費類電子產(chǎn)品的理想選擇,已勝利運用于多家公司的掌上電腦系產(chǎn)品的理想選擇,已勝利運用于多家公司的掌上電腦系列產(chǎn)品。列產(chǎn)品。qIntel StrongARM SA-1100Intel StrongARM SA-1100處置器是采用處

22、置器是采用ARMARM體系構(gòu)造高體系構(gòu)造高度集成的度集成的3232位位RISCRISC微處置器。它交融了微處置器。它交融了IntelIntel公司的設(shè)計公司的設(shè)計和處置技術(shù)以及和處置技術(shù)以及ARMARM體系構(gòu)造的電源效率,采用在軟件上體系構(gòu)造的電源效率,采用在軟件上兼容兼容ARMv4ARMv4體系構(gòu)造、同時采器具有體系構(gòu)造、同時采器具有IntelIntel技術(shù)優(yōu)點的體技術(shù)優(yōu)點的體系構(gòu)造。系構(gòu)造。Xscale處置器 ARM微處置器系列qXscale Xscale 處置器是基于處置器是基于ARMv5TEARMv5TE體系構(gòu)造的處理方案,是體系構(gòu)造的處理方案,是一款全性能、高性價比、低功耗的處置器。

23、它支持一款全性能、高性價比、低功耗的處置器。它支持1616位位的的ThumbThumb指令和指令和DSPDSP指令集,已運用在數(shù)字挪動、個人數(shù)指令集,已運用在數(shù)字挪動、個人數(shù)字助理和網(wǎng)絡(luò)產(chǎn)品等場所。字助理和網(wǎng)絡(luò)產(chǎn)品等場所。qXscale Xscale 處置器是處置器是IntelIntel目前主要推行的一款目前主要推行的一款A(yù)RMARM微處置器。微處置器。ARM微處置器的任務(wù)形狀 ARM微處置器的任務(wù)形狀q從編程的角度看,從編程的角度看,ARMARM微處置器的任務(wù)形狀普通有兩種,微處置器的任務(wù)形狀普通有兩種,并可在兩種形狀之間切換:并可在兩種形狀之間切換:ARM形狀,此時處置器執(zhí)行形狀,此時處置

24、器執(zhí)行32位的字對齊的位的字對齊的ARM指令;指令;Thumb形狀,此時處置器執(zhí)行形狀,此時處置器執(zhí)行16位的、半字對齊的位的、半字對齊的Thumb指令。指令。 ARM與THUMBq THUMB指令是ARM指令的子集ARM微處置器的任務(wù)形狀q 可以相互調(diào)用,只需遵照一定的調(diào)用規(guī)那么q Thumb指令與ARM指令的時間效率和空間效率關(guān)系為: 存儲空間約為ARM代碼的6070 指令數(shù)比ARM代碼多約3040 存儲器為32位時ARM代碼比Thumb代碼快約40 存儲器為16位時Thumb比ARM代碼快約4050 運用Thumb代碼,存儲器的功耗會降低約30形狀切換方法 q ARMARM指令集和指令集

25、和ThumbThumb指令集均有切換處置器形狀的指令,指令集均有切換處置器形狀的指令,并可在兩種任務(wù)形狀之間切換,并可在兩種任務(wù)形狀之間切換,ARM微處置器的任務(wù)形狀q 在開場執(zhí)行代碼時,應(yīng)該處于在開場執(zhí)行代碼時,應(yīng)該處于ARMARM形狀。形狀。進入進入ThumbThumb形狀形狀q 當操作數(shù)存放器的形狀位位當操作數(shù)存放器的形狀位位0 0為為1 1時,可以采用執(zhí)時,可以采用執(zhí)行行BXBX指令的方法,使微處置器從指令的方法,使微處置器從ARMARM形狀切換到形狀切換到ThumbThumb形狀。形狀。q 當處置器處于當處置器處于ThumbThumb形狀時發(fā)生異常如形狀時發(fā)生異常如IRQIRQ、FI

26、QFIQ、UndefUndef、AbortAbort、SWISWI等,那么異常處置前往時,自動等,那么異常處置前往時,自動切換到切換到ThumbThumb形狀。形狀。ARM微處置器的任務(wù)形狀切換到切換到ARMARM形狀形狀q 當操作數(shù)存放器的形狀位為當操作數(shù)存放器的形狀位為0 0時,執(zhí)行時,執(zhí)行BXBX指令時可以使指令時可以使微處置器從微處置器從ThumbThumb形狀切換到形狀切換到ARMARM形狀。形狀。ARM微處置器的任務(wù)形狀q 在處置器進展異常處置時,把在處置器進展異常處置時,把PCPC指針放入異常方式鏈指針放入異常方式鏈接存放器中,并從異常向量地址開場執(zhí)行程序,也可接存放器中,并從異

27、常向量地址開場執(zhí)行程序,也可以使處置器切換到以使處置器切換到ARMARM形狀。形狀。處置器方式ARM微處置器的任務(wù)方式q usrusr:ARMARM處置器正常的程序執(zhí)行形狀處置器正常的程序執(zhí)行形狀q fiqfiq:用于高速數(shù)據(jù)傳輸或通道處置:用于高速數(shù)據(jù)傳輸或通道處置q irqirq:用于通用的中斷處置:用于通用的中斷處置q svcsvc:操作系統(tǒng)運用的維護方式:操作系統(tǒng)運用的維護方式q abtabt:用于虛擬存儲及存儲維護:用于虛擬存儲及存儲維護q syssys:運轉(zhuǎn)具有特權(quán)的操作系統(tǒng)義務(wù):運轉(zhuǎn)具有特權(quán)的操作系統(tǒng)義務(wù)q undund:當出現(xiàn)未定義指令終止時進入該方式:當出現(xiàn)未定義指令終止時進

28、入該方式用戶方式和特權(quán)方式ARM微處置器的任務(wù)方式q 除了用戶方式之外的其他除了用戶方式之外的其他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ù)的用戶程序運轉(zhuǎn)在用戶方式下,此時,運用程大多數(shù)的用戶程序運轉(zhuǎn)在用戶方式下,此時,運用程序不可以訪問一些受操作系統(tǒng)維護的系統(tǒng)資源,運用序不可以訪問一些受操作系統(tǒng)維護的系統(tǒng)資源,運

29、用程序也不能直接進展處置器方式的切換。程序也不能直接進展處置器方式的切換。q 用戶方式下,當需求進展處置器方式切換時,運用程用戶方式下,當需求進展處置器方式切換時,運用程序可以產(chǎn)生異常處置,在異常處置中進展處置器方式序可以產(chǎn)生異常處置,在異常處置中進展處置器方式的切換。的切換。方式切換ARM微處置器的任務(wù)方式q 處置器方式可以經(jīng)過軟件進展切換,也可以經(jīng)過外部處置器方式可以經(jīng)過軟件進展切換,也可以經(jīng)過外部中斷或者異常處置過程進展切換。中斷或者異常處置過程進展切換。q 當運用程序發(fā)生異常中斷時,處置器進入相應(yīng)的異常當運用程序發(fā)生異常中斷時,處置器進入相應(yīng)的異常方式。在每一種異常方式下都有一組存放器

30、,供相應(yīng)方式。在每一種異常方式下都有一組存放器,供相應(yīng)的異常處置程序運用,這樣就可以保證在進入異常方的異常處置程序運用,這樣就可以保證在進入異常方式時,用戶方式下的存放器不被破壞。式時,用戶方式下的存放器不被破壞。q 系統(tǒng)方式并不是經(jīng)過異常進入的,它和用戶方式具有系統(tǒng)方式并不是經(jīng)過異常進入的,它和用戶方式具有完全一樣的存放器。但是系統(tǒng)方式屬于特權(quán)方式,可完全一樣的存放器。但是系統(tǒng)方式屬于特權(quán)方式,可以訪問一切的系統(tǒng)資源,也可以直接進展處置器方式以訪問一切的系統(tǒng)資源,也可以直接進展處置器方式切換。它主要供操作系統(tǒng)義務(wù)運用。通常操作系統(tǒng)的切換。它主要供操作系統(tǒng)義務(wù)運用。通常操作系統(tǒng)的義務(wù)需求訪問一

31、切的系統(tǒng)資源,同時該義務(wù)依然運用義務(wù)需求訪問一切的系統(tǒng)資源,同時該義務(wù)依然運用用戶方式的存放器組,而不是運用異常方式下相應(yīng)的用戶方式的存放器組,而不是運用異常方式下相應(yīng)的存放器組,這樣可以保證當異常中斷發(fā)生時義務(wù)形狀存放器組,這樣可以保證當異常中斷發(fā)生時義務(wù)形狀不被破壞。不被破壞。ARM微處置器的存儲器格式 q ARMARM體系構(gòu)造所支持的最大尋址空間為體系構(gòu)造所支持的最大尋址空間為4GB4GB232232字節(jié)字節(jié)ARM微處置器的存儲器格式q ARMARM體系構(gòu)造將存儲器看作是從零地址開場的字節(jié)的線體系構(gòu)造將存儲器看作是從零地址開場的字節(jié)的線性組合。從零字節(jié)到三字節(jié)放置第一個存儲的字數(shù)據(jù),性組

32、合。從零字節(jié)到三字節(jié)放置第一個存儲的字數(shù)據(jù),從第四個字節(jié)到第七個字節(jié)放置第二個存儲的字數(shù)據(jù),從第四個字節(jié)到第七個字節(jié)放置第二個存儲的字數(shù)據(jù),依次陳列。依次陳列。q ARMARM體系構(gòu)造可以用兩種方法存儲字數(shù)據(jù),稱之為大端體系構(gòu)造可以用兩種方法存儲字數(shù)據(jù),稱之為大端格式和小端格式格式和小端格式 ARM體系構(gòu)造的存儲器格式大端格式 ARM微處置器的存儲器格式q 在這種格式中,字數(shù)據(jù)的高字節(jié)存儲在低地址中,而字在這種格式中,字數(shù)據(jù)的高字節(jié)存儲在低地址中,而字數(shù)據(jù)的低字節(jié)那么存放在高地址中數(shù)據(jù)的低字節(jié)那么存放在高地址中ARM體系構(gòu)造的存儲器格式小端格式 ARM微處置器的存儲器格式q 與大端存儲格式相反

33、,在小端存儲格式中,低地址中存放與大端存儲格式相反,在小端存儲格式中,低地址中存放的是字數(shù)據(jù)的低字節(jié),高地址存放的是字數(shù)據(jù)的高字節(jié)的是字數(shù)據(jù)的低字節(jié),高地址存放的是字數(shù)據(jù)的高字節(jié)指令長度及數(shù)據(jù)類型 qARMARM微處置器的指令長度可以是微處置器的指令長度可以是3232位在位在ARMARM形狀下,形狀下,也可以為也可以為1616位在位在ThumbThumb形狀下。形狀下。ARM微處置器的存儲器格式qARMARM微處置器中支持字節(jié)微處置器中支持字節(jié)8 8位、半字位、半字1616位、字位、字3232位三種數(shù)據(jù)類型,其中,字需求位三種數(shù)據(jù)類型,其中,字需求4 4字節(jié)對齊地字節(jié)對齊地址的低兩位為址的低兩

34、位為0 0、半字需求、半字需求2 2字節(jié)對齊地址的最低字節(jié)對齊地址的最低位為位為0 0非對齊的存儲訪問操作 q在在ARMARM種,假設(shè)存儲單元的地址沒有遵守對齊規(guī)那么,種,假設(shè)存儲單元的地址沒有遵守對齊規(guī)那么,那么稱為非對齊的存儲訪問操作。那么稱為非對齊的存儲訪問操作。ARM微處置器的存儲器格式q非對齊的指令預(yù)取操作非對齊的指令預(yù)取操作q非對齊的數(shù)據(jù)訪問操作非對齊的數(shù)據(jù)訪問操作非對齊的指令預(yù)取操作 q當處置器處于當處置器處于ARMARM形狀期間,假設(shè)寫入到存放器形狀期間,假設(shè)寫入到存放器PCPC中的中的值是非字對齊的,要么指令執(zhí)行的結(jié)果不可預(yù)知,要值是非字對齊的,要么指令執(zhí)行的結(jié)果不可預(yù)知,要

35、么地址值中最低兩位被忽略。么地址值中最低兩位被忽略。ARM微處置器的存儲器格式q當處置器處于當處置器處于THUMBTHUMB形狀期間,假設(shè)寫入到存放器形狀期間,假設(shè)寫入到存放器PCPC中中的值是非半字對齊的,要么指令執(zhí)行的結(jié)果不可預(yù)知,的值是非半字對齊的,要么指令執(zhí)行的結(jié)果不可預(yù)知,要么地址值中最低位被忽略。要么地址值中最低位被忽略。非對齊的數(shù)據(jù)訪問操作 q對于對于Load/StoreLoad/Store操作,假設(shè)是非對齊的數(shù)據(jù)訪問操作,操作,假設(shè)是非對齊的數(shù)據(jù)訪問操作,系統(tǒng)定義了三種能夠的結(jié)果:系統(tǒng)定義了三種能夠的結(jié)果:ARM微處置器的存儲器格式執(zhí)行的結(jié)果不可預(yù)知執(zhí)行的結(jié)果不可預(yù)知忽略字單元

36、地址的低兩位的值,即訪問地址為忽略字單元地址的低兩位的值,即訪問地址為(address AND 0XFFFFFFFC)(address AND 0XFFFFFFFC)的字單元;忽略半字單元的字單元;忽略半字單元地址的最低位的值,即訪問地址為地址的最低位的值,即訪問地址為(address AND (address AND 0XFFFFFFFE)0XFFFFFFFE)的半字單元。的半字單元。忽略字單元地址的低兩位的值;忽略半字單元地址的忽略字單元地址的低兩位的值;忽略半字單元地址的最低位的值;由存儲系統(tǒng)實現(xiàn)這種忽略。也就是說,最低位的值;由存儲系統(tǒng)實現(xiàn)這種忽略。也就是說,這時該地址值原封不動地送到

37、存儲系統(tǒng)。這時該地址值原封不動地送到存儲系統(tǒng)。q當發(fā)生非對齊地數(shù)據(jù)訪問時,究竟采用上述三種方法當發(fā)生非對齊地數(shù)據(jù)訪問時,究竟采用上述三種方法中的哪一種,是由各指令指定的。中的哪一種,是由各指令指定的。存放器組織 q ARMARM微處置器共有微處置器共有3737個個3232位存放器,其中位存放器,其中3131個為通用存放個為通用存放器,器,6 6個為形狀存放器。但是這些存放器不能被同時訪問,個為形狀存放器。但是這些存放器不能被同時訪問,詳細哪些存放器是可編程訪問的,取決微處置器的任務(wù)形詳細哪些存放器是可編程訪問的,取決微處置器的任務(wù)形狀及詳細的運轉(zhuǎn)方式。但在任何時候,通用存放器狀及詳細的運轉(zhuǎn)方式

38、。但在任何時候,通用存放器R14R14R0R0、程序計數(shù)器、程序計數(shù)器PCPC、一個或兩個形狀存放器都是可訪問的。、一個或兩個形狀存放器都是可訪問的。 ARM微處置器的存放器格式ARM形狀下的存放器組織 q 通用存放器:通用存放器包括R0R15,可以分為三類:未分組存放器未分組存放器R0R0R7R7分組存放器分組存放器R8R8R14R14程序計數(shù)器程序計數(shù)器PC(R15)PC(R15)ARM微處置器的存放器格式ARM形狀下的存放器組織ARM微處置器的存放器格式未分組存放器R0R7ARM微處置器的存放器格式q 在一切的運轉(zhuǎn)方式下,未分組存放器都指向同一個物理存放器,他們未被系統(tǒng)用作特殊的用途,因

39、此,在中斷或異常處置進展運轉(zhuǎn)方式轉(zhuǎn)換時,由于不同的處置器運轉(zhuǎn)方式均運用一樣的物理存放器,能夠會呵斥存放器中數(shù)據(jù)的破壞,這一點在進展程序設(shè)計時應(yīng)引起留意。分組存放器R8R12ARM微處置器的存放器格式q 每次所訪問的物理存放器與處置器當前的運轉(zhuǎn)方式有關(guān)q R8R12:每個存放器對應(yīng)兩個不同的物理存放器 當運用fiq方式時,訪問存放器R8_fiqR12_fiq; 當運用除fiq方式以外的其他方式時,訪問存放器R8_usrR12_usr。分組存放器R13R14ARM微處置器的存放器格式q R13、R14:每個存放器對應(yīng)6個不同的物理存放器q 其中的一個是用戶方式與系統(tǒng)方式共用,另外5個物理存放器對應(yīng)

40、于其他5種不同的運轉(zhuǎn)方式q 采用以下的記號來區(qū)分不同的物理存放器: R13_ R14_q mode為以下幾種之一:usr、fiq、irq、svc、abt、und。堆棧指針R13ARM微處置器的存放器格式q R13在ARM指令中常用作堆棧指針,但這只是一種習(xí)慣用法,用戶也可運用其他的存放器作為堆棧指針。q 在Thumb指令集中,某些指令強迫性的要求運用R13作為堆棧指針。q 由于處置器的每種運轉(zhuǎn)方式均有本人獨立的物理存放器R13,在初始化部分,都要初始化每種方式下的R13,這樣,當程序的運轉(zhuǎn)進入異常方式時,可以將需求維護的存放器放入R13所指向的堆棧,而當程序從異常方式前往時,那么從對應(yīng)的堆棧中

41、恢復(fù)。 子程序銜接存放器R14ARM微處置器的存放器格式q R14也稱作子程序銜接存放器或銜接存放器LR。當執(zhí)行BL子程序調(diào)用指令時,可以從R14中得到R15程序計數(shù)器PC的備份。其他情況下,R14用作通用存放器。q 在每一種運轉(zhuǎn)方式下,都可用R14保管子程序的前往地址,當用BL或BLX指令調(diào)用子程序時,將PC的當前值拷貝給R14,執(zhí)行完子程序后,又將R14的值拷貝回PC,即可完成子程序的調(diào)用前往。BL SUB1SUB1:STMFDSP!, , LR /*將R14存入堆棧*/LDMFDSP!,PC/*完成子程序前往 */程序計數(shù)器PC(R15)ARM微處置器的存放器格式q ARMARM形狀下,

42、位形狀下,位1:01:0為為0 0,位,位31:231:2用于保管用于保管PCPC;q ThumbThumb形狀下,位形狀下,位00為為0 0,位,位31:131:1用于保管用于保管PCPC;q R15R15雖然也可用作通用存放器,但普通不這么運用,由于雖然也可用作通用存放器,但普通不這么運用,由于對對R15R15的運用有一些特殊的限制,當違反了這些限制時,的運用有一些特殊的限制,當違反了這些限制時,程序的執(zhí)行結(jié)果是未知的。程序的執(zhí)行結(jié)果是未知的。q 由于由于ARMARM體系構(gòu)造采用了多級流水線技術(shù),對于體系構(gòu)造采用了多級流水線技術(shù),對于ARMARM指令集指令集而言,而言,PCPC總是指向當前

43、指令的下兩條指令的地址,即總是指向當前指令的下兩條指令的地址,即PCPC的的值為當前指令的地址值加值為當前指令的地址值加8 8個字節(jié)。個字節(jié)。程序形狀存放器(CPSR/SPSR)q 存放器存放器R16用作用作CPSR(當前程序形狀存放器當前程序形狀存放器),CPSR可在可在任何運轉(zhuǎn)方式下被訪問,它包括條件標志位、中斷制止位、任何運轉(zhuǎn)方式下被訪問,它包括條件標志位、中斷制止位、當前處置器方式標志位,以及其他一些相關(guān)的控制和形狀當前處置器方式標志位,以及其他一些相關(guān)的控制和形狀位。位。ARM微處置器的存放器格式q 每一種運轉(zhuǎn)方式下又都有一個公用的物理形狀存放器,稱每一種運轉(zhuǎn)方式下又都有一個公用的物

44、理形狀存放器,稱為為SPSRSPSR備份的程序形狀存放器,異常發(fā)生時,備份的程序形狀存放器,異常發(fā)生時,SPSRSPSR用用于保管于保管CPSRCPSR的值,從異常退出時那么可由的值,從異常退出時那么可由SPSRSPSR來恢復(fù)來恢復(fù)CPSRCPSR。q 由于用戶方式和系統(tǒng)方式不屬于異常方式,他們沒有由于用戶方式和系統(tǒng)方式不屬于異常方式,他們沒有SPSRSPSR,當在這兩種方式下訪問當在這兩種方式下訪問SPSRSPSR,結(jié)果是未知的。,結(jié)果是未知的。Thumb形狀下的存放器組織 q ThumbThumb形狀下的存放器集是形狀下的存放器集是ARMARM形狀下存放器集的一個子集形狀下存放器集的一個子

45、集ARM微處置器的存放器格式q 程序可以直接訪問程序可以直接訪問8 8個通用存放器個通用存放器R7R7R0R0、程序計數(shù)、程序計數(shù)器器PCPC、堆棧指針、堆棧指針SPSP、銜接存放器、銜接存放器LRLR和和CPSRCPSR。q 同樣,每一種特權(quán)方式下都有一組同樣,每一種特權(quán)方式下都有一組SPSP、LRLR和和SPSRSPSR。 Thumb形狀下的存放器組織圖ARM微處置器的存放器格式Thumb形狀下的存放器與ARM形狀下的存放器關(guān)系A(chǔ)RM微處置器的存放器格式q ThumbThumb形狀下和形狀下和ARMARM形狀下的形狀下的R0R0R7R7是一樣的。是一樣的。q ThumbThumb形狀下和形

46、狀下和ARMARM形狀下的形狀下的CPSRCPSR和一切的和一切的SPSRSPSR是一樣的。是一樣的。q ThumbThumb形狀下的形狀下的SPSP對應(yīng)于對應(yīng)于ARMARM形狀下的形狀下的R13R13。q ThumbThumb形狀下的形狀下的LRLR對應(yīng)于對應(yīng)于ARMARM形狀下的形狀下的R14R14。q ThumbThumb形狀下的程序計數(shù)器對應(yīng)于形狀下的程序計數(shù)器對應(yīng)于ARMARM形狀下形狀下R15R15。Thumb形狀下的存放器與ARM形狀下的存放器關(guān)系圖ARM微處置器的存放器格式訪問THUMB形狀下的高位存放器Hi-registers q 在在ThumbThumb形狀下,高位存放器形

47、狀下,高位存放器R8R8R15R15并不是規(guī)范存放器集并不是規(guī)范存放器集的一部分,但可運用匯編言語程序受限制的訪問這些存放的一部分,但可運用匯編言語程序受限制的訪問這些存放器,將其用作快速的暫存器。器,將其用作快速的暫存器。ARM微處置器的存放器格式q 運用帶特殊變量的運用帶特殊變量的MOVMOV指令,數(shù)據(jù)可以在低位存放器和高指令,數(shù)據(jù)可以在低位存放器和高位存放器之間進展傳送;高位存放器的值可以運用位存放器之間進展傳送;高位存放器的值可以運用CMPCMP和和ADDADD指令進展比較或加上低位存放器中的值。指令進展比較或加上低位存放器中的值。 程序形狀存放器 ARM微處置器的存放器格式q ARM

48、ARM體系構(gòu)造包含一個當前程序形狀存放器體系構(gòu)造包含一個當前程序形狀存放器CPSRCPSR和五和五個備份的程序形狀存放器個備份的程序形狀存放器SPSRsSPSRs。備份的程序形狀存。備份的程序形狀存放器用來進展異常處置,其功能包括:放器用來進展異常處置,其功能包括: 保管ALU中的當前操作信息 控制允許和制止中斷 設(shè)置處置器的運轉(zhuǎn)方式程序形狀存放器的每一位的安排 ARM微處置器的存放器格式程序形狀存放器的條件碼標志 q N N、Z Z、C C、V V均為條件碼標志位。它們的內(nèi)容可被算術(shù)或邏均為條件碼標志位。它們的內(nèi)容可被算術(shù)或邏輯運算的結(jié)果所改動,并且可以決議某條指令能否被執(zhí)行輯運算的結(jié)果所改

49、動,并且可以決議某條指令能否被執(zhí)行ARM微處置器的存放器格式q 在在ARMARM形狀下,絕大多數(shù)的指令都是有條件執(zhí)行的。形狀下,絕大多數(shù)的指令都是有條件執(zhí)行的。q 在在ThumbThumb形狀下,僅有分支指令是有條件執(zhí)行的。形狀下,僅有分支指令是有條件執(zhí)行的。 影響標志位的指令標志位含 義N當用兩個補碼表示的帶符號數(shù)進展運算時,N=1 表示運算的結(jié)果為負數(shù);N=0 表示運算的結(jié)果為正數(shù)或零;ZZ=1 表示運算的結(jié)果為零;Z=0表示運算的結(jié)果為非零;C加法運算結(jié)果進位時,C=1,減法運算借位時,C=0;移位操作的非加/減運算指令,C為移出的最后一位;其他的非加/減運算指令,C的值通常不改動。V加

50、/減法運算指令,V=1表示符號位溢出。對于其他的非加/減運算指令,C的值通常不改動。Q在ARM v5及以上版本的E系列處置器中,Q標志指示DSP運算指令能否溢出。在其他版本中,Q標志位無定義。ARM微處置器的存放器格式程序形狀存放器的控制位 q形狀存放器的低形狀存放器的低8 8位位I I、F F、T T和和M4M4:00稱為控制位,稱為控制位,發(fā)生異常時這些位可以被改動。假設(shè)處置器運轉(zhuǎn)特權(quán)方式,發(fā)生異常時這些位可以被改動。假設(shè)處置器運轉(zhuǎn)特權(quán)方式,這些位也可以由程序修正。這些位也可以由程序修正。ARM微處置器的存放器格式q中斷制止位中斷制止位I I、F F:qI=1 I=1 制止制止IRQIRQ

51、中斷中斷; ;qF=1 F=1 制止制止FIQFIQ中斷。中斷。qT T標志位:該位反映處置器的運轉(zhuǎn)形狀標志位:該位反映處置器的運轉(zhuǎn)形狀qARMARM體系構(gòu)造體系構(gòu)造v5v5及以上的版本的及以上的版本的T T系列處置器,當該位為系列處置器,當該位為1 1時,程序運轉(zhuǎn)于時,程序運轉(zhuǎn)于ThumbThumb形狀,否那么運轉(zhuǎn)于形狀,否那么運轉(zhuǎn)于ARMARM形狀。形狀。qARMARM體系構(gòu)造體系構(gòu)造v5v5及以上的版本的非及以上的版本的非T T系列處置器,當該位為系列處置器,當該位為1 1時,執(zhí)行下一條指令以引起為定義的指令異常;當該位為時,執(zhí)行下一條指令以引起為定義的指令異常;當該位為0 0時,表示運

52、轉(zhuǎn)于時,表示運轉(zhuǎn)于ARMARM形狀。形狀。q運轉(zhuǎn)方式位運轉(zhuǎn)方式位M4M4:00是方式位,決議處置器的運轉(zhuǎn)方式是方式位,決議處置器的運轉(zhuǎn)方式 處置器運轉(zhuǎn)方式及可以訪問的存放器M4:0處置器方式處置器方式可訪問的存放器可訪問的存放器0b10000用戶方式用戶方式PC,CPSR,R0-R140b10001FIQ方式方式PC,CPSR, SPSR_fiq,R14_fiq-R8_fiq, R7R00b10010IRQ方式方式PC,CPSR, SPSR_irq,R14_irq, R13_irq, R12R00b10011管理方式管理方式PC,CPSR, SPSR_svc,R14_svc, R13_svc,

53、 R12R0,0b10111中止方式中止方式PC,CPSR, SPSR_abt,R14_abt,R13_abt, R12R0,0b11011未定義方式未定義方式PC,CPSR, SPSR_und,R14_und, R13_und, R12R0,0b11111系統(tǒng)方式系統(tǒng)方式PC,CPSRARM v4及以上版本及以上版本, R14R0ARM微處置器的存放器格式異常Exceptions q 當正常的程序執(zhí)行流程發(fā)生暫時的停頓時,稱之為異常,當正常的程序執(zhí)行流程發(fā)生暫時的停頓時,稱之為異常,例如處置一個外部的中斷懇求。在處置異常之前,當前處例如處置一個外部的中斷懇求。在處置異常之前,當前處置器的形狀

54、必需保管,這樣當異常處置完成之后,當前程置器的形狀必需保管,這樣當異常處置完成之后,當前程序可以繼續(xù)執(zhí)行。處置器允許多個異常同時發(fā)生,它們將序可以繼續(xù)執(zhí)行。處置器允許多個異常同時發(fā)生,它們將會按固定的優(yōu)先級進展處置。會按固定的優(yōu)先級進展處置。ARM異常處置q ARMARM體系構(gòu)造中的異常,與體系構(gòu)造中的異常,與8 8位位/16/16位體系構(gòu)造的中斷有很位體系構(gòu)造的中斷有很大的類似之處,但異常與中斷的概念并不完全等同。大的類似之處,但異常與中斷的概念并不完全等同。 ARM體系構(gòu)造所支持的異常類型 異常類型詳細含義復(fù)位復(fù)位電平有效時,產(chǎn)生復(fù)位異常,程序跳轉(zhuǎn)到復(fù)位處置程序處執(zhí)行。未定義指令遇到不能處

55、置的指令時,產(chǎn)生未定義指令異常。軟件中斷執(zhí)行SWI指令產(chǎn)生,用于用戶方式下的程序調(diào)用特權(quán)操作指令。指令預(yù)取中止處置器預(yù)取指令的地址不存在,或該地址不允許當前指令訪問,產(chǎn)生指令預(yù)取中止異常。數(shù)據(jù)中止處置器數(shù)據(jù)訪問指令的地址不存在,或該地址不允許當前指令訪問時,產(chǎn)生數(shù)據(jù)中止異常。IRQ外部中斷懇求有效,且CPSR中的I位為0時,產(chǎn)生IRQ異常。FIQ快速中斷懇求引腳有效,且CPSR中的F位為0時,產(chǎn)生FIQ異常。ARM異常處置對異常的呼應(yīng) ARM異常處置q 當一個異常出現(xiàn)以后,當一個異常出現(xiàn)以后,ARMARM微處置器會執(zhí)行以下幾步操作微處置器會執(zhí)行以下幾步操作 將下一條指令的地址存入相應(yīng)銜接存放器

56、LR,以便程序在處置異常前往時能從正確的位置重新開場執(zhí)行。 將CPSR復(fù)制到相應(yīng)的SPSR中。 根據(jù)異常類型,強迫設(shè)置CPSR的運轉(zhuǎn)方式位。 強迫PC從相關(guān)的異常向量地址取下一條指令執(zhí)行,從而跳轉(zhuǎn)到相應(yīng)的異常處置程序處。 R14_ = Return LinkR14_ = Return LinkSPSR_ = CPSRSPSR_ = CPSRCPSR4:0 = Exception Mode NumberCPSR4:0 = Exception Mode NumberCPSR5 = 0CPSR5 = 0If = Reset or FIQ thenIf = Reset or FIQ thenCPSR6

57、 = 1CPSR6 = 1CPSR7 = 1CPSR7 = 1PC = Exception Vector AddressPC = Exception Vector Address異常呼應(yīng)偽代碼ARM異常處置q 處置器處于處置器處于ThumbThumb形狀,那么當異常向量地址加載入形狀,那么當異常向量地址加載入PCPC時,時,處置器自動切換到處置器自動切換到ARMARM形狀。形狀。ARMARM微處置器對異常的呼應(yīng)過微處置器對異常的呼應(yīng)過程用偽碼可以描畫為:程用偽碼可以描畫為:在ARM形狀下執(zhí)行制止快速中斷制止正常中斷轉(zhuǎn)入異常入口地址從異常前往從異常前往ARM異常處置q 異常處置終了之后,異常處置

58、終了之后,ARMARM微處置器會執(zhí)行以下幾步操作從微處置器會執(zhí)行以下幾步操作從異常前往:異常前往: 將銜接存放器LR的值減去相應(yīng)的偏移量后送到PC中。 將SPSR復(fù)制回CPSR中。 假設(shè)在進入異常處置時設(shè)置了中斷制止位,要在此去除。 可以以為運用程序總是從復(fù)位異常處置程序開場執(zhí)行的,因此復(fù)位異常處置程序不需求前往。FIQFast Interrupt Requestq FIQFIQ異常是為了支持數(shù)據(jù)傳輸或者通道處置而設(shè)計的。異常是為了支持數(shù)據(jù)傳輸或者通道處置而設(shè)計的。ARM異常處置q 假設(shè)將假設(shè)將CPSRCPSR的的F F位置為位置為1 1,那么會制止,那么會制止FIQFIQ中斷,假設(shè)將中斷,假

59、設(shè)將CPSRCPSR的的F F位清零,處置器會在指令執(zhí)行時檢查位清零,處置器會在指令執(zhí)行時檢查FIQFIQ的輸入。的輸入。留意只需在特權(quán)方式下才干改動留意只需在特權(quán)方式下才干改動F F位的形狀。位的形狀。 q 可由外部經(jīng)過對處置器上的可由外部經(jīng)過對處置器上的nFIQnFIQ引腳輸入低電平產(chǎn)生引腳輸入低電平產(chǎn)生FIQFIQ。不論是在不論是在ARMARM形狀還是在形狀還是在ThumbThumb形狀下進入形狀下進入FIQFIQ方式,方式,F(xiàn)IQFIQ處處置程序均可以執(zhí)行以下指令從置程序均可以執(zhí)行以下指令從FIQFIQ方式前往:方式前往:qSUBS PC,R14_fiq ,#4SUBS PC,R14_

60、fiq ,#4IRQInterrupt Request q IRQIRQ異常屬于正常的中斷懇求,可經(jīng)過對處置器的異常屬于正常的中斷懇求,可經(jīng)過對處置器的nIRQnIRQ引引腳輸入低電平產(chǎn)生,腳輸入低電平產(chǎn)生,IRQIRQ的優(yōu)先級低于的優(yōu)先級低于FIQFIQ,當程序執(zhí)行進,當程序執(zhí)行進入入FIQFIQ異常時,異常時,IRQIRQ能夠被屏蔽。能夠被屏蔽。ARM異常處置q 假設(shè)將假設(shè)將CPSRCPSR的的I I位置為位置為1 1,那么會制止,那么會制止IRQIRQ中斷,假設(shè)將中斷,假設(shè)將CPSRCPSR的的I I位清零,處置器會在指令執(zhí)行完之前檢查位清零,處置器會在指令執(zhí)行完之前檢查IRQIRQ的輸

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論