中斷(Interrupt)是指系統(tǒng)芯片中外設(shè)IP核產(chǎn)生的一個給處理器的硬件請求信號,外設(shè)請求處理器暫停當前正在執(zhí)行的任務(wù),轉(zhuǎn)而去執(zhí)行外設(shè)所需的特定任務(wù)。在中斷模式下,處理器對外設(shè)發(fā)出任務(wù)命令后可直接去處理其他任務(wù),當中斷請求到來時再做相應(yīng)的處理,避免了無效等待,提高了任務(wù)之間的并行性。中斷的產(chǎn)生及處理流程如圖5-97所示。
中斷響應(yīng)和處理流程:處理器接受到中斷信號之后,立即停止當前正在執(zhí)行的程序,并且保存當前處理器狀態(tài),程序指針等,然后進入中斷服務(wù)程序;完成中斷處理之后即可返回原程序繼續(xù)執(zhí)行。一個中斷服務(wù)程序?qū)?yīng)于一個中斷源,每個中斷源都有其特定的中斷服務(wù)程序。在中斷服務(wù)程序中,處理器一般需要做3部分工作:一是保護現(xiàn)場,即保存執(zhí)行中斷源請求的特別任務(wù)之前的處理器狀態(tài),程序指針等,以便中斷處理之后能正確返回;二是解析當前中斷,執(zhí)行相應(yīng)動作;三是恢復(fù)現(xiàn)場,再返回到中斷前的程序。
中斷控制器是系統(tǒng)芯片中用于中斷源收集,屏蔽和優(yōu)先級管理的IP核。產(chǎn)生中斷信號的部件稱為中斷源,中斷源產(chǎn)生的中斷有電平中斷核脈沖中斷兩種形態(tài):電平中斷再中斷發(fā)生時產(chǎn)生一個持續(xù)的有效電平,在未清除中斷之前有效電平維持;脈沖中斷發(fā)生時產(chǎn)生一個有效脈沖,脈沖不維持,中斷控制器需要捕捉并記錄該脈沖中斷。
在系統(tǒng)應(yīng)用不需要關(guān)注某個中斷的情況下,中斷源產(chǎn)生的中斷被傳到處理器之前,可以被屏蔽。通過在中斷控制器中設(shè)置該中斷位無效,即可屏蔽中斷。系統(tǒng)模塊以及外設(shè)都可能產(chǎn)生中斷,在多個中斷源同時產(chǎn)生中斷的情況下,處理器核不能同時響應(yīng)所有中斷請求,因此在多個中斷同時到來的情況下需要有順序地進行中斷處理,即分配中斷的優(yōu)先級。優(yōu)先級高的中斷先被處理,優(yōu)先級低的中斷后被處理。
審核編輯 :李倩
-
控制器
+關(guān)注
關(guān)注
112文章
16416瀏覽量
178763 -
系統(tǒng)芯片
+關(guān)注
關(guān)注
0文章
38瀏覽量
18379
原文標題:系統(tǒng)芯片設(shè)計—中斷控制器
文章出處:【微信號:Semi Connect,微信公眾號:Semi Connect】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論