靚麗時尚館

位置:首頁 > 健康生活 > 心理

中斷器原理

心理1.48W
中斷器原理

中斷是計算機發展中一個重要的技術,它的出現很大程度上解放了CPU,提高了CPU的執行效率。

在中斷出現之前,CPU對IO採用的是輪詢的方式進行服務,這使的CPU糾結在某一個IO上,一直在等待它的響應,如果它不響應,CPU就在原地一直的等下去。這樣就導致了其他IO口也在等待CPU的服務,如果某個IO出現了important or emergency affairs,CPU也抽不出身去響應這個IO。

為了解決這個糾結的問題就——>出現了中斷

中斷控制的主要優點是隻有在IO介面需要服務時才去響應它,使得CPU很淡定的做它自己的事情,只有IO口有需求的時候才去響應它。同時中斷中也設計了中斷優先順序,來處理一些很緊急的事件。

中斷器原理

首先引出中斷產生的原因,對於CPU而言,假如沒有中斷的概念,CPU會根據指令在記憶體中的存放順序,依次取指,解碼,執行通常情況下PC的值一般指向下一條需要處理的指令地址。

當程式順序執行時,PC每次根據指令位元組數增加相應的值。以32位指令解碼為例,每執行一條非跳轉指令的情況下一般是增加4位元組。執行過程中,若遇到跳轉/返回指令,則跳轉/返回到對應的PC地址執行。

中斷器原理

中斷工作原理:計算技術裡中斷過程,就是主晶片的外部訊號或內部訊號,中斷了該晶片正在執行的程式,主晶片轉而處理由該訊號引發的其他程式,結束後再回到中斷的“斷點”,繼續執行原有程式。

二、什麼是硬中斷

顯然,外圍硬體發給CPU或者記憶體的非同步訊號就是硬中斷訊號。簡言之:外設對CPU的中斷

三、什麼是軟中斷

由軟體本身發給作業系統核心的中斷訊號,稱之為軟中斷。通常是由硬中斷處理程式或程序排程程式對作業系統核心的中斷,也就是我們常說的系統呼叫(System Call)了。

四、硬中斷與軟中斷之區別與聯絡

1、 硬中斷是有外設硬體發出的,需要有中斷控制器之參與。其過程是外設偵測到變化,告知中斷控制器,中斷控制器通過CPU或記憶體的中斷腳通知CPU,然後硬體進行程式計數器及堆疊暫存器之現場儲存工作(引發上下文切換),並根據中斷向量呼叫硬中斷處理程式進行中斷處理。

2、 軟中斷則通常是由硬中斷處理程式或者程序排程程式等軟體程式發出的中斷訊號,無需中斷控制器之參與,直接以一個CPU指令之形式指示CPU進行程式計數器及堆疊暫存器之現場儲存工作(亦會引發上下文切換),並呼叫相應的軟中斷處理程式進行中斷處理(即我們通常所言之系統呼叫)。

3、 硬中斷直接以硬體的方式引發,處理速度快。軟中斷以軟體指令之方式適合於對響應速度要求不是特別嚴格的場景。

4、 硬中斷通過設定CPU的遮蔽位可進行遮蔽,軟中斷則由於是指令之方式給出,不能遮蔽。

5、 硬中斷髮生後,通常會在硬中斷處理程式中呼叫一個軟中斷來進行後續工作的處理。

6、 硬中斷和軟中斷均會引起上下文切換(程序/執行緒之切換),程序切換的過程是差不多的

標籤:中斷