版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第3章目錄
口9.異常
□2.ARM7TDMI口10.中斷延遲
□3.ARM7TDMI的模塊和口11.復(fù)位
內(nèi)部框圖口12,存儲器及存儲器映射
口4.體系結(jié)構(gòu)直接支持的I/O
藪搪類型去j口13.尋址方式簡介,
□5.處通蠢狀態(tài)一一
□14.AKM7指令簡介
口6.處理器模式氐1_
口15.協(xié)處理器接口
口7.內(nèi)部寄存器二」口16.調(diào)試接口簡介
□8.程序狀態(tài)寄存器口17.ETM接口簡介
3.9異常
■簡介
只要正常的程序流被暫時中止,處理器就進入
異常模式。例如響應(yīng)一個來自外設(shè)的中新。在處理
異常之前,ARM7TDMI內(nèi)核保存當前的處理器狀
態(tài),這樣當處理程序結(jié)束時可以恢復(fù)執(zhí)行原來的程
序O
如果同時發(fā)生兩個或更多異常,那么將按照固
定的順序來處理異常,詳見“異常優(yōu)先級”部分。
之前的狀態(tài)
異?;蛉肟诜祷刂噶頣humb備注
ARMR14_x
R14_x
BLMOVPC,R14PC+4PC+2
此處PC為
SWIMOVSPC,R14_svcPC+4PC+2BL,SWI,為
未定義的指令MOVSPC,R14_undPC+4PC+2定義的指令取
指或預(yù)取指中
SUBS
預(yù)取指中止PC+4PC+4止指令的地址
PC,R14_abt,#4
SUBS
快中斷PC+4PC+4此處PC為由于
PC,R14_fiq,#4FIQ或IRQ占先
SUBS而沒有被執(zhí)行
,中斷PC+4PC+4
PC,R14Jrq,#4的指令的地址
此處PC為產(chǎn)生
SUBS數(shù)據(jù)中止的裝
數(shù)據(jù)中止PC+8PC+8
PC,R14_abt,#8載或保存指令
的地址。
復(fù)位時保存在
復(fù)位無——R14_svc中的值
不可5頁知。
注意:“MOVSPC,K14svc”是指在管理模式執(zhí)行MOVSPC,RkI?指令。"MOVS
3.9異常
■異常的入口和出口處理
如果異常處理程序已經(jīng)把返回地址拷貝到堆找,
那么可以使用一條多寄存器傳送指令來恢復(fù)用戶寄
存器并實現(xiàn)返回。
中斷處理代丹的開始部分和退出部分
SUBLR,LR,#4;計算返回地址
STMFDSP!,{R0-R3,LR};保存使用到的寄存器
LDMFDSP!,{R0-R3,PC)A;中新返回
**
,I-----
7,一?一「一▼!
3.9異常
異常的入口和出口處理
注意:中新返回指令的寄存器列表(其中必須包括
PCJ后的'符號表示這是一條特殊形式的指令。
這條指令在從存儲器中裝載PC的同時(PC是最后
恢復(fù)的),CPSR也得到恢復(fù)。這里使用的堆找指針
SPCR13J是屬于異常模式的寄存器,每個異常模
式有自己的堆找指針。這個堆找指針應(yīng)必須在豕統(tǒng)
啟動時初始化。
LDMFDSP!,{R0-R3,PCg;中新返回
3.9異常
?進入異常
在異常發(fā)生后,ARM7TDMI內(nèi)核會作以下工作:
L在適當?shù)腖R中保存下一條指令的地址,當異常人
口來自:
■ARM狀態(tài),那么ARM7TDMI將當前指令地址
加4或加8復(fù)制(職決于異常的類型)到LR中;
■為Thumb狀態(tài),那么ARM7TDM1將當前指令
地址加2或加4(職決于異常的類型)復(fù)制到LR
中;異常處理器程序不必確定我去。
3.9異常
■進入異常
在異常發(fā)生后,ARM7TDMI內(nèi)核會作以下工作:
2.將CPSR復(fù)制到適當?shù)腟PSR中;
3.將CPSR模式位強制設(shè)置為與異常類型相對應(yīng)的值;
4.強制PC從相關(guān)的異常向量處聯(lián)指o
3.9異常
■進入異常
ARM7TDMI內(nèi)核在中新異常時置住中斷禁止標
志,這樣可以防止不受控制的異常嵌套。
注:異常忍是在ARM狀態(tài)中進行處理。當處理器處
于Thumb狀態(tài)時發(fā)生了異常,在異常向量地址裝入
PC時,會自動切換到ARM狀態(tài)。
3.9異常
■退出異常
當異常結(jié)束時,異常處理程序必須:
1.將LR中的值戒去偏移量后存入PC,偏移量根據(jù)異
常的類型而有所不同;
2.將SPSR的值復(fù)制回CPSR;
3.請零在人口置住的中斷禁止標志。
注:恢復(fù)CPSR的動作會將T、F和1住自動恢復(fù)為異
常發(fā)生前的值。
2.用戶程序運行時發(fā)生條統(tǒng)模式IRQ模式
1R金的雌怨好螭而送百
利診:程序,假定當前處理
■穩(wěn)趨感腐曲L闔蜘(熔播必
程
I融般蠲鄙PSR寄存器序
■置住I住(禁止IRQ中新)
■清零T?。ㄟM入ARM狀態(tài))
■設(shè)置MOD住,切換處理器
模式至IRQ模式寄
■將下一條指令的地址存入存
器
IRQ模式的LR寄存器組
■將跳轉(zhuǎn)地址存入PC,實
現(xiàn)跳轉(zhuǎn)“?”表示對該位不關(guān)心
在異常處理結(jié)束后,異常條統(tǒng)模式IRQ模式
處理程序完成以下動作:
■將SPSR寄存器的值復(fù)制回
CPSR寄存器;
■將LR寄存的值臧去一個常
量后復(fù)制到PC寄存器,跳
轉(zhuǎn)到校中新的用戶程序。
LRsysBackAddr
寄LR
存PCBackAddr-4
器NZCV...IFTMOD
CPSR
組????...0?1SYS
SPSR????.0
“?”表示對該位不關(guān)心
3.9異常
快速中斷請求
快速中斷請求(F1Q)適用于對一個突發(fā)事件的快速
響應(yīng),這得益于在ARM狀態(tài)中,快中新模式有8個專用
的寄存器可用來滿足寄存器保護的需要(這可以加速
上下文切換的速度)o
不管異常人口是來自ARM狀忐還是Thumb狀去,
F1Q處理程序都會通過執(zhí)行下面的指令從中斷返回:
SUBSPC,R14_fiq,#4
在一個特權(quán)模式中,可以通過置住CPSR中的F住
來禁止F1Q異常。
3.9異常
?中斷請求
中斷請求CIRQJ異常是一個由nlRQ輸入端的低
包平所產(chǎn)生的正常中斷(在具體的恙片中,nlRQ由片
內(nèi)外設(shè)拉低,nlRQ是內(nèi)核的一個信號,對用戶不可
見)oIRQ的優(yōu)先級低于F1Q。對于FIQ序列它是被屏
霰的。任何時候在一個特權(quán)模式下,都可通過置住
CPSR中的I位來禁止IRQ。
不管異常人口是來自ARM狀態(tài)還是Thumb狀去,
F1Q處理程序都會通過執(zhí)行下面的指令從中斷返回:
SUBSPC,R14_fiqz#4
3.9異常
■中止
中止發(fā)生在對存儲器的訪問不能完成時,中止
包含兩種類型:
■預(yù)職中止發(fā)生在指令預(yù)取過程中
■數(shù)據(jù)中止發(fā)生在對數(shù)據(jù)訪問時
3.9異常
■中止—預(yù)取指中止
當發(fā)生預(yù)取中止時,ARM7TDM1內(nèi)核將預(yù)取的
指令標記為無效,但在指令到達流水線的執(zhí)行階段
時才進入異常。如果指令在流水線中因為發(fā)生分支
而沒有被執(zhí)行,中止將不會發(fā)生。
在處理中止的原因之后,不管處于哪種處理器
操作狀去,處理程序都會軌行下面的指令恢復(fù)PC和
CPSR并重試被中止的指令:
SUBSPCZR14abt,#4
3.9異常
■中止—數(shù)據(jù)中止
當發(fā)生數(shù)據(jù)中止后,根據(jù)產(chǎn)生數(shù)據(jù)中止的指令
類型作出不同的處理:
■數(shù)據(jù)轉(zhuǎn)移指令(LDR、STRJ回寫到被修改的基址
寄存器。中止處理程序必須注意這一點;
■交換指令CSWPJ中止好像沒有被執(zhí)行過一樣
(中止必須發(fā)生在SWP指令進行讀訪問時);
3.9異常
■中止—數(shù)據(jù)中止
當發(fā)生數(shù)據(jù)中止后,根據(jù)產(chǎn)生數(shù)據(jù)中止的指令
類型作出不同的處理:
■塊數(shù)據(jù)轉(zhuǎn)移指令CLDM,STMJ完成。當回寫被設(shè)
置時,基址寄存器被更新。在指示出現(xiàn)中止后,
ARM7TDM1內(nèi)核防止所有寄存器被覆蓋。這意味
著ARM7TDMI內(nèi)核總是會保護被中止的LDM指令
中的R15(總是最后一個被轉(zhuǎn)移的寄存器)o
3.9異常
■中止----數(shù)據(jù)中止
在修復(fù)產(chǎn)生中止的原因后,不管處于哪種處理
器操作狀態(tài),處理程序都必須執(zhí)行下面的返回指令:
SUBSPC,R14abt,#8
3.9異常
軟件中斷指令
使用軟件中斷(SWI)指令可以進入管理模式,
通常用于請求一個特定的管理函數(shù)。SW1處理程序
通過軌行下面的指令返回:
MOVSPC,Rl4_svc
這個動作恢復(fù)了PC和CPSR并返回到SW1之后的
指令。SW1處理程序讀取操作碼以提取SWI的數(shù)編
號。
3.9異常
未定義的指令
當ARM7TDM1處理器遇到一條自己和余統(tǒng)內(nèi)
任何協(xié)處理器都無法處理的指令時,ARM7TDM1
內(nèi)核軌行未定義指令陷阱。軟件可使用這一機制通
過模擬未定義的協(xié)處理器指令來廣展ARM指令集。
注:ARM7TDMI處理器完全遵循ARM結(jié)構(gòu)v4T,可
以輔獲所有分類未被定義的指令住格式。
3.9異常
未定義的指令
在模擬處理了失敗的指令后,陷阱程序軌行下面
的指令:
MOVSPC,RI4_svc
這個動作恢復(fù)了PC和CPSR并返回到未定義指
令之后的指令。
異常向量
進入時F的狀
地址異常類型進入時的模式進入時I的狀態(tài)
態(tài)
0x00000000復(fù)位管理禁止禁止
0x00000004未定義指令未定義IF
0x00000008軟件中斷管理禁止F
0x0000000C中止(預(yù)?。┲兄笽F
0x00000010中止(數(shù)據(jù))中止IF
0x00000014保留保留——
0x00000018IRQ中斷禁止F
0x0000001CFIQ快中斷禁止禁止
注:表中的I和F表示不對該住有影響,保留原來的指。
3.9異常
異常優(yōu)先級
注意:
■未定義的指令和SWI異?;コ?。因為同一條指令不
能既是未定義的,又能產(chǎn)生有效的軟件中斷;
■當F1Q使能,并且FIQ和數(shù)據(jù)中止異常同時發(fā)生時,
ARM7TDMI內(nèi)核首先進入數(shù)據(jù)中止處理程序,然
后立即跳轉(zhuǎn)到FIQ向量。在F1Q處理結(jié)束后返回到數(shù)
據(jù)中止處理程序。數(shù)據(jù)中止的優(yōu)先級必須高于F1Q
以確保數(shù)據(jù)轉(zhuǎn)移錯誤不會被漏過。
3.11復(fù)位
■復(fù)位
當nRESET信號被拉低時(一般外部復(fù)住引腳也
平的變化和燭片的其它復(fù)住源會改變這個內(nèi)核信
號),ARM7TDMI處理器放棄正在執(zhí)行的指令。
在復(fù)核后,除PC和CPSR之外的所有寄存器的
值都不確定。
3.11復(fù)位
■復(fù)位
當nRESET信號再次變?yōu)楦甙綍r,ARM處理
器執(zhí)行下列操作:
1.強制M[4:0]變?yōu)閎lOOII(管理模式);
2.置住CPSR中的1和F位;
3.清零CPSR中的T住;
4.強制PC從地址0x00開始對下一條指令進行聯(lián)指;
5.返回到ARM狀態(tài)并恢復(fù)執(zhí)行。
第3章m錄
□i.簡介□9.異常:
□2.ARM71DMI口10.中斷延遲
□3.ARM7TDMI的模塊和口11.復(fù)位
內(nèi)部框圖口12.存儲器及存儲器映射
□4,體系結(jié)構(gòu)直接支持的I/O
數(shù)據(jù)類型口13.尋址方式簡介
算.處理器狀態(tài)口14.ARM7指令簡介
里器模式口15.協(xié)處理器接口
存器口16.調(diào)試接口簡介
1口《融寄整口17.ETM接口簡介
3.12存儲器及存儲器映射I/O
■簡介-81
ARM7TDMI處理器及用馮?諾依曼(Von
Neumann;結(jié)構(gòu),指令和數(shù)據(jù)共用一條32傳數(shù)據(jù)
總線。只有裝我、保存和交換指令可訪問存儲器中
的數(shù)據(jù)。
?r~
3..1J?
3.12存儲器及存儲器映射I/O
簡介
ARM7的規(guī)范僅定義了處理器核與存儲系統(tǒng)之
間的信號及時序(局部總線),而現(xiàn)實的恙片一般
在外部總線與處理器核的局部總線之間有一個存儲
器管理部件將局部忍線的信號和時序轉(zhuǎn)換為現(xiàn)實的
外部總線信號和時序。因此,外部總線的信號和時
序與具體的恙片相關(guān),不是ARM7的標準。具體到
某個恙片的外部存儲系統(tǒng)的設(shè)計需要參考其湛片的
數(shù)據(jù)手冊或使用手冊等密料。
3.12存儲器及存儲器映射I/O
■簡介
ARM7TDMI處理器將存儲器看作是一個從。開
始的線性遹增的字節(jié)集合:
■字節(jié)。到3保存第1個存儲的字
■字節(jié)4到7保存第2個存儲的字
■字節(jié)8到11保存第3個存儲的字
■依此類推
3.12存儲器及存儲器映射I/O
簡介
ARM7TDMI處理器可以將存儲器中的字以下列
格式存儲(詳細說明見“存儲器格式小節(jié)):
■大瑞格式(Big-endian)
3.12存儲器及存儲器映射I/O
地址空間
ARM結(jié)構(gòu)使用單個平面的2?2個8住字節(jié)地址空
間。字節(jié)地址按照無符號數(shù)排列,從0到232-屋地
址空間可以看作是包含萬。個32優(yōu)字,或231個16住
半字。如果地址向上或向下溢出地址會間,通常會
發(fā)生翻轉(zhuǎn)。
注意:如果在取指操作時地址發(fā)生溢出,只要沒有
施行預(yù)職的無效指令,就不會導(dǎo)致異常。
二J匚jl-
<4?,.<??id
3.12存儲器及存儲器映射I/O
■存儲器格式
地址會間的規(guī)則:
字+1,A+2和
A+3;人
半字
■優(yōu)于地土:__、_A_'A+1;
■住于地:字節(jié)字節(jié)字節(jié)字節(jié)址A+2和
A+3;地址AA+lA+2A+3
i+2;
3.12存儲器及存儲器映射I/O
■存儲器格式
3.12存儲器及存儲器映射I/O
未對齊的存儲器訪問
ARM結(jié)構(gòu)通常希望所有的存儲器訪問都合理的對
齊。具體來說就是字訪問的地址通常是字對齊的,而
半字訪問使用的地址是率字對齊的。不按這種方式對
齊的存儲器訪問稱為非對齊的存儲器訪問O
■將一個非字(率字)對齊的地址寫入ARM
(Thumb)狀忐的R15寄存器,將引起非對齊的指
令指O
■在一個非字r率字)對齊的地址讀寫~個字(率
字),將引起非對齊的數(shù)據(jù)訪問:
M*HiBnMi'1Mbtabf■■B
第3章目錄
口1.簡介口19.異常)
□2.ARM71DMI□110.中斷延遲
□3.ARM7TDMI的模塊和口111.復(fù)位
內(nèi)部框圖口112.存儲器及存儲器映射
口4,體系結(jié)構(gòu)直接支持的I/O
.數(shù)據(jù)類型口113.尋址方式簡介
.處理器狀態(tài)口I14.ARM7指令簡介
里型式□115.協(xié)處理器接口
寄存器口u1|140.調(diào)〃可1A#恢第口1簡1日J介川
尸踴1?酷費繆□
I17.ETM接口簡介A
第3章目錄
□18.Load/Store體系結(jié)
構(gòu)
□19.監(jiān)控模式
□20.ARM開發(fā)工具
3.13尋址方式簡介
尋址方式分類
尋址方式是處理器執(zhí)行指令時尋找真實操作教
地址的方式。ARM處理器支持9種基本尋址方式:
■寄存器尋址;■多寄存器尋址;
■立即尋址;■堆找尋址;
■寄存器移住尋址;■塊拷貝尋址;
■寄存器間接尋址;■相對尋址;
■基址尋址;
3.13尋址方式簡介
尋址方式分類——寄存器尋址
操作教的值在寄存器中,指令中的地址碼字段
指出的冷船良饕編生—施至胡J王此近尾鼠蟲寄存器
值來操
MOVR1
3.13尋址方式簡介
尋址方式分類—立即尋址
立即尋址指令中的操作碼字段后面的地址碼部
分阻具爆繪故入丸—Lit星擊一數(shù)_捱虬包且dU缸繪
當程序存儲
(這
SUE隊代碼中獲得數(shù)據(jù)
M0\
MOVR0,#0xFF00
3.13尋址方式簡介
尋址方式分類——寄存器移位尋址
寄存器移住尋址是ARM指令集特有的尋址方式。
第2小爆偉晶2害忘受杉色方丈肘.第24等點器
近若左移3住
R20x010x08
,
R00x08一
相
MOVR0,R2,LSL#3
II,[w
3.13尋址方式簡介
■尋址方式分類——寄存器間接尋址
寄存器間接尋址指令中的地址碼給出的是一個
通用盍定器j缸綠圭—麻羹魚盤餐瓶器技
匕
定q
針,
LDF
SWE
LDRR0JR2]
3.13尋址方式簡介
■尋址方式分類一一基址尋址
基址尋址就是將基址寄存器的內(nèi)叁與指令中給
出的_搐身算受”0二也.一般就舞2
址
組,
例:
LDF
STF
LDRR2,[R3,#0x0C]
3.13尋址方式簡介
■尋址方式分類一一基址尋址
基址尋址就是將基址寄存器的內(nèi)叁與指令中給
出的_搐身算受”0二也.一般就舞2
址
組,
例:
LDF
STF
LDRR2,[R3,#0x0C]
3.13尋址方式簡介
?尋址方式分類——多寄存器尋址
多寄存器尋址一次可傳送幾個寄存器值,允許
R60x04w-0x040x4000000C
LDR—
R40x03h「0x030x40000008
R30x02v-0x020x40000004
STNR20x01<-0x010x40000000
R10x40000010____器^
LDMIAR1!,{R2-R4,R6}
3.13尋址方式簡介
■尋址方式分類----堆棧尋址
堆找是一個段特定順序進行存取的存儲區(qū),操
作順序為“后進先出”。堆找尋址是噫含的,它使
用一個專門的寄存器(堆找指針)指向一塊存儲區(qū)域
(堆找),指針所指向的存儲單元即是堆找的找頂。
存儲器堆找可分為兩種:
■向上生長:向高地址方向生長,稱為遹增堆找
■向下生長:向低地址方向生長,稱為遹戒堆找
I
4
3.13尋址方式簡介
■尋址方式分類----堆棧尋址
3.13尋址方式簡介
■尋址方式分類----堆棧尋址
堆找指針指向最后壓人的堆找的有效數(shù)據(jù)項,
稱為滿堆找;堆找指針指向下一個待壓人數(shù)據(jù)的空
住置,稱為空堆找。
3.13尋址方式簡介
■尋址方式分類----堆棧尋址
所以可以組合出四種類型的堆模方式:
■滿遹增:堆找句上增長,堆找指針指向內(nèi)含有效
數(shù)據(jù)項的最高地址。指令如LDMFA、STMFA等;
■空遹增:堆找向上增長,堆找指針指向堆找上的
第一個全住置。指令如LDMEA、STMEA等;
■滿遹臧:堆找向下增長,堆找指針指向內(nèi)含有效
數(shù)據(jù)項的最低地址。指令如LDMFD、STMFD等;
■空遹減:堆找向下增長,堆找指針句堆找下的第
黑金荔/工一個空住灌。指令如LDMED、STMED等。
3.13尋址方式簡介
尋址方式分類——塊拷貝尋址
多寄存器傳送指令用于將~塊數(shù)據(jù)從存儲器的
第一住置拷貝到另一住置。如:
STMIARO!,{R1-R7);將區(qū)1?R7的數(shù)據(jù)保存到存儲器中。
;存儲指針在保存第一個值之后增加,
一二;增長方向為向上增長。
STMIBRO!,{R1-R7);將區(qū)1?R7的數(shù)據(jù)保存到存儲器中。
;;存儲指針在保存第~個值之前增加,
;增長方向為向上增長。
3.13尋址方式簡介
尋址方式分類----相對尋址
相對尋址是基址尋址的一種變通。由程序計教
器PC提供基準地址,指令中的地址碼字段作為偏移
量,兩者相加后得到的地址即為操作數(shù)的有效地址。
相對尋址指令舉例如下:
BLSUBR1;調(diào)用到SUBR1子程序
BEQLOOP;條件跳轉(zhuǎn)到LOOP標號處
LOOPMOVR6,#1
第3章目錄
口1.簡介口9.異?!?/p>
□2.ARM7TDMI口10.中斷延遲
□3.ARM7TDMI的模塊和口11.復(fù)位
內(nèi)部框圖口12,存儲器及存儲器映射
口4.體系結(jié)構(gòu)直接支持的I/O
3t.數(shù)據(jù)類型口13.尋址方式簡介
總處理器狀態(tài)口14.ARM7指令簡介
理器模式口15.協(xié)處理器接口
:B寄存器口16.調(diào)試接口簡介
態(tài)寄存器口17.ETM接口簡介
第3章目錄
□18.Load/Store體系結(jié)
構(gòu)
□19.監(jiān)控模式
□20.ARM開發(fā)工具
3.14AMR7指令集簡介
■簡介
ARM7TDMI處理器有兩個指令集,每種指令集
都有自己的優(yōu)缺點:
■32佳ARM指令集:對ARM核的特性提供最大的
支持,具有高效、快速的特點;
■16住Thumb指令集:它是ARM指令的子集,具
有更高的代碼密度,非常適合存儲器帶寬和空間
都受F艮制的送八式應(yīng)用場合。
3.14AMR7指令集簡介
ARM指令集
ARM指令集可分為5大類指令,所有指令都可以
條件執(zhí)行,其中一些指令還可以根據(jù)執(zhí)行結(jié)果更新
CPSR寄存器的相關(guān)標志住(N、Z、C和V):
■分文指令;
■數(shù)據(jù)處理指令;
■加載和存儲指令;
■協(xié)處理器指令;
■雜項指令O
3.14AMR7指令集簡介
-ARM指令集
分支指令
指令助記符功能描述
B分支指令
BX帶狀態(tài)切換的分支指令
BL帶連接的分支指令
I___________
分支指令
轉(zhuǎn)移和連接CBLJ選項在跳轉(zhuǎn)后將指令地址保存在
R14(LR)當中、這樣通過將LR復(fù)制到PC可實現(xiàn)子程序的返
回、
另外有的分支指令可在指令集之間進行切換,此時,
分支指令執(zhí)行完成后處理器繼續(xù)執(zhí)行Thumb指令集的指
令、這樣就允許ARM代碼調(diào)用Thumb子程序,而ARM子程
序也可返回到Thumb調(diào)用程序、Thumb指令集中相似的指令
可實現(xiàn)對應(yīng)的Thumb—ARM切換、
3.14AMR7指令集簡介
ARM指令集
(2)數(shù)據(jù)處理指令
數(shù)據(jù)處理指令在通用寄存器上執(zhí)行計算、ARM7TDM1的
數(shù)據(jù)處理指令分為3種類型:算術(shù)/近屬指令、比較指令和
乘法指令,
(3)加載/存儲指令
加我/保存指令包括:加我/保存寄存器,加載/保存
多個寄存器和交換寄存器和存儲器內(nèi)叁、
3.14AMR7指令集簡介
(3)加載/存儲指令
類別指令”已功能描述
付
單寄存器加載LDR存儲器向寄存器加載字數(shù)據(jù)
多寄存器加載LDM存儲器向多個寄存器加載字數(shù)據(jù)
單寄存器存儲STR寄存器向存儲器存儲字數(shù)據(jù)
多寄存器存儲STM多個寄存器向存儲器存儲字數(shù)據(jù)
寄存器交換SWP寄存器與存儲器交換字數(shù)據(jù)
3.14AMR7指令集簡介
ARM指令集
(4)協(xié)處理器指令
協(xié)處理器指令有3種類型:
數(shù)據(jù)處理指令:啟動一個協(xié)處理器專用的內(nèi)部操作、
數(shù)據(jù)轉(zhuǎn)移指令:將數(shù)據(jù)在協(xié)處理器和存儲器之間進行轉(zhuǎn)移
寄存器轉(zhuǎn)移指令:允許協(xié)處理器值轉(zhuǎn)移到ARM寄存器或?qū)?/p>
ARM寄存器值轉(zhuǎn)移到協(xié)處理器、
3.14AMR7指令集簡介
■ARM指令集
(4)協(xié)處理器指令
指令助記符功能描述
CDP協(xié)處理器數(shù)據(jù)操作指令
LDC協(xié)處理器數(shù)據(jù)加載指令
MCRARM處理器寄存器到協(xié)處理器寄存器
的數(shù)據(jù)傳送器令
MRC協(xié)處理器寄存器到ARM處理器寄存器
的數(shù)據(jù)傳送指令
STC協(xié)處理器數(shù)據(jù)存儲指令
3.14AMR7指令集簡介
(4)協(xié)處理器指令
CDP指令用于ARM處理器通知ARM協(xié)處理器執(zhí)行特定的
操作,若協(xié)處理器不能成功完成特定的操作,則產(chǎn)生未定義指
令異常O
LDC指令用于把源寄存器所指向的存儲器中的字數(shù)據(jù)傳送
到目的寄存器中。若協(xié)處理器不能成功完成傳送操作,則產(chǎn)
生未定義指令異常。
STC指令與LDC指令對應(yīng),用于把源寄存器Rs中的字數(shù)據(jù)
傳送到目的寄存器Rd所指向的存儲器。若協(xié)處理器不能成功
完成傳送操作,則產(chǎn)生未定義指令異常o
3.14AMR7指令集簡介
■ARM指令集
(5)雜項指令
雜項指令包括狀志寄存器轉(zhuǎn)移指令和異常產(chǎn)生指令
指令助記符功能描述
SWI軟件中新指令
3.14AMR7指令集簡介
Thumb指令集
Thumb指令集可分為4大類指令:
■分支指令;
M*HiBnMi'1Mbtabf■■B
第3章目錄
口1.簡介口19.異常)
□2.ARM71DMI□110.中斷延遲
□3.ARM7TDMI的模塊和口111.復(fù)位
內(nèi)部框圖口112.存儲器及存儲器映射
口4,體系結(jié)構(gòu)直接支持的I/O
*數(shù)據(jù)類型□113.尋址方式簡介
.處理器狀態(tài)口I14.ARM7指令簡介
器模式口115.協(xié)處理器接口
書寄存器□u1|140.調(diào)〃可1A#恢第口1簡1日J介川
尸踴1?酷費繆□
I17.ETM接口簡介A
第3章目錄
□18.Load/Store體系結(jié)
構(gòu)
□19.監(jiān)控模式
□20.ARM開發(fā)工具
3.15協(xié)處理器接口
■簡介
ARM7TDMI處理器指令集使您可以通過協(xié)處理
器來實現(xiàn)特殊的附加指令。這些協(xié)處理器是與
ARM7TDMI內(nèi)核相結(jié)合的單獨的處理單元。一個典
型的協(xié)處理器包括:
■指令流水線;
■指令譯碼近春;
■寄存器分組;
■帶獨立數(shù)據(jù)通路的特殊處理謖梅。
3.15協(xié)處理器接口
簡介
ARM內(nèi)核與協(xié)處理器的關(guān)系
3.15協(xié)處理器接口
■指令的執(zhí)行由ARM7TDM1內(nèi)核與協(xié)處理器共同實現(xiàn).
ARM7TDMI內(nèi)核用于:
⑺求出條件代碼的值以確定指令是否必須由協(xié)處理器執(zhí)行,
然后使用CPnl(內(nèi)核與協(xié)處理器握手的信號)通知余統(tǒng)中的
所有協(xié)處理器、
⑵產(chǎn)生指令所要求的地址來埴充流水線、
⑶如果出現(xiàn)協(xié)處理器不接受的指令,則執(zhí)行未定義指令陷阱
協(xié)處理器用于:
⑺對指令進行譯碼以確定是否接受、
⑵通過CPA和CPB(內(nèi)核與協(xié)處理器握手的信號)指示它是
否接受這一指令,
⑶從自身的寄存器組當中取出任何需要的值、
⑷執(zhí)行指令所需要的操作.
3.15協(xié)處理器接口
可用的協(xié)處理器
一個系統(tǒng)最多可連接16個協(xié)處理器,每個協(xié)處
理器都通過唯一的1D號識別。ARM7TDM1處理器包
合兩個協(xié)處理器,它們不能再用在外部協(xié)處理器:
■CP14通信通道協(xié)處理器;
■CP15為cache和MMU功能提供的系統(tǒng)控制協(xié)處
理器。
3.15協(xié)處理器接口
■可用的協(xié)處理器協(xié)處理器編號分配
15祭統(tǒng)控制
不能將外部協(xié)處理器的編號分
配為14和15.14調(diào)試控制器
ARM還保留了其他的協(xié)處理13:8
器編號,見右表.
7:4可供溫片設(shè)計
者使用
3:0保留
3.15協(xié)處理器接口
1關(guān)于未定義的指令
ARM7TDMI處理器執(zhí)行完全的ARM結(jié)構(gòu)v4T未定義指
令的處理.這意味著ARM體系結(jié)構(gòu)參考手冊中定義為
UNDEFINED的任何指令都會使ARM7TDMI處理器執(zhí)行未定
義指令陷阱.任何一個不被協(xié)處理器接受的指令也會使
ARM7TDMI處理器執(zhí)行未定義指令陷阱.
第3章目錄
口1.簡介口9.異常」
□2.ARM7TDMI口10.中斷延遲
□3.ARM7TDMI的模塊和口11.復(fù)位
內(nèi)部框圖口12,存儲器及存儲器映射
口4.體系結(jié)構(gòu)直接支持的I/O
3t.數(shù)據(jù)類型口13.尋址方式簡介
總處理器狀態(tài)口14.ARM7指令簡介
理器模式口15.協(xié)處理器接口
:B寄存器口16.調(diào)試接口簡介
態(tài)寄存器口17.ETM接口簡介
第3章目錄
□18.Load/Store體系結(jié)
構(gòu)
□19.監(jiān)控模式
□20.ARM開發(fā)工具
3.16調(diào)試接口簡介
■一個調(diào)試系統(tǒng)通常具有3個部分
⑴調(diào)試主機
是一臺運行調(diào)試軟件(例如ARM的Windows板調(diào)試器AXD
和EMBEST的集成開發(fā)環(huán)境IDE)的計算機.調(diào)試主機使您可以
使用設(shè)置斷點或檢查存儲器內(nèi)叁這些高級命令.
(2)協(xié)議轉(zhuǎn)換器
是調(diào)試主機發(fā)出的高級命令與ARM7TDMI處理器JTAG接
口的低級命令之間的接口.典型地,它通過~個接口(例如增強
型并口)與主機相連.
3.16調(diào)試接口簡介
(3)調(diào)試目標
ARM7TDMI處理器具有便于選行底層調(diào)試的硬件廣展.這
些廣展可以:
?暫停程序的執(zhí)行;
?檢查和修改內(nèi)核的內(nèi)部狀忠;
?檢查存儲器條統(tǒng)的狀態(tài);
?執(zhí)行中止異常,允許實時監(jiān)控內(nèi)核;
?恢復(fù)程序執(zhí)行;
調(diào)試主機和協(xié)議轉(zhuǎn)換器與系統(tǒng)有關(guān).
■..一■■MMMHB'MBt'?■?.?■■?:M?-fl
3.16調(diào)試接口簡介
EmbeddedlCE-RT
?ARM7TDM處理器EmbeddedICE-RT模塊為ARM7TDM1內(nèi)
核提供集成的片內(nèi)調(diào)試支持.
?EmbeddedlCE-RT通過ARM7TDM1處理器TAP控制器串行編
程.下圖為內(nèi)核.
3.16調(diào)試接口簡介
★EmbeddedlCE-RT與TAP控制器之間的關(guān)條,其中只顯示了與
EmbeddedlCE-RT關(guān)的信號.EmbeddedlCE-RT謖轉(zhuǎn)包含下
面這些部分.
①兩個實時觀察點單元.可以編程這兩個觀察點或其中一個使內(nèi)
核暫停指定指令的執(zhí)行.當編程到Embe
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國畜牧養(yǎng)殖機械設(shè)備行業(yè)市場發(fā)展現(xiàn)狀及前景規(guī)劃研究報告
- 2025-2030年中國瓶(罐)裝飲用水市場競爭狀況及投資戰(zhàn)略研究報告
- 2025-2030年中國牲畜屠宰行業(yè)運行狀況及前景趨勢分析報告新版
- 2025-2030年中國熱浸鍍鋅行業(yè)市場未來發(fā)展狀況及投資規(guī)劃研究報告
- 2025-2030年中國液體洗滌劑行業(yè)發(fā)展現(xiàn)狀及前景趨勢分析報告新版
- 2025年智能收銀機銷售與全鏈路服務(wù)合同協(xié)議6篇
- 二零二五年度高科技大棚租賃與蔬菜種植基地建設(shè)合同3篇
- 二零二五年燈具安裝與照明效果評估合同3篇
- 2025年私立學(xué)校環(huán)保節(jié)能改造項目合作協(xié)議3篇
- 《庖丁解?!帆@獎?wù)n件(省級公開課一等獎)-完美版PPT
- 化工園區(qū)危險品運輸車輛停車場建設(shè)標準
- 6月大學(xué)英語四級真題(CET4)及答案解析
- 氣排球競賽規(guī)則
- 電梯維修保養(yǎng)報價書模板
- 危險化學(xué)品目錄2023
- FZ/T 81024-2022機織披風(fēng)
- GB/T 33141-2016鎂鋰合金鑄錠
- JJF 1069-2012 法定計量檢定機構(gòu)考核規(guī)范(培訓(xùn)講稿)
- 綜合管廊工程施工技術(shù)概述課件
- 公積金提取單身聲明
評論
0/150
提交評論