計算機中斷理解

一.什麼是中斷
 計算機中斷——顧名思義,就是計算機由於遇到一些緊急情況,中斷現在的工作,轉而
處理緊急情況,處理完緊急情況以後再回到以前執行的工作繼續執行。不過這只是狹義的計
算機中段概念。因爲這個概念只能解釋內部中斷和外部中斷,然而對於軟件中斷卻不能套用
次概念。
  
  爲了讓我們更加方便的理解中斷這個概念,然我們打個比方:假設你在上網,突然你的
朋友要你去踢足球,這就是中斷請求。然後你對他喊道:“我就來!等一等!”這就是中斷
響應。接着你就和他踢足球去了,這就是中斷處理。踢完足球以後,你再回到你的計算機前
面接着上網,這就叫做中斷返回。從以上可以看出,中斷分爲4個步驟:中斷請求->中斷響
應->中斷處理->中斷返回。
  
  以下我都會以這個例子爲基礎闡述我對於中斷的理解。

首先讓我們對中斷分一分類。有一種分類情況:1.可屏蔽中斷 2.不可屏蔽中斷。

所謂可屏障中斷很好理解,以那個例子爲例。你的朋友叫你踢足球,但是你可能正在和
你心儀的美眉聊得正開心,於是你不響應這個中斷,那麼這個中斷就是可屏蔽中斷。

假如中斷你的不是這件事,而是叫你去領獎金,過期不侯,那麼你是無論如何也要相應
這個中斷了。這就是不可屏蔽中斷。

一般來說,像什麼嚴重情況產生的中斷一般都是非可屏蔽中斷,比如:電源掉電等等。
可屏蔽中斷和非可屏蔽中斷對應着CPU的兩根針,是嚴格區分的。

還有一種中斷分類方法:內部中斷、外部中斷、軟件中斷。

內部中斷是CPU自己發生異常產生的中斷。其中最重要的是“除0中斷”和“溢出中斷”
。大家都知道,除數是不能爲0的,如果在CPU的運行過程中出現了這種情況的話,那麼就會
產生一箇中斷,由系統自動執行,由於中斷號爲“0”,所以也叫0號中斷;溢出中斷是在CPU的運算過程中產生溢出,由應用程序執行。溢出這個概念比較複雜,需要一定的計算機編碼
知識,不在這兒的討論之列。

外部中斷是計算機的外部設備給CPU的中斷請求,例如:時鐘、鍵盤、鼠標等等。這些中
斷都是可以屏蔽的。我們在鍵盤上輸入了‘A’,結果在屏幕上顯示出來了,這都是中斷的功
勞。

軟件中斷就是應用程序提出的中斷了,是不可能被屏蔽的。每一個軟件中斷都對應一個
標準的功能,如:在屏幕上顯示一個字符串,準備從鍵盤接受一個字符等等。

最後我們回到 IRQ 號,爲什麼中斷要編號,因爲只有編號,CPU才知道向CPU提出的是什麼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章