❶ 什麼是中斷處理程序
當CPU(中央處理器)執行一條現行指令的時候,如果外設向CPU發出中斷請求,那麼CPU在滿足響應的情況下,將發出中斷響應信號,與此同時關閉中斷,表示CPU不在受理另外一個設備的中斷。這時,CPU將尋找中斷請求源是哪一個設備,並保存CPU自己的程序計數器(PC)的內容。然後,他將轉移到處理該中斷源的中斷服務程序。CPU在保存現場信息,設備服務(如交換數據)以後,將恢復現場信息。在這些動作完成以後,開放中斷,並返回到原來被中斷的主程序的下一條指令。
在微機系統中,對於外部中斷,中斷請求信號是由外部設備產生,並施加到CPU的NMI或INTR引腳上,CPU通過不斷地檢測NMI和INTR引腳信號來識 別是否有中斷請求發生。對於內部中斷,中斷請求方式不需要外部施加信號激發,而是通過內部中斷控制邏輯去調用。無論是外部中斷還是內部中斷,中斷處理過程 都要經歷以下步驟:請求中斷→響應中斷→關閉中斷→保留斷點→中斷源識別→保護現場→中斷服務子程序→恢復現場→中斷返回。
❷ 什麼是中斷簡述中斷處理過程
中斷就是執行中斷服務程序,這是中斷系統的核心。不同計算機系統的中斷處理過程各具特色,但對多數計算機而言,其中中斷服務程序的流程如下。 中斷處理過程基本上由3部分組成,第一部分為准備部分,其基本功能是保護現場,對於非向量中斷方式則需要確定中斷源,最後開放中斷,允許更高級的中斷請求打斷低級的中斷服務程序;第二部分為處理部分,即真正執行具體的為某個中斷源服務的中斷服務程序;第三部分為結尾部分,首先要關中斷,以防止在恢復現場過程中被新的中斷請求打斷,接著恢復現場,然後開放中斷,以便返回原來的程序後可響應其他的中斷請求。中斷服務程序的最後一條指令一定是中斷返回指令。
一個完整的中斷過程包括:
中斷請求:是指中斷源(引起中斷的事件或設備)向CPU
發出的請求中斷的要求。
中斷判優:當有多個中斷源發出請求時,需要通過適當的辦法決定先處理哪個中斷請求;
中斷響應:指CPU中止現行程序轉至中斷服務程序的過程;
中斷處理:就是指CPU執行中斷服務程序;
中斷返回: 執行完中斷服務程序後,返回到被中斷的程序
中斷的作用:
(1)CPU與I/O設備並行工作
(2)硬體故障處理
(3)實現人機聯系:在計算機工作過程中,如果用戶要干預機器,如查看計算的中間結果,了解機器的工作狀態,給機器下達臨時性的命令等。在沒有中斷系統的計算機里這些功能幾乎是無法實現的。
(4)實現多道程序和分時操作
(5)實現實時處理
(6)實現應用程序和操作系統的聯系
(7)多處理機系統各處理機間的聯系
❸ 中斷服務程序和中斷響應程序是什麼有什麼區別
應該是一樣的東西。
不同的書、不同的作者,寫的不同。
❹ 匯編語言的中斷服務程序是什麼
中斷服務程序,處理器處理「急件」,可理解為是一種服務,是通過執行事先編好的某個特定的程序來完成的,這種處理「急件」的程序被稱為—中斷服務程序.
中斷處理過程:
(1)保護被中斷進程現場.為了在中斷處理結束後能夠使進程准確地返回到中斷點,系統必須保存當前處理機程序狀態字PSW和程序計數器PC等的值.
(2)分析中斷原因,轉去執行相應的中斷處理程序.在多個中斷請求同時發生時,處理優先順序最高的中斷源發出的中斷請求.
(3)恢復被中斷進程的現場,CPU繼續執行原來被中斷的進程.
❺ 1、什麼是中斷什麼是中斷服務程序什麼是中斷源
1、中斷:指當出現需要時,CPU暫時停止當前程序的執行轉而執行處理新情況的程序和執行過程。即在程序運行過程中,系統出現了一個必須由CPU立即處理的情況,此時,CPU暫時中止程序的執行轉而處理這個新的情況的過程就叫做中斷。
2、中斷服務程序:處理器處理"急件",可理解為是一種服務,是通過執行事先編好的某個特定的程序來完成的,這種處理"急件"的程序被稱為--中斷服務程序。
3、中斷是處理器一種工作狀態的描述。我們把引起中斷的原因,或者能夠發出中斷請求信號的來源統稱為中斷源。
❻ 中斷服務子程序和普通子程序有什麼區別
區別:
1、程序是否提前安排好:中斷服務程序是隨機的,而普通子程序是預先安排好的。
2、結束程序不同:中斷服務子程序以RETI結束,而一般子程序以RET結束。
3、結束動作不同:中斷服務子程序RETI除將斷點彈回PC動作外,還要清除對應的中斷優先標志位,以便新的中斷請求能被響應。一般子程序則無此項操作。
(6)什麼是中斷服務程序擴展閱讀:
當中央處理器正在處理內部數據時,外界發生了緊急情況,要求CPU暫停當前的工作轉去處理這個緊急事件。處理完畢後,再回到原來被中斷的地址,繼續原來的工作,這樣的過程稱為中斷。
實現這一功能的部件稱為中斷系統,申請CPU中斷的請求源稱為中斷源,單片機的中斷系統一般允許多個中斷源,當多個中斷源同時向CPU請求中斷時,就存在一個中斷優先權的問題。通常根據中斷源的優先順序別,優先處理最緊急事件的中斷請求源,即最先響應級別最高的中斷請求。
中斷處理過程:
(1)保護被中斷進程現場。為了在中斷處理結束後能夠使進程准確地返回到中斷點,系統必須保存當前處理機程序狀態字PSW和程序計數器PC等的值。
(2)分析中斷原因,轉去執行相應的中斷處理程序。在多個中斷請求同時發生時,處理優先順序最高的中斷源發出的中斷請求。
(3)恢復被中斷進程的現場,CPU繼續執行原來被中斷的進程。
❼ 匯編語言的中斷服務的中斷服務程序是什麼
嗯,我猜你問的是PC的,不是單片機
一、匯編語言的中斷分以下幾種:
1.BIOS中斷,這是固化到BIOS程序中的,每次開機BIOS會自動載入到指定內存
2.186下的DOS中斷,在DOS系統被載入後,系統會延用BIOS的中斷向量,並向裡面添加一些新的向量,這些功能便是DOS系統自帶的中斷服務程序
3.286及以上的系統中斷,PC會進入保護模式,在OS被載入後,中斷由IDT控制,這一機制類似於中斷向量表,只不過中斷向量換成了選擇子。這樣的中斷機制對不同型號的CPU有略微的差別,這里不細說了,我自己也沒全弄明白。
二、中斷實現的方式(8086下的普通中斷)
聽說過「優先順序編碼器」沒?——如果同時有兩個信號被接收,會指定某一個信號的優先順序高,先執行它。中斷就是類似的處理方法。
當CPU獲取到某一高操作優先順序的信號時(比如時鍾,每固定時間就會觸發一次;比如鍵盤響應,用戶希望通過Ctrl+C來退出任何正在執行的DOS程序),CPU會將當前正在執行的程序掛起來,轉而去處理該信號(類似於Call,但略有不同,你看的書應該會講到)。
處理中斷時,系統會將其解釋為一個標號,比如int 9h、int 21h等等。這個標號是一個序號,在內存某處存放著連續的一個表格,這個標號便是表格中的「行號」,只不過,每一行是兩列,包括了該中斷的處理程序的段基址和偏移量。中斷向量表是從0000:0000開始的,每4位元組為一個表項。中斷標號x4就是對應的中斷向量表項所存的地址,高地址是基地址,低地址是偏移。
這么說不知道你懂不懂。。。
反正總結一下你的問題吧,中斷服務程序是載入到內存中的,它在載入前可能是存在BIOS晶元上,也可能是存在硬碟里的;中斷向量表裡只能寫上中斷處理程序的入口地址,要知道每個表項只有4位元組;具體的中斷服務程序,我不信你學匯編的書上不講,我大概講一下:CPU的INTR引腳獲得了中斷信號,得到了標號,比方說是5號,中斷向量表項為0000:000A,讀取這個內存,得到中斷程序入口地址比方說是AAAA:BBBB,那麼它會將當前的CS/IP、Flags寄存器入棧,然後轉到AAAA:BBBB處去執行一直到iret指令返回原任務(或許該中斷結束了這個任務,就不會返回了)。
至於保護模式的中斷,相信你暫時還沒遇到。到後面還有操控8259A晶元來實現高級中斷的,這個就不是一般需要學的了。
❽ 中斷服務程序和一般主程序有什麼異同
區別主要是在於用途,一般主程序執行程序作者你自己想要的功能,比如輸出信息,四則運算等等,而中斷服務程序則是事先編好的某個特定的程序,用來執行一些系統的「緊急情況」,優先順序較之一般主程序要高。比如你插入了U盤,准備數據到電腦上,這個時候CPU就會調用終端服務程序去處理你這次的IO操作,然後再去回到中斷之前的狀態繼續運行CPU的下條指令。
我表達能力有限,給你下文再咀嚼下~~
中斷服務程序:處理器處理「急件」,可理解為是一種服務,是通過執行事先編好的某個特定的程序來完成的,這種處理「急件」的程序被稱為——中斷服務程序。
當中央處理器正在處理內部數據時,外界發生了緊急情況,要求CPU暫停當前的工作轉去處理這個緊急事件。處理完畢後,再回到原來被中斷的地址,繼續原來的工作,這樣的過程稱為中斷。實現這一功能的部件稱為中斷系統,申請CPU中斷的請求源稱為中斷源,單片機的中斷系統一般允許多個中斷源,當多個中斷源同時向CPU請求中斷時,就存在一個中斷優先權的問題。通常根據中斷源的優先順序別,優先處理最緊急事件的中斷請求源,即最先響應級別最高的中斷請求。
中斷處理過程:
(1)保護被中斷進程現場。為了在中斷處理結束後能夠使進程准確地返回到中斷點,系統必須保存當前處理機狀態字PSW和程序計數器PC等的值。
(2)分析中斷原因,轉去執行相應的中斷處理程序。在多個中斷請求同時發生時,處理優先順序最高的中斷源發出的中斷請求。
(3)恢復被中斷進程的現場,CPU繼續執行原來被中斷的進程。
希望能幫到你~~
❾ 什麼是中斷系統服務程序什麼是串列口什麼是位定址
http://..com/question/284026447.html
上面是我以前回復的帖子,你可以參照下。
串列口是計算機標准介面的一種。USB就是並行介面,是另一種標准介面。串列介面,是指通過該介面與硬體傳輸數據和控制信息的方式是按位傳輸的,一位接一位的串列傳輸下去,就像,檢票進影院一樣,一個接一個的進入影院。。。。這樣傳輸的速度會比較慢,但是傳輸的距離遠,平時所見到的針式的插頭那種就是串列的介面。。。你可以搜索圖片。。。。
位定址要結合直接定址區別來理解:
直接定址,是把數據直接寫入當前地址,或者把當前地址的內容讀出
如:MOV A,90H,就是把地址90H中的內容寫入到寄存器A中。
位定址是位操作命令,寫入和讀出的是一個位bit變數。
如:MOV C,7AH,就是把地址7AH中的內容寫入位變數C,而內容只能是0、1.
MOV C,2FH.2,就是把地址2FH中的第2位的內容寫入到C變數。內容只能是0、1.
一個位元組由8位組成。
❿ 中斷服務程序大家都是怎麼用的
我在接收過程中後台已經准備好兩個中斷。一個是定時中斷,時間到了之後就宣布超時,並停止接收觸發下一個發送。另一個是接收完成中斷,用於通知主掃描信息已經更新,並斷開定時中斷。你的程序是如何的?