嵌入式_中斷名詞詳解、分類與過程

中斷

一、定義

當CPU正在正常運行時,外部發生的某一隨機事件請求CPU去處理,於是CPU暫時中止現行程序的運行而處理所發生的事件,處理完畢後,再回到原來被中止的地方繼續執行,這種能力和行爲稱爲中斷。系統爲實現中斷而採取的硬件和軟件措施稱爲中斷系統。
• 一個完整的中斷過程應該包括:中斷請求、中斷判優、
中斷響應、中斷處理和中斷返回。
首先中斷源提出中斷申請,在該中斷允許的情況下,CPU首先響應優先級別高的中斷源提出的中斷請求,等處理完高優先級中斷源的中斷服務程序後再響應較
低優先級別的中斷請求;CPU暫停現行程序,將PC中下一條指令的地址入棧保護起來,響應中斷請求,進入中斷服務程序;中斷服務程序首先保護現場,接着執行中斷源服務程序主體部分,然後恢復現場,最後返回主程序。

二、基本觀念

(一)、中斷源

引起中斷的事件,即發出中斷請求的來源,稱爲中斷源。在計算機系
統中,軟件和硬件均可以提出中斷請求。

  1. 一般的I/O 設備,如鍵盤、打印機等。
  2. 實時時鐘。
  3. 軟、硬件故障。
  4. 爲了調試程序而設置的中斷。(例如設置斷點,單步運行等)

中斷源的設置—即使是最高級的計算機,也不能夠處理全部的異常情 況和特殊事件,它只能根據應用目的設計一些事先確定的中斷源。

(二)、中斷請求

用某種信號通知CPU指明某個外設正在請求中斷,需要CPU中斷現行程序的執行。
中斷請求的條件:
(1)外設具有提出中斷請求功能;
(2)CPU允許該外設發中斷請求。
中斷屏蔽:是否允許CPU響應中斷請求。可通過設置狀態寄存器上的IF標識位來控制。
(1)非屏蔽中斷(NMI)
出現在NMI線上的中斷請求爲非屏蔽中斷,這種中斷不受中斷允許標誌IF的影響,
它總是被CPU接受的。非屏蔽中斷的優先權高於可屏蔽中斷。
(2)可屏蔽中斷
出現在INTR線上的中斷請求信號。是否響應INTR的請求,取決於中斷允許標誌
位IF的狀態。只有當中斷允許標誌位IF爲1時,CPU才能響應INTR的中斷請求。
• 如果IF爲0,即使INTR端有中斷請求信號CPU也不會響應。這種情況稱爲中斷屏蔽。
• 通常CPU爲每個中斷源設置一箇中斷請求觸發器,把該觸發器置“1”時,向CPU發
出中斷請求且一直保持這一狀態,直到CPU響應該中斷請求後才能而且必須清除這一請求信號,以防止重複中斷。

1、中斷請求信號的傳送

• 中斷請求信號產生後,可以通過中斷請求線傳送給CPU。
• 按照中斷請求線的數目分爲單線中斷 多線中斷 多線多級中斷
1). 單線中斷
• 各中斷源的請求信號通過三態門彙集到一根公共請求線上,如下圖。
• 當收到中斷請求後,CPU必須通過相應的軟件或硬件的方法來判斷是哪個設備提出中斷請求。在微機中廣泛採用這種模式。
在這裏插入圖片描述
2). 多線中斷
• 在多線中斷技術中,各個中斷源單獨設置中斷請求線,將中斷請求直接送往
CPU。
當CPU收到中斷請求信號後,就知道了請求源是誰,這有利於提高中斷響應的
速度,便於採用向量中斷技術,但其硬件代價較大。
• 缺點:中斷源的數目難以擴充。
在這裏插入圖片描述
3). 多線多級中斷
• 當中斷源的數目大於中斷輸入線的數目時,通常是將中斷請求線連接成二維結構
(多線多級技術),如下圖。
在這裏插入圖片描述

(三)、中斷響應

• 中斷響應 • 中斷響應是指主機發現外部中斷請求,中止現行程序的執行,
到調出中斷服務程序這一過程。
• 中斷響應的條件
① CPU處於開中斷狀態
② 在一條指令執行完
② 至少要有一個未被屏蔽的中斷請求
• 中斷響應過程
① 關中斷0=>中斷允許觸發器CIEN
② 保護斷點和程序狀態PC=>堆棧(或特殊寄存器EPC)PSW=>堆棧
③ 識別中斷源,取得中斷服務程序首地址和初始程序狀態字分別送PC和PSWR

(四)、中斷處理過程

中斷處理過程包括:
進入中斷服務程序,中斷服務程序首先保護現場,接着執行中斷源服務程序主
體部分,然後恢復現場,最後返回主程序。
中斷請求——中斷判優——中斷響應——中斷處理——中斷返回
進一步可細分爲:

  1. 關中斷
  2. 保存斷點(入棧當前IP值)
  3. 識別中斷源(尋找相應的中斷服務程序入口地址)
  4. 保護現場(入棧各重要寄存器)
  5. 執行中斷服務程序
  6. 恢復現場(出棧各寄存器)
  7. 開中斷
  8. 返回(出棧IP)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章