版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
02九月2023西北師大物電學院1
主機與外界之間的通信是通過外圍設(shè)備(簡稱外設(shè))來進行的。輸入與輸出設(shè)備是計算機系統(tǒng)的重要組成部分。程序、原始數(shù)據(jù)和各種現(xiàn)場采集到的數(shù)據(jù)、信息都要通過輸入設(shè)備輸入至主機,而計算的結(jié)果或各種控制信號要輸出給各種輸出設(shè)備,以便顯示、打印和實現(xiàn)各種控制功能。第4章輸入輸出技術(shù)02九月2023西北師大物電學院2第4章輸入輸出技術(shù)幾個概念:輸入/輸出:計算機通過外圍設(shè)備同外部世界通信或交換數(shù)據(jù)稱為“輸入/輸出”。外設(shè)接口電路(外設(shè)接口):在微型計算機系統(tǒng)中,常用的外圍設(shè)備有:鍵盤、鼠標、硬磁盤機,軟驅(qū)、光盤機、打印機、顯示器、MODE、D/A轉(zhuǎn)換器、A/D轉(zhuǎn)換器、掃描儀、及一些專用設(shè)備。02九月2023西北師大物電學院3第4章輸入輸出技術(shù)把外圍設(shè)備同計算機連接起來實現(xiàn)數(shù)據(jù)傳送的控制電路稱為“外圍接口電路”,簡稱“外設(shè)接口”。如圖所示:從圖可看出,接口分兩類:存儲器接口和I/O接口;其位置:介于系統(tǒng)總線與外部設(shè)備之間。02九月2023西北師大物電學院4第4章輸入輸出技術(shù)I/O接口與I/O設(shè)備:不同I/O設(shè)備對應(yīng)I/O接口不同。I/O接口受CPU控制,I/O設(shè)備受I/O接口控制。為增加通用性,I/O接口的接口電路一般均具有可編程功能。微機的應(yīng)用離不開與外部設(shè)備接口的設(shè)計、選用和連接。微機接口技術(shù)是編程人員的一項基本技能。02九月2023西北師大物電學院5第4章輸入輸出技術(shù)輸入與輸出的操作過程類似于存儲器的存取操作。原則上CPU可以采用訪問存儲器的方式與外設(shè)交換數(shù)據(jù),但是在實際操作中,外圍設(shè)備要考慮的問題比訪問存儲器復雜得多。存儲器通常是在與CPU同步的控制方式下工作的,并且內(nèi)存采用半導體器件,其相應(yīng)的控制比較簡單,與CPU的匹配和定時較易實現(xiàn)。而外設(shè)種類繁多,控制復雜。CPU與外設(shè)相連時,不能直接用總線相連,而是要通過相應(yīng)的電路來連接。這是因為CPU與外設(shè)之間存在很大的差異,不能匹配。02九月2023西北師大物電學院6第4章輸入輸出技術(shù)一、計算機與外設(shè)之間的信息交換應(yīng)解決的問題外圍設(shè)備的品種繁多,有機械式的,電子式的、磁電式的、及光電式的等等;外圍設(shè)備需處理的信息也有多種多樣,有數(shù)字信號、模擬信號、開關(guān)信號、電壓信號、電流信號等等;從工作速度上看,有的速度慢,有的速度快,不同的外設(shè)處理信息的速度相差懸殊;02九月2023西北師大物電學院7第4章輸入輸出技術(shù)另外,微型計算機與不同的外圍設(shè)備之間所傳送的信息的格式和電平高低等也是多種多樣的。這就形成了外設(shè)接口電路的多樣性和復雜性。根據(jù)外設(shè)的多樣性和復雜性,計算機與外設(shè)之間的信息交換應(yīng)解決的問題如下:02九月2023西北師大物電學院8第4章輸入輸出技術(shù)
速度不匹配
信號電平不匹配
信號格式不匹配
信號時序不匹配02九月2023西北師大物電學院9因此輸入與輸出設(shè)備不能直接與CPU的系統(tǒng)總線相連,必須在CPU與外設(shè)之間設(shè)置專門的接口電路來解決這些問題。
第4章輸入輸出技術(shù)02九月2023西北師大物電學院10第4章輸入輸出技術(shù)二、I/O接口應(yīng)具有的功能(解決的方案)1.設(shè)置數(shù)據(jù)緩沖器以解決兩者速度差異所帶來的不協(xié)調(diào)問題由于微處理機與輸入/輸出設(shè)備處理數(shù)據(jù)的速度不同,定時的標準也不同,二者又需進行信息交換,所以在接口上尚需設(shè)置對所傳送的數(shù)據(jù)提供緩沖、隔離以及寄存的功能。02九月2023西北師大物電學院11第4章輸入輸出技術(shù)具體說來,就是在輸出接口中設(shè)置寄存器或鎖存器,用以暫時存放CPU欲輸出的數(shù)據(jù),然后再由輸出設(shè)備根據(jù)自身的情況,將暫時存放的欲輸出的數(shù)據(jù)進行適時輸出處理。02九月2023西北師大物電學院12第4章輸入輸出技術(shù)輸入:輸入設(shè)備數(shù)據(jù)線三態(tài)緩沖器DBCPU
輸出:CPUDB鎖存器輸出設(shè)備數(shù)據(jù)線02九月2023西北師大物電學院13第4章輸入輸出技術(shù)2.設(shè)置信號電平轉(zhuǎn)換電路以解決兩者之間信號電平的不一致問題。由于微處理機的總線信號與輸入/輸出設(shè)備的控制信號之間存在著差異,無法進行相匹配的操作,需要在兩種信號之間進行轉(zhuǎn)換。像CPU的信號與輸入/輸出設(shè)備信號之間的邏輯關(guān)系、時序關(guān)系以及電平之間的關(guān)系均需轉(zhuǎn)換。02九月2023西北師大物電學院14第4章輸入輸出技術(shù)否則高速的CPU系統(tǒng)與低速的輸入/輸出設(shè)備之間是無法溝通的。例如:在串行通信中,常采用MC1488,MC1489等芯片實現(xiàn)電平轉(zhuǎn)換。3.設(shè)置信息轉(zhuǎn)換邏輯以滿足對各自信號格式的要求。例如:A/D轉(zhuǎn)換,D/A轉(zhuǎn)換,串/并轉(zhuǎn)換,并/串轉(zhuǎn)換等。02九月2023西北師大物電學院15第4章輸入輸出技術(shù)4.設(shè)置時序控制電路以同步CPU和外設(shè)的工作。接口電路接收CPU送來的命令或控制字,實施對外設(shè)的控制和管理;外設(shè)的工作狀態(tài)和應(yīng)答信號也通過接口及時返回給CPU(設(shè)備就緒,忙,緩沖器滿,空),保證CPU與外設(shè)工作實現(xiàn)同步。常用的狀態(tài)信號有正忙和準備就緒。02九月2023西北師大物電學院16第4章輸入輸出技術(shù)5.提供地址譯碼電路。在微處理機系統(tǒng)通常都配備有多個或多種外圍設(shè)備,這樣就會有多個輸入/輸出接口,像為鍵盤、鼠標、打印機、顯示器、磁盤等諸輸入/輸出設(shè)備均配備有各自接口,且為它們分配了各自的地址碼。通過接口中的地址譯碼電路對外圍設(shè)備輸入/輸出地址尋址。02九月2023西北師大物電學院17第4章輸入輸出技術(shù)6.校驗和檢查:在微處理機系統(tǒng)中,通常為輸入/輸出接口配備有校驗功能,并且可以將出錯信息報告給微處理機。像外圍設(shè)備機構(gòu)中的機械和電路故障,就要向微處理機報告故障的類型和位置。若數(shù)據(jù)在傳送中的錯誤就用奇偶校驗碼進行校驗。如若USB在傳送過程中出現(xiàn)錯誤則要用到容錯功能,發(fā)送設(shè)備會重復發(fā)送數(shù)據(jù)直至正確為止。02九月2023西北師大物電學院18第4章輸入輸出技術(shù)7.最好可編程應(yīng)用——:對一些通用的,功能齊全的接口電路,應(yīng)該具有可編程的功能,所謂可編程就是用軟件來選擇接口電路的某些功能,以適應(yīng)具體工作的需求。這也是現(xiàn)代接口電路的發(fā)展方向。02九月2023西北師大物電學院19第4章輸入輸出技術(shù)綜上所述,接口的主要功能是執(zhí)行命令、提供狀態(tài)、管理中斷、協(xié)調(diào)交換和變換信息格式。這些功能并不是所有接口必須具備的功能。根據(jù)系統(tǒng)的不同配置和用途,其接口的功能和工作方式有所不同,應(yīng)視具體系統(tǒng)的要求而定。02九月2023西北師大物電學院20第4章輸入輸出技術(shù)三、接口與端口一個典型接口電路的內(nèi)部結(jié)構(gòu)框圖如圖4-1所示,從圖4—1可見:圖4—1基本外設(shè)接口02九月2023西北師大物電學院21第4章輸入輸出技術(shù)輸入/輸出接口好像是CPU與外圍設(shè)備之間進行信息傳送的一個“連接部件”。輸入/輸出接口通過CPU的數(shù)據(jù)總線、地址總線和控制總線與CPU相連接,數(shù)據(jù)信息通過數(shù)據(jù)端口、控制信息通過控制端口和狀態(tài)端口與外圍設(shè)備連接,外圍設(shè)備與CPU交換的信息就是數(shù)據(jù)信息、狀態(tài)信息和控制信息。02九月2023西北師大物電學院22第4章輸入輸出技術(shù)“外設(shè)接口”是“CPU”與“外設(shè)”之間傳遞信息的控制電路。外設(shè)接口一邊通過CPU的三總線(或微機總線)同CPU連接,一邊通過三種信息—數(shù)據(jù)信息、控制信息和狀態(tài)信息同外設(shè)連接。CPU通過外設(shè)接口同外設(shè)之間交換的信息就是這三種信息。02九月2023西北師大物電學院23第4章輸入輸出技術(shù)數(shù)據(jù)信息可以有數(shù)字量、模擬量和開關(guān)量三種類型。數(shù)字量是以二進制碼形式提供的信息。通常是8位、16位和32位數(shù)據(jù)。開關(guān)量是用2個狀態(tài)表示的信息。只用一位二進制碼表示。模擬量是指由傳感器等提供的由物理量轉(zhuǎn)換成的相應(yīng)的連續(xù)變化的電信號。模擬量必須先經(jīng)模/數(shù)(A/D)轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字量后,再輸入CPU進行處理。02九月2023西北師大物電學院24第4章輸入輸出技術(shù)數(shù)據(jù)端口的作用是,在外圍設(shè)備與CPU之間進行信息交換時,用來存放欲交換數(shù)據(jù)的一種緩沖寄存器,當程序執(zhí)行到需要CPU加工處理來自外圍設(shè)備的數(shù)據(jù)時,數(shù)據(jù)端口中存放的就是外圍設(shè)備發(fā)給CPU的數(shù)據(jù)。而當程序執(zhí)行到需要CPU將加工處理后的數(shù)據(jù)發(fā)送給外圍設(shè)備時,數(shù)據(jù)端口中存放的就是欲通過外圍設(shè)備輸出的數(shù)據(jù)。02九月2023西北師大物電學院25第4章輸入輸出技術(shù)狀態(tài)信息指的是外圍設(shè)備當前的工作狀態(tài),像正忙(BUSY)信號,準備就緒(READY)信號等??刂菩畔⑹侵赣糜诳刂仆鈬O(shè)備接口工作方式和外圍設(shè)備啟動或停止信息,通常是由CPU發(fā)出各種控制信息。02九月2023西北師大物電學院26第4章輸入輸出技術(shù)數(shù)據(jù)信息、狀態(tài)信息和控制信息通常都以數(shù)據(jù)形式通過CPU的數(shù)據(jù)總線(或微機總線)同CPU進行傳送的,這些信息分別存放在外設(shè)接口的不同類型的寄存器中。CPU同外設(shè)之間的信息傳送實質(zhì)上是對這些寄存器進行“讀”或“寫”操作。02九月2023西北師大物電學院27第4章輸入輸出技術(shù)“接口”中這些可以由CPU進行讀或?qū)懙募拇嫫鞅环Q為“端口”(Port)。這些端口可分為“數(shù)據(jù)口”、“狀態(tài)口”與“控制口”。分別存放數(shù)據(jù)信息、狀態(tài)信息和控制信息。CPU通過訪問這些端口來了解外設(shè)的狀態(tài),控制外設(shè)的工作,以及同外設(shè)之間進行數(shù)據(jù)傳輸。02九月2023西北師大物電學院28第4章輸入輸出技術(shù)四、基本的I/O操作技術(shù)基本的I/O操作技術(shù)有三種,它們分別是:(1)利用程序設(shè)計技術(shù)進行I/O操作:它是在程序的直接、連續(xù)地控制之下所進行的I/O操作。02九月2023西北師大物電學院29第4章輸入輸出技術(shù)(2)利用中斷驅(qū)動實施I/O操作:在程序發(fā)出了I/O命令之后,繼續(xù)進行I/O操作,只有當遇到I/O硬件中斷,才被告之I/O操作已經(jīng)結(jié)束。(3)直接存儲器存取DMA技術(shù):這一技術(shù)是用一個指定的I/O處理器來替代I/O操作控制,在I/O設(shè)備和存儲器之間可以進行直接的大批量的數(shù)據(jù)傳送操作。02九月2023西北師大物電學院30第4章輸入輸出技術(shù)五、I/O端口的編址方式I/O端口的編址方式有兩種:獨立編址與存儲器映象編址(統(tǒng)一編址)。1.獨立編址(專用的I/O端口編址)獨立編址方式的硬件結(jié)構(gòu)及地址空間分配如圖4-1-1所示02九月2023西北師大物電學院31第4章輸入輸出技術(shù)這種編址方式的特點是存儲器和I/O端口在兩個獨立的地址空間中,I/O端口的讀、寫操作由硬件信號和來實現(xiàn),訪問I/O端口用專用的IN指令和OUT指令。02九月2023西北師大物電學院32第4章輸入輸出技術(shù)對內(nèi)存的操作:對端口操作MOV[MEM],ALOUTDISP MOVDL,[BX]INAL,DISP02九月2023西北師大物電學院33第4章輸入輸出技術(shù)獨立編址方式的優(yōu)點:I/O端口的地址碼較短(一般比同一系統(tǒng)中存儲單元的地址碼短);譯碼電路比較簡單,存儲器同I/O端口的操作指令不同,程序比較清晰;存儲器和I/O端口的控制結(jié)構(gòu)相互獨立,可以分別設(shè)計。02九月2023西北師大物電學院34第4章輸入輸出技術(shù)獨立編址方式的缺點需要有專用的I/O指令,而這些I/O指令的功能一般不如存儲器訪問指令豐富,程序設(shè)計靈活性較差。02九月2023西北師大物電學院35第4章輸入輸出技術(shù)2.存儲器映象編址(統(tǒng)一編址)存儲器映象編址(統(tǒng)一編址)方式的硬件結(jié)構(gòu)及地址空間分配如圖4-1-2所示,圖4—1—202九月2023西北師大物電學院36第4章輸入輸出技術(shù)這種編址方式的特點是存儲器和I/O端口共用統(tǒng)一的地址空間;一旦地址空間分配給I/O端口后,存儲器就不能再占有這一部分的地址空間,例如整個空間為1M,地址范圍為00000H~FFFFFH,如果I/O端口占有00000H~0FFFFH這64K個地址,那么存儲器的地址空間只有從10000H~FFFFFH的960K個地址。02九月2023西北師大物電學院37第4章輸入輸出技術(shù)在這種編址方式下,I/O端口的讀寫操作同樣由硬件信號和來實現(xiàn),訪問I/O端口同樣用MOV指令。同時,所有訪問存儲器的指令(包括存儲器的算術(shù)、邏輯運算指令)都可用于I/O端口。02九月2023西北師大物電學院38第4章輸入輸出技術(shù)存儲器映象編址的優(yōu)點:任何對存儲器數(shù)據(jù)的指令都可用于I/O端口的數(shù)據(jù)操作,不需專用I/O指令,從而使系統(tǒng)編程比較靈活;存儲器映象編址的缺點:I/O占用了一部分內(nèi)存空間,且指令的機器碼也長,執(zhí)行時間較長。02九月2023西北師大物電學院39第4章輸入輸出技術(shù)六、I/O地址的譯碼目的:確定端口的地址參加譯碼的信號:①IOR,IOW,A15~A0②OUT指令將使總線的IOW信號有效③IN指令將使總線的IOR信號有效
02九月2023西北師大物電學院40第4章輸入輸出技術(shù)當接口只有一個端口時,16位地址線一般應(yīng)全部參與譯碼,譯碼輸出直接選擇該端口;當接口具有多個端口時,則16位地址線的高位參與譯碼(決定接口的基地址),而低位則用于確定要訪問哪一個端口。02九月2023西北師大物電學院41第4章輸入輸出技術(shù)七、簡單的輸入/輸出接口芯片1.芯片功能簡介 在外設(shè)接口電路中,經(jīng)常需要對傳輸過程中的信息進行放大、隔離以及鎖存,能實現(xiàn)上述功能的接口芯片最簡單的就是緩沖器、數(shù)據(jù)收發(fā)器和鎖存器。02九月2023西北師大物電學院42第4章輸入輸出技術(shù)①.鎖存器74LS373鎖存器具有暫存數(shù)據(jù)的能力,能在數(shù)據(jù)傳輸過程中將數(shù)據(jù)鎖住,在此后的任何時刻,在輸出控制信號的作用下將數(shù)據(jù)傳送出去。74LS373是一種常用的8D鎖存器,它可以直接掛到總線上,并具有三態(tài)總線驅(qū)動能力。其邏輯電路及引腳圖如圖4—1—3所示。02九月2023西北師大物電學院43第4章輸入輸出技術(shù)74LS373的鎖存器功能從表4-1可見。H為高電平,L為低電平,Q0為原狀態(tài),Z為高阻抗,×為任意值。
74LS373鎖存器主要用于鎖存地址信息、數(shù)據(jù)信息以及DMA頁面地址信息等。常用的鎖存器還有74LS273,573,Intel8282和8283等02九月2023西北師大物電學院44第4章輸入輸出技術(shù)在應(yīng)用中,可根據(jù)實際需要設(shè)置74LS373的控制信號。例如,希望先輸入數(shù)據(jù),在以后適當?shù)臅r刻再輸出,可對G和OE分別進行控制;如果只需要使用它的記憶功能,不需要三態(tài)緩沖,可直接把OE端接地,僅控制G。02九月2023西北師大物電學院45第4章輸入輸出技術(shù)②.緩沖器74LS244和74LS245
連接在總線上的緩沖器都具有三態(tài)輸出能力,當CPU或I/O接口電路需要輸入/輸出數(shù)據(jù)時,在它的使能控制端EN(或G)作用一個低電平脈沖,使其內(nèi)部的各緩沖單元接通,即處在輸出0或1的透明狀態(tài),數(shù)據(jù)就會被送入總線。當使能脈沖撤除后,緩沖器處于高阻態(tài)。這時,各緩沖單元就像一個斷開的開關(guān),相當于將它所連接的電路從總線上脫開。74LS244和74LS245就是最常用的數(shù)據(jù)緩沖器。緩沖器除具有緩沖作用外,還能提高總線的驅(qū)動能力。02九月2023西北師大物電學院46第4章輸入輸出技術(shù)
74LS244是一種8路數(shù)據(jù)緩沖器,其邏輯電路引腳圖如圖4—1—4所示。當把該緩沖器用于8位數(shù)據(jù)總線時,可將 1G和2G端連在一起,由一個片選信號來控制。74LS244常用來構(gòu)成外設(shè)輸入數(shù)據(jù)端口,這時它的輸入端A與外設(shè)數(shù)據(jù)線相連,而輸出端Y并接在CPU的數(shù)據(jù)總線上。74LS244是一種單向數(shù)據(jù)緩沖器,數(shù)據(jù)只能從A端傳送到Y(jié)端,若要進行雙向數(shù)據(jù)傳送,可選用雙向數(shù)據(jù)總線緩沖器74LS245。02九月2023西北師大物電學院47第4章輸入輸出技術(shù)③數(shù)據(jù)收發(fā)器74LS245
74LS245邏輯電路及引腳圖如圖4—1—5所示。02九月2023西北師大物電學院48第4章輸入輸出技術(shù)芯片的功能見表4-2通常用于數(shù)據(jù)的雙向傳送、緩沖和驅(qū)動。常用的數(shù)據(jù)收發(fā)器還有74LS243、Intel8286、Intel8287等02九月2023西北師大物電學院49第4章輸入輸出技術(shù)§2輸入/輸出傳送控制方式在微型計算機中,有四種基本的輸入/輸出方法,它們是:無條件傳送方式、查詢傳送方式、中斷方式、DMA(直接存儲器存取)方式。02九月2023西北師大物電學院50第4章輸入輸出技術(shù)前兩種方式為程序控制輸入/輸出,這四種方法很好地解決了CPU與各類外設(shè)之間進行數(shù)據(jù)傳送時的同步問題和速度問題。它們都是利用CPU執(zhí)行程序,實現(xiàn)微機與外設(shè)的數(shù)據(jù)傳送。02九月2023西北師大物電學院51第4章輸入輸出技術(shù)一、無條件傳送方式無條件傳送方式也稱為同步傳送方式,主要用于對簡單外設(shè)進行操作,也可用于外設(shè)的定時是固定的或已知的場合。也就是說,對于這類外設(shè),在任何時刻均已準備好數(shù)據(jù)或處于接收數(shù)據(jù)狀態(tài),或者在某些固定時刻,它們處在數(shù)據(jù)就緒或準備接收狀態(tài),02九月2023西北師大物電學院52第4章輸入輸出技術(shù)因此程序可以不必檢查外設(shè)的狀態(tài),而在需要進行輸入或輸出操作時,直接執(zhí)行輸入/輸出指令。當I/O指令執(zhí)行后,數(shù)據(jù)傳送便立即進行。這是一種最簡單的傳送方式,所需要的硬件和軟件都較少。02九月2023西北師大物電學院53第4章輸入輸出技術(shù)輸入:當CPU任何時刻用IN指令從數(shù)據(jù)輸入端口讀取輸入設(shè)備數(shù)據(jù)時,輸入設(shè)備總有一組有效數(shù)據(jù)讓CPU讀走(即輸入設(shè)備常處于數(shù)據(jù)準備好狀態(tài),如開關(guān)設(shè)備)。這樣的設(shè)備與CPU傳送數(shù)據(jù)通常采用無條件輸入方法。輸入設(shè)備與系統(tǒng)總線之間的接口電路中只包含一個數(shù)據(jù)輸入端口。(如圖4—1—6)02九月2023西北師大物電學院54第4章輸入輸出技術(shù)輸出:當CPU任何時刻用OUT指令通過數(shù)據(jù)輸出端口向輸出設(shè)備輸出數(shù)據(jù)時,輸出設(shè)備總處于接收數(shù)據(jù)準備好狀態(tài)(如LED設(shè)備)。這樣的設(shè)備與CPU傳送數(shù)據(jù)通常采用無條件輸出方法。輸出設(shè)備與系統(tǒng)總線之間的接口電路中只包含一個數(shù)據(jù)輸出端口。(如圖4—1—7)02九月2023西北師大物電學院55第4章輸入輸出技術(shù)常利用無條件傳送的簡單外設(shè)有許多種,如發(fā)光二極管、數(shù)碼管、開關(guān)、繼電器、步進電機等。02九月2023西北師大物電學院56第4章輸入輸出技術(shù)
例1.外設(shè)是開關(guān)。如圖4—2所示路(P148),利用S的狀態(tài)來控制CPU執(zhí)行不同的程序:當S閉合時,執(zhí)行PROG1;S打開時執(zhí)行PROG2。圖4—2S02九月2023西北師大物電學院57第4章輸入輸出技術(shù)解:當CPU讀接口地址FFF7H,或門輸出為低電平,該電平使輸入接口—三態(tài)門導通,則開關(guān)S的就由數(shù)據(jù)線D0讀到CPU,判斷讀入數(shù)據(jù)D0=0時,S閉合;D0=1時,S打開。02九月2023西北師大物電學院58第4章輸入輸出技術(shù)程序段如下:MOVDX,0FFF7HINAL,DXTESTAL,01;測試AL中的最低位是否為1,TEST操作同AND。JZPROG1;不為1,執(zhí)行PROG1JMPPROG2;否則執(zhí)行PROG202九月2023西北師大物電學院59第4章輸入輸出技術(shù)例2.外設(shè)是發(fā)光二極管。如圖4—3所示電路P149,編程使兩個發(fā)光二極管亮滅各1s進行閃爍。圖4—302九月2023西北師大物電學院60第4章輸入輸出技術(shù)解:由圖知,鎖存器接口使用74LS273,(273是利用CP端的上升沿來鎖存數(shù)據(jù),鎖存器在打入脈沖CP上升沿將輸入端D的數(shù)據(jù)鎖存在它的輸出Q端),根據(jù)圖中譯碼器(或門)的輸出可以斷定,該鎖存器輸出接口地址為0000H。02九月2023西北師大物電學院61第4章輸入輸出技術(shù)由圖知,只用鎖存器的Q0和Q7輸出來控制發(fā)光二極管的亮滅,狀態(tài)碼:81H。程序段為:02九月2023西北師大物電學院62第4章輸入輸出技術(shù)MOVDX,0000HGOON:MOVAL,81HOUTDX,AL;點亮發(fā)光二極管CALLTIS;延時1sMOVAL,00HOUTDX,AL;熄滅發(fā)光二極管CALLTISJMPGOON02九月2023西北師大物電學院63第4章輸入輸出技術(shù)注:無條件傳送對于那些慢速的或總是準備好的外設(shè)是適用的。但是許多外設(shè)并不總是準備好的。這時可采用程序查詢方式。02九月2023西北師大物電學院64第4章輸入輸出技術(shù)二、查詢方式對有些設(shè)備,CPU能否與其之間傳送數(shù)據(jù),與設(shè)備的狀態(tài)有關(guān)。如A/D轉(zhuǎn)換器與CPU之間的數(shù)據(jù)傳送,CPU要讀取A/D轉(zhuǎn)換后的數(shù)字量信號,必須查詢A/D轉(zhuǎn)換器是否轉(zhuǎn)換結(jié)束,只有轉(zhuǎn)換結(jié)束后,才能讀取轉(zhuǎn)換結(jié)果。02九月2023西北師大物電學院65第4章輸入輸出技術(shù)又如CPU向打印機輸出數(shù)據(jù)前,必須查詢打印機是否處于接收準備好狀態(tài)。這樣一些設(shè)備與CPU之間數(shù)據(jù)傳送時,常采用查詢法。其接口方法如圖4-4所示。CPU需不斷查詢外設(shè)的狀態(tài),一旦外設(shè)滿足數(shù)據(jù)傳送的條件,就執(zhí)行IN或OUT指令,讀入或輸出數(shù)據(jù)。02九月2023西北師大物電學院66第4章輸入輸出技術(shù)Y02九月2023西北師大物電學院67第4章輸入輸出技術(shù)1.查詢輸入的編程①數(shù)據(jù)準備好,選通信號輸出正跳變將數(shù)據(jù)→鎖存器,D觸發(fā)器置1,作為Ready信號,D7=1。②查詢狀態(tài)信號,執(zhí)行INAL,狀態(tài)口,Ready(bit7)→AL。③若Ready=1,執(zhí)行INAL,數(shù)據(jù)口,輸入數(shù)據(jù)→AL;D觸發(fā)器復位,Ready=0。02九月2023西北師大物電學院68第4章輸入輸出技術(shù)④POLL:INAL,STATUS_PORTTESTAL,80HJEPOLLINAL,DATA_PORT例02九月2023西北師大物電學院69第4章輸入輸出技術(shù)Y02九月2023西北師大物電學院70第4章輸入輸出技術(shù)2.查詢輸出的編程①上一數(shù)據(jù)處理結(jié)束,啟動信號=0(恢復)→緩沖器輸出Busy=0;②查詢狀態(tài)信號,執(zhí)行指令I(lǐng)NAL,狀態(tài)口;Busy(bit7)→AL。③若Busy=0,執(zhí)行指令OUT數(shù)據(jù)口,AL,輸出數(shù)據(jù)AL→DB→鎖存器→輸出裝置;
D觸發(fā)器置1,啟動輸出裝置Busy=1,禁止輸出。02九月2023西北師大物電學院71第4章輸入輸出技術(shù)④
POLL:INAL,STATUS_PORTTESTAL,80HJNEPOLLMOVAL,STORE;從數(shù)據(jù)區(qū)取數(shù)
OUTDATA_PORT,AL例02九月2023西北師大物電學院72第4章輸入輸出技術(shù)例1:存儲器【例1】將一片98C64A接到系統(tǒng)總線上,使其地址范圍在3E000H~3FFFFH之間。并編程序?qū)⑿酒乃写鎯卧獙懭?6H。02九月2023西北師大物電學院73第4章輸入輸出技術(shù)用查詢端狀態(tài)的方式START:MOVAX,3E00HMOVDS,AX;段地址送(DS)MOVSI,0000H;第一個單元的偏移地址送(SI)MOVCX,2000H;芯片的存儲單元個數(shù)送(CX)MOVBL,66H;要寫入的數(shù)據(jù)送(BL)AGAIN:MOVDX,02E0H;狀態(tài)接口地址送(DX)WAIT:INAL,DX;從接口讀入端的狀態(tài)TESTAL,01H;可以寫入嗎?JZWAIT;若為低電平(表示忙)則等待MOV[SI],BL;否則,寫入一個字節(jié)INCSI;下一個存儲單元地址LOOPAGAIN;若未寫完則再寫下一個字節(jié)HLT02九月2023西北師大物電學院74第4章輸入輸出技術(shù)3.查詢法輸入輸出方法的優(yōu)缺點:優(yōu)點:接口電路簡單,硬件成本低。缺點:①為了測試和等待外部設(shè)備做好傳送數(shù)據(jù)的準備,常常要花費大量的時間,在這段時間內(nèi),程序不能完成其它任務(wù),所以系統(tǒng)的時間利用率大大降低。02九月2023西北師大物電學院75第4章輸入輸出技術(shù)②CPU在一段時間里只能和一個外部設(shè)備之間傳送數(shù)據(jù),其它設(shè)備只能等待。③不能發(fā)現(xiàn)和處理預先無法估計的錯誤和異常現(xiàn)象。
所以這種輸入輸出方式只適用于CPU數(shù)據(jù)處理任務(wù)不繁忙,而且外部設(shè)備數(shù)較少的情況。
02九月2023西北師大物電學院76第4章輸入輸出技術(shù)§3中斷方式一、中斷的基本概念在CPU執(zhí)行程序過程中,由于某種事件發(fā)生,強迫CPU暫時停止正在執(zhí)行的程序而轉(zhuǎn)向?qū)Πl(fā)生的事件進行處理,事件處理結(jié)束后又能回到原中止的程序,接著中止前的狀態(tài)繼續(xù)執(zhí)行原來的程序,這一過程稱為中斷。02九月2023西北師大物電學院77第4章輸入輸出技術(shù)二、中斷傳送方式無條件傳送和查詢傳送的缺點是CPU和外設(shè)只能串行工作,各外設(shè)之間也只能串行工作。利用中斷來實現(xiàn)CPU與外設(shè)之間的數(shù)據(jù)傳送,這就是中斷傳送方式。02九月2023西北師大物電學院78第4章輸入輸出技術(shù)通常是在程序中安排好在某一時刻啟動某一臺外設(shè),然后CPU繼續(xù)執(zhí)行其主程序,外設(shè)完成數(shù)據(jù)傳送的準備后,向CPU發(fā)出“中斷請求”信號,在CPU可以響應(yīng)中斷的條件下,現(xiàn)行主程序被“中斷”,轉(zhuǎn)去執(zhí)行“中斷服務(wù)程序”,02九月2023西北師大物電學院79第4章輸入輸出技術(shù)在“中斷服務(wù)程序”中完成一次CPU與外設(shè)之間的數(shù)據(jù)傳送(執(zhí)行IN/OUT指令),傳送完成后仍返回被中斷的主程序,從斷點處繼續(xù)執(zhí)行。在一定程度上實現(xiàn)了主機和外設(shè)的并行工作。中斷傳送流程02九月2023西北師大物電學院80第4章輸入輸出技術(shù)三、中斷的處理過程1.微機系統(tǒng)的中斷處理過程的流程圖如圖4—4—22.如何識別中斷源中斷源:能夠向CPU發(fā)出中斷請求的中斷來源稱為“中斷源”。CPU要對中斷請求進行處理,必須要找到相應(yīng)的中斷服務(wù)程序(處理中斷的程序)的入口地址,這就是中斷源的識別。02九月2023西北師大物電學院81第4章輸入輸出技術(shù)識別中斷源有兩種方法:查詢中斷(主要采用軟件查詢):軟件查詢是用程序查詢接在中斷線上的每一個外設(shè),查詢程序依次讀出每一個外設(shè)的中斷狀態(tài)位,通過測試中斷狀態(tài)位來判斷對應(yīng)的外設(shè)是否發(fā)生過中斷請求。02九月2023西北師大物電學院82第4章輸入輸出技術(shù)
如圖4—5為一個管理4個外設(shè)的查詢測試程序的流程圖。從圖4—5中知,如果4次測試都未發(fā)現(xiàn)有中斷請求,則表示中斷線的信號是由于出錯引起,程序轉(zhuǎn)向出錯出口。02九月2023西北師大物電學院83第4章輸入輸出技術(shù)中斷向量:又稱矢量中斷,在具有向量中斷的微機系統(tǒng)中,每個外設(shè)都預先指定一個中斷向量,當CPU識別出某個外設(shè)請求中斷并預以響應(yīng)時,控制邏輯就將該外設(shè)的中斷向量送入CPU,自動提供相應(yīng)的中斷服務(wù)程序的入口地址,轉(zhuǎn)入中斷服務(wù)。用向量中斷來確定中斷源主要用硬件實現(xiàn),在8086/8088微機中由8259A控制。02九月2023西北師大物電學院84第4章輸入輸出技術(shù)3.中斷優(yōu)先級在實際的系統(tǒng)中,常常遇到多個中斷源同時請求中斷的情況,這時CPU必須確定首先為那一個中斷源服務(wù),以及服務(wù)的次序。解決的方法是用中斷優(yōu)先排隊的處理方法。這就是根據(jù)中斷源要求的輕重緩急,排好中斷處理的優(yōu)先次序,即優(yōu)先級,又稱優(yōu)先權(quán)。先響應(yīng)優(yōu)先級最高的中斷請求。另外,當CPU整在處理中斷時,也要能響應(yīng)優(yōu)先級更高的中斷請求,而屏蔽掉同級或較低級的中斷請求。02九月2023西北師大物電學院85第4章輸入輸出技術(shù)通常,解決中斷的優(yōu)先級的方法有以下幾種:①軟件查詢確定中斷優(yōu)先級把8個外設(shè)的中斷請求觸發(fā)器組合起來,作為一個端口,賦予設(shè)備號,如圖4—6所示。把各個外設(shè)的中斷請求信號相“或”后,作為INT信號,這樣任何一個外設(shè)有中斷請求都可向CPU送出INT信號。02九月2023西北師大物電學院86第4章輸入輸出技術(shù)當CPU響應(yīng)中斷后,把中斷寄存器的狀態(tài)作為一個外設(shè)信息讀入CPU,逐位檢測其狀態(tài),若檢測出某位有中斷請求,隨即轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序入口。在查詢發(fā)生中詢問的次序即為優(yōu)先級的次序,不需要有判斷優(yōu)先級的硬件排隊電路。其缺點是在中斷源較多的情況下,由詢問到轉(zhuǎn)至相應(yīng)的中斷服務(wù)程序的入口時間較長。02九月2023西北師大物電學院87第4章輸入輸出技術(shù)②硬件查詢確定優(yōu)先級
圖4—7為實現(xiàn)硬件查詢的優(yōu)先級中斷鏈電路(Daisy—chaining)。來自CPU的“中斷響應(yīng)”信號從A設(shè)備開始串行地往下傳送,當A設(shè)備有“中斷請求”時,則“中斷響應(yīng)”信號在A2處被封鎖,不在下傳,使后面的設(shè)備得不到CPU的“中斷響應(yīng)”信號。同時A設(shè)備的“數(shù)據(jù)允許”線EN變?yōu)橛行?,從而允許A設(shè)備使用數(shù)據(jù)總線,將其中斷標志放上數(shù)據(jù)總線進入CPU。當A設(shè)備無“中斷請求”時,“中斷響應(yīng)”信號可以通過A2門傳給下一設(shè)備B。02九月2023西北師大物電學院88第4章輸入輸出技術(shù)③中斷優(yōu)先級編碼電路用硬件編碼器和比較器組成的中斷優(yōu)先級排隊電路如圖4—8所示。設(shè)有8個中斷源,當任何一個有中斷請求時,通過“或”門,即可產(chǎn)生一個中斷請求信號,但它能否送到CPU的中斷請求線,還必須受比較器的控制。02九月2023西北師大物電學院89第4章輸入輸出技術(shù)4.中斷的嵌套當CPU執(zhí)行優(yōu)先級較低的中斷服務(wù)程序時,允許響應(yīng)比它優(yōu)先級高的中斷源請求的中斷,而掛起正在處理的中斷,這就是中斷嵌套或稱多重中斷。此時CPU將暫時中斷正在進行著的級別較低的中斷服務(wù)程序,待優(yōu)先級高的中斷服務(wù)結(jié)束后,再返回到剛才被中斷的較低優(yōu)先的那一級中斷,繼續(xù)為它進行中斷服務(wù)。02九月2023西北師大物電學院90第4章輸入輸出技術(shù)
四、8086/8088的中斷系統(tǒng)1.8088/8086的中斷分類8088/8086具有一個強有力的中斷系統(tǒng),它可以處理256種向量中斷。每個中斷對應(yīng)一個類型碼,這256種中斷對應(yīng)的中斷類型碼為0~255。如果按照產(chǎn)生中斷的方法來分,所有的256種中斷可以分為兩大類:外部中斷和內(nèi)部中斷。8088/8086中斷源的分類如圖4-9所示02九月2023西北師大物電學院91第4章輸入輸出技術(shù)8086/8088中斷源分類如圖4—9所示。02九月2023西北師大物電學院92圖4-9中,硬件中斷是通過外部的硬件產(chǎn)生的,又稱為外部中斷。外部中斷又分為可屏蔽中斷和非屏蔽中斷。可屏蔽中斷通過CPU的INT端進入CPU??善帘沃袛嘀挥挟斨袛嘣试S標志IF=1時,才能被CPU響應(yīng)。在一個系統(tǒng)中,如果通過與中斷控制器8259A配合,可屏蔽中斷可以有一個或多個。而非屏蔽中斷則是通過NMI端引入CPU的,它不受中斷允許標志IF的屏蔽,一個系統(tǒng)中一般只允許有一個非屏蔽中斷。第4章輸入輸出技術(shù)02九月2023西北師大物電學院93內(nèi)部中斷又分為微處理器內(nèi)部中斷(如除數(shù)為0中斷、單步中斷等)和由中斷指令引起的軟件中斷。軟件中斷是CPU根據(jù)軟件中的某條指令或者軟件對標志寄存器中某個標志進行設(shè)置而產(chǎn)生的。由于軟件中斷的產(chǎn)生過程完全和硬件電路無關(guān),因此一般又稱為內(nèi)部中斷。第4章輸入輸出技術(shù)02九月2023西北師大物電學院94第4章輸入輸出技術(shù)
⑴外部中斷(硬件中斷)8086/8088有兩條中斷信號線—INTR和NMI,可供外設(shè)向CPU發(fā)中斷請求指令。①可屏蔽中斷INTR可屏蔽中斷請求線INTR通常由8259A驅(qū)動,該控制器又同需要中斷的設(shè)備相連,每片8259A可以接受8個外部設(shè)備的中斷請求。02九月2023西北師大物電學院95第4章輸入輸出技術(shù)
可由軟件命令來控制8259的工作,8259的主要任務(wù)是接收從與其相連的設(shè)備的中斷請求,并判斷那個提出請求的設(shè)備的優(yōu)先級最高,如果被選中的設(shè)備的優(yōu)先級比現(xiàn)在正接受服務(wù)的設(shè)備的優(yōu)先級高,就啟動8086/8088的INTR線。02九月2023西北師大物電學院96第4章輸入輸出技術(shù)
IF=0時,CPU不響應(yīng)INTR的中斷請求;IF=1時,CPU響應(yīng)INTR的中斷請求。 用STI指令(開中斷標志)使IF=1,稱為開中斷;用CLI(清中斷標志)指令使IF=0,稱為關(guān)中斷。系統(tǒng)復位后,或CPU響應(yīng)了任何一種中斷后,都會使IF=0。應(yīng)使用STI指令使IF=1,確保中斷開放。02九月2023西北師大物電學院97第4章輸入輸出技術(shù)CPU對INTR中斷請求的響應(yīng)過程是執(zhí)行兩個INTA(中斷響應(yīng))總線周期。P160T4-10。02九月2023西北師大物電學院98⑴滿足可屏蔽中斷的響應(yīng)條件:無內(nèi)部中斷和不可屏蔽外部中斷(NMI)且中斷允許。⑵某外部設(shè)備通過中斷控制器8259A向CPU發(fā)出中斷請求有效信號INT=1,并獲取相應(yīng)的中斷類型號。⑶在滿足一定條件后CPU向8259A發(fā)出兩個中斷響應(yīng)信號INTA=0的負脈沖。⑷8259A在第一個負脈沖用于響應(yīng)提出中斷請求的外設(shè),第二個負脈沖期間將中斷類型碼通過總線送給CPU。⑸后面的過程與內(nèi)部中斷的響應(yīng)過程基本相同。02九月2023西北師大物電學院99第4章輸入輸出技術(shù)②不可屏蔽中斷NMI不可屏蔽中斷請求信號NMI用來通知CPU發(fā)生了“災難性”的事件,如電源掉電、存儲器讀寫出錯、總線奇偶位出錯等。NMI線上中斷請求是不可屏蔽的(即無法禁止),而且立即被CPU鎖存,因此NMI是邊沿觸發(fā)的,不需要電平觸發(fā),NMI的優(yōu)先級也比INTR高,在CPU響應(yīng)NMI時,不必由中斷源提供中斷類型碼,因此NMI響應(yīng)也不需要總線周期INTA。02九月2023西北師大物電學院100第4章輸入輸出技術(shù)2.內(nèi)部中斷P144內(nèi)部中斷是通過軟件調(diào)用的不可屏蔽中斷,包括溢出中斷、除法出錯中斷、單步(陷阱)中斷、斷點中斷、INTn指令中斷。02九月2023西北師大物電學院101第4章輸入輸出技術(shù)①溢出中斷(INTO)如果上一條指令使:OF=1,則INTO指令引起類型碼為4的內(nèi)部中斷;OF=0,此指令不起作用,程序順序執(zhí)行。movax,2000haddax,7000h
;2000H+7000H=9000H,溢出:OF=1into ;因為OF=1,所以產(chǎn)生溢出中斷02九月2023西北師大物電學院102第4章輸入輸出技術(shù)②除法出錯中斷在執(zhí)行除法指令后,如果商大于規(guī)定的操作數(shù)(即目標寄存器所能表達的范圍)或除數(shù)為零。則CPU立即產(chǎn)生一個0型中斷。例如:
movbl,0idivbl ;除數(shù)BL=0,產(chǎn)生除法錯中斷movax,200hmovbl,1divbl ;商=200H,不能用AL表達 ;產(chǎn)生除法錯中斷02九月2023西北師大物電學院103第4章輸入輸出技術(shù)③INTn指令中斷8086/8088的指令系統(tǒng)中有一條INT指令,當執(zhí)行完這一條指令就立即產(chǎn)生中斷,編在該指令中的中斷類型碼n告訴CPU調(diào)用哪個服務(wù)程序來處理這個中斷。例如:DEBUG.EXE調(diào)試程序的運行命令G設(shè)置的斷點,就是利用INT3指令實現(xiàn)的02九月2023西北師大物電學院104第4章輸入輸出技術(shù)④斷點中斷斷點中斷即單字節(jié)INT3指令中斷(中斷類型碼為3),3型中斷是專供斷點調(diào)用的,斷點一般可以處于程序中的任何位置,在斷點處,停止組成執(zhí)行的程序,以使執(zhí)行某種類型的特殊處理。主要調(diào)試程序。例如:DEBUG.EXE調(diào)試程序的運行命令G設(shè)置的斷點,就是利用INT3指令實現(xiàn)的02九月2023西北師大物電學院105第4章輸入輸出技術(shù)⑤單步(陷阱)中斷當陷阱標志TF置“1”時,8086/8088處于單步工作方式。在單步工作方式時,每執(zhí)行完一條指令,CPU就自動產(chǎn)生一個1型中斷,作為中斷處理過程的一部分,CPU將自動地把標志壓入堆棧。然后清除TF和IF。例如:DEBUG.EXE調(diào)試程序的單步命令T就利用單步中斷實現(xiàn)對程序的單步調(diào)試02九月2023西北師大物電學院106第4章輸入輸出技術(shù)8086/8088沒有直接對TF標志置“1”或置“0”的指令,可以通過修改存放在堆棧中標志的內(nèi)容而改變TF之值。方法:可用PUSHF和POPF直接壓入和彈出標志,標志與0100H相“或”就能將TF置“1”,標志與FEFFH相“與”就能將TF清“0”。02九月2023西北師大物電學院107第4章輸入輸出技術(shù)8086/8088的中斷優(yōu)先級如下:(高→低)除法出錯,INTn,INTO,→NMI→INTR→單步02九月2023西北師大物電學院108第4章輸入輸出技術(shù)五、8086/8088的中斷響應(yīng)過程(P160,圖4-11)8086/8088對一個中斷過程的基本響應(yīng)過程如圖。當進入中斷過程時,CPU把標志寄存器、CS和IP壓入堆棧,并清除TF和IF。在中斷過程中,可以用STF指令重新開放外部中斷,使INTR線上的中斷請求能中斷這個中斷過程。NMI線上的中斷請求則始終能夠中斷該過程。02九月2023西北師大物電學院109第4章輸入輸出技術(shù)必須注意的是,一個中斷處理過程中不能再發(fā)生需要該過程正為之服務(wù)的中斷。例如,試圖在除法出錯(0型)中斷處理過程中有出現(xiàn)除以零的情況,可能會陷入無窮無盡的再入該過程的循環(huán)。02九月2023西北師大物電學院110第4章輸入輸出技術(shù)
同其他過程一樣,中斷過程也應(yīng)該把它要使用的任何寄存器的內(nèi)容在修改前保存起來,并在處理結(jié)束前恢復其內(nèi)容。中斷過程最好對程序中“關(guān)鍵部分”(這部分被中斷會造成出錯)以外的所有部分都開放外部中斷。若在一個過程中禁止外部中斷的時間過長,就可能丟失INTR線上的中斷請求。02九月2023西北師大物電學院111第4章輸入輸出技術(shù)
所有的中斷過程都應(yīng)該以IRET指令結(jié)尾,IRET指令總是認為堆棧仍處于進入該過程時的狀態(tài)。該指令將棧頂?shù)娜齻€字分別彈出到IP、CS和標志寄存器中,這樣就回到了中斷過程開始前將要執(zhí)行的那條指令上。02九月2023西北師大物電學院112第4章輸入輸出技術(shù)中斷過程所做的實際處理視應(yīng)用場合而定,如果中斷過程正在為一個外設(shè)服務(wù),則它應(yīng)該向該外設(shè)輸出一個命令,命令它撤消中斷請求。然后它可讀出該外設(shè)的狀態(tài)信息,確定中斷的原因,并采取相應(yīng)的措施。02九月2023西北師大物電學院113第4章輸入輸出技術(shù)
特別提醒讀者注意的是:8086/8088中斷響應(yīng)的整個過程:從CPU硬件查詢中斷源到CPU轉(zhuǎn)到中斷服務(wù)程序這一復雜的過程,全部都是由CPU硬件自動完成的。讀者必須記住這個過程,在今后利用中斷解決具體的工程問題時,設(shè)計人員的工作就在于利用硬件和軟件配合CPU的這個過程,最終使中斷順利地實現(xiàn)。02九月2023西北師大物電學院114第4章輸入輸出技術(shù)六、8086/8088中斷服務(wù)程序入口地址表1.中斷向量表(中斷服務(wù)程序的入口地址)8086/8088在內(nèi)存區(qū)的00000H~003FFH(1KB)建立一個中斷向量表。用于存放與256個中斷類型碼(00H~0FFH)相應(yīng)的中斷服務(wù)程序入口地址。每個中斷服務(wù)程序入口地址使用4個字節(jié),低16bit為段內(nèi)偏移量送IP,高16bit為段碼送CS。02九月2023西北師大物電學院115第4章輸入輸出技術(shù)各中斷服務(wù)程序入口地址的段地址和段內(nèi)偏移量按中斷類型號順序存放在表中。因此由中斷類型號n*4可得到相應(yīng)中斷服務(wù)程序入口地址的地址,取4n和4n+1單元中的內(nèi)容(中斷入口段內(nèi)偏移量)裝入指令指針I(yè)P,取4n+2和4n+3單元中的內(nèi)容(中斷入口段地址)裝入代碼段寄存器CS,即可轉(zhuǎn)入中斷服務(wù)程序。(入口地址表如圖)向量號為N的中斷向量的物理地址=N×402九月2023西北師大物電學院116第4章輸入輸出技術(shù)2.中斷入口地址的設(shè)置IBMPC對256個中斷類型已進行了地址分配,其中40H以后的中斷類型號可供用戶使用。供用戶使用的中斷類型號,可由用戶定義為軟中斷,由INTn指令引用;可通過INTR端或通過中斷控制器8259A引入可屏蔽的硬件中斷。使用時用戶要自己將中斷服務(wù)程序入口地址置入相應(yīng)的中斷向量表內(nèi)。02九月2023西北師大物電學院117第4章輸入輸出技術(shù)方法1:通過指令來設(shè)置MOVAX,0;中斷入口表MOVES,AX;段地址送ESMOVDI,n*4;偏移量送DIMOVAX,OFFSETINTRADCLDSTOSW;傳送子程序偏移地址MOVAX,CSSTOSW;傳送子程序段地址STI或02九月2023西北師大物電學院118第4章輸入輸出技術(shù)MOVAX,0;中斷入口表MOVES,AX;段地址送ESMOVBX,n*4;偏移量送DIMOVAX,OFFSETINTRADMOVES:[BX],AXMOVAX,SEGINTRADMOVES:[BX+2],AXSTI02九月2023西北師大物電學院119第4章輸入輸出技術(shù)方法2:通過調(diào)用DOS功能來設(shè)置設(shè)置中斷入口:把由AL指定中斷類型號的中斷入口DS:DX中放置在中斷入口表中。預置:AL=中斷類型號
DS:DX=中斷服務(wù)程序入口地址
AH=25H執(zhí)行:INT21H02九月2023西北師大物電學院120第4章輸入輸出技術(shù)取中斷入口:把由AL指定中斷類型號的中斷入口,從中斷入口表中取到ES:BX中。預置:AL=中斷類型號
AH=35H執(zhí)行:INT21H返回:ES:BX=中斷服務(wù)程序入口地址02九月2023西北師大物電學院121第4章輸入輸出技術(shù)MOVAL,n;取中斷入口MOVAH,35HINT21HPUSHES;存原中斷入口PUSHBXPUSHDSMOVAX,SEGINTRADMOVDS,AX02九月2023西北師大物電學院122第4章輸入輸出技術(shù)MOVDX,OFFSETINTRADMOVAL,n;中斷類型號MOVAL,25;設(shè)置中斷入口INT21HPOPDSPOPDX;恢復原中斷入口POPDSMOVAL,nMOVAL,25INT21HRET02九月2023西北師大物電學院123第4章輸入輸出技術(shù)七、可編程程序控制器9259A
8259A是一種可編程中斷控制器,又稱“優(yōu)先級中斷控制器”,具有強大的中斷管理功能。在IBMPC系列微機中,都使用了8259A,但從80386開始,8259A都集成在外圍控制芯片中。02九月2023西北師大物電學院124第4章輸入輸出技術(shù)
1.8259的主要功能①每一片8259可接收8路外部中斷請求,通過級聯(lián)可以擴展至64級;②每一級可由程序單獨屏蔽或允許;使該級中斷請求暫時被掛起,直到取消屏蔽為止。02九月2023西北師大物電學院125第4章輸入輸出技術(shù)③能向CPU提供可編程的標識碼(對8086/8088來說就是中斷類型碼);這個功能使原來沒有能力提供中斷類型碼的8255A、9253、8251A等可編程接口芯片,借助8259A同樣可以采用中斷I/O方式進行管理。02九月2023西北師大物電學院126第4章輸入輸出技術(shù)④在CPU響應(yīng)周期,可提供相應(yīng)的中斷類型碼。中斷類型碼由8259編程設(shè)定;⑤具有多種中斷優(yōu)先權(quán)管理方式:完全嵌套方式、自動循環(huán)方式、特殊循環(huán)方式、特殊屏蔽方式和查詢方式五種,這些管理方式均可通過程序動態(tài)地進行變化。02九月2023西北師大物電學院127第4章輸入輸出技術(shù)2.8259A引腳及功能(如圖P164)DB7~DB0:雙向三態(tài)數(shù)據(jù)總線;IR7~IR0:外設(shè)向8259A發(fā)出的中斷請求信號,與外設(shè)的中斷請求信號相連,通常IR0優(yōu)先權(quán)最高,IR7優(yōu)先權(quán)最低,按序排列。輸入。02九月2023西北師大物電學院128第4章輸入輸出技術(shù)A0:地址線,輸入,用于選擇內(nèi)部端口。CS#:片選信號,輸入、低電平有效。RD#:讀信號,輸入、低電平有效。WR#:寫信號,輸入、低電平有效。INITA#:中斷響應(yīng)信號,輸入、低電平有效。INT:中斷請求信號,輸出、高電平有效。CAS2~CAS0:雙向的級聯(lián)線。SP/EN:主從設(shè)備設(shè)定/緩沖器讀寫控制,雙向雙功能02九月2023西北師大物電學院129第4章輸入輸出技術(shù)
3.8259A的內(nèi)部結(jié)構(gòu)與功能8259A的內(nèi)部結(jié)構(gòu)框圖如圖所示。P149。由圖可見,8259A由八個基本部分組成。
4.8259A的工作過程8259A的工作流程如下:
02九月2023西北師大物電學院130第4章輸入輸出技術(shù)(1)中斷源產(chǎn)生中斷請求,使8259A的IRR相應(yīng)位置1;(2)經(jīng)IMR屏蔽電路處理后(IRRAND),送PR;(3)PR檢測出最高的中斷請求位,并經(jīng)過嵌套處理,決定是否發(fā)出INT信號;(4)若可發(fā)INT信號,則控制邏輯將INT信號送CPU的INTR引腳;02九月2023西北師大物電學院131第4章輸入輸出技術(shù)(5)若CPU開中斷,則在執(zhí)行完當前指令后,CPU進入中斷響應(yīng)周期,發(fā)出兩個中斷響應(yīng)信號;(6)8259A在收到第一個中斷響應(yīng)信號后,控制邏輯使相應(yīng)的ISR位置1,相應(yīng)的IRR位清0;(7)8259A在收到第二個中斷響應(yīng)信號后,控制邏輯將中斷類型號送數(shù)據(jù)總線。若8259A工作在AEOI(自動中斷結(jié)束)模式,則使相應(yīng)的ISR位清0。02九月2023西北師大物電學院132第4章輸入輸出技術(shù)(8)CPU讀取該中斷類型號后,查中斷向量表,轉(zhuǎn)去執(zhí)行相應(yīng)的中斷服務(wù)程序。注意,這里的中斷結(jié)束,是指將8259A的ISR對應(yīng)位復位,而不是結(jié)束用戶的中斷服務(wù)程序,中斷服務(wù)程序要執(zhí)行IRET指令后才能結(jié)束。動畫02九月2023西北師大物電學院133第4章輸入輸出技術(shù)5.8259A的工作方式
中斷控制器8259A可以工作在多種方式下,這些工作方式都可以通過編程方法來進行設(shè)置。因此,其中斷管理方式很靈活,可以滿足用戶的不同要求。概括起來,8259A的工作方式可以分為以下幾種:02九月2023西北師大物電學院134第4章輸入輸出技術(shù)中斷觸發(fā)方式
上升沿觸發(fā)方式
電平觸發(fā)方式中斷屏蔽方式
普通屏蔽方式特殊屏蔽方式優(yōu)先級設(shè)置方式
普通全嵌套方式
特殊全嵌套方式優(yōu)先權(quán)自動循環(huán)方式優(yōu)先權(quán)特殊循環(huán)方式
中斷結(jié)束處理方式
自動結(jié)束方式(AEOI)一般的中斷結(jié)束方式特殊的中斷結(jié)束方式
連接系統(tǒng)總線方式
緩沖方式
非緩沖方式
程序查詢方式
02九月2023西北師大物電學院135第4章輸入輸出技術(shù)6.8259A的編程方法系統(tǒng)復位后,由初始化程序?qū)?259置入初始化命令字ICW。初始化后可通過發(fā)出操作命令字OWC來定義8259A的操作方式,實現(xiàn)對8259A的控制。初始化命令字只發(fā)一次,操作命令字可以重置,以動態(tài)改變8259A的操作與控制方式。02九月2023西北師大物電學院136第4章輸入輸出技術(shù)⑴.8259A的初始化命令字及其編程8259A是可編程的中斷優(yōu)先級控制器,必須根據(jù)8259A的具體應(yīng)用環(huán)境對它進行初始化編程。8259A的初始化編程就是通過程序向8259A寫入若干個初始化字的過程。02九月2023西北師大物電學院137第4章輸入輸出技術(shù)初始化命令字有四個ICW1、ICW2、ICW3、ICW4,首先輸入ICW1,然后輸入ICW2、ICW3、ICW4,由ICW1決定是否輸入ICW3、ICW4。ICW1功能:初始化命令字ICW1寫入后,8259內(nèi)部完成初始化過程:流程02九月2023西北師大物電學院138第4章輸入輸出技術(shù)①清除ISR和IMR寄存器;②指定中斷優(yōu)先級R0→R7;③從方式的地址置成7;④特殊屏蔽方式復位;⑤自動EIO循環(huán)方式復位;⑥邊沿觸發(fā)器復位。02九月2023西北師大物電學院139第4章輸入輸出技術(shù)ICW1格式:P16702九月2023西北師大物電學院140第4章輸入輸出技術(shù)ICW2功能:用來設(shè)定8086/8088CPU可屏蔽中斷的中斷類型碼的高五位的內(nèi)容(由用戶根據(jù)中斷向量在中斷向量表中的位置決定。例如若CPU寫入某8259A的ICW2為40H,則連接到該8259A的IR5端的中斷源的中斷類型號為45H,中斷類型號確定后,中斷源掛接的IR端號以及D7--D3的值也就決定了。如果已知中斷向量地址,除以4即可得中斷向量號。),而低三位的值由8259A按IR0—IR7三位編碼值自動填入。02九月2023西北師大物電學院141第4章輸入輸出技術(shù)ICW2格式:P16702九月2023西北師大物電學院142第4章輸入輸出技術(shù)
ICW3功能:僅用于多片8259級聯(lián)的方式,它的功能是用來表明主片8259A的與從片8259A的INT之間的連接關(guān)系。對于主片8259A,ICW3用于指明IR0—IR7中的那些引入端與8259A的INT相連接,對于從片8259A,ICW3用于表示它的INT輸出是和主片8259A中的那一個相連接。所以8259A的ICW3的格式有二種。02九月2023西北師大物電學院143第4章輸入輸出技術(shù)ICW3格式(P168):02九月2023西北師大物電學院144第4章輸入輸出技術(shù)ICW4功能:設(shè)定工作方式。
ICW4格式:P168)02九月2023西北師大物電學院145第4章輸入輸出技術(shù)⑶.8259A的操作命令字及其編程在8259A的工作過程中需要改變中斷優(yōu)先級管理方式或中斷響應(yīng)的次序,或者需要讀出8259A內(nèi)部某些寄存器的內(nèi)容,就需要再向8259A寫入有關(guān)的操作命令字。8259A有3個操作命令字OCW1—OCW3,由CPU寫入8259A,寫入順序不限。02九月2023西北師大物電學院146第4章輸入輸出技術(shù)OCW1功能:用來設(shè)置中斷源的屏蔽狀態(tài),即對8259A內(nèi)的中斷屏蔽寄存器IMR中的各位動態(tài)的置“1”或復“0”操作。OCW1格式(P169,圖4.18):02九月2023西北師大物電學院147第4章輸入輸出技術(shù)02九月2023西北師大物電學院148第4章輸入輸出技術(shù)操作控制字OCW1應(yīng)用:例1:需要屏蔽IR4的中斷輸入,同時不改變其他中斷輸入的屏蔽狀態(tài),可以用如下的三條指令實現(xiàn):INAL,21H;取屏蔽寄存器當前值
ORAL,00010000B ;將D4位置1 OUT21H,AL;寫回改變后的屏蔽字02九月2023西北師大物電學院149第4章輸入輸出技術(shù)例2:需要清除對IR2的中斷屏蔽:
INAL,21H;取屏蔽寄存器當前值
ANDAL,11111011B ;將D2位清0 OUT21H,AL;寫回改變后的屏蔽字02九月2023西北師大物電學院150第4章輸入輸出技術(shù)OCW2功能:是用于設(shè)置中斷結(jié)束的方式和修改為循環(huán)方式的中斷優(yōu)先權(quán)管理方式,利用OCW2中的“R、SL、EOI”三位的狀態(tài)來控制循環(huán)方式和中斷結(jié)束方式或者兩者相結(jié)合的功能。OCW2格式(P169,圖4.19):02九月2023西北師大物電學院151第4章輸入輸出技術(shù)02九月2023西北師大物電學院152第4章輸入輸出技術(shù)OCW3功能:用來設(shè)置特殊屏蔽方式和查詢方式,并用來控制8259A內(nèi)部狀態(tài)字IRR,ISR的讀出。OCW3格式(P170,T4-20):02九月2023西北師大物電學院153第4章輸入輸出技術(shù)02九月2023西北師大物電學院154第4章輸入輸出技術(shù)讀命令中沒有選擇IMR的控制位,但這并不是說CPU不能讀出IMR的內(nèi)容,而是可以直接使用輸入指令讀出IMR的內(nèi)容(在讀IMR時,可直接在對應(yīng)A0=1的地址上讀出)。02九月2023西北師大物電學院155第4章輸入輸出技術(shù)OCW3的P位為查詢方式控制位。當CPU向8259A寫入P=1的OCW3后,只要接著執(zhí)行一條輸入指令,則加到8259A引腳上的有效信號就可以使8259A送出一個查詢字節(jié),該字節(jié)剛好通過這條輸入指令讀到CPU的AL中。查詢字節(jié)的格式如下:02九月2023西北師大物電學院156第4章輸入輸出技術(shù)其中I=1表示有中斷;I=0表示無中斷。W2W1W0的編碼用來表示具有最高優(yōu)先級的中斷是那一個IR。查詢方式常用在中斷源超過64個的情況,一般較少使用。操作控制字OCW3應(yīng)用02九月2023西北師大物電學院157第4章輸入輸出技術(shù)例:BIOS中讀取ISR寄存器的程序段:
MOVAL,00001011B;OCW3命令字(讀ISR)
OUT20H,AL ;寫入OCW3端口
NOP ;延時
IN AL,20H ;將ISR內(nèi)容送入AL MOVAH,AL ;將ISR內(nèi)容轉(zhuǎn)存入AH OR A
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鄭州市頸肩腰腿痛醫(yī)院工作人員招聘12人的備考題庫及完整答案詳解一套
- 2025年河南省水利水電學校公開招聘工作人員6人備考題庫及一套參考答案詳解
- 3D打印血管網(wǎng)絡(luò)技術(shù)的臨床應(yīng)用與推廣策略
- 同仁堂集團2026屆高校畢業(yè)生招聘備考題庫及答案詳解參考
- 城市熱島效應(yīng)對城市居民生活品質(zhì)的影響與對策教學研究課題報告
- 3D打印導板在神經(jīng)外科手術(shù)中的精準設(shè)計與精準固定
- 3D打印導板對神經(jīng)外科手術(shù)切口的美容效果
- 2025年文元育英中學招聘6人備考題庫及1套參考答案詳解
- 2025年鄭州大學第二附屬醫(yī)院公開招聘員額制工作人員(碩士)23人備考題庫及1套參考答案詳解
- 2025年周口市第二人民醫(yī)院(周口市老年醫(yī)院)專業(yè)技術(shù)人員招聘備考題庫及一套完整答案詳解
- Unit 6 A Day in the Life Section A Prociation +(2a-2e) 課件 2025-2026學年人教版七年級英語上冊
- 《煤礦安全規(guī)程(2025)》防治水部分解讀課件
- 2026年無人機物流配送應(yīng)急預案制定與風險防控
- 山東開放大學《勞動合同法(本科)》形考作業(yè)1-3終考答案
- 楊輝三角的性質(zhì)與應(yīng)用課件-高二下學期數(shù)學人教A版選擇性
- 15《我們不亂扔》課件 2025-2026學年道德與法治一年級上冊統(tǒng)編版
- 發(fā)電廠項目管理員崗位考試試卷及答案
- CN119399202B 一種傷口評估監(jiān)測方法及設(shè)備 (浙江大學醫(yī)學院附屬第一醫(yī)院(浙江省第一醫(yī)院))
- 2025年山東省公務(wù)員公開遴選筆試試題及答案(綜合類)
- 北京市西城區(qū)2024-2025學年三年級上學期期末語文試題
- 藏文主持詞模板
評論
0/150
提交評論