新聞中心

ARM·微處理器的編程模型

作者: 時(shí)間:2016-11-24 來(lái)源:網(wǎng)絡(luò) 收藏
2)程序狀態(tài)寄存器(CPSR)

·mode:表示處理器的工作狀態(tài)
·T:0,ARM state;1,Thumb state ;
·interrupt disable bits
I=1:Disables the IRQ
F=1:Disable the FIO
·condition code flags
N = Negative result from ALU (非零)
Z = Zero result from ALU (結(jié)果是零)
C = ALU operation Carried out (進(jìn)位)
V = ALU operation Overflowed (溢出)
v5,v6的
Q:dsp擴(kuò)展單元
J:java加速器
(處理器用于存儲(chǔ)數(shù)據(jù)方式有兩種,分為大字節(jié)序和小字節(jié)序
大字節(jié)序:高字節(jié)在低位,低字節(jié)在高位
小字節(jié)序:高字節(jié)在高位,低字節(jié)在低位
*老版本只支持小字字節(jié),現(xiàn)在都支持,linux網(wǎng)絡(luò)編程采用大字節(jié)序)
【ARM所支持的異?!?div>(只要正常的程序流被暫時(shí)中止,處理器將進(jìn)入異常模式。在處理異常之前,ARM9內(nèi)核保存的當(dāng)前的處理器狀態(tài)(CPSR->SPSR),這樣當(dāng)處理器結(jié)束時(shí)可以恢復(fù)執(zhí)行原來(lái)的程序(SPSR->CPSR))

Reset:復(fù)位中斷 ;
Undefineed Instruction :未定義指令;
Software Interrupt:軟件中斷
Prefetch Abort:預(yù)取指令中止 ;
Date Abort :數(shù)據(jù)中止 ;
IRQ:外部中斷 ;
FIQ:快速中斷請(qǐng)求 ;
【異常的響應(yīng)】
1)進(jìn)入異常:
*LR中保存當(dāng)前執(zhí)行指令的下一條指令的地址:LR=PC-4
*CPSR->SPSR (保留狀態(tài))
*CPSR->與異常類型相對(duì)應(yīng)的狀態(tài)
*PC從相關(guān)異常向量處取址
*跳轉(zhuǎn),執(zhí)行命令
2)從異常返回
*SPSR->CPSR
*LR寄存值減去一個(gè)偏移量后復(fù)制到PC寄存器,跳轉(zhuǎn)被中斷的用戶程序



(這里,結(jié)合ARM7的3級(jí)流水線處理結(jié)構(gòu)可以詳細(xì)的思考一下,但是為什么第一步不把PC-8保存在R14里面?)
上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: ARM微處理器編程模

評(píng)論


技術(shù)專區(qū)

關(guān)閉