❶ 中斷處理的流程包括哪些步驟
一個完整的中斷處理過程應該包括:中斷請求、中斷排隊或中斷判優、中斷響應、中斷處理和中斷返回等環節。
中斷請求是由中斷源向CPU發出中斷請求信號。外部設備發出中斷請求信號要具備以下兩個條件:
(1)外部設備的工作已經告一段落。例如輸入設備只有在啟動後,將要輸入的數據送到介面電路的數據寄存器(即准備好要輸入的數據)之後,才可以向CPU發出中斷請求。 (2)系統允許該外設發出中斷請求。如果系統不允許該外設發出中斷請求,可以將這個外設的請求屏蔽。當這個外設中斷請求被屏蔽,雖然這個外設准備工作已經完成,也不能發出中斷請求。
中民申請是隨機的,有時會出現多個中斷源同時提出中斷申請。但CPU每次只能響應一斷源的請求,那麼究竟先響應哪一個中斷源的請求呢?這就必須根據各中斷源工作性質的輕重緩急,預先安排一個優先順序順序,當多個中斷源同時申請中斷時,即按此優先順序順序進行排隊,等候CPU處理。一般是把最緊迫和速度最高的設備排在最優先的位置上。CPU首先響應優先順序別最高的中斷源。當中斷處理完畢,再響應級別低的中斷申請。
中斷排隊可以採用硬體的方法,也可以採用軟體的方法。前者速度快,但需要增加硬設備;後者無需增加硬設備,但速度慢,特別是中斷源很多時尤為突出。
當CPU響應中斷後,就用軟體查詢以確定是哪些外設申請中斷,並判斷它們的優先權。當CPU響應中斷後,把中斷寄存器的狀態作為一個外設讀入CPU,逐位檢測它們的狀態,若哪一位為1,則該位對應的外設有中斷請求,應轉到相應的服務程序的入口。
❷ 實驗練習邊緣觸發的外部中斷的處理方法,要求每產生一個外部中斷,4位數碼管顯示的數字加1.
可以用單片機來做,
設置好外部中斷,在中斷里判斷外部中斷標志,判斷完清除該標志,給自己定義的寄存器加一,再用一個子程序分離出來,用數碼管顯示。。還可以定義四個寄存器分別對應四個數碼管。
❸ 微型計算機一個完整的中斷處理的基本過程應包括哪幾個步驟
程序判斷中斷優先順序的高低,設置斷點保護,再進行中斷程序的調用,中斷完成,返回原程序繼續執行
❹ 處理方法和處理步驟的區別
處理方法現指為達到某種目的而採取的途徑、步驟、手段等
處理步驟是指處理方法中事情進行的一個程序
比如說眼睛疼,處理的方法就是滴眼葯,那麼處理的步驟就是先扭開眼葯瓶蓋,然後滴入眼睛中,最後再擰緊眼葯水瓶蓋。
❺ 中斷處理方法分別是什麼,包括外部中斷和內部中斷中的各種中斷
你好,什麼方面的中斷處理啊?
❻ 流水線的中斷處理有哪2種方法各有何 優缺點
流水線(pipeline)技術是指在程序執行時多條指令重疊進行操作的一種准並行處理實現技術。流水線是Intel首次在486晶元中開始使用的。流水線的工作方式就象工業生產上的裝配流水線。在CPU中由5—6個不同功能的電路單元組成一條指令處理流水線
❼ 一般中斷處理的主要步驟是什麼
一般中斷處理的主要步驟分別是中斷請求、中斷判優、中斷響應、中斷處理和中斷返回。
在微機系統中,對於外部中斷,中斷請求信號是由外部設備產生,並施加到CPU的NMI或INTR引腳上,CPU通過不斷地檢測NMI和INTR引腳信號來識 別是否有中斷請求發生。對於內部中斷,中斷請求方式不需要外部施加信號激發,而是通過內部中斷控制邏輯去調用。無論是外部中斷還是內部中斷,中斷處理過程 都要經歷以下步驟:請求中斷→響應中斷→關閉中斷→保留斷點→中斷源識別→保護現場→中斷服務子程序→恢復現場→中斷返回。
請求中斷
當某一中斷源需要CPU為其進行中斷服務時,就輸出中斷請求信號,使中斷控制系統的中斷請求觸發器置位,向CPU請求中斷。系統要求中斷請求信號一直保持到CPU對其進行中斷響應為止。
中斷響應
CPU對系統內部中斷源提出的中斷請求必須響應,而且自動取得中斷服務子程序的入口地址,執行中斷 服務子程序。對於外部中斷,CPU在執行當前指令的最後一個時鍾周期去查詢INTR引腳,若查詢到中斷請求信號有效,同時在系統開中斷(即IF=1)的情 況下,CPU向發出中斷請求的外設回送一個低電平有效的中斷應答信號,作為對中斷請求INTR的應答,系統自動進入中斷響應周期。
關閉中斷
CPU響應中斷後,輸出中斷響應信號,自動將狀態標志寄存器FR或EFR的內容壓入堆棧保護起來,然後將FR或EFR中的中斷標志位IF與陷阱標志位TF清零,從而自動關閉外部硬體中斷。因為CPU剛進入中斷時要保護現場,主要涉及堆棧操作,此時不能再響應中斷,否則將造成系統混亂。
保護斷點
保護斷點就是將CS和IP/EIP的當前內容壓入堆棧保存,以便中斷處理完畢後能返回被中斷的原程序繼續執行,這一過程也是由CPU自動完成。
中斷源識別
當系統中有多個中斷源時,一旦有中斷請求,CPU必須確定是哪一個中斷源提出的中斷請求,並由中斷控制器給出中斷服務子程序的入口地址,裝入CS與IP/EIP兩個寄存器。CPU轉入相應的中斷服務子程序開始執行。
保護現場
主程序和中斷服務子程序都要使用CPU內部寄存器等資源,為使中斷處理程序不破壞主程序中寄存器的內容,應先將斷點處各寄存器的內容壓入堆棧保護起來,再進入的中斷處理。現場保護是由用戶使用PUSH指令來實現的。
中斷服務
中斷服務是執行中斷的主體部分,不同的中斷請求,有各自不同的中斷服務內容,需要根據中斷源所要完成的功能,事先編寫相應的中斷服務子程序存入內存,等待中斷請求響應後調用執行。
恢復現場
當中斷處理完畢後,用戶通過POP指令將保存在堆棧中的各個寄存器的內容彈出,即恢復主程序斷點處寄存器的原值。
中斷返回
在中斷服務子程序的最後要安排一條中斷返回指令IRET,執行該指令,系統自動將堆棧內保存的 IP/EIP和CS值彈出,從而恢復主程序斷點處的地址值,同時還自動恢復標志寄存器FR或EFR的內容,使CPU轉到被中斷的程序中繼續執行。
❽ 中斷響應主要做哪些工作由誰來完成中斷處理的主要步驟是什麼
摘要 您好,很高興為您解答,中斷是處理器處理外部突發事件的一個重要技術。它能使處理器在運行過程中對外部事件發出的中斷請求及時地進行處理,處理完成後又立即返回斷點,繼續進行處理器原來的工作。比如說你在做a事,但是突然間來了你想起來了更重要的b事,所以你馬上去做b事了,做完之後再回來繼續做a事,這個就
❾ 4、 簡述多重中斷系統中CPU響應處理一次中斷的步驟。
中斷的概念和意義
所謂中斷,就是在一定條件下,CPU可以隨時中斷當前任務轉向處理內部故障和外部設備請求服務的機制。在外部設備(介面)需要和CPU交換數據的時候,就會向CPU發出中斷請求,如果滿足中斷條件,CPU就會響應外設的中斷請求並轉向執行中斷處理程序。中斷的實現,對於計算機系統有著重要的意義,它使得CPU與外界真正意義上的交互成為可能。
中斷的類型
1)內部中斷
內部中斷是CPU執行指令出現錯誤而引發的中斷或CPU執行INTn指令產生的中斷。內部中斷包括除法錯中斷(類型0)、單步中斷(類型1)、斷點中斷(類型3)、溢出中斷(類型4)和其它INT指令中斷。5個專用中斷除了非屏蔽中斷(類型2)以外,其它4個專用中斷都是屬於內部中斷。所有INTn指令中斷都稱作軟體中斷。
8086的INTn指令提供了直接調用中斷處理子程序的軟體手段。這種通過中斷指令來使CPU執行中斷處理子程序的方法就是軟體中斷。軟體中斷屬於內部中斷。
我們在前面已經提到,在5個專用中斷中,除了非屏蔽中斷,其餘的4個中斷都是內部中斷。
•除法錯中斷INT0,是當除數為0或者有符號數運算所得到的商超出規定的范圍時產生的。這類中斷既不是由外部硬體產生,也不是由軟體指令產生,而是CPU自身產生的。
•單步中斷INT1,如果想以單步的方式調試程序,可以由調試程序來設置單步調試命令,將標志寄存器TF置為1,並用一個計數單元記錄需要執行的單步中斷的次數。當CPU測試到TF=1時,就進入單步中斷。CPU每執行一條指令,響應一次中斷,進入一次單步處理中斷服務程序,在單步處理中斷服務程序顯示所有寄存器內容。單步執行程序直至計數單元減為0,調試程序將TF標志置為0為止。
•斷點中斷INT3,和單步中斷類似,用於程序的調試。斷點中斷允許用戶指定斷點,當程序執行到斷點時轉入斷點中斷處理程序。斷點中斷處理程序顯示斷點處所有寄存器的狀態。設置斷點的過程,就是調試程序在用戶程序指定的斷點處用斷點中斷指令INT3來代替用戶程序的原有指令,同時將用戶程序指令保存起來。當程序運行到斷點時,便轉向執行斷點中斷處理程序。在斷點中斷處理程序返回之前,再將用戶指令還原。
•溢出中斷,當運算結果超出數據規定的范圍時,就會產生溢出中斷。溢出中斷是由執行指令發生溢出設置的標志位引起的。
(2)外部中斷
外部中斷的中斷源來自CPU外部,是由外部設備產生的,當外設需要即時和CPU進行數據交互時,請求CPU中斷當前執行的程序。此時,由外設的中斷請求電路向CPU發出中斷請求。所以也把外部中斷稱為硬體中斷。8086的外部中斷有非屏蔽中斷MNI和可屏蔽中斷INTR。非屏蔽中斷NMI為類型2的中斷。可屏蔽中斷的中斷向量或類型碼由請求中斷的外設來提供。
8086具有兩條中斷請求引腳INTR和NMI,用於傳送外部設備送來的中斷請求信號。引腳INTR上引發的中斷,為可屏蔽中斷,引腳NMI上引發的中斷,為非屏蔽中斷。
可屏蔽中斷INTR
可屏蔽中斷INTR受標志寄存器的中斷標志位IF控制,當IF為1時,表示允許中斷。IF為0時,可屏蔽中斷的請求受到禁止。INTR要求中斷請求信號為高電平,高電平需要保持到中斷請求被響應。一旦采樣到INTR信號有效,CPU執行完當前的指令,便響應可屏蔽中斷INTR的請求。可屏蔽中斷被響應以後,由外設(多數由中斷控制器)提供中斷類型。
雖然,可屏蔽中斷只有一根中斷請求線,但是通過外部電路可以允許系統連接多個中斷源。最常用的器件為可編程中斷控制器。它管理多個可屏蔽中斷的中斷優先順序,為中斷源向CPU提供中斷向量。
非屏蔽中斷NMI
非屏蔽中斷NMI不受中斷允許標志IF的影響,是不可屏蔽的。NMI要求中斷請求信號為脈沖上升沿,並要求上升沿之後保持2個CLK的高電平。當CPU采樣到NMI引腳上的中斷請求時,產生類型號為2的中斷。CPU執行完當前指令,便響應這個中斷請求而進入相應的中斷處理。在實際系統中,非屏蔽中斷一般用來處理系統的重大故障,例如系統掉電等。
在整個系統中一般只有一個非屏蔽中斷
屏蔽中斷和非屏蔽中斷的響應條件。
非屏蔽中斷:只要非屏蔽中斷請求信號有效,產生上跳邊沿,並且在上升沿之後維持兩個時鍾周期的高電平,CPU執行完當前指令後,無條件響應。
可屏蔽中斷:可屏蔽中斷請求信號有效,為高電平,並且保持到CPU響應時一直為有效電平,此外,標志寄存器IF=1,CPU執行完當前指令後便響應可屏蔽中斷請求。中斷向量由中斷控制器提供。
中斷的操作
1)中斷的請求與響應
中斷的過程,即中斷請求與響應的過程。8086的中斷類型分為外部中斷和內部中斷。內部中斷的中斷過程相對簡單,可以看成是外部中斷過程的一部分,因此,我們以INTR中斷為例,著重就外部中斷的請求與響應做一個分析。
中斷源發出中斷請求以後,如果中斷請求信號符合要求,即INTR為高電平且保持足夠長時間,同時如果CPU的中斷允許標志IF=1,則在CPU執行完當前指令,便進入中斷響應周期。CPU是在每條指令的最後一拍,檢測INTR信號的。
CPU響應中斷以後,通過INTA管腳連續發出兩個負脈沖信號,表示進入中斷響應周期。第一個負脈沖用來通知外設,CPU響應了中斷請求。第二個負脈沖則用來讀取中斷向量,在此即中斷類型。再通過中斷類型查找中斷向量表,得到中斷入口地址,轉入相應的中斷服務程序
2)中斷向量和中斷向量表
中斷向量,就是中斷處理程序的入口地址,每個中斷類型對應一個中斷向量。在8086系統中,將內存低地址段的0~3FFH區域保留,用來存放中斷向量,我們稱這段區域為中斷向量表。在中斷向量表裡,每個中斷向量佔4個存儲單元。其中,前兩個單元存放中斷處理程序入口地址的偏移量IP,低位在前,高位在後。後2個單元存放中斷處理程序入口地址的段地址CS,同樣也是低位在前,高位在後(參見圖2-25)。CPU根據中斷類型碼,將其值乘以4,便得到存放中斷向量的入口地址。
3)中斷響應流程
當INTR管腳上收到一個高電平中斷請求信號,並且中斷允許標志IF=1時,CPU就會在當前指令執行完以後,開始響應這個中斷請求
a)CPU向INTA#管腳上發兩個負脈沖,外設介面接到第二個負脈沖後,立即往數據線上給CPU發去中斷類型碼,CPU從數據匯流排上讀取中斷類型碼,並存入內部暫存器;
b)將標志寄存器的值壓入堆棧,以便在返回主程序時恢復;
c)將標志寄存器的單步標志TF和中斷允許標志IF清零;
d)將當前指令地址推入堆棧,保護斷點;
e)根據前面得到的中斷類型碼,查找中斷向量表,找到相應的中斷處理程序入口,按中斷處理程序入口地址更新CS、IP內容;
a步~e步是CPU硬體完成的中斷響應過程,對用戶是透明的。這一過程是不允許被中斷的,因此在進入中斷響應周期以後,由CPU硬體將IF、TF等標志寄存器的內容壓入堆棧以後,將IF、TF清零。為了能使單步功能在中斷服務程序里實現,CPU內部設計了TEMP寄存器,在Flag壓入堆棧、TF清零之前,在TEMP中保存TF的副本。
f)再次檢測是否有NMI中斷請求,如果有請求,進入NM1響應周期,否則,執行中斷處理程序;檢測TEMP的狀態,如果TEMP為1,表示本次進入中斷響應周期之前,TF狀態為1,因此執行本次中斷服務程序之前,進入單步中斷響應周期,否則,執行中斷處理程序;
g)執行中斷處理程序;
h)中斷處理程序執行完以後,由中斷返回指令從堆棧彈出主程序指令指針IP和代碼段寄存器CS,然後彈出標志寄存器的內容,並返回到原程序的斷點處繼續執行原來的程序