熟悉windows的人都知道,在系統設定中,幾乎沒有硬體都涉及到一些irq號,這些irq號
是什麼意思呢?irq(interupt request)——中斷請求號。什麼是計算機中斷?
計算機中斷——顧名思義,就是計算機由於遇到一些緊急情況,中斷現在的工作,轉而
處理緊急情況,處理完緊急情況以後再回到以前執行的工作繼續執行。不過這只是狹義的計
算機中段概念。因為這個概念只能解釋內部中斷和外部中斷,然而對於軟體中斷卻不能套用
次概念。
為了讓我們更加方便的理解中斷這個概念,然我們打個比方:假設你在上網,突然你的
朋友要你去踢足球,這就是中斷請求。然後你對他喊道:「我就來!等一等!」這就是中斷
響應。接著你就和他踢足球去了,這就是中斷處理。踢完足球以後,你再回到你的計算機前
面接著上網,這就叫做中斷返回。從以上可以看出,中斷分為4個步驟:中斷請求->中斷響
應->中斷處理->中斷返回。
以下我都會以這個例子為基礎闡述我對於中斷的理解。
首先讓我們對中斷分一分類。有一種分類情況:1.可遮蔽中斷 2.不可遮蔽中斷。
所謂可屏障中斷很好理解,以那個例子為例。你的朋友叫你踢足球,但是你可能正在和
你心儀的美眉聊得正開心,於是你不響應這個中斷,那麼這個中斷就是可遮蔽中斷。
假如中斷你的不是這件事,而是叫你去領獎金,過期不侯,那麼你是無論如何也要相應
這個中斷了。這就是不可遮蔽中斷。
一般來說,像什麼嚴重情況產生的中斷一般都是非可遮蔽中斷,比如:電源掉電等等。
可遮蔽中斷和非可遮蔽中斷對應著cpu的兩根針,是嚴格區分的。
還有一種中斷分類方法:內部中斷、外部中斷、軟體中斷。
內部中斷是cpu自己發生異常產生的中斷。其中最重要的是「除0中斷」和「溢位中斷」
。大家都知道,除數是不能為0的,如果在cpu的執行過程中出現了這種情況的話,那麼就會
產生乙個中斷,由系統自動執行,由於中斷號為「0」,所以也叫0號中斷;溢位中斷是在cpu的運算過程中產生溢位,由應用程式執行。溢位這個概念比較複雜,需要一定的計算機編碼
知識,不在這兒的討論之列。
外部中斷是計算機的外部裝置給cpu的中斷請求,例如:時鐘、鍵盤、滑鼠等等。這些中
斷都是可以遮蔽的。我們在鍵盤上輸入了『a』,結果在螢幕上顯示出來了,這都是中斷的功
勞。軟體中斷就是應用程式提出的中斷了,是不可能被遮蔽的。每乙個軟體中斷都對應乙個
標準的功能,如:在螢幕上顯示乙個字串,準備從鍵盤接受乙個字元等等。
最後我們回到 irq 號,為什麼中斷要編號,因為只有編號,cpu才知道向cpu提出的是什
麼中斷。比如 irq 1是時鐘中斷,irq 2是鍵盤中斷等等。
計算機中斷理解
一.什麼是中斷 計算機中斷 顧名思義,就是計算機由於遇到一些緊急情況,中斷現在的工作,轉而 處理緊急情況,處理完緊急情況以後再回到以前執行的工作繼續執行。不過這只是狹義的計 算機中段概念。因為這個概念只能解釋內部中斷和外部中斷,然而對於軟體中斷卻不能套用 次概念。為了讓我們更加方便的理解中斷這個概念...
計算機中斷與異常總結
軟體產生的中斷 異常源異常分類 不可遮蔽中斷 nmi 開啟和關閉中斷 8259a產生中斷 中斷和異常是一些提示性事件,這些事件表明系統 處理器或者當前執行程式或任務存在著某種狀況,需要處理器注意。典型情況下,中斷是在程式執行期間隨機發生的,是對硬體訊號的響應。系統硬體使用中斷去處理處理器的外部事件,...
計算機中斷例程和啟動過程
首先將幾個概念,中斷程式處理和中斷向量表。cpu在執行一段程式的時候,檢測到從cpu內部或外部發來的特殊訊號,並且可以對該訊號立即處理,暫時不去處理當前執行的程式。等該訊號處理完成後,可以返回繼續執行程式。這種訊號就是中斷資訊。相當於銀行的vip使用者 然後的問題就是怎麼產生訊號和如何處理訊號了。有...