第七章輸入輸出接口_第1頁
第七章輸入輸出接口_第2頁
第七章輸入輸出接口_第3頁
第七章輸入輸出接口_第4頁
第七章輸入輸出接口_第5頁
已閱讀5頁,還剩171頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第七章第七章 輸入輸出接口輸入輸出接口 7.1 輸入輸出接口基礎(chǔ)輸入輸出接口基礎(chǔ) 7.2 中斷系統(tǒng)中斷系統(tǒng) 7.3 DMA傳送和傳送和DMA控制器控制器8237 7.4 主機(jī)板上的計(jì)時計(jì)數(shù)邏輯主機(jī)板上的計(jì)時計(jì)數(shù)邏輯7 輸入輸出(輸入輸出(I/OI/O)接口)接口運(yùn)算器控制器存儲器輸出設(shè)備輸出設(shè)備輸入設(shè)備輸入設(shè)備A.BUSD.BUSC.BUSCPUI/O設(shè)備設(shè)備7 輸入輸出(輸入輸出(I/OI/O)接口)接口基本概念基本概念I(lǐng)/O接口:接口:是介于是介于CPU和和I/O設(shè)備之間,把設(shè)備之間,把CPU和和I/O設(shè)備連接起設(shè)備連接起來,是來,是CPU和和I/O設(shè)備的橋梁。設(shè)備的橋梁。CPU和和I/O

2、設(shè)備通過設(shè)備通過I/O接口進(jìn)行信息交換,從而協(xié)調(diào)接口進(jìn)行信息交換,從而協(xié)調(diào)一致工作。一致工作。7 輸入輸出(輸入輸出(I/OI/O)接口)接口總總線線控制控制邏輯邏輯ROMRAM協(xié)處理器RT/COMS RAMI/O接接口口板板組組鍵盤磁盤驅(qū)動器網(wǎng)卡CRT顯示器打印機(jī)微處理器微處理器MODEM鼠標(biāo)主機(jī)板主機(jī)板系統(tǒng)總線微機(jī)系統(tǒng)硬件組成圖7 輸入輸出(輸入輸出(I/OI/O)接口)接口在主機(jī)板上,與在主機(jī)板上,與I/O接口有關(guān)的邏輯包括:接口有關(guān)的邏輯包括: 1. 支持訪問擴(kuò)充板上存儲器操作的邏輯支持訪問擴(kuò)充板上存儲器操作的邏輯 2. 支持執(zhí)行輸入輸出指令的邏輯支持執(zhí)行輸入輸出指令的邏輯 3. 支持

3、外部中斷方式的以支持外部中斷方式的以8259為核心的中斷控制邏輯為核心的中斷控制邏輯 4.支持存儲器直接讀寫支持存儲器直接讀寫(DMA)操作的以操作的以8237為核心組成的為核心組成的DMA控制邏輯控制邏輯這些邏輯是這些邏輯是總線控制邏輯總線控制邏輯組成部分組成部分。7 輸入輸出(輸入輸出(I/OI/O)接口)接口CPUI/O設(shè)備設(shè)備總線控制邏輯總線控制邏輯I/O插槽插槽I/O接口I/O接口接口板組板組這些邏輯,一側(cè)與這些邏輯,一側(cè)與CPU相連,受相連,受CPU控制和管理,另一側(cè)形控制和管理,另一側(cè)形成系統(tǒng)總線接到擴(kuò)充插槽的節(jié)點(diǎn)上,與成系統(tǒng)總線接到擴(kuò)充插槽的節(jié)點(diǎn)上,與I/O接口板組接口板組相連

4、。相連。注:注:I/O接口在主機(jī)板上。接口在主機(jī)板上。I/O接口的幾個基本問題:接口的幾個基本問題:1. 數(shù)據(jù)輸入輸出的基本方式數(shù)據(jù)輸入輸出的基本方式2. I/O接口的結(jié)構(gòu)接口的結(jié)構(gòu)3. I/O指令要求的接口邏輯指令要求的接口邏輯基本概念基本概念:I/O端口端口:CPUI/O設(shè)備設(shè)備寄存器寄存器寄存器寄存器.CPUI/O設(shè)備設(shè)備CPUI/O設(shè)備設(shè)備I/O端口I/O端口I/O端口I/O端口.每一個每一個I/O端口端口都是一個都是一個8位寄存器,都有唯一的一個地址位寄存器,都有唯一的一個地址(I/O地址范圍地址范圍000003FF即即01023,這與內(nèi)存物理地址相似,這與內(nèi)存物理地址相似),CPU

5、通過通過I/O端口與端口與I/O外設(shè)進(jìn)行通信。外設(shè)進(jìn)行通信。CPU可以從可以從I/O端口讀入數(shù)據(jù)端口讀入數(shù)據(jù)(IN指令指令),也可以向,也可以向I/O端口輸出數(shù)據(jù)端口輸出數(shù)據(jù)(OUT 指令)。指令)。0000H0001H03FFH通信過程通信過程輸入過程輸入過程1.I/O外設(shè)把數(shù)據(jù)送到外設(shè)把數(shù)據(jù)送到I/O接口接口2.I/O接口通過接口通過端口端口把數(shù)據(jù)送把數(shù)據(jù)送進(jìn)進(jìn)CPU輸出過程輸出過程1.CPU把數(shù)據(jù)送到把數(shù)據(jù)送到I/O接口接口2.I/O外設(shè)從外設(shè)從I/O接口接口中的中的端口端口中取數(shù)據(jù)中取數(shù)據(jù)可見,可見,CPU和和I/O接口之間通信是通過接口之間通信是通過I/O端口端口進(jìn)行的。進(jìn)行的。CP

6、UI/O設(shè)備設(shè)備AX/ALI/O端口I/O端口I/O端口I/O端口.格式:格式:IN AL/AX , SRC功能:功能:CPU從指定端口讀入數(shù)據(jù),送到從指定端口讀入數(shù)據(jù),送到AL或或AX格式:格式:IN AL/AX , SRC ;不影響標(biāo)志位;不影響標(biāo)志位功能:功能:CPU從端口(從端口(寄存器寄存器)讀入數(shù)據(jù),送到)讀入數(shù)據(jù),送到AL或或AXSRC有有兩種尋址方式兩種尋址方式:1.直接尋址。直接尋址。SRC為端口地址,其范圍為為端口地址,其范圍為00HFFH(0255)如:如:IN AL, 28HIN AX, 0F0H(AL)(28H)(AX)(F1H:F0H )2. 間接尋址。當(dāng)端口地址大

7、于間接尋址。當(dāng)端口地址大于FFH,即,即255時候,要通過寄時候,要通過寄存器存器DX進(jìn)行數(shù)據(jù)傳遞。進(jìn)行數(shù)據(jù)傳遞。如:如:MOV DX, 100H ;100H=256255IN AX, DX(AX)(101H:100H )CPUI/O設(shè)備設(shè)備AX/ALI/O端口I/O端口I/O端口I/O端口.格式:格式:OUT DST , AL/AX功能:功能:CPU 把把AL或或AX中的中的數(shù)據(jù)送到指定端口數(shù)據(jù)送到指定端口格式:格式:OUT DST , AL/AX ;不影響標(biāo)志位;不影響標(biāo)志位功能:功能:CPU從從AL或或AX輸出數(shù)據(jù),送到端口(即輸出數(shù)據(jù),送到端口(即寄存器寄存器里)里)DST有兩種尋址方

8、式:有兩種尋址方式:1.直接尋址。直接尋址。DST為端口地址,其范圍為為端口地址,其范圍為00HFFH(0255)如:如:OUT 28H , ALOUT F0H , AX(28H) (AL) (F1H:F0H ) (AX) 2. 間接尋址。當(dāng)端口地址大于間接尋址。當(dāng)端口地址大于FFH,即,即255時候,要通過寄時候,要通過寄存器存器DX進(jìn)行數(shù)據(jù)傳遞。進(jìn)行數(shù)據(jù)傳遞。如:如:MOV DX, 03FDH ;3FDH=1021255OUT DX , AX (3FEH:3FDH ) (AX) 輸入輸出同步問題輸入輸出同步問題1.CPU與外設(shè)之間,如何向?qū)Ψ教峁┞?lián)絡(luò)信息,并以什么方與外設(shè)之間,如何向?qū)Ψ教?/p>

9、供聯(lián)絡(luò)信息,并以什么方式響應(yīng)和處理對方提供的聯(lián)絡(luò)信息。式響應(yīng)和處理對方提供的聯(lián)絡(luò)信息。2.當(dāng)多個外設(shè)同時要求與當(dāng)多個外設(shè)同時要求與CPU交換信息時,以什么策略解決交換信息時,以什么策略解決多個外設(shè)傳輸請求。多個外設(shè)傳輸請求。7.1.1 數(shù)據(jù)輸入輸出基本方式數(shù)據(jù)輸入輸出基本方式CPU與與I/O設(shè)備之間傳輸信息的三種基本方式:設(shè)備之間傳輸信息的三種基本方式:程序直接控制傳送方式(程序直接控制傳送方式(查詢方式查詢方式)程序中斷控制傳送方式(程序中斷控制傳送方式(中斷方式中斷方式)存儲器直接存取方式存儲器直接存取方式 (DMA方式方式)CPUI/O設(shè)備設(shè)備 可實(shí)現(xiàn)可實(shí)現(xiàn)CPU與與I/O設(shè)備之間數(shù)據(jù)信

10、息、狀態(tài)信息和命設(shè)備之間數(shù)據(jù)信息、狀態(tài)信息和命令信息的傳輸。令信息的傳輸。程序直接控制傳送方式(查詢方式)程序直接控制傳送方式(查詢方式) 查詢方式查詢方式 查詢方式是查詢方式是CPU在向在向輸入或輸出數(shù)據(jù)時,主動去檢輸入或輸出數(shù)據(jù)時,主動去檢查查I/O外設(shè)是否外設(shè)是否“準(zhǔn)備好準(zhǔn)備好”,只有當(dāng)確認(rèn),只有當(dāng)確認(rèn)I/O外設(shè)已具備傳外設(shè)已具備傳輸條件后,才進(jìn)行數(shù)據(jù)交換。輸條件后,才進(jìn)行數(shù)據(jù)交換。輸入狀態(tài)信息準(zhǔn)備好了?輸入數(shù)據(jù)查詢輸入方式流程圖查詢輸入方式流程圖NY狀態(tài)狀態(tài)端口地址:端口地址:STATUSPORT數(shù)據(jù)數(shù)據(jù)端口地址:端口地址:DATAPORT狀態(tài)口的狀態(tài)口的D7位位為接口為接口 “準(zhǔn)備好

11、準(zhǔn)備好” 位位AGAIN:IN AL,STATUSPORT AND AL, 80H JZ AGAIN IN AL, DATAPORT程序直接控制傳送方式(查詢方式)程序直接控制傳送方式(查詢方式) 查詢方式查詢方式 顯然,在查詢方式下,顯然,在查詢方式下,CPU需要花費(fèi)許多時間來查詢外需要花費(fèi)許多時間來查詢外設(shè)的狀態(tài),并等外設(shè)進(jìn)行數(shù)據(jù)傳輸?shù)臏?zhǔn)備。設(shè)的狀態(tài),并等外設(shè)進(jìn)行數(shù)據(jù)傳輸?shù)臏?zhǔn)備。 優(yōu)點(diǎn)優(yōu)點(diǎn):不需要增加額外的硬件電路,易于實(shí)現(xiàn)。:不需要增加額外的硬件電路,易于實(shí)現(xiàn)。 缺點(diǎn):缺點(diǎn):CPU工作效率很低工作效率很低程序中斷控制方式(中斷方式)程序中斷控制方式(中斷方式)程序中斷程序中斷:指主機(jī)在運(yùn)

12、行程序時,出現(xiàn)了:指主機(jī)在運(yùn)行程序時,出現(xiàn)了特殊情況特殊情況,暫時停,暫時停止執(zhí)行正在運(yùn)行的程序,轉(zhuǎn)到另一段處理特殊情況的程序止執(zhí)行正在運(yùn)行的程序,轉(zhuǎn)到另一段處理特殊情況的程序(中斷處理子程序),等特殊情況處理程序執(zhí)行完后,返回(中斷處理子程序),等特殊情況處理程序執(zhí)行完后,返回到被暫時停止的程序接著運(yùn)行。到被暫時停止的程序接著運(yùn)行。內(nèi)部中斷(內(nèi)部中斷(軟件中斷軟件中斷)外部中斷(外部中斷(硬件中斷硬件中斷)特殊情況就是特殊情況就是中斷中斷。中斷中斷中中斷斷處處理理子子程程序序中斷請求中斷請求主機(jī)主機(jī)運(yùn)行運(yùn)行程序程序類似于主程序調(diào)用子程序類似于主程序調(diào)用子程序程序中斷控制方式(中斷方式)程序中

13、斷控制方式(中斷方式) 程序中斷控制方式程序中斷控制方式: 借助于借助于CPU響應(yīng)響應(yīng)外中斷外中斷的能力,實(shí)現(xiàn)輸入輸出的的能力,實(shí)現(xiàn)輸入輸出的控制控制。 當(dāng)外設(shè)需要向當(dāng)外設(shè)需要向CPU傳輸數(shù)據(jù)或者從傳輸數(shù)據(jù)或者從CPU接收數(shù)據(jù)時候,首先向接收數(shù)據(jù)時候,首先向CPU產(chǎn)生產(chǎn)生一個中斷請求,然后一個中斷請求,然后CPU相應(yīng)此請求,從而執(zhí)行中斷處理子程序,進(jìn)行數(shù)據(jù)相應(yīng)此請求,從而執(zhí)行中斷處理子程序,進(jìn)行數(shù)據(jù)的傳輸。的傳輸。 當(dāng)然,數(shù)據(jù)的傳輸仍然是靠當(dāng)然,數(shù)據(jù)的傳輸仍然是靠IN或者或者OUT指令來完成的。指令來完成的。程序中斷控制方式(中斷方式)程序中斷控制方式(中斷方式) 程序中斷控制方式特點(diǎn)程序中斷

14、控制方式特點(diǎn): 1. 雖然程序中斷功能參與了控制,但數(shù)據(jù)的傳輸仍然要靠雖然程序中斷功能參與了控制,但數(shù)據(jù)的傳輸仍然要靠IN或者或者OUT指指令來完成。令來完成。 2. 外設(shè)要求與外設(shè)要求與 CPU傳輸數(shù)據(jù)的狀態(tài)信息,不是用指令傳輸數(shù)據(jù)的狀態(tài)信息,不是用指令輸入和測試輸入和測試的,的,而是從而是從CPU的中斷請求輸入端直接加入的。的中斷請求輸入端直接加入的。中斷控制輸入輸出是靠硬件和軟件相配合來實(shí)現(xiàn)的。不需要進(jìn)行查詢,避免中斷控制輸入輸出是靠硬件和軟件相配合來實(shí)現(xiàn)的。不需要進(jìn)行查詢,避免了用指令查詢外設(shè)狀態(tài)造成的大量時間浪費(fèi)提高了了用指令查詢外設(shè)狀態(tài)造成的大量時間浪費(fèi)提高了CPU的時間利用率。的

15、時間利用率。需要有專門的接口邏輯電路需要有專門的接口邏輯電路中斷控制器中斷控制器。程序中斷控制方式(中斷方式)程序中斷控制方式(中斷方式) 程序中斷控制方式程序中斷控制方式:在外設(shè)沒有準(zhǔn)備好時候,在外設(shè)沒有準(zhǔn)備好時候,CPU可以運(yùn)行與數(shù)據(jù)傳輸無關(guān)的其他指令。外設(shè)準(zhǔn)可以運(yùn)行與數(shù)據(jù)傳輸無關(guān)的其他指令。外設(shè)準(zhǔn)備好后,主動向備好后,主動向CPU請求中斷,請求中斷, CPU響應(yīng)這一請求,暫停正在運(yùn)行的程序響應(yīng)這一請求,暫停正在運(yùn)行的程序而運(yùn)行與外設(shè)進(jìn)行數(shù)據(jù)傳輸?shù)闹袛嗵幚沓绦颉6\(yùn)行與外設(shè)進(jìn)行數(shù)據(jù)傳輸?shù)闹袛嗵幚沓绦?。由此可見,中斷方式是由此可見,中斷方式是CPU和外設(shè)進(jìn)行和外設(shè)進(jìn)行I/O傳輸?shù)挠行Х绞?,?/p>

16、可以傳輸?shù)挠行Х绞?,它可以避免因避免因反?fù)查詢外設(shè)的狀態(tài)而浪費(fèi)時間反復(fù)查詢外設(shè)的狀態(tài)而浪費(fèi)時間,提高了,提高了CPU的工作效率。的工作效率。存儲器直接存取方式(存儲器直接存取方式(DMA方式)方式) DMA: 在在外設(shè)外設(shè)和和存儲器存儲器(內(nèi)存內(nèi)存)之間開辟直接的數(shù)據(jù)傳輸通道,數(shù)據(jù)傳輸不之間開辟直接的數(shù)據(jù)傳輸通道,數(shù)據(jù)傳輸不靠執(zhí)行靠執(zhí)行I/O指令,數(shù)據(jù)不經(jīng)過指令,數(shù)據(jù)不經(jīng)過CPU的任何寄存器,不破壞任何寄存器原有內(nèi)容,的任何寄存器,不破壞任何寄存器原有內(nèi)容,在存儲器與外設(shè)之間的通路上直接傳輸數(shù)據(jù)。在存儲器與外設(shè)之間的通路上直接傳輸數(shù)據(jù)。 這種這種I/O方式的實(shí)現(xiàn)主要靠硬件的功能。方式的實(shí)現(xiàn)主要

17、靠硬件的功能。 在數(shù)據(jù)傳輸時沒有程序和指令的介入,但在數(shù)據(jù)傳輸前的準(zhǔn)備工作,在數(shù)據(jù)傳輸時沒有程序和指令的介入,但在數(shù)據(jù)傳輸前的準(zhǔn)備工作,如傳輸涉及的存儲區(qū)的開始地址、要傳輸?shù)淖止?jié)數(shù)等參數(shù),還是要用程如傳輸涉及的存儲區(qū)的開始地址、要傳輸?shù)淖止?jié)數(shù)等參數(shù),還是要用程序指令來實(shí)現(xiàn)的。適合大批量的數(shù)據(jù)傳輸。序指令來實(shí)現(xiàn)的。適合大批量的數(shù)據(jù)傳輸。存儲器存儲器I/O接口接口I/O外設(shè)外設(shè)總線總線控制邏輯控制邏輯DMA控制器控制器CPU系系統(tǒng)統(tǒng)總總線線7.1.2 輸入輸出接口的基本結(jié)構(gòu)輸入輸出接口的基本結(jié)構(gòu)I/O接口包含硬件接口包含硬件(1) 主機(jī)板上的接口邏輯;主機(jī)板上的接口邏輯;(2) 系統(tǒng)總線;系統(tǒng)總線

18、;(3) 具體外設(shè)的接口邏輯。具體外設(shè)的接口邏輯??偩€總線控制控制邏輯邏輯ROMRAM協(xié)處理器RT/COMS RAMI/O接接口口板板組組鍵盤磁盤驅(qū)動器網(wǎng)卡CRT顯示器打印機(jī)微處理器微處理器MODEM鼠標(biāo)主機(jī)板主機(jī)板系統(tǒng)總線7.1.2 輸入輸出接口的基本結(jié)構(gòu)輸入輸出接口的基本結(jié)構(gòu)2. IBM PC系統(tǒng)提供的接口資源系統(tǒng)提供的接口資源 IBM PC/XT及其兼容機(jī)的基本配置包括:主機(jī)箱、鍵盤、及其兼容機(jī)的基本配置包括:主機(jī)箱、鍵盤、CRT顯示器、打印機(jī)和軟、硬盤機(jī)。顯示器、打印機(jī)和軟、硬盤機(jī)。 IBM PC系統(tǒng)為系統(tǒng)為I/O接口提供的資源:接口提供的資源:1. 硬件接口資源硬件接口資源2. 軟件

19、接口資源軟件接口資源7.1.2 輸入輸出接口的基本結(jié)構(gòu)輸入輸出接口的基本結(jié)構(gòu)IBM PC系統(tǒng)為系統(tǒng)為I/O接口提供的接口提供的硬件資源硬件資源: (1) 在擴(kuò)充插槽上提供了系統(tǒng)級總線;在擴(kuò)充插槽上提供了系統(tǒng)級總線; (2) 主機(jī)板上有鍵盤接口邏輯和揚(yáng)聲器接口邏輯;主機(jī)板上有鍵盤接口邏輯和揚(yáng)聲器接口邏輯; (3) 主機(jī)板上有以兩片主機(jī)板上有以兩片8259為核心組成的中斷控制邏輯;為核心組成的中斷控制邏輯; (4) 主機(jī)板上以兩片主機(jī)板上以兩片8237DMA控制器為核心組成的控制器為核心組成的DMA傳傳送控制邏輯;送控制邏輯; (5) 一片一片8254定時定時/計(jì)數(shù)器芯片;計(jì)數(shù)器芯片; (6) 基

20、本配置的基本配置的I/O接口卡:顯示器接口;兩個并行口;兩接口卡:顯示器接口;兩個并行口;兩個個RS232串行口;磁盤驅(qū)動器接口。串行口;磁盤驅(qū)動器接口。7.1.2 輸入輸出接口的基本結(jié)構(gòu)輸入輸出接口的基本結(jié)構(gòu)IBM PC系統(tǒng)為系統(tǒng)為I/O接口提供的接口提供的軟件資源軟件資源: 1. DOS功能調(diào)用功能調(diào)用2. BIOS功能調(diào)用功能調(diào)用7.1.2 輸入輸出接口的基本結(jié)構(gòu)輸入輸出接口的基本結(jié)構(gòu)幾種常用的系統(tǒng)總線:幾種常用的系統(tǒng)總線:1. 最早的是最早的是IBM PC/XT系統(tǒng)總線。系統(tǒng)總線。2. ISA(industrial standard architecture)總線標(biāo)準(zhǔn)是)總線標(biāo)準(zhǔn)是IB

21、M 公司公司1984年年為推出為推出PC/AT機(jī)而建立的系統(tǒng)總線標(biāo)準(zhǔn),所以也叫機(jī)而建立的系統(tǒng)總線標(biāo)準(zhǔn),所以也叫AT總線??偩€。3. EISA總線是總線是1988年由年由Compaq等等9家公司聯(lián)合推出的總線標(biāo)準(zhǔn)。它是家公司聯(lián)合推出的總線標(biāo)準(zhǔn)。它是在在ISA總線的基礎(chǔ)上使用雙層插座,在原來總線的基礎(chǔ)上使用雙層插座,在原來ISA總線的總線的98條信號線上又增加了條信號線上又增加了98條信號線,也就是在兩條條信號線,也就是在兩條ISA信號線之間添加一條信號線之間添加一條EISA信號線。信號線。4. VESA(video electronics standard association)總線是)總線是

22、 1992年由年由60家附件卡制造商聯(lián)合推出的一種局部總線,簡稱為家附件卡制造商聯(lián)合推出的一種局部總線,簡稱為VL(VESA local bus)總線??偩€。 7.1.2 輸入輸出接口的基本結(jié)構(gòu)輸入輸出接口的基本結(jié)構(gòu)幾種常用的系統(tǒng)總線:幾種常用的系統(tǒng)總線:5. PCI(peripheral component interconnect)總線是)總線是當(dāng)前最流行的當(dāng)前最流行的總線之一總線之一,它是由,它是由Intel公司推出的一種局部總線。它定義了公司推出的一種局部總線。它定義了32位數(shù)據(jù)總線,位數(shù)據(jù)總線,且可擴(kuò)展為且可擴(kuò)展為64位。位。PCI總線主板插槽的體積比原總線主板插槽的體積比原ISA總

23、線插槽還小,其功能總線插槽還小,其功能比比VESA、ISA有極大的改善,支持突發(fā)讀寫操作,最大傳輸速率可達(dá)有極大的改善,支持突發(fā)讀寫操作,最大傳輸速率可達(dá)132MB/s,可同時支持多組外圍設(shè)備。,可同時支持多組外圍設(shè)備。 PCI局部總線不能兼容現(xiàn)有的局部總線不能兼容現(xiàn)有的ISA、EISA、MCA(micro channel architecture)總線,但它不受制于處理器,是)總線,但它不受制于處理器,是基于奔騰等新一代微處理器而發(fā)展的總線?;诒简v等新一代微處理器而發(fā)展的總線。 6. Compact PCI的意思是的意思是“堅(jiān)實(shí)的堅(jiān)實(shí)的PCI”,是當(dāng)今第一個采用無源總,是當(dāng)今第一個采用無源

24、總線底板結(jié)構(gòu)的線底板結(jié)構(gòu)的PCI系統(tǒng),是系統(tǒng),是PCI總線的電氣和軟件標(biāo)準(zhǔn)加歐式卡的工業(yè)組裝總線的電氣和軟件標(biāo)準(zhǔn)加歐式卡的工業(yè)組裝標(biāo)準(zhǔn),標(biāo)準(zhǔn),是當(dāng)今最新的一種工業(yè)計(jì)算機(jī)標(biāo)準(zhǔn)是當(dāng)今最新的一種工業(yè)計(jì)算機(jī)標(biāo)準(zhǔn)。 7.1.5 IBM PC/AT機(jī)的機(jī)的I/O端口地址分配端口地址分配 I/O端口(類似于內(nèi)存單元)是存在于端口(類似于內(nèi)存單元)是存在于I/O接口中的接口中的8位位的數(shù)的數(shù)據(jù)據(jù)寄存器寄存器。每一個。每一個I/O端口都有一個唯一的端口都有一個唯一的I/O端口地址。端口地址。 I/O端口與內(nèi)存單元的編址可有兩種方式:端口與內(nèi)存單元的編址可有兩種方式:1. 統(tǒng)一編址統(tǒng)一編址2. 單獨(dú)編址(常用此種

25、)單獨(dú)編址(常用此種) 單獨(dú)編址:單獨(dú)編址:1. 內(nèi)存單元的編址:內(nèi)存單元的編址:00000HFFFFFH2. I/O端口編址:端口編址:0000H03FFH(01023)7.1.5 IBM PC/AT機(jī)的機(jī)的I/O端口地址分配端口地址分配用戶可使用的用戶可使用的I/O地址有地址有:1. 100H1EFH2. 220H26FH3. 280H2AFH4. 300H35FH PC/AT系統(tǒng)系統(tǒng)I/O端口地址分配:端口地址分配:P349,表表7.2主講內(nèi)容:主講內(nèi)容:1. 中斷功能中斷功能2. 外部中斷和外部中斷和8259中斷控制器中斷控制器3. 應(yīng)用中斷功能應(yīng)用中斷功能中斷功能中斷功能-主講內(nèi)容:

26、主講內(nèi)容:1. 中斷種類和中斷類型號中斷種類和中斷類型號2. 中斷向量表中斷向量表3. 實(shí)模式下中斷響應(yīng)和返回操作過程實(shí)模式下中斷響應(yīng)和返回操作過程 7.2.1 微處理器的中斷功能微處理器的中斷功能中斷:中斷:指指CPU暫停正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行處理中斷事件暫停正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行處理中斷事件的中斷服務(wù)程序,待執(zhí)行完中斷服務(wù)程序再返回到原的中斷服務(wù)程序,待執(zhí)行完中斷服務(wù)程序再返回到原來被中斷的程序繼續(xù)執(zhí)行。來被中斷的程序繼續(xù)執(zhí)行。中斷源:中斷源:引起中斷的事件引起中斷的事件 7.2.1 微處理器的中斷功能微處理器的中斷功能1. 中斷的種類和中斷類型號中斷的種類和中斷類型號(1)外部硬中斷

27、外部硬中斷 微處理器外部事件發(fā)生,產(chǎn)生中斷請求信號,中斷微處理器外部事件發(fā)生,產(chǎn)生中斷請求信號,中斷請求信號再通過微處理器芯片上的接受中斷請求信號的請求信號再通過微處理器芯片上的接受中斷請求信號的引腳加入微處理器而出現(xiàn)的中斷。引腳加入微處理器而出現(xiàn)的中斷。 7.2.1 微處理器的中斷功能微處理器的中斷功能CPUINTRNMI不可屏蔽中斷不可屏蔽中斷可屏蔽中斷可屏蔽中斷可屏蔽中斷可屏蔽中斷(INTR): CPU中標(biāo)志寄存器中的中標(biāo)志寄存器中的IF位對該中斷有控制作用。位對該中斷有控制作用。1. IF=1,CPU將將響應(yīng)響應(yīng)可屏蔽中斷的中斷請求??善帘沃袛嗟闹袛嗾埱蟆?(STI)2. IF=0,C

28、PU將將不響應(yīng)不響應(yīng)可屏蔽中斷的中斷請求。可屏蔽中斷的中斷請求。(CLI) 7.2.1 微處理器的中斷功能微處理器的中斷功能 可屏蔽中斷(可屏蔽中斷( INTR )通常用于:)通常用于:1.常規(guī)外部設(shè)備常規(guī)外部設(shè)備-鍵盤、打印機(jī)、磁盤、串口等鍵盤、打印機(jī)、磁盤、串口等2.的接口設(shè)備或?qū)S媒涌?。的接口設(shè)備或?qū)S媒涌凇?本節(jié)主要討論的本節(jié)主要討論的可屏蔽中斷可屏蔽中斷(INTR)操作及應(yīng)用。操作及應(yīng)用。不可屏蔽中斷不可屏蔽中斷(NMI): CPU中標(biāo)志寄存器中的中標(biāo)志寄存器中的IF位對該中斷沒有控制作用,位對該中斷沒有控制作用,CPU對對不可屏蔽中斷不可屏蔽中斷請求的響應(yīng)是無條件的,一旦請求的響應(yīng)

29、是無條件的,一旦CPU查詢到查詢到NMI有請求,就立即響應(yīng)。有請求,就立即響應(yīng)。 7.2.1 微處理器的中斷功能微處理器的中斷功能 NMI在外部中斷源中的優(yōu)先級是最高的,在外部中斷源中的優(yōu)先級是最高的,通常通常用于處理系統(tǒng)故障用于處理系統(tǒng)故障:主機(jī)板上主機(jī)板上RAM奇偶校驗(yàn)錯奇偶校驗(yàn)錯擴(kuò)展槽中擴(kuò)展槽中I/O通道錯通道錯電源故障等。電源故障等。內(nèi)部中斷:內(nèi)部中斷:可分為軟中斷和異常中斷兩類??煞譃檐浿袛嗪彤惓V袛鄡深?。軟中斷:軟中斷: 是中斷指令是中斷指令I(lǐng)NT執(zhí)行時所產(chǎn)生的中斷。軟中斷和其它中執(zhí)行時所產(chǎn)生的中斷。軟中斷和其它中斷一樣,發(fā)生軟中斷時,將轉(zhuǎn)去執(zhí)行中斷服務(wù)子程序。斷一樣,發(fā)生軟中斷時

30、,將轉(zhuǎn)去執(zhí)行中斷服務(wù)子程序。 不過,這樣的子程序不是用戶自己編寫的子程序,而是不過,這樣的子程序不是用戶自己編寫的子程序,而是由由系統(tǒng)軟件系統(tǒng)軟件(主要是操作系統(tǒng))(主要是操作系統(tǒng))提供的子程序提供的子程序。 INT指令實(shí)際上就是在編寫匯編語言程序時,用軟中斷指令實(shí)際上就是在編寫匯編語言程序時,用軟中斷來實(shí)現(xiàn)用戶程序調(diào)用系統(tǒng)提供的子程序。來實(shí)現(xiàn)用戶程序調(diào)用系統(tǒng)提供的子程序。 7.2.1 微處理器的中斷功能微處理器的中斷功能異常中斷:可分為異常中斷:可分為0、1、3、4號中斷。號中斷。0號中斷:號中斷:-被除零中斷被除零中斷當(dāng)當(dāng)CPU執(zhí)行除運(yùn)算時,若出現(xiàn)除數(shù)為執(zhí)行除運(yùn)算時,若出現(xiàn)除數(shù)為0,則,則

31、0號中斷。號中斷。 7.2.1 微處理器的中斷功能微處理器的中斷功能1號中斷:號中斷: -單步中斷單步中斷CUP執(zhí)行一條指令前,若檢測到執(zhí)行一條指令前,若檢測到PSW的的TF=1,則在該指令執(zhí)行,則在該指令執(zhí)行之后立即停止,引起之后立即停止,引起1號中斷,該中斷支持程序但不跟蹤的功能。號中斷,該中斷支持程序但不跟蹤的功能。異常中斷:可分為異常中斷:可分為0、1、3、4號中斷。號中斷。 7.2.1 微處理器的中斷功能微處理器的中斷功能3號中斷:號中斷:-斷點(diǎn)中斷斷點(diǎn)中斷該中斷主要該中斷主要供調(diào)試程序供調(diào)試程序使用。通常調(diào)試程序時,把程序按需分使用。通常調(diào)試程序時,把程序按需分成若干段,每段設(shè)置一

32、個斷點(diǎn)。當(dāng)成若干段,每段設(shè)置一個斷點(diǎn)。當(dāng)CPU執(zhí)行到斷點(diǎn)時產(chǎn)生中斷,供程序執(zhí)行到斷點(diǎn)時產(chǎn)生中斷,供程序員檢查各寄存器及有關(guān)存儲單元的內(nèi)容。員檢查各寄存器及有關(guān)存儲單元的內(nèi)容。4號中斷:號中斷:-益處中斷益處中斷在執(zhí)行單字節(jié)指令在執(zhí)行單字節(jié)指令I(lǐng)NT O時,如果時,如果CPU檢測到溢出標(biāo)志位,則檢測到溢出標(biāo)志位,則產(chǎn)生號中斷,進(jìn)行溢出處理。產(chǎn)生號中斷,進(jìn)行溢出處理。 OF時,不產(chǎn)生中斷。時,不產(chǎn)生中斷。在微處理器中,不同的中斷是以在微處理器中,不同的中斷是以中斷類型號中斷類型號來區(qū)別的。來區(qū)別的。 每每種中斷都有固定的中斷類型號。種中斷都有固定的中斷類型號。 7.2.1 中斷類型號中斷類型號中斷

33、類型號中斷類型號:對中斷的類型進(jìn)行編號。對中斷的類型進(jìn)行編號。中斷類型號的中斷類型號的范圍范圍為為0255(00HFFH),即最多有),即最多有256個。個。 7.2.1 中斷類型號中斷類型號中斷中斷外部硬中斷外部硬中斷內(nèi)部中斷內(nèi)部中斷可屏蔽中斷可屏蔽中斷不可屏蔽中斷不可屏蔽中斷異常中斷異常中斷軟中斷軟中斷提供中斷類型號提供中斷類型號:外部中斷控制邏輯提供外部中斷控制邏輯提供中斷類型號:中斷類型號:2由指令本身提供由指令本身提供 7.2.1 中斷類型號中斷類型號中斷類型號的作用:中斷類型號的作用:在中斷發(fā)生時,借助中斷類型號,能使程序轉(zhuǎn)入相對應(yīng)的中在中斷發(fā)生時,借助中斷類型號,能使程序轉(zhuǎn)入相對

34、應(yīng)的中斷服務(wù)子程序。斷服務(wù)子程序。 7.2.1 微處理器的中斷功能微處理器的中斷功能2. 中斷向量表中斷向量表 7.2.1 微處理器的中斷功能微處理器的中斷功能 每種中斷都有自己相每種中斷都有自己相應(yīng)的應(yīng)的中斷服務(wù)子程序中斷服務(wù)子程序。CPU響應(yīng)任何中斷,響應(yīng)任何中斷,就要進(jìn)入相應(yīng)的中斷就要進(jìn)入相應(yīng)的中斷服務(wù)子程序中,執(zhí)行服務(wù)子程序中,執(zhí)行子程序的程序,子程序的程序,來處來處理中斷理中斷。中中斷斷處處理理子子程程序序中斷請求中斷請求主機(jī)主機(jī)運(yùn)行運(yùn)行程序程序2. 中斷向量表中斷向量表 7.2.1 微處理器的中斷功能微處理器的中斷功能當(dāng)響應(yīng)中斷后,系統(tǒng)怎樣進(jìn)入中斷服務(wù)子程序?當(dāng)響應(yīng)中斷后,系統(tǒng)怎樣

35、進(jìn)入中斷服務(wù)子程序? 獲取中斷服務(wù)子程序的獲取中斷服務(wù)子程序的入口地址入口地址。(即首地址。(即首地址段地址段地址和和偏移地址偏移地址) 如何獲取入口地址?如何獲取入口地址? 1. 中斷類型號中斷類型號2. 中斷向量表(實(shí)模式下)中斷向量表(實(shí)模式下) 7.2.1 微處理器的中斷功能微處理器的中斷功能 什么是實(shí)模式?什么是實(shí)模式? CPU的工作模式有三種:的工作模式有三種:1. 實(shí)地址模式(實(shí)模式)實(shí)地址模式(實(shí)模式)2. 保護(hù)模式保護(hù)模式3. 虛地址模式虛地址模式任何情況下,任何情況下,CPU每次加電或復(fù)位后,都從實(shí)模式開始工作。每次加電或復(fù)位后,都從實(shí)模式開始工作。實(shí)模式:是最基本的工作模

36、式,實(shí)模式:是最基本的工作模式,8086/8688只能工作于實(shí)模式。只能工作于實(shí)模式。實(shí)模式:實(shí)模式: 只允許只允許CPU尋址空間是內(nèi)存的第一個尋址空間是內(nèi)存的第一個1MB存儲空間。存儲空間。 7.2.1中斷向量表中斷向量表 中斷向量中斷向量: 即中斷服務(wù)子程序的即中斷服務(wù)子程序的入口地址入口地址,包括段地址(,包括段地址(置入置入CS)和偏移地址(和偏移地址(置入置入IP)。)。低字節(jié)低字節(jié)高字節(jié)高字節(jié)低字節(jié)低字節(jié)高字節(jié)高字節(jié)低字,送入低字,送入IP高字,送入高字,送入CS假如:某個中斷服務(wù)子程序的入口地址假如:某個中斷服務(wù)子程序的入口地址-2856:0255H55H02H56H28H偏移地

37、址偏移地址段地址段地址注:每種中斷都有入口地址,所以注:每種中斷都有入口地址,所以每種中斷每種中斷都有一個都有一個中斷向量中斷向量。 7.2.1 微處理器的中斷功能微處理器的中斷功能 中斷向量表中斷向量表: 由由中斷向量中斷向量按照中斷類型號的順序組成的表,就是中斷按照中斷類型號的順序組成的表,就是中斷類型表。類型表。在實(shí)模式下,存儲器地址最低的在實(shí)模式下,存儲器地址最低的1024單元,即地址單元,即地址0000H03FFH,用于存儲各種中斷服務(wù)的,用于存儲各種中斷服務(wù)的入口地址入口地址。 從從0000H開始,每開始,每4個內(nèi)存單元存放一個中斷服務(wù)子程序的入個內(nèi)存單元存放一個中斷服務(wù)子程序的入

38、口地址(中斷向量)。前兩個內(nèi)存單元的口地址(中斷向量)。前兩個內(nèi)存單元的16位是位是段內(nèi)偏移地段內(nèi)偏移地址址,后兩個內(nèi)存單元的,后兩個內(nèi)存單元的16位是位是段地址段地址。當(dāng)要執(zhí)行中斷服務(wù)子程序時候,偏移地址送入當(dāng)要執(zhí)行中斷服務(wù)子程序時候,偏移地址送入IP中,段地址中,段地址送入送入CS中。中。 7.2.1 微處理器的中斷功能微處理器的中斷功能中斷類型號是中斷向量表的中斷類型號是中斷向量表的索引索引中斷類型號中斷類型號*4-該中斷的該中斷的中斷向量中斷向量在在中斷向量表中斷向量表中的中的開始位置開始位置。中斷類型號與中斷向量表的關(guān)系中斷類型號與中斷向量表的關(guān)系例如:例如:中斷類型號為中斷類型號為

39、1,則其中斷向量在中斷向量表中的則其中斷向量在中斷向量表中的開始位置開始位置:0004H其中斷向量在中斷向量表中的其中斷向量在中斷向量表中的位置位置:0004H0007H 7.2.1 微處理器的中斷功能微處理器的中斷功能中斷類型號與中斷向量表的關(guān)系中斷類型號與中斷向量表的關(guān)系例如:例如:中斷類型號為中斷類型號為1,則其中斷向量在中則其中斷向量在中斷向量表中的斷向量表中的開始開始位置:位置:00004H其中斷向量在中斷其中斷向量在中斷向量表中的向量表中的位置位置:00004H00007H55H02H56H28H偏移地址偏移地址段地址段地址存儲器存儲器00004H00005H00006H00007

40、H物理地址物理地址單步中斷在中斷向量表中的位置單步中斷在中斷向量表中的位置注注2856:0255H是單步中斷的中斷向量是單步中斷的中斷向量2. 中斷向量表中斷向量表 7.2.1 微處理器的中斷功能微處理器的中斷功能 7.2.1 微處理器的中斷功能微處理器的中斷功能中斷向量在中斷向量表中的中斷向量在中斷向量表中的位置位置是是不能改變不能改變的。的。在中斷向量表中,第一個中斷向量,肯定是類型號為在中斷向量表中,第一個中斷向量,肯定是類型號為0的中斷,第二個中斷的中斷,第二個中斷向量,肯定是類型號為向量,肯定是類型號為1的中斷。的中斷。中斷向量的中斷向量的值值是是可以改變可以改變的。的。假如:類型號

41、為假如:類型號為1個中斷服務(wù)子程序的入口地址個中斷服務(wù)子程序的入口地址-2856:0255H,如果修改了其中的服務(wù)子程序的入口地址為如果修改了其中的服務(wù)子程序的入口地址為-2200:1244H,則需要重新裝入新的入口地址。則需要重新裝入新的入口地址。55H02H56H28H送入送入IP送入送入CS00004H00005H00006H00007H44H12H00H22H送入送入IP送入送入CS00004H00005H00006H00007H 從引起中斷到中斷結(jié)束,共有三個過程:從引起中斷到中斷結(jié)束,共有三個過程:1. 中斷響應(yīng)過程中斷響應(yīng)過程2. 中斷處理過程中斷處理過程3. 中斷返回過程中斷返

42、回過程 7.2.1 實(shí)模式下的中斷響應(yīng)實(shí)模式下的中斷響應(yīng)3. 實(shí)模式下的中斷響應(yīng)實(shí)模式下的中斷響應(yīng)中斷響應(yīng)過程中斷響應(yīng)過程:從提出中斷請求到:從提出中斷請求到CPU進(jìn)入中斷服務(wù)子程序?yàn)檫M(jìn)入中斷服務(wù)子程序?yàn)橹梗?jīng)過的過程成為中斷響應(yīng)過程。止,所經(jīng)過的過程成為中斷響應(yīng)過程。其對可屏蔽中斷,不可屏蔽中斷和內(nèi)部中斷是不盡相同的。其對可屏蔽中斷,不可屏蔽中斷和內(nèi)部中斷是不盡相同的。 7.2.1 微處理器的中斷功能微處理器的中斷功能在在IF位為位為1(即開中斷即開中斷)情況下,從情況下,從INTR端加入中斷請求信號開始,端加入中斷請求信號開始,到進(jìn)入中斷服務(wù)程序?yàn)橹顾?jīng)過的一系列操作,稱為可屏蔽中到進(jìn)入

43、中斷服務(wù)程序?yàn)橹顾?jīng)過的一系列操作,稱為可屏蔽中斷的響應(yīng)過程。斷的響應(yīng)過程。一 可屏蔽中斷的響應(yīng)操作可屏蔽中斷的響應(yīng)操作從從CPUCPU中止現(xiàn)行程中止現(xiàn)行程序轉(zhuǎn)中斷服務(wù)程序轉(zhuǎn)中斷服務(wù)程序這一過程序這一過程, ,用兩用兩個總線周期個總線周期。 第一個響應(yīng)周期:第一個響應(yīng)周期:使使AD15-AD0AD15-AD0、/S7/S7、A19/S6-A16/S3A19/S6-A16/S3懸懸空???。第二個響應(yīng)周期:第二個響應(yīng)周期:外設(shè)向數(shù)據(jù)總線外設(shè)向數(shù)據(jù)總線上輸送一個字節(jié)上輸送一個字節(jié)的中斷類型號。的中斷類型號。中斷響應(yīng)周期中斷響應(yīng)周期中斷響應(yīng)周期 7.2.1 微處理器的中斷功能微處理器的中斷功能可屏蔽中

44、斷的響應(yīng)過程:可屏蔽中斷的響應(yīng)過程: 等待當(dāng)前指令(等待當(dāng)前指令(CPU正執(zhí)行的其它指令)結(jié)束,然后進(jìn)入中斷響應(yīng)周期。正執(zhí)行的其它指令)結(jié)束,然后進(jìn)入中斷響應(yīng)周期。 從微處理器外部的中斷控制邏輯獲得從微處理器外部的中斷控制邏輯獲得中斷類型號中斷類型號。 當(dāng)前的當(dāng)前的PSW、CS和和IP的內(nèi)容依次壓入堆棧。(保護(hù)斷點(diǎn)的的內(nèi)容依次壓入堆棧。(保護(hù)斷點(diǎn)的地址地址和和狀態(tài)狀態(tài)) 清除清除PSW中的中的IF位和位和TF位為位為0。 把中斷服務(wù)程序的入口地址置入把中斷服務(wù)程序的入口地址置入IP和和CS。把地址為把地址為4*n和和4*n+1兩個單元兩個單元的的16位作為中斷服務(wù)子程序入口地址的位作為中斷服務(wù)

45、子程序入口地址的偏移地址偏移地址送入送入IP中,把中,把4*n+2和和4*n+3的兩個作為中斷服務(wù)子程序入口地址的的兩個作為中斷服務(wù)子程序入口地址的段地址段地址送入送入CS中。中。中斷向量假如可屏蔽中斷的中斷類型號為:,那么,那么把1244H送入IP中,把2200H送入CS中。44H12H00H22H送入送入IP送入送入CS0EH*40EH*4+10EH*4+20EH*4+3二、二、 不可屏蔽中斷的響應(yīng)過程不可屏蔽中斷的響應(yīng)過程 不可屏蔽的中斷請求在不可屏蔽的中斷請求在CPU中的中的NMI引腳加入。引腳加入。 CPU對它的響應(yīng)不受對它的響應(yīng)不受IF位的控制位的控制(但可以在外部邏輯中對但可以在

46、外部邏輯中對加加入入NMI端的信號進(jìn)行控制端的信號進(jìn)行控制)。 7.2.1 微處理器的中斷功能微處理器的中斷功能不可屏蔽中斷的響應(yīng)過程為:不可屏蔽中斷的響應(yīng)過程為: 1. 等待當(dāng)前指令結(jié)束,然后進(jìn)入中斷響應(yīng)周期。等待當(dāng)前指令結(jié)束,然后進(jìn)入中斷響應(yīng)周期。 2. 將當(dāng)前的將當(dāng)前的PSW、CS和和IP的內(nèi)容依次壓入堆棧的內(nèi)容依次壓入堆棧 3. 清除清除PSW中的中的IF位和位和TF位為位為0。 4. 把中斷服務(wù)程序的入口地址置入把中斷服務(wù)程序的入口地址置入IP和和CS。把地址為把地址為4*2和和4*2+1兩個單兩個單元的元的16位作為中斷服務(wù)子程序入口地址的位作為中斷服務(wù)子程序入口地址的偏移地址偏移

47、地址送入送入IP中,把中,把4*2+2和和4*2+3的兩個作為中斷服務(wù)子程序入口地址的的兩個作為中斷服務(wù)子程序入口地址的段地址段地址送入送入CS中。中。 7.2.1 微處理器的中斷功能微處理器的中斷功能三、三、 內(nèi)部中斷的響應(yīng)操作內(nèi)部中斷的響應(yīng)操作所有的內(nèi)部中斷都有以下共同特點(diǎn):所有的內(nèi)部中斷都有以下共同特點(diǎn):INTA 中斷類型號要么是指令碼給定的,要么是處理硬件決定的,都不需中斷類型號要么是指令碼給定的,要么是處理硬件決定的,都不需要從外部邏輯輸入。要從外部邏輯輸入。 沒有包括沒有包括 信號的響應(yīng)周期。信號的響應(yīng)周期。 不受不受IF位的控制,位的控制, 但單步中斷受但單步中斷受TF位控制。位

48、控制。中斷優(yōu)先級中斷優(yōu)先級:除數(shù)為:除數(shù)為0中斷,中斷,INT n和和INT O指令的優(yōu)先級最高,指令的優(yōu)先級最高,NMI 次之,次之,INTR再次,單步中斷優(yōu)先級最低。再次,單步中斷優(yōu)先級最低。 除單步中斷之外,其它內(nèi)部中斷都比外部中斷優(yōu)先響應(yīng)。除單步中斷之外,其它內(nèi)部中斷都比外部中斷優(yōu)先響應(yīng)。 7.2.1 微處理器的中斷功能微處理器的中斷功能三、三、 內(nèi)部中斷的響應(yīng)操作內(nèi)部中斷的響應(yīng)操作1. 將將當(dāng)前的當(dāng)前的PSW、CS和和IP的內(nèi)容依次壓入堆棧。(保護(hù)斷點(diǎn)的的內(nèi)容依次壓入堆棧。(保護(hù)斷點(diǎn)的地址地址和和狀態(tài)狀態(tài))2. 清除清除PSW中的中的IF位和位和TF位為位為0。3. 把中斷服務(wù)程序的

49、入口地址置入把中斷服務(wù)程序的入口地址置入IP和和CS。把地址為把地址為4*n和和4*n+1兩個單元兩個單元的的16位作為中斷服務(wù)子程序入口地址的位作為中斷服務(wù)子程序入口地址的偏移地址偏移地址送入送入IP中,把中,把4*n+2和和4*n+3的兩個作為中斷服務(wù)子程序入口地址的的兩個作為中斷服務(wù)子程序入口地址的段地址段地址送入送入CS中。中。思考可屏蔽中斷與非可屏蔽中斷的響應(yīng)過程有什么不同?可屏蔽中斷與內(nèi)部中斷的響應(yīng)過程有什么不同?非可屏蔽中斷省去第2步內(nèi)部中斷省去第1、2步清除位當(dāng)TF時,每執(zhí)行完一條指令時引起一次單步中斷,在中斷服務(wù)子程序中顯示各寄存器的內(nèi)容和狀態(tài)字信息。如果不清除位,當(dāng)進(jìn)入中斷

50、服務(wù)子程序時,將不斷的引起中斷,每次中斷都執(zhí)行同一條指令而不能返回。只有清除TF位才能避免這種現(xiàn)象的發(fā)生。在中斷服務(wù)子程序期間,為0,到IRET指令恢復(fù)PSW值時候,才恢復(fù)位。 7.2.1 微處理器的中斷功能微處理器的中斷功能中斷返回中斷返回 無論內(nèi)部中斷還是外部中斷,都是由中斷服務(wù)子程序無論內(nèi)部中斷還是外部中斷,都是由中斷服務(wù)子程序的末尾設(shè)置的末尾設(shè)置IRET指令實(shí)現(xiàn)的。指令實(shí)現(xiàn)的。IRET指令的操作時恢復(fù)斷指令的操作時恢復(fù)斷點(diǎn)處的地址和點(diǎn)處的地址和PSW的內(nèi)容,即依次從堆棧彈出保存的的內(nèi)容,即依次從堆棧彈出保存的IP、CS和和PSW值,使被中斷了的程序繼續(xù)執(zhí)行值,使被中斷了的程序繼續(xù)執(zhí)行

51、7.2.2 外中斷控制邏輯和中斷控制芯片外中斷控制邏輯和中斷控制芯片8529A外部輸入輸出設(shè)備利用中斷機(jī)制與外部輸入輸出設(shè)備利用中斷機(jī)制與CPU交換信息,實(shí)際上交換信息,實(shí)際上就是利用外部可屏蔽中斷。就是利用外部可屏蔽中斷。對對CPU來說,與可屏蔽中斷有關(guān)的兩個引腳是來說,與可屏蔽中斷有關(guān)的兩個引腳是INTR和和INTA。INTR-中斷請求信號引腳中斷請求信號引腳INTA-中斷響應(yīng)信號引腳中斷響應(yīng)信號引腳CPU外設(shè)外設(shè)I/O接口接口INTRINTA 7.2.2 外中斷控制邏輯和外中斷控制邏輯和8529A的關(guān)系的關(guān)系80286以及以后的微機(jī)系統(tǒng)中,用以及以后的微機(jī)系統(tǒng)中,用兩片兩片8259A組成

52、了可屏蔽組成了可屏蔽中斷的中斷控制邏輯。中斷的中斷控制邏輯。I/O接口板組接口板組I/O外設(shè)外設(shè)總線總線控制邏輯控制邏輯CPUI/O接口接口在主機(jī)板上,總線控制邏輯包括:在主機(jī)板上,總線控制邏輯包括: 1. 支持訪問擴(kuò)充板上存儲器操作的邏輯支持訪問擴(kuò)充板上存儲器操作的邏輯 2. 支持執(zhí)行輸入輸出指令的邏輯支持執(zhí)行輸入輸出指令的邏輯 3. 支持外部中斷方式的以支持外部中斷方式的以8259為核心的中斷控制邏輯為核心的中斷控制邏輯 4.支持存儲器直接讀寫支持存儲器直接讀寫(DMA)操作的以操作的以8237為核心組成的為核心組成的DMA控制邏輯控制邏輯 7.2.2外中斷控制邏輯和中斷控制芯片外中斷控制

53、邏輯和中斷控制芯片8529ACPUINTRINTA 7.2.2外中斷控制邏輯和中斷控制芯片外中斷控制邏輯和中斷控制芯片8529A80286及其以后的微機(jī)系統(tǒng)中,用兩片及其以后的微機(jī)系統(tǒng)中,用兩片8259A級聯(lián)組成了可屏級聯(lián)組成了可屏蔽中斷的外部控制邏輯。蔽中斷的外部控制邏輯。上面的是主片,下面的是從片。上面的是主片,下面的是從片。主主8259A的的INT端端(輸出輸出)與與CPU的中斷請求輸入端的中斷請求輸入端INTR相接,相接,而從片的而從片的INT端與主片的端與主片的IR2端相連。端相連。主片和從片的主片和從片的INTA端都和端都和CPU的的INTA端相連。端相連。 7.2.2外中斷控制邏

54、輯和中斷控制芯片外中斷控制邏輯和中斷控制芯片8529A每片每片8259A有有8個輸入端個輸入端IR0IR7,可分別接受,可分別接受8個外部的中斷請個外部的中斷請求,兩片級聯(lián),可以接受求,兩片級聯(lián),可以接受15級外部的中斷請求。級外部的中斷請求。同時標(biāo)出了對應(yīng)的中斷類型號:同時標(biāo)出了對應(yīng)的中斷類型號: 主片:主片:08H0FH 從片:從片:A0HA7H每個每個8259A分配兩個端口:分配兩個端口:主片主片8259A:20H和和21H, 從片從片8259A:A0H和和A1H。在圖的最左側(cè),給出了系統(tǒng)常規(guī)配置下對各個中斷請求端的應(yīng)用在圖的最左側(cè),給出了系統(tǒng)常規(guī)配置下對各個中斷請求端的應(yīng)用分配。通常,

55、自己開發(fā)的接口應(yīng)用那些標(biāo)有分配。通常,自己開發(fā)的接口應(yīng)用那些標(biāo)有保留保留的請求端。的請求端。1. 8259的外部引腳圖的外部引腳圖 7.2.2外中斷控制邏輯和中斷控制芯片外中斷控制邏輯和中斷控制芯片8529ACSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDVCCA0INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS28259A1)數(shù)據(jù)總線數(shù)據(jù)總線D7D0 雙向,用于雙向,用于CPU和和8259A之間的數(shù)據(jù)通信。之間的數(shù)據(jù)通信。2)讀寫控制讀寫控制 RD,讀信號,輸入,低電平有效。,讀信號,輸入,低電平有效。 WR,寫信號,輸入,低電平有效,寫信號,

56、輸入,低電平有效 CS,片選信號,輸入,低電平有效。有效,片選信號,輸入,低電平有效。有效時,該時,該8259A芯片被選中芯片被選中 A0,端口選中信號,輸入。每片,端口選中信號,輸入。每片8259A均分均分配兩個端口,如配兩個端口,如20H和和21H兩個端口。兩個端口。當(dāng)當(dāng)A0=0時,選中時,選中偶偶地址端口;地址端口;當(dāng)當(dāng)A0=1時,選中時,選中奇奇地址端口。地址端口。1. 8259的外部引腳圖的外部引腳圖 7.2.2外中斷控制邏輯和中斷控制芯片外中斷控制邏輯和中斷控制芯片8529ACSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDVCCA0INTAIR7IR6IR5IR4

57、IR3IR2IR1IR0INTSP/ENCAS28259A3)級聯(lián)引腳級聯(lián)引腳CAS0CAS2 8259A可工作于多片級聯(lián)方式。級聯(lián)引腳是可工作于多片級聯(lián)方式。級聯(lián)引腳是級聯(lián)信號線。級聯(lián)信號線。 主片的級聯(lián)引腳是輸出主片的級聯(lián)引腳是輸出 從片的級聯(lián)引腳是輸入。從片的級聯(lián)引腳是輸入。SP/EN: 1. 當(dāng)當(dāng)8259A工作在非緩沖模式下,用作輸入端,工作在非緩沖模式下,用作輸入端,用于區(qū)別主片與從片。在多片級聯(lián)中,主片的用于區(qū)別主片與從片。在多片級聯(lián)中,主片的SP/EN接高電平,表示是主片;而從片的接低電平,接高電平,表示是主片;而從片的接低電平,表示是從片。表示是從片。 2.當(dāng)當(dāng)8259A工作在

58、緩沖模式下,用作輸出端,工作在緩沖模式下,用作輸出端,控制緩沖器的接受和發(fā)送??刂凭彌_器的接受和發(fā)送。1. 8259的外部引腳圖的外部引腳圖 7.2.2外中斷控制邏輯和中斷控制芯片外中斷控制邏輯和中斷控制芯片8529AINTAINT8259A4)中斷信號中斷信號 INT:中斷請求輸出端:中斷請求輸出端,與與CPU的的INTR輸入端相連;輸入端相連; INTA:中斷響應(yīng)輸入端,與中斷響應(yīng)輸入端,與CPU的的INRA輸出端相連。輸出端相連。CPUINTRINTAIR0IR7外部設(shè)備外部設(shè)備 IR0IR7:是外設(shè)加入是外設(shè)加入8259A的中斷請的中斷請求輸入端。求輸入端。 過程:過程:外設(shè)外設(shè)825

59、9A CPU 8259A1. 8259的內(nèi)部邏輯結(jié)構(gòu)的內(nèi)部邏輯結(jié)構(gòu) 7.2.2外中斷控制邏輯和中斷控制芯片外中斷控制邏輯和中斷控制芯片8529A1. 8259的內(nèi)部邏輯結(jié)構(gòu)的內(nèi)部邏輯結(jié)構(gòu) 7.2.2外中斷控制邏輯和中斷控制芯片外中斷控制邏輯和中斷控制芯片8529A其內(nèi)部邏輯結(jié)構(gòu)主要由下面幾個部分組成:其內(nèi)部邏輯結(jié)構(gòu)主要由下面幾個部分組成: 1. 中斷請求寄存器:中斷請求寄存器:IRR2.中斷服務(wù)寄存器:中斷服務(wù)寄存器:ISR3.中斷優(yōu)先級分析器:中斷優(yōu)先級分析器:PR 4. 初始化命令字:初始化命令字:ICW1ICW45. 操作命令字:操作命令字:OCW1OCW36. 讀寫控制邏輯讀寫控制邏輯

60、7. 級聯(lián)緩沖器級聯(lián)緩沖器/比較器比較器以上所有的寄存器(除了優(yōu)先級分析器外)和命令字,均是以上所有的寄存器(除了優(yōu)先級分析器外)和命令字,均是8bit的寄存器的寄存器。1. 8259的內(nèi)部邏輯結(jié)構(gòu)的內(nèi)部邏輯結(jié)構(gòu) 7.2.2外中斷控制邏輯和中斷控制芯片外中斷控制邏輯和中斷控制芯片8529A1. 中斷請求寄存器:中斷請求寄存器:IRRIRR是一個是一個8bit的寄存器,用于記錄外部中斷請求。的寄存器,用于記錄外部中斷請求。D7D6D5D4D3D2D1D0D0D7,每一位分別與外部中斷請求信號,每一位分別與外部中斷請求信號IR0IR7一一對應(yīng)。一一對應(yīng)。當(dāng)當(dāng)IRi(i=07)有中斷請求時,)有中斷

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論