新聞中心

ARM中斷處理類型

作者: 時(shí)間:2012-11-22 來源:網(wǎng)絡(luò) 收藏
  在正常的程序執(zhí)行流程發(fā)生暫時(shí)的停止時(shí),稱為中斷,例如,處理一個(gè)外部的。在處理異常之前,當(dāng)前處理器的狀態(tài)必須保留,這樣當(dāng)異常處理完成之后,當(dāng)前程序可以繼續(xù)執(zhí)行。處理器允許多個(gè)異常同時(shí)發(fā)生,它們將會(huì)按固定的優(yōu)先級(jí)進(jìn)行處理。

  中斷與堆棧設(shè)置和ARM體系結(jié)構(gòu)緊密相關(guān),ARM是一種支持多任務(wù)操作的系統(tǒng)內(nèi)核,內(nèi)部結(jié)構(gòu)完全適應(yīng)多任務(wù)應(yīng)用。ARM內(nèi)核支持7種中斷,不同的中斷處于不同的處理模式(如表1所示),具有不同的優(yōu)先級(jí),而且每個(gè)中斷都有固定的中斷入口地址。當(dāng)一個(gè)中斷發(fā)生時(shí),相應(yīng)的R14(LR)存儲(chǔ)中斷返回地址,SPSR存儲(chǔ)狀態(tài)寄存器CPSR的值。

  由于ARM內(nèi)核支持流水線工作,LR寄存器存儲(chǔ)的地址可能是發(fā)生中斷處后面指令的地址,所以不同的中斷處理完成后,必須將LR寄存器值經(jīng)過處理后再寫入R15(PC)寄存器。

  表1 ARM的7種中斷

  ARM體系結(jié)構(gòu)所支持的異常及具體含義如表2所示。

  表2 ARM所支持的異常及其具體含義

續(xù)表



評(píng)論


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

關(guān)閉