第1天-ARM工作模式
1、ARM體系CPU工作狀態(tài):ARM狀態(tài)和Thumb狀態(tài)
ARM狀態(tài):處理器執(zhí)行32位的字對(duì)齊的ARM指令;
Thumb狀態(tài):處理器執(zhí)行16位的、半字對(duì)齊的Thumb指令;
在程序運(yùn)行的過程中,可以在兩種狀態(tài)之間進(jìn)行相應(yīng)的轉(zhuǎn)換。處理器工作狀態(tài)的轉(zhuǎn)變并不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。CPU上電處于ARM狀態(tài)
2、存儲(chǔ)器格式:
Arm體系結(jié)構(gòu)將存儲(chǔ)器看做是從零地址開始的字節(jié)的線性組合。從零字節(jié)到三字節(jié)放置第一個(gè)存儲(chǔ)的字(32位)數(shù)據(jù),從第四個(gè)字節(jié)到第七個(gè)字節(jié)放置第二個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),一次排列。作為32位的微處理器,arm體系結(jié)構(gòu)所支持的最大尋址空間為4GB。
大端格式和小端格式
大端格式:數(shù)據(jù)的低地址放在物理地址的低位
小端格式:數(shù)據(jù)的低地址放在物理地址的高位
3、ARM處理器工作模式
特權(quán)模式:快速中斷模式、外部中斷模式、管理模式、數(shù)據(jù)訪問終止模式、系統(tǒng)模式、未定義指令中止模式
異常模式:快速中斷模式、外部中斷模式、管理模式、數(shù)據(jù)訪問終止模式、未定義指令中止模式
Arm的工作模式切換有兩種方法:
被動(dòng)切換:在arm運(yùn)行的時(shí)候產(chǎn)生一些異常或者中斷來(lái)自動(dòng)進(jìn)行模式切換;
主動(dòng)切換:通過軟件改變,即軟件設(shè)置寄存器來(lái)經(jīng)行arm的模式切換,應(yīng)為arm的工作模式都是可以通過相應(yīng)寄存器的賦值來(lái)切換的。
評(píng)論