1. 程式人生 > >RISC處理器設計(三)------中斷的設計

RISC處理器設計(三)------中斷的設計

發生 val nbsp style pac 外部 pri blog 定義

中斷是將正常的指令流運行過程轉向中斷服務程序。在中斷處理完之後,處理器返回到原來運行的程序。 處理器狀態包括寄存器狀態和程序流返回地址,他們保存在特殊寄存器和通用寄存器的R28~R31中。所以有兩套額外的寄存器在不同的中斷等級下調出使用。 處理器有外部中斷或稱為硬件中斷(Hwi)供其他系統單元請求處理器暫停正在執行的程序,而內部中斷則發生在處理器內部。內部中斷又分為異常(EXC)和軟件中斷(SWI)兩種。 異常是指令執行過程中發生錯誤時自動調用的,軟件中斷是SWI指令調用的。 軟件通過跳轉到不同的中斷處理程序,能夠分別處理不同含義和不同優先級的中斷。 硬件中斷則是通過各自獨立的中斷序號來區分的。通過中斷向量,中斷處理程序的起始地址便可以計算出來。 一個向量基值寄存器VBR為中斷處理程序提供快速地址指示。這個指示地址是可編程的。中斷號和VBR的組合便產生了中斷服務程序的入口地址。 VBR寄存器的內容或基址寄存器中的內容,指示了每一個中斷處理程序在存儲器中的起始地址。 這個表包含了指向32個中斷處理程序地址入口的跳轉指令,以及包含2個字8個字節的延遲槽指令。 因此VBR寄存器的0、1和2位都是0.中斷處理程序入口由5位向量表示,即為VBR的3-7位。 技術分享圖片
類型 向量 說明
Hwi 00xxx 00000 00001 00010 00011 00100 00101 00110 00111 BUS_ERROR總線錯誤 PAGE_FAULT頁面錯誤 MISS_ALIGN未對準 操作系統定義 操作系統定義 操作系統定義 操作系統定義 操作系統定義
Exc 01xxx 01000 01001 01010 01011 01100 01101 01110 01111 延遲槽為CTR指令 PRIVILEGE_VIOLATION越權指令 ILLEGAL_INSTRUCTION非法指令 UNIMPLEMENTED_INSTRUCTION未實現指令 保留 保留 保留 PANIC嚴重錯誤
Swi 1xxxx 10000 操作系統定義
技術分享圖片

RISC處理器設計(三)------中斷的設計