




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第7章輸入輸出接口內(nèi)容提要 輸入輸出接口基礎 并行接口和并行接口芯片8255A 中斷系統(tǒng)和中斷控制芯片8259A DMA和DMA控制器8237 定時/計數(shù)器8254/8253的功能和編程微型計算機系統(tǒng)硬件組成7.1 輸入輸出接口基礎接口指CPU和外設之間通過系統(tǒng)總線進行連接的電路部分,是CPU與外界進行信息交換的中轉(zhuǎn)站。原始數(shù)據(jù)通過接口由輸入設備送進去運算結(jié)果通過接口由輸出設備送出來控制命令通過接口發(fā)出去現(xiàn)場數(shù)據(jù)通過接口從輸入設備送進去接口和接口技術接口技術是研究CPU如何與外部世界進行最佳耦合與匹配,實現(xiàn)雙方高效、可靠地交換信息的一門技術,是軟件、硬件結(jié)合的體現(xiàn),是微機應用的關鍵。為什么要用
2、接口電路?外設是用來實現(xiàn)人機交互的一些機電設備。外設處理信息的類型、速度、通信方式與CPU不匹配, 不能直接掛在總線上,必須通過接口和系統(tǒng)相連。接口和接口技術接口電路的作用數(shù)據(jù)總線控制總線地址總線接口電路外部設備數(shù)據(jù)線控制線狀態(tài)線外設必須通過接口電路與CPU相連接,輸入輸出操作是由復雜的I/O接口控制實現(xiàn)的。接口電路的作用是把計算機輸出的信息變成外設能夠識別的信息,把外設輸入的信息轉(zhuǎn)化成計算機所能接受的信息。接口電路的典型結(jié)構(gòu)數(shù)據(jù)緩沖器狀態(tài)寄存器控制寄存器接外設一側(cè) 主機外設 總線驅(qū)動地址譯碼控制邏輯接CPU一側(cè)DBABCB數(shù)據(jù)信息控制信息狀態(tài)信息端口接口實現(xiàn)對CPU數(shù)據(jù)總線速度和驅(qū)動能力的匹
3、配實現(xiàn)各寄存器端口尋址操作 實現(xiàn)接口電路中的各寄存器端口的讀/寫操作和時序控制接口電路的典型結(jié)構(gòu)從編程角度看,接口內(nèi)部主要包括一個或多個CPU可以進行讀/寫操作的寄存器,又稱為I/O端口。各I/O端口由端口地址區(qū)分。接口電路的典型結(jié)構(gòu)按存放信息的不同,I/O端口可分為三種類型數(shù)據(jù)端口:用于存放CPU與外設間傳送的數(shù)據(jù)信息狀態(tài)端口:用于暫存外設的狀態(tài)信息控制端口:用于存放CPU對外設或接口的控制信息,控制外設或接口的工作方式。CPU對外設輸入/輸出的控制,是通過對接口電路中各I/O端口的讀/寫操作完成。 (讀操作用IN指令,寫操作用OUT指令)接口電路的典型結(jié)構(gòu)數(shù)據(jù)傳送方式:并行接口串行接口功能
4、選擇的靈活性:可編程接口,其芯片功能可以由指令來控制不可編程接口,即硬步線邏輯接口芯片通用性:通用接口(8253 定時/計數(shù)器、8259 中斷控制器、8237 DMA、8250 8251 串行接口、 8255 并行接口)專用接口(軟盤控制器 8271 8272、CRT 8275、鍵盤顯示 8279)I/O接口電路分類接口電路按通用性分為兩類:通用接口和專用接口通用接口:可供多種外部設備使用的標準接口,目的是使微機正常工作通用接口通常制造成集成電路芯片,稱為接口芯片。最初的IBM-PC使用了6塊接口芯片:8284、8288、8255、8259、8237、8253后來的微機將這些芯片集成為大規(guī)模集
5、成電路芯片,稱為芯片組。如82430TX芯片組,由兩片芯片組成:北橋:82439TX南橋:82371AB專用接口:為某種用途或某類外設而專門設計的接口電路,目的在于擴充微機系統(tǒng)的功能。專用接口通常制造成專用接口卡,插在主板總線插槽上使用。通用接口和專用接口的界限并不嚴格。I/O接口電路分類輸入輸出的基本方式輸入輸出指令微機系統(tǒng)中存在著存儲器地址空間和輸入輸出空間。存儲器的每個字節(jié)單元都占存儲器地址空間的一個地址。與此相類似,在輸入輸出地址空間中,占據(jù)一個輸入輸出地址的稱為一個輸入輸出端口或簡稱端口(PORT)。CPU可以從端口讀入數(shù)據(jù),也可以向端口輸出數(shù)據(jù)。對8086微處理器,CPU從端口讀入
6、數(shù)據(jù)的指令稱為輸入指令,助記符為IN;CPU向端口輸出數(shù)據(jù)的指令稱為輸出指令,助記符為OUT。接口(interface)與端口(port)傳送這三種信息(數(shù)據(jù)、狀態(tài)、控制)的接口電路中的寄存器稱為數(shù)據(jù)、狀態(tài)和控制端口。不同的寄存器有不同的端口地址,即用地址來訪問。端口由一個或多個寄存器組成。接口由若干個端口加上相應的控制邏輯組成,地址不是對接口而言。I/O端口的編址方式端口與存儲器分別獨立編址端口與存儲器統(tǒng)一編址端口與存儲器分別獨立編址例Intel的80X86系列、Z80系列特點:不占用內(nèi)存空間設有專門的I/O指令對端口進行讀寫, 對內(nèi)存操作的指令不能用于I/O端口操作I/O端口的編址方式例:
7、 對內(nèi)存操作 MOV 00000H , AL MOV DL , BX對端口操作 OUT 0000H, AL IN AL,0010HI/O端口的編址方式端口與存儲器統(tǒng)一編址例Motorola的M6800系列、Intel 51單片機系列特點:I/O端口相當于內(nèi)存的一部分,使內(nèi)存容量減小;對I/O端口的讀/寫與對存儲器的讀/寫相同,所有可對內(nèi)存操作的指令對I/O端口均可使用;指令系統(tǒng)中不專設I/O指令。I/O端口的編址方式端口與存儲器統(tǒng)一編址I/O端口的編址方式8088/8086輸入/輸出指令8088/8086CPU采用I/O端口與存儲器分別獨立編址??蓪ぶ?20= 1M個內(nèi)存單元內(nèi)存范圍00000
8、 FFFFFH內(nèi)存單元的地址有5種尋址可尋址216= 64 K個I/O端口I/O端口范圍0000 FFFFHI/O端口的地址由一8位二進制數(shù) 直接尋址或DX寄存器間接尋址存儲器I/O端口指令的一般格式:名稱助記符和格式操作功能輸入IN AL, PORTIN AX, PORTIN AL, DXIN AX, DX(AL)(PORT)(AX)(PORT+1:PORT)(AL)(DX)(AX)(DX)+1:(DX)輸出OUT PORT, ALOUT PORT, AXOUT DX, ALOUT DX, AX(PORT)(AL) (PORT+1:PORT)(AX) (DX)(AL) (DX)+1:(DX)
9、(AX) port 為端口地址(直接尋址), 大小為0255 或0FFH對于IN指令,目的地址DST的尋址方式為寄存器方式,字節(jié)輸入時為AL,字輸入時為AX。源操作數(shù)的尋址方式有兩種: 直接尋址方式,即在SRC的位置上直接寫上代表端口地址的數(shù)或能求出值的表達式。其端口地址不能大于255。 寄存器間接尋址方式。間址寄存器為DX。這種方式需要在IN指令之前,把輸入端口地址傳送至DX寄存器,端口地址的大小沒有限制。對于OUT指令,源操作數(shù)的尋址方式和IN指令的目的操作數(shù)的尋址方式相同。輸入輸出指令的執(zhí)行不影響任何標志位的狀態(tài)。8088/8086輸入/輸出指令輸入/輸出指令舉例(1)IN AL,28H
10、 若(28H端口) = 1010 1111B 執(zhí)行后(AL) = (28H端口)= 0AFH(2)IN AX,28H若(28H端口)= 1010 1111B (29H端口)= 0101 0000B執(zhí)行后(AL) = (28H端口)= 0AFH (AH) = (29H端口)= 50H(3)MOV DX,300H IN AL,DX 若(300H端口)= 69H執(zhí)行后(AL) = (300H端口)= 69H(1)OUT 21H, AL若(AL)= 1100 1100B執(zhí)行后(21H端口)= 0CCH(2)MOV DX ,21BH OUT DX,AL若(AL)= 1010 0110B執(zhí)行后(21BH端
11、口)= (AL) = 0A6H輸入/輸出指令舉例輸入/輸出指令(IN、OUT)特點(1) 累加器AL、AX的專用指令對輸入指令IN ,目的操作數(shù)只能為AL, 或AXIN AL, 21H IN AX, DX IN BX, 21H 對輸出指令OUT ,源操作數(shù)只能為AL, 或AXOUT 20H, ALOUT DX, AXOUT DX, CX 輸入/輸出指令(IN、OUT)特點(2)端口地址可為直接尋址方式或間接間接方式當端口號在0FFH,即0255時,可在指令中直接指定端口號例IN AL, 21HOUT 20H, AL當端口號FFH,即255時,需把端口號放在DX寄存器中,DX是一個16位寄存器,
12、范圍在0FFFFH之間。當端口號在0FFH,即0255時,可在指令中直接指定端口號,稱雙字節(jié)指令。當端口號FFH,即255時, 需把端口號放在DX寄存器中,稱單字節(jié)指令。例:指令 機器碼 IN AL, 21H E421 ;兩個字節(jié) OUT 20H, AL E620 IN AL, DX EC ;一個字節(jié) OUT DX, AL EE輸入/輸出指令(IN、OUT)特點(3)可進行字節(jié)或字傳送由指令中AL或AX的類型決定 IN AL, 20H ;字節(jié)傳送 IN AX, 20H ;字傳送 IN AL, DX ;字節(jié)傳送 IN AX, DX ;字傳送 OUT 20H, AL;字節(jié)傳送 OUT 20H, A
13、X;字傳送 OUT DX, AL;字節(jié)傳送 OUT DX, AX;字傳送(4)輸入輸出指令的執(zhí)行不影響任何狀態(tài)標志。輸入/輸出指令(IN、OUT)特點在實際數(shù)據(jù)傳輸過程中,有一個突出要解決的問題,就是主機與外部設備之間時間同步的問題,具體表現(xiàn)在:外部設備工作時有自己的定時機構(gòu),主機在運行程序、執(zhí)行指令時也有自己的定時系統(tǒng),它們在時間上是不同步的。輸入數(shù)據(jù)時,CPU如何確定輸入設備已經(jīng)準備好數(shù)據(jù),輸出數(shù)據(jù)時,CPU如何確定輸出設備已經(jīng)準備好接收數(shù)據(jù)。一個微機系統(tǒng)中,如果有多個外部設備存在,也就存在這種可能性:兩個或多個設備同時要求與主機交換信息。出現(xiàn)這種情況,CPU如何確定先響應哪個設備的請求,
14、再響應哪個設備的請求。輸入輸出同步問題 無條件傳送:傳送之前不查詢外設狀態(tài) 程序控制方式 查詢傳送:傳送之前查詢外設狀態(tài) 中斷方式:外設準備好后向CPU申請中斷, CPU響應中斷完成數(shù)據(jù)傳送。 DMA(直接存儲器存取)方式:由專用硬件“DMA控制器” 控制內(nèi)存和外設之間直接傳送數(shù)據(jù)。 (不需要CPU干預)數(shù)據(jù)輸入輸出的基本方式程序直接控制傳送方式 程序直接控制輸入輸出方式就是完全通過執(zhí)行程序?qū)崿F(xiàn)主機與外部設備之間的數(shù)據(jù)交換。無條件傳送方式:又稱同步方式,是最簡單的一種I/O控制方式外設已準備好,不查詢外設的狀態(tài)輸入時,外設的數(shù)據(jù)已送到三態(tài)緩沖器。輸出時,CPU的輸出信息已送到輸出鎖存器的輸入端
15、多用于CPU與低速口之間的信息交換。如開關,LED顯示器,它們總是被認為處于“待命”狀態(tài)。條件(查詢)傳送方式程序測試外設的狀態(tài),若滿足,傳送, 不滿足,等待。多用于CPU與中速口之間的信息交換。數(shù)據(jù)傳送過程:CPU從接口讀取狀態(tài)字;CPU檢測狀態(tài)字的對應位是否滿足“就緒” 條件,如果不滿足,回到第一步讀取狀態(tài)字;如狀態(tài)字表明外設已處于“就緒”狀態(tài),則傳送數(shù)據(jù)。程序直接控制I/O的程序結(jié)構(gòu)其他功能其他功能I/O指令傳輸數(shù)據(jù)從狀態(tài)端口讀入信息傳輸準備好?YN 數(shù)據(jù)的傳輸靠執(zhí)行指令來實現(xiàn)。這就是說,程序直接控制輸入輸出每個數(shù)據(jù),必須執(zhí)行I/O指令,必須經(jīng)過微處理器中的寄存器AL和AX。 外部設備的
16、狀態(tài)信息用IN指令輸入,然后測試;主機用OUT指令向外設提供狀態(tài)信息,從而達到連絡的目的。這種輸入輸出方式的優(yōu)點是簡單、實現(xiàn)容易。但存在明顯的缺點:第一,為了測試和等待外部設備作好傳輸數(shù)據(jù)的準備常常花費大量的時間。在這段時間內(nèi),程序不能完成其他任務,所以使系統(tǒng)的時間利用率大大降低。第二,CPU在一段時間里只能和一個外部設備之間傳輸數(shù)據(jù),其它設備只能等待。第三,不能發(fā)現(xiàn)和處理預先無法估計的錯誤和異?,F(xiàn)象。所以這種輸入輸出方式只適用于CPU數(shù)據(jù)處理任務不煩忙,而且外部設備數(shù)較少的情況。程序直接控制傳送方式特點使用查詢方式,CPU必須檢測接口電路的狀態(tài)寄存器,如果設備未準備好,CPU就要不斷地查詢,
17、降低了CPU運行效率中斷方式:CPU對一個隨機的請求進行處理的過程。當外設作好傳送準備后,主動向CPU請求中斷,CPU響應中斷后在中斷處理程序中與外設交換數(shù)據(jù)。若外設未準備好,CPU可以執(zhí)行其他程序,提高了CPU的利用率每條指令完成后,CPU均可響應中斷,因此當設備準備好時,可及時與CPU交換數(shù)據(jù),實現(xiàn)了對信息的實時處理,提高了計算機的使用效率。程序中斷控制方式程序中斷控制方式硬件實現(xiàn)框圖程序中斷控制方式特點 雖然程序中斷功能參與了控制,但數(shù)據(jù)的傳輸仍然要靠在程序中排入I/O指令完成。外部設備要求與CPU傳輸數(shù)據(jù)的狀態(tài)信息,不是用指令輸入和測試的,而是從CPU的中斷請求輸入端直接加入的。中斷控
18、制輸入輸出是靠硬件和軟件相配合實現(xiàn)的。 DMA (Direct Memory Access)方式,即直接存儲器存取方式,是一種不需要CPU干預也不需要軟件介入的高速數(shù)據(jù)傳送方式。 這種傳送方式中,CPU只是啟動DMA過程,但是不干預這一過程,這個DMA過程是由硬件自動完成的,也不需要軟件的介入。 在DMA控制器(DMAC)的控制下,外設和存儲器利用數(shù)據(jù)總線直接進行數(shù)據(jù)交換。存儲器直接存取方式首先,微處理器本身在設計時就能實現(xiàn)這種功能。8086的HOLD和HLDA這兩個引腳就是為這種I/O方式服務的。CPU將總線的控制權(quán)交給DMA控制器,使外部設備與存儲器之間有直接通路連通,并控制傳輸一個或多個
19、字節(jié)。其次,組成微機系統(tǒng)時,還必須配有DMA控制器,共同組成DMA控制機構(gòu),實現(xiàn)DMA傳輸所需要的全部功能。優(yōu)點:由于在數(shù)據(jù)傳輸時沒有程序和指令介入,CPU只是暫停一個或幾個總線周期的時間,CPU內(nèi)各寄存器的內(nèi)容沒有任何改變,所以CPU的時間利用率比前兩種I/O方式大大提高。這種I/O方式最適用于高速外部設備與存儲器之間交換成批數(shù)據(jù)的情況。缺點:說沒有程序和指令介入僅僅是指數(shù)據(jù)傳輸期間,并不意味著DMA輸入輸出的全過程都沒有程序介入。恰恰相反,數(shù)據(jù)傳輸前的準備工作,都是用程序預置于DMA控制器中的。存儲器直接存取方式接口和接口技術接口(Interface)的基本意思是交接界面,所以任何相關的異
20、體之間總存在著接口。兩個微機系統(tǒng),如果它們之間有數(shù)據(jù)往來,它們之間就存在接口;在一個微機系統(tǒng)內(nèi),由于各部分之間要交換信息,各部分之間也存在接口;就是微處理器內(nèi)部,各部分之間也存在接口。輸入輸出接口即輸入輸出界面,狹義地說,在IBM PC系列微機中,就是在主機的擴充插槽上的系統(tǒng)級總線。因為任何設備,無論要增加什么輔助邏輯,最終都要通過系統(tǒng)總線與主板相連。I/O接口的組成框圖部分存儲器和控制邏輯并行打印機接口CRT顯示器接口RS232C串行接口磁盤機接口其他設備接口系統(tǒng)總線部分存儲器和控制邏輯I/O指令控制邏輯中斷控制機構(gòu)DMA控制機構(gòu)其 它I/O邏輯微處理器主板其他設備磁盤機顯示器打印機外設接口
21、在主機板與輸入輸出有關的邏輯包括微處理器支持訪問擴充板上存儲器操作的邏輯,支持執(zhí)行輸入輸出指令的邏輯,支持外部中斷方式的以8259芯片為核心組成的中斷控制邏輯和支持存儲器直接讀寫(DMA)操作的以8237為核心組成的DMA控制邏輯。這些邏輯,一側(cè)與微處理器相連,受微處理器控制和管理,另一側(cè)則形成系統(tǒng)總線接到擴充插槽的接點上,成為與輸入輸出接口板的物理連接點。此外主板上還有CMOS和8254組成的系統(tǒng)計時系統(tǒng)和鍵盤接口邏輯,它們不接入系統(tǒng)總線。I/O接口I/O控制邏輯從功能上總結(jié)如下:為執(zhí)行I/O指令服務的邏輯;實現(xiàn)中斷控制功能的邏輯;實現(xiàn)DMA控制的邏輯;某些外設的接口邏輯。接口一詞也與軟件有
22、關。接口與軟件的關系有兩方面的含義。一方面的含義是接口的軟件。接口的功能的實現(xiàn)常常包括軟件,輸入輸出接口一般都是由硬件和軟件共同支持完成的,接口的開發(fā)自然包括必要的軟件開發(fā)。另一方面含義是軟件的接口。許多系統(tǒng)軟件包含許多子程序。為減輕應用軟件開發(fā)的負擔,允許應用軟件調(diào)用系統(tǒng)軟件中的子程序完成應用軟件中某些要求的功能。接口與軟件IBM PC系統(tǒng)提供的接口資源基本配置的系統(tǒng)為I/O接口既提供了硬件資源又提供了軟件資源。 提供硬件資源包括:在擴充插槽上提供了系統(tǒng)級總線;主板上有鍵盤接口邏輯和揚聲器接口邏輯;主板上有以兩片8259中斷控制器為核心組成的中斷控制邏輯;主板上有以兩片8237DMA控制器為
23、核心組成的DMA傳送控制邏輯,共有8個數(shù)據(jù)通道,用于實現(xiàn)內(nèi)存與外設之間和內(nèi)存存儲區(qū)之間直接、快速、成批數(shù)據(jù)的傳送。主板上有一片8254定時計數(shù)器,有3個功能:第1個功能是用于當日計時,和CMOS共同組成定時計時系統(tǒng);第2個功能是為動態(tài)存儲器刷新提供定時信號;第3個功能是通過編程向揚聲器提供聲音信號?;九渲玫南到y(tǒng)微機包含的I/O接口卡可能有不同的組合,但在功能上和編程上是兼容的。通常包含以下接口邏輯:顯示器接口;兩個標準(Centronics)的并行打印機接口;兩個標準(RS232)串行異步通信接口;磁盤驅(qū)動器接口,通常能連接兩個軟盤驅(qū)動器和兩個硬盤驅(qū)動器。此外,系統(tǒng)總線中還提供了相當容量的5
24、V、5V、12V和12V直流電源。IBM PC系統(tǒng)提供的接口資源主要包括DOS的功能調(diào)用和BIOS(Basic Input/Output System)調(diào)用。駐留在ROM中的BIOS給PC系列的不同微處理器提供了兼容的系統(tǒng)加電自檢、引導裝入、主要I/O設備的處理程序以及接口控制等功能模塊來處理所有的系統(tǒng)中斷。使用BIOS功能調(diào)用,給程序員編程帶來很大的方便。程序員不必了解硬件操作的具體細節(jié),直接使用指令設置參數(shù),并利用INT指令,中斷調(diào)用BIOS,所以利用BIOS功能編寫的程序簡潔,可讀性好。系統(tǒng)為I/O接口提供的軟件資源I/O指令所需的接口邏輯 IBM PC/XT系列微機I/O地址線可有16
25、根,最大可尋址I/O端口地址空間為64 K。由于IBM公司最初設計微機主板及規(guī)劃接口卡時,采用了非完全譯碼方式,只將低10位地址線A0A9進行譯碼,而不考慮高6位地址線A10A15,因此其I/O端口地址范圍是0000H03FFH,總共只有1024個端口,并且把前512個端口分配給了主板,后512個端口分配給了擴展槽上的常規(guī)外設。后來在PC/AT系統(tǒng)中,又作了一些調(diào)整,其中前256個端口(000H0FFH)供系統(tǒng)板上的I/O接口芯片使用,后768個端口(100H3FFH)供擴展槽上的I/O接口控制卡使用。I/O指令所需的接口邏輯無論哪種輸入輸出方式,I/O指令是實現(xiàn)輸入輸出控制的基礎。在外部設備
26、的接口邏輯中,必須有一部分邏輯能使I/O指令得以執(zhí)行。I/O指令執(zhí)行時,都必須有I/O端口地址的選擇。端口地址的選擇與訪問存儲器時對存儲單元的地址選擇很相似,也是用譯碼器邏輯對系統(tǒng)總線中的地址總線進行譯碼實現(xiàn)的。對于接口設計者來說,系統(tǒng)I/O端口地址分配十分重要。哪些地址已分配給了別的設備,哪些是計算機制造商為今后開發(fā)而保留的,哪些地址是空閑的,了解這些信息是計算機系統(tǒng)接口設計的首要工作。在開發(fā)一個I/O端口時,必須先為它指定一個端口地址,并要設計一個地址譯碼器。在輸入端的地址狀態(tài)與指定的端口地址一致時,譯碼器恰好輸出有效信號,作為端口選擇信號。A9A2A1A0AENIORIOW74LS307
27、4LS2074LS3274LS3274LS32讀300H寫300H000110000000000000單端口地址譯碼電路應該特別注意的是,系統(tǒng)總線中的AEN信號必須(經(jīng)過反相)參加譯碼。這是因為AEN信號在DMA傳輸時為高電平,此時A9A0地址總線上將有存儲器地址選擇碼,有可能與指定的I/O端口地址相符,就可能發(fā)生這樣的錯誤:在其它設備與存儲器之間進行DMA傳輸,或利用DMA機構(gòu)進行動態(tài)存儲器刷新時,I/O端口地址譯碼器的輸出端可能輸出不應有的有效選擇信號。為了避免這種錯誤發(fā)生,將AEN信號反相加入譯碼器與非門的輸入端,在DMA傳輸時就會封閉譯碼器的輸出。有些外部設備,一個設備就占用多個I/O
28、端口地址。例如一部簡單的并行打印機接口就占用3個端口,一個輸出打印字符碼,一個用于輸入打印機狀態(tài),一個輸出控制信號。這就需要選擇合適的端口地址譯碼電路。單端口地址譯碼電路多端口地址譯碼電路IBM PC/AT機的I/O端口地址分配用戶可以使用的I/O地址有: 1001EF 22026F 2802AF 30035F并行通信和串行通信通信指計算機與外設,計算機與計算機之間的信息交換。通信的基本方法:串行通信和并行通信并行通信:8位或16位或32位數(shù)據(jù)同時傳輸, 速度快,信息率高,成本高串行通信:一位一位數(shù)據(jù)傳送(在一條線上順序傳送),成本低。實現(xiàn)并行通信的接口就是并行接口。一個并行接口可以設計為只用
29、來作為輸出接口,也可以只用來作為輸入接口,此外,還可以將它設計成既作為輸入又作為輸出的接口并行通信和串行通信串行通信:數(shù)據(jù)的各位依次由發(fā)送方到達目的地優(yōu)點:遠程,費用低缺點:通信速度慢應用:長距離、中低速通信TDRD發(fā)送接收0110 1010并行通信和并行接口并行通信:數(shù)據(jù)的各位同時由發(fā)送方到達接收方優(yōu)點:通信速度快缺點:距離短,通信費用高應用:短距離、高速通信D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7發(fā)送接收并行通信和并行接口并行接口連接CPU與并行外設,實現(xiàn)兩者間的并行通信,在信息傳送過程中,起到輸出鎖存和輸入緩沖的作用。并行接口的典型硬件結(jié)構(gòu)包括:一個或一個以上具有
30、鎖存或緩沖的數(shù)據(jù)端口與CPU進行數(shù)據(jù)交換所必須的控制和狀態(tài)信號與外設進行數(shù)據(jù)交換所必須的控制和狀態(tài)信號端口譯碼電路控制電路 一個控制寄存器 ,用來接收CPU對它的控制命令 一個狀態(tài)寄存器,提供各種狀態(tài)位供CPU查詢 輸入緩沖寄存器和輸出寄存器,實現(xiàn)數(shù)據(jù)輸入和輸出并行接口輸入設備CPU控制寄存器輸入緩沖寄存器輸出鎖存器狀態(tài)寄存器片選A0A1地址譯碼數(shù)據(jù)總線數(shù)據(jù)輸入數(shù)據(jù)輸入準備好數(shù)據(jù)輸入響應讀信號寫信號復位準備好中斷請求并行接口的基本概念并行接口的輸出過程并行接口向CPU發(fā)出“準備就緒”信號或者發(fā)出中斷請求信號,表示端口寄存器(輸出鎖存器)中已經(jīng)作好接收數(shù)據(jù)的準備,CPU可以發(fā)來數(shù)據(jù)了。CPU將數(shù)
31、據(jù)寫入輸出端口(鎖存器),并發(fā)送“回執(zhí)”信號;接口收到“回執(zhí)”信號后,撤銷“準備就緒”信號。并行接口向外設發(fā)出“數(shù)據(jù)準備好”信號。外設取走數(shù)據(jù),并向接口發(fā)出“數(shù)據(jù)輸入響應”信號,表示外設已取走數(shù)據(jù)。并行接口撤銷“數(shù)據(jù)輸出準備好”信號,同時再次向CPU發(fā)出“準備就緒”信號或者發(fā)出中斷請求信號。8255可編程并行通信接口8255A是Intel系列的8位并行接口芯片,通用性強,使用靈活,可用程序設置改變芯片的工作方式,是一種常用的可編程并行接口芯片。具有兩個8位(A口和B口)和兩個4位(C口高/低4位)并行I/O端口的接口芯片。能適應CPU與I/O接口之間的多種數(shù)據(jù)傳送方式的要求??蓤?zhí)行功能很強,內(nèi)
32、容豐富的命令(方式字和控制字)為用戶如何根據(jù)外界條件(I/O設備需要哪些信號線以及它能提供哪些狀態(tài)線)來使用8255A構(gòu)成多種接口電路,組成微機應用系統(tǒng)提供了靈活方便的編程環(huán)境。8255芯片內(nèi)部主要由控制寄存器、狀態(tài)寄存器和數(shù)據(jù)寄器組成。8255A內(nèi)部結(jié)構(gòu)框圖8255A內(nèi)部結(jié)構(gòu)由以下四部分組成: 數(shù)據(jù)端口A、B、C;A組控制和B組控制;讀/寫控制邏輯電路;數(shù)據(jù)總線緩沖器。 端口A: 包括一個 8 位的數(shù)據(jù)輸出鎖存/緩沖器和一個 8位的數(shù)據(jù)輸入緩沖器,可作為數(shù)據(jù)輸入或輸出端口, 并工作于三種方式中的任何一種。端口B: 包括一個 8 位的數(shù)據(jù)輸出鎖存/緩沖器和一個 8位的數(shù)據(jù)輸入緩沖器,可作為數(shù)據(jù)
33、輸入或輸出端口, 但不能工作于方式2。 8255A內(nèi)部結(jié)構(gòu)端口C: 包括一個 8 位的數(shù)據(jù)輸出鎖存/緩沖器和一個 8位的數(shù)據(jù)輸入緩沖器, 可在方式字控制下分為兩個4位的端口(C端口上和下),每個4位端口都有4位的鎖存器, 用來配合端口A與端口B鎖存輸出控制信號和輸入狀態(tài)信號,不能工作于方式1或2。A組和B組控制的作用如下: A組控制邏輯控制端口A及端口C的上半部; B組控制邏輯控制端口B及端口C的下半部。8255A內(nèi)部結(jié)構(gòu)8255A外部特性8255A芯片引腳信號1234567891011121314151617181920212223242526272829303132333435363738
34、39408255APA3PA2PA1PA0PA4PA5PA6PA7PB7PB6PB5PB4PB3PB2PB1PB0PC7PC6PC5PC4PC0PC1PC2PC3WRRESETD0D1D2D3D4D5D6D7VCCRDCSGNDA0A1 8255A是一個40引腳雙列直插的集成芯片其引腳分為五類:1、數(shù)據(jù)線2、地址線 3、控制線 4、I/O端口線5、電源與地線芯片引腳信號介紹和外設相連PA7PA0:A組數(shù)據(jù)信號;PB7PB0:B組數(shù)據(jù)信號;PC7PC0:C組數(shù)據(jù)信號。和CPU相連RESET:復位信號,高電平有效。當RESET信號來到時,所有內(nèi)部寄存器都被清除,同時3個數(shù)據(jù)端口被自動設為輸入端口。
35、D7D0:8255A的數(shù)據(jù)線,與系統(tǒng)總線相連。CS:芯片選擇信號,低電平有效。只有CS有效時,8255A被選中。RD:芯片讀出信號,低電平有效。當RD有效時,CPU可以從8255A讀取輸入數(shù)據(jù)。WR:芯片寫入信號,低電平有效。當WR有效時,CPU可以往8255中寫入控制字或數(shù)據(jù)。A1、A0:端口選擇信號。8255A內(nèi)部有3個數(shù)據(jù)端口和1個控制端口,共4個端口。規(guī)定當A1A0的組合為00時,選中A端口;為01時,選中B端口;為10時,選中C端口;為11時,選中控制端口。芯片引腳信號介紹在8086系統(tǒng)中,采用16位數(shù)據(jù)總線,在進行數(shù)據(jù)傳輸時,CPU總是將低8位數(shù)據(jù)送往偶地址端口,而將高8位數(shù)據(jù)送往
36、奇地址端口;反過來,從偶地址端口取得的數(shù)據(jù)總是通過低8位數(shù)據(jù)線傳送給CPU。 8255A的D7D0接到系統(tǒng)總線的低8位時,從CPU一邊看來,要求8255A的4個端口地址必須全為偶地址。為了滿足這個要求,在8086系統(tǒng)中,將8255A的A1端和地址總線的A2相連,而將8255A的A0端和地址總線的A1相連,并且CPU在對8255A的端口進行訪問時,將地址的A0位總是設置為0。芯片引腳信號介紹8255具有3個獨立的8位I/O并行數(shù)據(jù)端口(PA口、PB口和PC口),PC口也可作為2個獨立的4位I/O數(shù)據(jù)端口(C口上半部和C口下半部)。其中,PA口和PC口上半部為A組,PB口和PC口下半部為B組。作為
37、輸入時提供三態(tài)緩沖器功能,作為輸出時提供數(shù)據(jù)鎖存功能。8255有3種工作方式,方式0、方式1和方式2,能使用多種數(shù)據(jù)傳送方式完成CPU與I/O設備之間的數(shù)據(jù)交換,如無條件方式、查詢方式和中斷方式。8255A的基本功能8255A的基本功能方式0為基本的輸入輸出方式(無條件方式)PA口、PB口和PC口均可以工作在方式0。方式1為有聯(lián)絡信號的輸入輸出方式(查詢方式/中斷方式)PA口和PB口均可以工作在方式1。方式2為有聯(lián)絡信號的雙向輸入輸出方式(查詢方式/中斷方式)只有PA口可以工作在方式2。C口除用作數(shù)據(jù)端口外,當8255工作在方式1(PA口和PB口)和方式2 (PA口)時,C口的部分引腳作為固定
38、的聯(lián)絡信號線。PA口、PB口和PC口的工作方式是由CPU執(zhí)行OUT指令向8255A內(nèi)部的工作方式控制寄存器端口寫命令實現(xiàn)的。所以,一片8255A接口芯片內(nèi)部包含了PA口、PB口、PC口和方式控制寄存器端口四個I/O端口。8255A的基本功能8255A結(jié)構(gòu)與連接resetD7D0A9A2A1A0IORIOW片選譯碼數(shù)據(jù)緩沖器讀寫控制片內(nèi)譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口D端口A端口C端口B +5VGNDD7D0外設8255A總線8255A端口的識別8255A的控制信號和傳輸動作的對應關系CSA1A0RDWR傳輸說明00001數(shù)據(jù)從端口A送數(shù)據(jù)總線0010
39、1數(shù)據(jù)從端口B送數(shù)據(jù)總線01001數(shù)據(jù)從端口C送數(shù)據(jù)總線00010數(shù)據(jù)從數(shù)據(jù)總線送端口A00110數(shù)據(jù)從數(shù)據(jù)總線送端口B01010數(shù)據(jù)從數(shù)據(jù)總線送端口C01110寫控制字1D7D0進入高阻態(tài)01101非法的信號組合011D7D0進入高阻態(tài)輸入輸出斷開3. 8255A的編程 在使用Intel 8255A時,首先應根據(jù)需要對它進行初始化編程,在工作過程中若需改變工作方式或數(shù)據(jù)傳送方向等,也必須對其編程。實際上對8255A的編程十分簡單,就是通過CPU向其控制端口寫入相應控制字實現(xiàn)。 工作方式選擇控制字 端口C置位/復位控制字 8255A的控制字 :8255A的編程8255A的控制字工作方式選擇控制
40、字 是芯片各端口的方式選擇控制字,它可以使8255A的3個數(shù)據(jù)端口工作在不同的工作方式。方式選擇控制字總是將3個數(shù)據(jù)端口分為兩組來設定工作方式,即端口A和端口C的高4位作為一組,端口B和端口C的低4位作為一組。端口C置位/復位控制字 是C端口按位置1置0控制字,它可以使C端口中的任何一位進行置位和復位。方式選擇控制字 若要求使用8255的A口工作于方式1作為輸入,B口工作于方式0作為輸出,C口上半部輸入、下半部輸出。8255的端口地址為60H63H.控制字為 10111000B=0B8H初始化程序為 MOV AL,0B8HOUT 63H,ALC端口置1/置0控制字 需要特別指出的是,C端口置1
41、/置0控制字盡管是對端口C進行操作,但此控制字必須寫入控制口,而不是寫入C端口。接上例,若A口工作于方式1作為輸入,要使用中斷傳送方式,則應當寫PC4的按位置位字: MOV AL,00001001B OUT 63H,AL0 D7 D6 D5 D4 D3 D2 D1 D01=置10=置0端口C置1/0控制字0 0 0 PC00 0 1 PC10 1 0 PC20 1 1 PC31 0 0 PC41 0 1 PC51 1 0 PC61 1 1 PC7兩個控制字的差別:工作方式控制字放在程序的開始部分;按位置位/復位控制字可放在初始化程序以后的任何地方。C端口置1/置0控制字 8255A的工作方式方
42、式0是一種基本輸入或輸出方式,它適用于無需握手信號的簡單輸入輸出應用場合, 端口A、B、C都可作為輸入或輸出數(shù)據(jù)使用,輸出有鎖存而輸入無鎖存。 方式0的基本特點如下:任何一個端口可作為輸入口,也可作為輸出口,各端口之間沒有規(guī)定必然的關系。各個端口的輸入或輸出,可以有16種不同的組合,所以可以適用于多種場合。簡單的輸入/輸出方式,提供兩個八位口(A和B)和兩個四位口(PC7PC4,PC3PC0)。單向傳送,即一次初始化只能設置在一個方向上傳送數(shù)據(jù)??捎糜跓o條件傳送,也可用于查詢式傳送。在查詢方式時,通常A口和B口作為數(shù)據(jù)口,C口的四位(高四位或低四位)做輸出口,輸出一些控制信號,另四位規(guī)定為輸入
43、口,用來讀入外設的狀態(tài)。方式0也稱選通的輸入/輸出方式。在這種方式下,無論是輸入還是輸出都通過應答關系實現(xiàn), 這時端口A或B用作數(shù)據(jù)口,端口C的一部分引腳用作握手信號線與中斷請求線。 方式1的基本特點如下:端口A和端口B可分別作為兩個數(shù)據(jù)口工作在方式1,并且任何一個端口可作為輸入口或輸出口。如果端口A和端口B只有一個端口工作于方式1,那么端口中就有3位被規(guī)定為配合方式1工作的信號,此時另一個端口可以工作在方式0,端口C中的其他數(shù)據(jù)位也可以工作在方式0。方式1方式1當端口A工作在方式1并作為輸入端口時: PC4-選通信號 輸入端 PC5-輸入緩沖區(qū)滿信號輸出端IBFA PC3 -中斷請求信號輸出
44、端INTRA當端口B工作在方式1并作為輸入端口時: PC2-選通信號 輸入端 PC1-輸入緩沖區(qū)滿信號輸出端IBFB PC0 -中斷請求信號輸出端INTRB 當端口A工作在方式1并作為輸出端口時PC7-輸出緩沖器滿信號 輸出端PC6-外設接收數(shù)據(jù)后的響應信號 輸入端PC3 -中斷請求信號INTRA輸出端當端口B工作在方式1并作為輸出端口時PC1 -輸出緩沖器滿信號 輸出端PC2 -外設接收數(shù)據(jù)后的響應信號 輸入端PC0 -中斷請求信號INTRB輸出端。 方式1端口A和端口B都工作在方式1,那么端口C中就有6位被規(guī)定為配合方式1工作的信號,剩下的2位,仍可作為輸入或輸出。方式1也稱選通的雙向I/
45、O方式,僅適用于端口A, 這時A口的PA7PA0作為雙向的數(shù)據(jù)總線, 端口C有5條引腳用作端口A的握手信號線和中斷請求線,而B口和C口余下的3位仍可工作于方式0或1。方式28255A的初始化例. 設分配給8255A的端口地址為280H283H。將8255A的PA口設置成方式0輸出,PB口設置成方式1輸入,PC口設置成方式0輸出。試編寫8255A的初始化程序。地址分析對應280H端口的地址信號為(取A9A0):初始化程序MOV DX,283HMOV AL,10000110B ; 86HOUT DX,AL ;若欲將PC2置1,PC口位管理方法如下MOV AL,0XXX0101BOUT DX,AL8
46、255應用舉例要求使用程序直接控制I/O方式來輸出存儲器BUF緩沖區(qū)的10個字符,8255工作于方式0,打印機的STB信號的有效形式為上升沿,8255地址分配如下:A口地址80H,B口地址82H,C口地址84H,控制端口地址86H。工作方式設置10000001 DATA SEGMENT BUF DB 10 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV AL, 10000001B ;設置工作方式 OUT 86H, AL LEA SI, BUF MOV CX, 10
47、WAITP: IN AL, 84H;讀打印機的狀態(tài)(PC2) TEST AL, 04H JNZ WAITP MOV AL, SI INC SI8255應用舉例 OUT 80H, AL;將數(shù)據(jù)寫入端口A MOV AL, 00001100B;STB的上升沿數(shù)據(jù)輸出到打印機 OUT 86H, AL INC AL OUT 86H, AL LOOP WAITP MOV AH, 4CH INT 21H CODE ENDS END START8255應用舉例7.2中斷系統(tǒng)在微機系統(tǒng)中,中斷功能是靠微處理器本身的功能和與之配合的外部邏輯共同實現(xiàn)的。這種外部邏輯通常是以中斷控制器為核心組成的。中斷是指CPU暫停
48、正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行處理中斷事件的中斷服務程序,待執(zhí)行完中斷服務程序再返回到原被中斷的程序繼續(xù)執(zhí)行。通常引起中斷的事件稱為中斷源。中斷的種類中斷外部硬中斷可屏蔽中斷(INTR)非可屏蔽中斷(NMI)內(nèi)部中斷軟中斷(INT指令)異常中斷陷阱中斷故障中斷終止 中斷最初是作為處理器與外部設備交換信息的一種控制方式提出的。由此,最初的中斷全部是對外部設備而言的,稱為外部中斷或硬件中斷。 隨著計算機技術的發(fā)展,中斷的范圍也隨之擴大,出現(xiàn)了內(nèi)部軟件中斷的概念,它是為解決機器內(nèi)部運行時出現(xiàn)的異常以及為編程方便而提出的。外部硬中斷外部硬中斷:是微處理器外部事件發(fā)生,產(chǎn)生中斷請求信號,中斷請求信號再通過微處
49、理器芯片上的接受中斷請求信號的引腳,加入微處理器而出現(xiàn)的中斷。CPU芯片上有兩個引腳用于接受外部中斷請求信號: INTR 和NMI ,分別接受可屏蔽中斷請求和非可屏蔽中斷請求?!翱善帘巍焙汀胺强善帘巍笔侵窩PU的PSW寄存器(標志寄存器)中的IF控制位對中斷響應是否存在控制作用??善帘瓮獠恐袛嗫善帘沃袛嗟闹袛嗾埱笮盘柾ㄟ^CPU的INTR引腳產(chǎn)生??善帘沃袛嗍鞘躀F位控制的中斷:若IF位為1,CPU將能響應可屏蔽中斷的中斷請求,稱為開中斷狀態(tài),置IF為1的指令STI稱為開中斷指令;若IF為0,就關閉CPU響應可屏蔽中斷的中斷請求,稱為關中斷狀態(tài),清除IF的指令CLI稱為關中斷指令。處理器只有一個
50、INTR引腳可以接受外部可屏蔽中斷請求,為了管理眾多的外部中斷源,微機系統(tǒng)中采用可編程中斷控制器8259。PC系列機通過兩片8259級連可以響應15個外部中斷源。常規(guī)外部設備(鍵盤、打印機、串行異步通信接口,自行開發(fā)的接口設備或?qū)S媒涌诘龋?,利用中斷機制和CPU交換信息,都利用可屏蔽中斷。非可屏蔽外部中斷為外部緊急請求提供服務的中斷,通過CPU的NMI引腳產(chǎn)生。NMI輸入是上升沿觸發(fā)的,只要NMI輸入端上出現(xiàn)由0到1的跳變,一個中斷服務請求就被鎖存在CPU中,與IF標志的狀態(tài)無關。使用非屏蔽中斷的典型例子是電源故障中斷。內(nèi)部中斷內(nèi)部中斷:中斷源在CPU內(nèi)部。由于CPU主要的工作就是執(zhí)行程序中的
51、指令,因此內(nèi)部中斷都將涉及到指令的執(zhí)行。內(nèi)部中斷分為:軟中斷和異常中斷兩類。軟中斷:是中斷指令INT執(zhí)行時所產(chǎn)生的中斷,同其它中斷一樣,將轉(zhuǎn)去執(zhí)行中斷服務子程序。軟件中斷進一步分為BIOS中斷(BIOS功能調(diào)用)和DOS中斷(DOS功能調(diào)用)軟中斷問題: INT指令是作為指令排入程序中的,那么INT的位置是編程者設定的,執(zhí)行INT就是要調(diào)用一個子程序。為什么不把這個子程序直接排在INT指令的位置上或者用CALL指令調(diào)用這個子程序呢?用軟中斷到底干什么?軟中斷回答:軟中斷是用匯編語言編程時,用戶的應用程序調(diào)用系統(tǒng)軟件中的子程序的主要方法。系統(tǒng)軟件特別在ROM BIOS和常駐內(nèi)存的操作系統(tǒng)中,有設
52、計好的子程序可作為系統(tǒng)資源供用戶使用。在高級語言編程時,這些系統(tǒng)子程序常以應用程序接口函數(shù)的形式被調(diào)用。在匯編語言編程時,INT指令的作用同應用接口函數(shù)的作用一樣,用于調(diào)用系統(tǒng)資源。INT 21H指令的功能就是用軟中斷來實現(xiàn)應用程序調(diào)用系統(tǒng)程序。異常中斷異常中斷:分為故障中斷、陷阱中斷(或自陷中斷)和終止三種。故障中斷:在指令執(zhí)行之前已經(jīng)檢測出不具備正確執(zhí)行指令的條件,從而引起的中斷。例如,除法指令執(zhí)行前已經(jīng)檢測出除數(shù)為零或由于除數(shù)太小不能得到合理的商值時,將產(chǎn)生故障中斷,通知用戶出現(xiàn)了除法錯誤(divide error)。特點:中斷服務程序返回后重新執(zhí)行被中斷的指令。陷阱中斷:在指令執(zhí)行時,
53、由于滿足了陷阱條件引起中斷,即本條指令已經(jīng)執(zhí)行結(jié)束,在中斷返回時,不重新執(zhí)行本條指令而是執(zhí)行下一條指令。例如,當將PSW中的TF控制標志位置1后(設置了陷阱條件),CPU每執(zhí)行完一條指令都將產(chǎn)生一次中斷。用DEBUG程序調(diào)試程序時,執(zhí)行有斷點的G命令就利用了這種中斷。異常中斷終止:不能準確確定引起異常條件的指令位置。終止將造成停機。例如,在進入某種異常中斷處理程序后又出現(xiàn)另一種異常條件,引發(fā)雙重異常中斷,若再發(fā)生第3次異常中斷條件,再繼續(xù)操作無意義,進入停機狀態(tài)。在微處理器中,不同的中斷是以中斷類型號來區(qū)別的。每種中斷配以固定的中斷類型號。在中斷發(fā)生時,借助中斷類型號,能使程序轉(zhuǎn)入相對應的中斷
54、服務程序。中斷類型號的范圍為0255,即最多256個。其中,由中斷指令產(chǎn)生的軟中斷,其中斷類型號由指令本身給出,INT n指令中的n即是中斷類型號。中斷類型號中斷向量表和中斷描述符如何獲得中斷服務程序的入口地址?一是依據(jù)每種中斷有自己的中斷類型號;再者與中斷類型號相適應,在實模式下有中斷向量表,在保護模式下有中斷描述符表IDT。中斷向量表 中斷類型號通過一個地址指針表與中斷服務程序的入 口地址相聯(lián),在實模式下,該表稱為中斷向量表。 中斷向量表包含256個中斷向量。每個中斷向量包含兩個字(4個字節(jié)),高地址字為中斷服務程序所在代碼段的段基址,低地址字為代碼段中中斷服務程序第一條指令的偏移量。中斷
55、類型號與中斷向量地址的對應關系類型0時置入IP類型0時置入CS類型N時置入IP類型1時置入IP類型1時置入CS類型N時置入CS類型255時置入IP類型255時置入CS類型0指針類型1指針類型2指針類型N指針類型255指針0000000004000084N003FC00400保留用于除出錯保留用于單步陷阱(TF為1時)保留用于非可屏蔽中斷中斷向量和中斷向量表在實模式下,存儲器地址最低的1024單元,即地址0000H03FFH,專用于存儲各種中斷服務程序的入口地址。每4個單元存放一個中斷服務程序入口,其中前兩個單元的16位是入口地址的段內(nèi)偏移地址,后兩個單元的16位是入口地址的段地址。程序運行轉(zhuǎn)入
56、中斷服務程序時,入口地址的段內(nèi)偏移地址部分將裝入IP中,入口地址的段地址部分裝入CS。中斷服務程序的32位以邏輯地址形式表示的入口地址稱為中斷向量或中斷指針。存儲器地址最低的1024個單元可存放256種中斷向量,這個專用于存儲向量的存儲區(qū)稱為中斷向量表。中斷類型號與中斷向量表的關系中斷類型號是訪問中斷向量表的索引號,中斷向量在中斷向量表中的存儲順序是以中斷類型號為索引的。中斷類型號乘以4就是該種中斷向量在中斷向量表的開始地址。中斷類型號為0,其中斷向量在向量表的00000H00003H地址。中斷類型號為1,其中斷向量在00004H00007H中斷類型號為255時,其中斷向量應在003FCH00
57、3FFH地址。 IBM PCXT機的中斷類型號的安排(一) IBM PCXT機的中斷類型號的安排(二)中斷類型號地址(H)中斷功能中斷類型號地址(H)中斷功能2080-83程序結(jié)束2698-9B絕對磁盤寫2184-87DOS系統(tǒng)調(diào)用279C-9F程序結(jié)束,駐留內(nèi)存2288-8B結(jié)束地址28A0-A3DOS內(nèi)部使用238C-8F中止處理292EA4-BBDOS保留2490-93錯誤處理2FBC-BFDOS內(nèi)部使用2594-97絕對磁盤讀303FC0-FFDOS保留中斷優(yōu)先權(quán)與中斷嵌套通常一個系統(tǒng)有多個中斷源,而CPU同一時刻只能響應一個中斷源的請求,那么當多個中斷源同時請求中斷服務時,應該先響應
58、哪一個,有一個次序安排的問題。按中斷源的輕重緩急程度確定的優(yōu)先級別,稱為優(yōu)先級。除單步中斷外的內(nèi)部所有中斷的優(yōu)先權(quán)外部中斷對于外部中斷NMIINTR單步中斷內(nèi)部中斷和異常軟件中斷外部非屏蔽中斷(NMI)外部可屏蔽中斷(INTR)單步中斷優(yōu)先級遞增中斷嵌套當CPU正在響應某一中斷源的請求,執(zhí)行為其服務的中斷服務程序時,如果有優(yōu)先級更高的中斷源發(fā)出請求,CPU將中止正在執(zhí)行的中斷服務程序而轉(zhuǎn)入為新的中斷源服務,等新的中斷服務程序執(zhí)行完后,再返回到被中止的中斷服務程序,這一過程稱為中斷嵌套。中斷嵌套可以有多級,具體級數(shù)原則上不限,只取決于堆棧深度。1#中斷請求響應返回1#中斷服務程序2#中斷請求響應
59、返回2#中斷服務程序3#中斷請求響應返回3#中斷服務程序原主程序中斷優(yōu)先級3#2#1#中斷優(yōu)先級與中斷嵌套中斷響應和返回操作過程中斷響應的操作過程,對于可屏蔽中斷、非可屏蔽中斷和內(nèi)部中斷,是不盡相同的??善帘沃袛嗟捻憫僮髟贗F位為1(開中斷)情況下,從INTR端加入中斷請求信號開始,到進入中斷服務程序為止所經(jīng)過的一系列操作,稱為可屏蔽中斷的響應過程。該過程包括如下操作:等待當前指令結(jié)束,然后進入中斷響應周期。有幾種特殊情況需要說明。首先是帶有指令的前綴,不允許在前綴碼和指令碼之間響應中斷。其次,對于目的地址是段寄存器的MOV和POP指令,本條指令之后不允許響應中斷,還要執(zhí)行一條指令結(jié)束后才能
60、響應中斷。從微處理器外部的中斷控制邏輯獲得中斷類型號。當前的PSW、CS和IP的內(nèi)容依次壓入堆棧。清除PSW中的IF位和TF位為0。把中斷服務程序的入口地址置入IP和CS,即把地址為4n和4n1兩個單元的16位數(shù)作為中斷服務程序入口的偏移地址置入IP,把地址為4n2和4n3兩個單元的16位數(shù)作為中斷服務程序的段地址置入CS??善帘沃袛嗟捻憫僮鞣强善帘蔚闹袛嗾埱笤贜MI端加入。CPU對它的響應不受IF位的控制。與可屏蔽中斷一樣,非可屏蔽中斷也要等待當前指令執(zhí)行完畢。因為非可屏蔽中斷的中斷類型號為2,是微處理器硬件決定的,所以不需要從外部取回一個字節(jié)的中斷類型號操作。非可屏蔽中斷的響應過程所有的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 甘寧采風活動方案
- 甜食小攤活動方案
- 生日喝奶茶活動方案
- 生活區(qū)區(qū)域活動方案
- 生物工程宣教活動方案
- 生鮮餃子活動方案
- 特價面包秒殺活動方案
- 生態(tài)環(huán)境五一活動方案
- 生物多樣性系列活動方案
- 愛鳥周宣傳活動方案
- 基于“教-學-評”一體化的初中語文有效教學策略
- 安全隱患排查月報
- 一年級上冊美術教案-第1課 讓大家認識我:誠實最好 ▏人美版
- 硬核贏創(chuàng)新智慧樹知到期末考試答案2024年
- SIYB游戲模塊Ⅱ 學習供給與需求
- 科學認識天氣智慧樹知到期末考試答案2024年
- (高清版)DZT 0064.15-2021 地下水質(zhì)分析方法 第15部分:總硬度的測定 乙二胺四乙酸二鈉滴定法
- 兵檢(征兵)心理測試題目3套匯編
- 人字梯安全專項方案
- 雅魯藏布江米林-加查段沿線暴雨泥石流危險度評價的中期報告
- 2023年麻城市社區(qū)工作者招聘考試真題
評論
0/150
提交評論