當前位置:聚美館>智慧生活>心理>

中斷器原理

心理 閱讀(1.51W)
中斷器原理

中斷是計算機發展中一個重要的技術,它的出現很大程度上解放了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、 硬中斷和軟中斷均會引起上下文切換(進程/線程之切換),進程切換的過程是差不多的