微機(jī)原理與接口技術(shù)第5章 輸入輸出接口與中斷技術(shù)_第1頁(yè)
微機(jī)原理與接口技術(shù)第5章 輸入輸出接口與中斷技術(shù)_第2頁(yè)
微機(jī)原理與接口技術(shù)第5章 輸入輸出接口與中斷技術(shù)_第3頁(yè)
微機(jī)原理與接口技術(shù)第5章 輸入輸出接口與中斷技術(shù)_第4頁(yè)
微機(jī)原理與接口技術(shù)第5章 輸入輸出接口與中斷技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩87頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、主講:李忍?hào)|主講:李忍?hào)| 西安培華學(xué)院西安培華學(xué)院 第五章第五章 i/o接口與中斷技術(shù)接口與中斷技術(shù) i/o i/o 接口接口 中斷技術(shù)中斷技術(shù) 中斷控制器中斷控制器8259a8259a 習(xí)題與思考習(xí)題與思考 輸入輸出(輸入輸出(i/oi/o)是指微型計(jì)算機(jī)與外界的是指微型計(jì)算機(jī)與外界的 信息交換,即通信(信息交換,即通信(communication)communication)。 微型計(jì)算機(jī)與外界的通信,是通過(guò)輸入輸微型計(jì)算機(jī)與外界的通信,是通過(guò)輸入輸 出設(shè)備進(jìn)行的,通常一種出設(shè)備進(jìn)行的,通常一種i/oi/o設(shè)備與微型機(jī)設(shè)備與微型機(jī) 連接,就需要一個(gè)連接電路,我們稱之為連接,就需要一個(gè)連接電

2、路,我們稱之為 i/oi/o接口。存儲(chǔ)器也可以看做是一種標(biāo)準(zhǔn)化接口。存儲(chǔ)器也可以看做是一種標(biāo)準(zhǔn)化 的的i/oi/o設(shè)備。設(shè)備。 而對(duì)于微型計(jì)算機(jī)來(lái)說(shuō),設(shè)計(jì)微處理器而對(duì)于微型計(jì)算機(jī)來(lái)說(shuō),設(shè)計(jì)微處理器 cpucpu時(shí),并不設(shè)計(jì)它與外設(shè)之間的接口部件,時(shí),并不設(shè)計(jì)它與外設(shè)之間的接口部件, 而是將輸入而是將輸入/ /輸出設(shè)備的接口設(shè)計(jì)成完全獨(dú)輸出設(shè)備的接口設(shè)計(jì)成完全獨(dú) 立的部件,使它們成為立的部件,使它們成為通用的接口芯片通用的接口芯片,通,通 過(guò)它們可以將各種類型的外設(shè)與過(guò)它們可以將各種類型的外設(shè)與cpucpu連接起連接起 來(lái)構(gòu)成完整的微型計(jì)算機(jī)系統(tǒng)。來(lái)構(gòu)成完整的微型計(jì)算機(jī)系統(tǒng)。 不同不同i/oi/

3、o設(shè)備對(duì)應(yīng)了不同的設(shè)備對(duì)應(yīng)了不同的i/oi/o接口。計(jì)算接口。計(jì)算 機(jī)在與機(jī)在與i/oi/o設(shè)備進(jìn)行信息交換時(shí),它直接控制設(shè)備進(jìn)行信息交換時(shí),它直接控制 的是的是i/oi/o接口,然后再由接口,然后再由i/oi/o接口與接口與i/oi/o設(shè)備進(jìn)設(shè)備進(jìn) 行信息的交換,因此,行信息的交換,因此,計(jì)算機(jī)的輸入計(jì)算機(jī)的輸入/ /輸出操輸出操 作被分為多級(jí)傳送作被分為多級(jí)傳送。為增加通用性,。為增加通用性,i/oi/o接口接口 電路一般均具有可編程功能電路一般均具有可編程功能,通過(guò)程序設(shè)置,通過(guò)程序設(shè)置 使其具有不同的功能,實(shí)現(xiàn)與多種設(shè)備的連使其具有不同的功能,實(shí)現(xiàn)與多種設(shè)備的連 接。接。 6.1 cp

4、u6.1 cpu與外設(shè)通訊的特點(diǎn)與外設(shè)通訊的特點(diǎn) 存儲(chǔ)器與存儲(chǔ)器與cpucpu交換信息交換信息: :它們?cè)跀?shù)據(jù)格式、存取速度它們?cè)跀?shù)據(jù)格式、存取速度 等方面基本是等方面基本是匹配匹配的,也就是說(shuō)的,也就是說(shuō)cpucpu要從存儲(chǔ)要從存儲(chǔ) 器讀入指令,數(shù)據(jù)或向存儲(chǔ)器寫入新的結(jié)果和器讀入指令,數(shù)據(jù)或向存儲(chǔ)器寫入新的結(jié)果和 數(shù)據(jù),只要一條存儲(chǔ)器訪問(wèn)指令就可完成,在數(shù)據(jù),只要一條存儲(chǔ)器訪問(wèn)指令就可完成,在 硬件連接方面是芯片與芯片之間的管腳連接。硬件連接方面是芯片與芯片之間的管腳連接。 cpucpu與外部設(shè)備與外部設(shè)備通訊的困難:通訊的困難: 1.cpu1.cpu的運(yùn)行速度要比外設(shè)的處理速度高得多的運(yùn)行

5、速度要比外設(shè)的處理速度高得多 2.2.一臺(tái)打印機(jī)不能直接與一臺(tái)打印機(jī)不能直接與cpucpu的管腳連接,的管腳連接, 一個(gè)鍵盤或者其他外設(shè)也是如此。一個(gè)鍵盤或者其他外設(shè)也是如此。 接口是接口是用于控制微機(jī)系統(tǒng)與外設(shè)或外設(shè)與用于控制微機(jī)系統(tǒng)與外設(shè)或外設(shè)與 系統(tǒng)設(shè)備之間的數(shù)據(jù)交換和通信的系統(tǒng)設(shè)備之間的數(shù)據(jù)交換和通信的硬件電硬件電 路路。 接口設(shè)計(jì)涉及到兩個(gè)基本問(wèn)題:接口設(shè)計(jì)涉及到兩個(gè)基本問(wèn)題: 1.1.中央處理器如何尋址外部設(shè)備,實(shí)現(xiàn)多中央處理器如何尋址外部設(shè)備,實(shí)現(xiàn)多 個(gè)外部設(shè)備的識(shí)別;個(gè)外部設(shè)備的識(shí)別; 2.2.是中央處理器如何與外設(shè)連接,進(jìn)行數(shù)是中央處理器如何與外設(shè)連接,進(jìn)行數(shù) 據(jù)、狀態(tài)和控制

6、信號(hào)的交換。據(jù)、狀態(tài)和控制信號(hào)的交換。 接口的功能:接口的功能: (1)輸入輸出數(shù)據(jù)的通道)輸入輸出數(shù)據(jù)的通道 (2)數(shù)據(jù)緩沖與鎖存功能)數(shù)據(jù)緩沖與鎖存功能 (3)協(xié)調(diào))協(xié)調(diào)cpu和輸入輸出設(shè)備的數(shù)據(jù)傳送和輸入輸出設(shè)備的數(shù)據(jù)傳送 (4)設(shè)備選擇功能)設(shè)備選擇功能 (5)數(shù)據(jù)格式轉(zhuǎn)換功能)數(shù)據(jù)格式轉(zhuǎn)換功能 (6) 中斷請(qǐng)求與管理功能中斷請(qǐng)求與管理功能 不同的不同的i/oi/o接口具有不同的功能,一般來(lái)接口具有不同的功能,一般來(lái) 說(shuō),說(shuō),i/oi/o接口接口應(yīng)具有以下功能應(yīng)具有以下功能: : (1) (1) 轉(zhuǎn)換信息格式轉(zhuǎn)換信息格式。例如正負(fù)邏輯之間。例如正負(fù)邏輯之間 的轉(zhuǎn)換,串行數(shù)據(jù)與并行數(shù)據(jù)之

7、間的轉(zhuǎn)換,的轉(zhuǎn)換,串行數(shù)據(jù)與并行數(shù)據(jù)之間的轉(zhuǎn)換, 模擬信號(hào)與數(shù)字信號(hào)之間的轉(zhuǎn)換等。模擬信號(hào)與數(shù)字信號(hào)之間的轉(zhuǎn)換等。 (2) (2) 提供聯(lián)絡(luò)信號(hào)。提供聯(lián)絡(luò)信號(hào)。 為了協(xié)調(diào)為了協(xié)調(diào)cpucpu與與i/oi/o設(shè)備之間的數(shù)據(jù)傳送,設(shè)備之間的數(shù)據(jù)傳送, 需要設(shè)置一些需要設(shè)置一些表示表示i/oi/o設(shè)備狀態(tài)的信息設(shè)備狀態(tài)的信息( (如設(shè)如設(shè) 備備“準(zhǔn)備就緒準(zhǔn)備就緒”、“忙忙”等等) )及表示微機(jī)輸出及表示微機(jī)輸出 的數(shù)據(jù)是否準(zhǔn)備好的信息的數(shù)據(jù)是否準(zhǔn)備好的信息( (如如“啟動(dòng)啟動(dòng)”,“停停 止止”等等) )。 (3) (3) 緩沖與鎖存數(shù)據(jù)。緩沖與鎖存數(shù)據(jù)。 為了協(xié)調(diào)微機(jī)與為了協(xié)調(diào)微機(jī)與i/oi/o設(shè)備

8、在定時(shí)或數(shù)據(jù)處設(shè)備在定時(shí)或數(shù)據(jù)處 理速度上的差異,使兩者之間的數(shù)據(jù)交換變理速度上的差異,使兩者之間的數(shù)據(jù)交換變 得同步,有必要對(duì)傳輸?shù)臄?shù)據(jù)信息或地址信得同步,有必要對(duì)傳輸?shù)臄?shù)據(jù)信息或地址信 息加以緩沖或鎖存息加以緩沖或鎖存。 (4) (4) 信號(hào)特性匹配。信號(hào)特性匹配。 由于微機(jī)中所采用的信號(hào)電平一般為由于微機(jī)中所采用的信號(hào)電平一般為 ttlttl電平,而不同的電平,而不同的i/oi/o設(shè)備其信號(hào)電平有較設(shè)備其信號(hào)電平有較 大的差異大的差異( (如有的是正負(fù)電壓,有的是如有的是正負(fù)電壓,有的是3 v3 v電電 壓壓) )。且有的。且有的i/oi/o設(shè)備的負(fù)載比較重,微機(jī)的設(shè)備的負(fù)載比較重,微機(jī)

9、的 輸出信號(hào)不能直接驅(qū)動(dòng),為使微機(jī)同輸出信號(hào)不能直接驅(qū)動(dòng),為使微機(jī)同i/oi/o設(shè)備設(shè)備 之間能進(jìn)行正確的信息傳輸,接口電路必須之間能進(jìn)行正確的信息傳輸,接口電路必須 提供相應(yīng)的電平轉(zhuǎn)換和驅(qū)動(dòng)功能。提供相應(yīng)的電平轉(zhuǎn)換和驅(qū)動(dòng)功能。 (5) (5) 譯碼選址譯碼選址。 在一個(gè)微機(jī)系統(tǒng)中,往往存在多個(gè)不在一個(gè)微機(jī)系統(tǒng)中,往往存在多個(gè)不 同的同的i/oi/o設(shè)備,為了區(qū)分不同的設(shè)備,外設(shè)設(shè)備,為了區(qū)分不同的設(shè)備,外設(shè) 接口必須提供地址譯碼以及選擇不同外設(shè)的接口必須提供地址譯碼以及選擇不同外設(shè)的 功能。功能。 在一個(gè)在一個(gè)i/oi/o接口中也設(shè)置有多個(gè)寄存器,接口中也設(shè)置有多個(gè)寄存器, 它們用來(lái)存放不同

10、的信息,如輸入數(shù)據(jù)、輸它們用來(lái)存放不同的信息,如輸入數(shù)據(jù)、輸 出數(shù)據(jù)、出數(shù)據(jù)、i/oi/o設(shè)備的狀態(tài)、設(shè)備的狀態(tài)、cpucpu的控制命令等。的控制命令等。 為了方便為了方便cpucpu對(duì)它們的訪問(wèn),需要使用不同的對(duì)它們的訪問(wèn),需要使用不同的 識(shí)別碼來(lái)區(qū)分,這種識(shí)別碼稱為端口地址。識(shí)別碼來(lái)區(qū)分,這種識(shí)別碼稱為端口地址。 i/oi/o接口能夠?qū)涌谀軌驅(qū)pucpu送來(lái)的端口地址進(jìn)行譯碼,送來(lái)的端口地址進(jìn)行譯碼, 實(shí)現(xiàn)對(duì)各個(gè)寄存器的訪問(wèn)。實(shí)現(xiàn)對(duì)各個(gè)寄存器的訪問(wèn)。 (6) (6) 中斷管理中斷管理。 在在i/oi/o接口中設(shè)置中斷管理邏輯,能對(duì)外接口中設(shè)置中斷管理邏輯,能對(duì)外 設(shè)進(jìn)行中斷管理,如建立

11、中斷請(qǐng)求,進(jìn)行中設(shè)進(jìn)行中斷管理,如建立中斷請(qǐng)求,進(jìn)行中 斷排隊(duì),提供中斷識(shí)別碼等。斷排隊(duì),提供中斷識(shí)別碼等。 (7) (7) 提供時(shí)序及其他控制功能。提供時(shí)序及其他控制功能。 在接口電路中一般還應(yīng)具有時(shí)鐘發(fā)生電在接口電路中一般還應(yīng)具有時(shí)鐘發(fā)生電 路,以滿足微型計(jì)算機(jī)和各種外設(shè)對(duì)時(shí)序方路,以滿足微型計(jì)算機(jī)和各種外設(shè)對(duì)時(shí)序方 面的要求。由于設(shè)備種類較多,因此某些外面的要求。由于設(shè)備種類較多,因此某些外 部設(shè)備還需要增加部分特殊的控制電路。部設(shè)備還需要增加部分特殊的控制電路。 cpucpu與外設(shè)交換的信息類型與外設(shè)交換的信息類型 cpucpu i/oi/o裝置裝置 控制信息控制信息 狀態(tài)信息狀態(tài)信息

12、 數(shù)據(jù)信息數(shù)據(jù)信息 2 2、控制信息、控制信息 3 3、狀態(tài)信息、狀態(tài)信息 1 1、數(shù)據(jù)信息、數(shù)據(jù)信息 數(shù)字量數(shù)字量 模擬量模擬量 開關(guān)量開關(guān)量 接口電路的一般結(jié)構(gòu)接口電路的一般結(jié)構(gòu) 外外 部部 設(shè)設(shè) 備備 控制信息控制信息 狀態(tài)信息狀態(tài)信息 數(shù)據(jù)信息數(shù)據(jù)信息 cb ab db 接口電路接口電路 總線總線 驅(qū)動(dòng)驅(qū)動(dòng) 地址地址 譯碼譯碼 控制控制 邏輯邏輯 數(shù)據(jù)數(shù)據(jù) 寄存器寄存器 狀態(tài)狀態(tài) 寄存器寄存器 控制控制 寄存器寄存器 cpu 為了對(duì)不同接口的不同寄存器進(jìn)行訪問(wèn),為了對(duì)不同接口的不同寄存器進(jìn)行訪問(wèn), 需要給每一個(gè)寄存器分配一個(gè)編號(hào),稱為需要給每一個(gè)寄存器分配一個(gè)編號(hào),稱為 地址地址。通常

13、。通常把把i io o接口電路中能被接口電路中能被cpucpu直接直接 訪問(wèn)的寄存器或某些特定器件訪問(wèn)的寄存器或某些特定器件稱為稱為端口端口 (portport)。因此,一個(gè))。因此,一個(gè)i io o接口可能有幾接口可能有幾 個(gè)端口,如命令口、狀態(tài)口、數(shù)據(jù)口等。個(gè)端口,如命令口、狀態(tài)口、數(shù)據(jù)口等。 cpucpu對(duì)外設(shè)的訪問(wèn)實(shí)質(zhì)上是對(duì)外設(shè)接口電對(duì)外設(shè)的訪問(wèn)實(shí)質(zhì)上是對(duì)外設(shè)接口電 路中相應(yīng)端口的訪問(wèn)。路中相應(yīng)端口的訪問(wèn)。 微處理器進(jìn)行微處理器進(jìn)行i io o操作時(shí),對(duì)操作時(shí),對(duì)i io o接口的接口的 尋址方式與存儲(chǔ)器尋址方式相似。尋址方式與存儲(chǔ)器尋址方式相似。 常用的常用的i/oi/o端口的尋址方

14、法有端口的尋址方法有i/oi/o端口與內(nèi)端口與內(nèi) 存統(tǒng)一尋址存統(tǒng)一尋址和和i/oi/o端口獨(dú)立尋址端口獨(dú)立尋址兩種方式。兩種方式。 i/oi/o端口的尋址方式有兩種:端口的尋址方式有兩種: i/oi/o端口和存儲(chǔ)器統(tǒng)一尋址端口和存儲(chǔ)器統(tǒng)一尋址 i/oi/o端口獨(dú)立尋址端口獨(dú)立尋址 1.1.獨(dú)立的獨(dú)立的i io o尋址方式尋址方式 也稱為標(biāo)準(zhǔn)的也稱為標(biāo)準(zhǔn)的i io o尋址方式或稱為端口尋址方式或稱為端口 尋址方式。尋址方式。 所謂獨(dú)立尋址,說(shuō)穿了就是將所謂獨(dú)立尋址,說(shuō)穿了就是將i/o端口與端口與 存儲(chǔ)器彼此獨(dú)立,各尋各的地址。存儲(chǔ)器彼此獨(dú)立,各尋各的地址。 有有3 3個(gè)特點(diǎn):個(gè)特點(diǎn): (1 1)

15、i io o設(shè)備的地址空間和存儲(chǔ)器地址空間設(shè)備的地址空間和存儲(chǔ)器地址空間 是獨(dú)立的、分開的。即是獨(dú)立的、分開的。即i io o接口地址不占用接口地址不占用 存儲(chǔ)器的地址空間。存儲(chǔ)器的地址空間。 (2 2)微處理器對(duì))微處理器對(duì)i io o設(shè)備的管理是利用專用設(shè)備的管理是利用專用 的的inin(輸入)和(輸入)和outout(輸出)指令來(lái)實(shí)現(xiàn)數(shù)據(jù)(輸出)指令來(lái)實(shí)現(xiàn)數(shù)據(jù) 傳送的。傳送的。 (3 3)cpucpu對(duì)對(duì)i io o設(shè)備的讀寫控制是用設(shè)備的讀寫控制是用i io o的的 讀寫控制信號(hào)。讀寫控制信號(hào)。 缺點(diǎn):缺點(diǎn): 是對(duì)端口的是對(duì)端口的i/oi/o操作缺乏靈活性,尋址操作缺乏靈活性,尋址 方

16、式單調(diào),沒(méi)有存儲(chǔ)器那樣的尋址方式方式單調(diào),沒(méi)有存儲(chǔ)器那樣的尋址方式 和運(yùn)算功能。和運(yùn)算功能。 所謂統(tǒng)一編址,就是將所謂統(tǒng)一編址,就是將i/oi/o端口與存儲(chǔ)器端口與存儲(chǔ)器 不分彼此,一起統(tǒng)一進(jìn)行編址。此時(shí)的不分彼此,一起統(tǒng)一進(jìn)行編址。此時(shí)的 i/oi/o端口就可看作存儲(chǔ)器單元,端口就可看作存儲(chǔ)器單元,cpucpu對(duì)存儲(chǔ)對(duì)存儲(chǔ) 器的訪問(wèn)和操作指令也就同樣適用于器的訪問(wèn)和操作指令也就同樣適用于i/oi/o 端口,端口,cpucpu訪問(wèn)訪問(wèn)i/oi/o就和訪問(wèn)存儲(chǔ)器一樣,就和訪問(wèn)存儲(chǔ)器一樣, 無(wú)需再設(shè)置專用訪問(wèn)無(wú)需再設(shè)置專用訪問(wèn)i/oi/o端口的指令。端口的指令。 2.i/o2.i/o端口和存儲(chǔ)器統(tǒng)

17、一編址端口和存儲(chǔ)器統(tǒng)一編址 有三個(gè)特點(diǎn):有三個(gè)特點(diǎn): 1.i/o1.i/o接口與存儲(chǔ)器共用同一個(gè)地址空間。接口與存儲(chǔ)器共用同一個(gè)地址空間。 2.cpu2.cpu利用對(duì)存儲(chǔ)器的存儲(chǔ)單元進(jìn)行操作的利用對(duì)存儲(chǔ)器的存儲(chǔ)單元進(jìn)行操作的 指令來(lái)實(shí)現(xiàn)對(duì)指令來(lái)實(shí)現(xiàn)對(duì)i/oi/o設(shè)備的管理。設(shè)備的管理。 ( (例例 movmov指令)指令) 3.cpu3.cpu用存儲(chǔ)器讀用存儲(chǔ)器讀/ /寫控制信號(hào)對(duì)寫控制信號(hào)對(duì)i/oi/o設(shè)備進(jìn)設(shè)備進(jìn) 行讀行讀/ /寫控制。寫控制。 優(yōu)點(diǎn):優(yōu)點(diǎn): 1.cpu1.cpu對(duì)外設(shè)的操作可使用全部的存儲(chǔ)器操作對(duì)外設(shè)的操作可使用全部的存儲(chǔ)器操作 指令,故指令多,使用方便。如可對(duì)外設(shè)指令,

18、故指令多,使用方便。如可對(duì)外設(shè) 的數(shù)據(jù)進(jìn)行算術(shù)和邏輯運(yùn)算的數(shù)據(jù)進(jìn)行算術(shù)和邏輯運(yùn)算, ,進(jìn)行循環(huán)或移進(jìn)行循環(huán)或移 位等。位等。 2.2.存儲(chǔ)器和外設(shè)的地址分布圖是同一個(gè)。存儲(chǔ)器和外設(shè)的地址分布圖是同一個(gè)。 3.3.不需要專門的輸入不需要專門的輸入/ /輸出指令。輸出指令。 缺點(diǎn):缺點(diǎn): 1. 1. 外設(shè)占用了內(nèi)存單元,使內(nèi)存容量減少。外設(shè)占用了內(nèi)存單元,使內(nèi)存容量減少。 2. 2. 存儲(chǔ)器操作指令通常要比存儲(chǔ)器操作指令通常要比i/oi/o指令的字節(jié)指令的字節(jié) 多,故加長(zhǎng)了多,故加長(zhǎng)了i/oi/o操作的時(shí)間。操作的時(shí)間。 在微機(jī)系統(tǒng)中,大量數(shù)據(jù)在在微機(jī)系統(tǒng)中,大量數(shù)據(jù)在cpucpu、存儲(chǔ)器、存儲(chǔ)器

19、 和和i/oi/o接口之間傳送。數(shù)據(jù)傳送過(guò)程中的關(guān)鍵接口之間傳送。數(shù)據(jù)傳送過(guò)程中的關(guān)鍵 問(wèn)題是問(wèn)題是數(shù)據(jù)傳送的控制方式數(shù)據(jù)傳送的控制方式。微機(jī)系統(tǒng)中數(shù)。微機(jī)系統(tǒng)中數(shù) 據(jù)傳送的控制方式有:查詢方式、中斷控制據(jù)傳送的控制方式有:查詢方式、中斷控制 方式、方式、dma(dma(直接存儲(chǔ)器存取直接存儲(chǔ)器存取) )方式。方式。 5.1.4 5.1.4 輸入輸出數(shù)據(jù)的傳送方式輸入輸出數(shù)據(jù)的傳送方式 在查詢方式下,中央處理器需要完成下在查詢方式下,中央處理器需要完成下 面一些操作:面一些操作: (1 1)中央處理器向接口發(fā)出傳送命令,輸)中央處理器向接口發(fā)出傳送命令,輸 入數(shù)據(jù)或輸出數(shù)據(jù);入數(shù)據(jù)或輸出數(shù)據(jù);

20、 (適合慢速的外設(shè)適合慢速的外設(shè)) (2 2)中央處理器查詢外設(shè)是否允許傳送?)中央處理器查詢外設(shè)是否允許傳送? 若不允許傳送,則繼續(xù)查詢外設(shè),直至若不允許傳送,則繼續(xù)查詢外設(shè),直至 允許傳送才傳送數(shù)據(jù)。在查詢方式下,中央處允許傳送才傳送數(shù)據(jù)。在查詢方式下,中央處 理器需要花費(fèi)較多的時(shí)間去理器需要花費(fèi)較多的時(shí)間去不斷地不斷地“詢問(wèn)詢問(wèn)” ” 外設(shè)外設(shè),外設(shè)的接口電路處于被動(dòng)狀態(tài)。,外設(shè)的接口電路處于被動(dòng)狀態(tài)。 傳傳 送送 查查 詢?cè)?等等 待待 i /o 工工 作作 傳傳 送送 查查 詢?cè)?等等 待待 i /o 工工 作作 傳傳 送送 t c p u 外外 設(shè)設(shè) 圖圖 7 7 . . 5 5

21、查查 詢?cè)?傳傳 送送 方方 式式 下下 c c p p u u 與與 外外 設(shè)設(shè) 工工 作作 過(guò)過(guò) 程程 示示 意意 圖圖 查詢方式是中央處理器在數(shù)據(jù)傳送之查詢方式是中央處理器在數(shù)據(jù)傳送之 前通過(guò)接口的狀態(tài)設(shè)置存儲(chǔ)電路詢問(wèn)外前通過(guò)接口的狀態(tài)設(shè)置存儲(chǔ)電路詢問(wèn)外 設(shè),待外設(shè)允許傳送數(shù)據(jù)后才傳送數(shù)據(jù)設(shè),待外設(shè)允許傳送數(shù)據(jù)后才傳送數(shù)據(jù) 的操作方式。的操作方式。 有些輸出設(shè)備有些輸出設(shè)備隨時(shí)可以接收數(shù)據(jù)隨時(shí)可以接收數(shù)據(jù),如發(fā)光,如發(fā)光 二極管的亮或滅、電機(jī)的啟動(dòng)或停止;還有些二極管的亮或滅、電機(jī)的啟動(dòng)或停止;還有些 輸出設(shè)備在接收一個(gè)數(shù)據(jù)后需要過(guò)一段時(shí)間才輸出設(shè)備在接收一個(gè)數(shù)據(jù)后需要過(guò)一段時(shí)間才 能接

22、收下一個(gè)數(shù)據(jù),如能接收下一個(gè)數(shù)據(jù),如d da a轉(zhuǎn)換器。有些輸入轉(zhuǎn)換器。有些輸入 設(shè)備準(zhǔn)備數(shù)據(jù)的時(shí)間是已知的,如設(shè)備準(zhǔn)備數(shù)據(jù)的時(shí)間是已知的,如a ad d轉(zhuǎn)換器。轉(zhuǎn)換器。 對(duì)于這類外部設(shè)備,就可以簡(jiǎn)化接口設(shè)計(jì),省對(duì)于這類外部設(shè)備,就可以簡(jiǎn)化接口設(shè)計(jì),省 去狀態(tài)設(shè)置存儲(chǔ)電路和查詢程序,直接傳送數(shù)去狀態(tài)設(shè)置存儲(chǔ)電路和查詢程序,直接傳送數(shù) 據(jù)或者延遲一段時(shí)間后再傳送數(shù)據(jù)。這種傳送據(jù)或者延遲一段時(shí)間后再傳送數(shù)據(jù)。這種傳送 方式就是所謂的方式就是所謂的“無(wú)條件無(wú)條件”傳送方式傳送方式。 中斷控制方式,是當(dāng)外設(shè)的輸入數(shù)據(jù)準(zhǔn)中斷控制方式,是當(dāng)外設(shè)的輸入數(shù)據(jù)準(zhǔn) 備好或接收數(shù)據(jù)的鎖存器空時(shí),備好或接收數(shù)據(jù)的鎖存

23、器空時(shí),外設(shè)外設(shè)便便主主 動(dòng)向動(dòng)向cpu發(fā)出中斷請(qǐng)求發(fā)出中斷請(qǐng)求,于是,于是cpu暫停現(xiàn)暫停現(xiàn) 行程序的執(zhí)行,行程序的執(zhí)行,轉(zhuǎn)去執(zhí)行為外設(shè)服務(wù)的輸轉(zhuǎn)去執(zhí)行為外設(shè)服務(wù)的輸 入入/輸出控制子程序輸出控制子程序,服務(wù)完畢后即返回原,服務(wù)完畢后即返回原 來(lái)程序繼續(xù)執(zhí)行。來(lái)程序繼續(xù)執(zhí)行。 (適合中、慢速外設(shè)適合中、慢速外設(shè)) 引入了中斷概念后,引入了中斷概念后,cpu和外設(shè)(甚至和外設(shè)(甚至 多個(gè)外設(shè))可以同時(shí)工作,從而大大提高多個(gè)外設(shè))可以同時(shí)工作,從而大大提高 cpu的效率和控制程序執(zhí)行的實(shí)時(shí)性。的效率和控制程序執(zhí)行的實(shí)時(shí)性。 主 程 序 繼 續(xù) 主 程 序 中 斷 服 務(wù) 程 序 中 斷 響 應(yīng)

24、中 斷 返 回 斷 點(diǎn) 圖 6.8 中 斷 過(guò) 程 示 意 圖 圖圖6.8 中斷過(guò)程示意圖中斷過(guò)程示意圖 在程序中斷傳送方式中,外設(shè)處于主動(dòng)地位,在程序中斷傳送方式中,外設(shè)處于主動(dòng)地位, cpucpu處于被動(dòng)地位。當(dāng)處于被動(dòng)地位。當(dāng)cpucpu與外設(shè)之間無(wú)數(shù)據(jù)交與外設(shè)之間無(wú)數(shù)據(jù)交 換時(shí),換時(shí),cpucpu與外設(shè)彼此無(wú)關(guān),并行工作,即與外設(shè)彼此無(wú)關(guān),并行工作,即cpucpu 運(yùn)行主程序,外設(shè)處理其內(nèi)部事務(wù)。運(yùn)行主程序,外設(shè)處理其內(nèi)部事務(wù)。 dmadma方式的特點(diǎn)方式的特點(diǎn)是數(shù)據(jù)的傳輸過(guò)程是數(shù)據(jù)的傳輸過(guò)程由由dmadma控控 制器控制,不需要制器控制,不需要cpucpu的干預(yù)的干預(yù)(cpu(cpu

25、只需向只需向dmadma 控制器布置任務(wù)即可控制器布置任務(wù)即可) )。在。在dmadma傳輸數(shù)據(jù)期間,傳輸數(shù)據(jù)期間, cpucpu可以執(zhí)行其他程序可以執(zhí)行其他程序( (除了訪問(wèn)主存沖突外除了訪問(wèn)主存沖突外) ), 因而可大大提高因而可大大提高cpucpu的利用率。的利用率。 (適合高速外設(shè)、成塊交換數(shù)據(jù)適合高速外設(shè)、成塊交換數(shù)據(jù)) dma控制器從控制器從cpu手中完全接管對(duì)總線手中完全接管對(duì)總線 的控制,數(shù)據(jù)交換不經(jīng)過(guò)的控制,數(shù)據(jù)交換不經(jīng)過(guò)cpu,而直接在內(nèi),而直接在內(nèi) 存和存和i/o設(shè)備之間進(jìn)行。設(shè)備之間進(jìn)行。 dma傳送方式不僅可以在傳送方式不僅可以在存儲(chǔ)器與外設(shè)存儲(chǔ)器與外設(shè) 之間之間信息

26、交換,也可以在信息交換,也可以在存儲(chǔ)器的兩區(qū)域之存儲(chǔ)器的兩區(qū)域之 間間或或兩種高速外設(shè)之間兩種高速外設(shè)之間進(jìn)行進(jìn)行dma傳送。傳送。 中斷技術(shù)是計(jì)算機(jī)的一種重要技術(shù),中斷中斷技術(shù)是計(jì)算機(jī)的一種重要技術(shù),中斷 技術(shù)源于輸入、輸出,它是計(jì)算機(jī)內(nèi)部管理技術(shù)源于輸入、輸出,它是計(jì)算機(jī)內(nèi)部管理 的一種重要手段。它的作用之一是使異步于的一種重要手段。它的作用之一是使異步于 主機(jī)的外部設(shè)備與主機(jī)并行工作,從而提高主機(jī)的外部設(shè)備與主機(jī)并行工作,從而提高 整個(gè)系統(tǒng)的工作效率。整個(gè)系統(tǒng)的工作效率。 5.2 5.2 中斷技術(shù)中斷技術(shù) 中斷中斷就是指就是指cpu響應(yīng)中斷請(qǐng)求,暫停現(xiàn)行的主響應(yīng)中斷請(qǐng)求,暫停現(xiàn)行的主 程

27、序,轉(zhuǎn)去執(zhí)行中斷服務(wù)子程序,完成中斷事件處程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)子程序,完成中斷事件處 理后,返回?cái)帱c(diǎn)繼續(xù)執(zhí)行主程序的過(guò)程。理后,返回?cái)帱c(diǎn)繼續(xù)執(zhí)行主程序的過(guò)程。 中斷過(guò)程示意中斷過(guò)程示意 圖圖 微型計(jì)算機(jī)微型計(jì)算機(jī)應(yīng)用中斷技術(shù)后的優(yōu)點(diǎn):應(yīng)用中斷技術(shù)后的優(yōu)點(diǎn): v 可實(shí)現(xiàn)分時(shí)操作可實(shí)現(xiàn)分時(shí)操作 v 可進(jìn)行實(shí)時(shí)處理可進(jìn)行實(shí)時(shí)處理 v 能及時(shí)處理各種故障能及時(shí)處理各種故障 圖7.1 中斷過(guò)程示意圖 采用中斷技術(shù),能實(shí)現(xiàn)以下功能:采用中斷技術(shù),能實(shí)現(xiàn)以下功能: (1) (1) 分時(shí)操作分時(shí)操作 計(jì)算機(jī)配上中斷系統(tǒng)后,計(jì)算機(jī)配上中斷系統(tǒng)后,cpucpu就可以分時(shí)執(zhí)行多就可以分時(shí)執(zhí)行多 個(gè)用戶的程序和多道

28、作業(yè),使每個(gè)用戶認(rèn)為它正在個(gè)用戶的程序和多道作業(yè),使每個(gè)用戶認(rèn)為它正在 獨(dú)占系統(tǒng)。此外,獨(dú)占系統(tǒng)。此外,cpucpu可控制可控制多個(gè)外設(shè)同時(shí)工作多個(gè)外設(shè)同時(shí)工作,并,并 可及時(shí)得到服務(wù)處理,使各個(gè)外設(shè)一直處于有效工可及時(shí)得到服務(wù)處理,使各個(gè)外設(shè)一直處于有效工 作狀態(tài),從而大大提高主機(jī)的使用效率。作狀態(tài),從而大大提高主機(jī)的使用效率。 (2) (2) 實(shí)時(shí)處理實(shí)時(shí)處理 當(dāng)計(jì)算機(jī)用于實(shí)時(shí)控制時(shí),計(jì)算機(jī)在現(xiàn)場(chǎng)測(cè)試當(dāng)計(jì)算機(jī)用于實(shí)時(shí)控制時(shí),計(jì)算機(jī)在現(xiàn)場(chǎng)測(cè)試 和控制、網(wǎng)絡(luò)通信、人機(jī)對(duì)話時(shí)都會(huì)具有強(qiáng)烈的實(shí)和控制、網(wǎng)絡(luò)通信、人機(jī)對(duì)話時(shí)都會(huì)具有強(qiáng)烈的實(shí) 時(shí)性,中斷技術(shù)能確保對(duì)實(shí)時(shí)信號(hào)的處理。實(shí)時(shí)控時(shí)性,中斷技術(shù)能

29、確保對(duì)實(shí)時(shí)信號(hào)的處理。實(shí)時(shí)控 制系統(tǒng)要求計(jì)算機(jī)為它們服務(wù)是隨機(jī)發(fā)生的,且時(shí)制系統(tǒng)要求計(jì)算機(jī)為它們服務(wù)是隨機(jī)發(fā)生的,且時(shí) 間性很強(qiáng),要求做到近乎間性很強(qiáng),要求做到近乎即時(shí)處理即時(shí)處理。 (3) (3) 故障處理故障處理 如電源掉電、存儲(chǔ)器讀出出錯(cuò)、運(yùn)算溢出,還如電源掉電、存儲(chǔ)器讀出出錯(cuò)、運(yùn)算溢出,還 有非法指令、存儲(chǔ)器超量裝載、信息校驗(yàn)出錯(cuò)等等。有非法指令、存儲(chǔ)器超量裝載、信息校驗(yàn)出錯(cuò)等等。 盡管故障出現(xiàn)的概率較小,但是一旦出現(xiàn)故障將使盡管故障出現(xiàn)的概率較小,但是一旦出現(xiàn)故障將使 整個(gè)系統(tǒng)癱瘓。有了中斷系統(tǒng),當(dāng)出現(xiàn)上述情況時(shí),整個(gè)系統(tǒng)癱瘓。有了中斷系統(tǒng),當(dāng)出現(xiàn)上述情況時(shí), cpucpu就轉(zhuǎn)去執(zhí)行

30、故障處理程序,自行處理故障而不就轉(zhuǎn)去執(zhí)行故障處理程序,自行處理故障而不 必停機(jī)。中斷系統(tǒng)能在故障出現(xiàn)時(shí)發(fā)出中斷信號(hào),必停機(jī)。中斷系統(tǒng)能在故障出現(xiàn)時(shí)發(fā)出中斷信號(hào), 調(diào)用相應(yīng)的處理程序,將故障的危害降低到最低程調(diào)用相應(yīng)的處理程序,將故障的危害降低到最低程 度,并請(qǐng)求系統(tǒng)管理員排除故障。度,并請(qǐng)求系統(tǒng)管理員排除故障。 中斷源的類型有:中斷源的類型有: 1 1外部設(shè)備請(qǐng)求中斷外部設(shè)備請(qǐng)求中斷 2 2故障故障強(qiáng)迫強(qiáng)迫中斷中斷 3 3實(shí)時(shí)時(shí)鐘請(qǐng)求中斷實(shí)時(shí)時(shí)鐘請(qǐng)求中斷 4 4數(shù)據(jù)通道中斷數(shù)據(jù)通道中斷 5 5程序自愿中斷程序自愿中斷 中斷源中斷源即引起即引起cpucpu中斷的原因或發(fā)出中斷請(qǐng)中斷的原因或發(fā)出中

31、斷請(qǐng) 求的來(lái)源。(外部中斷和內(nèi)部中斷)求的來(lái)源。(外部中斷和內(nèi)部中斷) 中斷源中斷源 內(nèi)部指令中斷內(nèi)部指令中斷 (int n) 由于由于cpu的某些錯(cuò)誤而引起的某些錯(cuò)誤而引起 為調(diào)試程序(為調(diào)試程序(debug)設(shè)置的中斷)設(shè)置的中斷 外部中斷外部中斷 軟件中斷軟件中斷 非屏蔽中斷(非屏蔽中斷(nmi) 可屏蔽中斷(可屏蔽中斷(intr) 除法錯(cuò)中斷(除法錯(cuò)中斷(int 0) 溢出中斷(溢出中斷(int 4) 單步中斷(單步中斷(int 1) 斷點(diǎn)中斷(斷點(diǎn)中斷(int 3) 1. 1.外部硬件中斷:外部硬件中斷: 中斷源是外部硬電路。通過(guò)中斷源是外部硬電路。通過(guò)cpucpu的的nminmi引

32、腳或引腳或intrintr引腳引腳 向向cpucpu提出中斷請(qǐng)求。提出中斷請(qǐng)求。 intr:intr:可屏蔽中斷,受可屏蔽中斷,受cpucpu內(nèi)標(biāo)志寄存器中內(nèi)標(biāo)志寄存器中ifif位的屏蔽位的屏蔽 nmi:nmi:非屏蔽中斷,不受非屏蔽中斷,不受ifif位的屏蔽,位的屏蔽,cpucpu必須響應(yīng)。必須響應(yīng)。 cpucpu每執(zhí)行完每執(zhí)行完一條指令一條指令,檢測(cè),檢測(cè)nminmi和和intrintr引腳上有無(wú)中引腳上有無(wú)中 斷請(qǐng)求。斷請(qǐng)求。 2.2.內(nèi)部異常中斷:內(nèi)部異常中斷: 中斷源是中斷源是cpucpu內(nèi)部正在執(zhí)行的過(guò)程發(fā)生的異常情況。內(nèi)部正在執(zhí)行的過(guò)程發(fā)生的異常情況。 如除法操作時(shí)結(jié)果太大如除法

33、操作時(shí)結(jié)果太大 ( (分母太小分母太小) ) ; 3.中斷優(yōu)先順序中斷優(yōu)先順序 cpucpu的中斷優(yōu)先權(quán)排列從高到低為:的中斷優(yōu)先權(quán)排列從高到低為: (1 1)除法出錯(cuò)中斷,溢出中斷,)除法出錯(cuò)中斷,溢出中斷,int n,int n, (2 2)nminmi (3 3)intrintr (4 4)單步中斷)單步中斷 4.中斷類型碼中斷類型碼 中斷類型碼是連接中斷源和中斷處理程序的中斷類型碼是連接中斷源和中斷處理程序的唯一橋唯一橋 梁梁。80x8680x86可處理可處理256256級(jí)中斷級(jí)中斷,中斷類型碼可以是,中斷類型碼可以是0 0 255255,一部分由系統(tǒng)占用,一部分用戶可以支配。,一部分

34、由系統(tǒng)占用,一部分用戶可以支配。 比如:除法錯(cuò)誤(比如:除法錯(cuò)誤(n=0n=0) 調(diào)試異常(調(diào)試異常(n=1n=1) nminmi中斷(中斷(n=2n=2) 斷點(diǎn)中斷(斷點(diǎn)中斷(n=3n=3) 溢出中斷(溢出中斷(n=4n=4) 中斷是一個(gè)過(guò)程,包括中斷是一個(gè)過(guò)程,包括中斷檢測(cè)中斷檢測(cè)、中斷中斷 響應(yīng)響應(yīng)及及執(zhí)行中斷服務(wù)程序執(zhí)行中斷服務(wù)程序和和中斷返回中斷返回。 中斷檢測(cè)中斷檢測(cè) 檢測(cè)中斷并通過(guò)軟、硬件方式判優(yōu)。檢測(cè)中斷并通過(guò)軟、硬件方式判優(yōu)。 5.2.3 5.2.3 中斷處理過(guò)程中斷處理過(guò)程 中斷響應(yīng)中斷響應(yīng) 中斷響應(yīng)就是中斷響應(yīng)就是cpu“cpu“中斷中斷”現(xiàn)正在進(jìn)行現(xiàn)正在進(jìn)行 的處理任務(wù)

35、,轉(zhuǎn)向中斷請(qǐng)求相對(duì)應(yīng)的處理程的處理任務(wù),轉(zhuǎn)向中斷請(qǐng)求相對(duì)應(yīng)的處理程 序的過(guò)程。中斷響應(yīng)過(guò)程應(yīng)解決如下問(wèn)題:序的過(guò)程。中斷響應(yīng)過(guò)程應(yīng)解決如下問(wèn)題: * * 保護(hù)斷點(diǎn)保護(hù)斷點(diǎn) * * 保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng) * * cpucpu關(guān)中斷關(guān)中斷 * * 轉(zhuǎn)到中斷請(qǐng)求所對(duì)應(yīng)的處理程序轉(zhuǎn)到中斷請(qǐng)求所對(duì)應(yīng)的處理程序 中斷處理(服務(wù))中斷處理(服務(wù)) 中斷處理就是執(zhí)行中斷服務(wù)程序,完成中斷處理就是執(zhí)行中斷服務(wù)程序,完成 中斷源提出的處理要求。實(shí)際上是軟件編程中斷源提出的處理要求。實(shí)際上是軟件編程 問(wèn)題。問(wèn)題。 中斷服務(wù)程序與子程序的區(qū)別:隨機(jī)事件中斷服務(wù)程序與子程序的區(qū)別:隨機(jī)事件 與意料之中事件;對(duì)主程序透明與不

36、透明。與意料之中事件;對(duì)主程序透明與不透明。 中服程序中如何保護(hù)現(xiàn)場(chǎng)與恢復(fù)現(xiàn)場(chǎng)。中服程序中如何保護(hù)現(xiàn)場(chǎng)與恢復(fù)現(xiàn)場(chǎng)。 中斷返回中斷返回 中斷返回就是中斷返回就是cpucpu控制權(quán)由中服程序轉(zhuǎn)控制權(quán)由中服程序轉(zhuǎn) 移到被中斷程序的過(guò)程。移到被中斷程序的過(guò)程。 幾個(gè)重要概念:幾個(gè)重要概念: . .中斷向量表中斷向量表: :設(shè)置在系統(tǒng)設(shè)置在系統(tǒng)ramram的最低端的最低端00000h00000h 003ffh003ffh的的1k1k字節(jié)內(nèi),表中共有字節(jié)內(nèi),表中共有256256個(gè)中斷類個(gè)中斷類 型碼對(duì)應(yīng)的向量值。(型碼對(duì)應(yīng)的向量值。(256256* *4=1k4=1k) . .中斷向量中斷向量: :每個(gè)向

37、量占用每個(gè)向量占用4 4個(gè)字節(jié),稱為中斷個(gè)字節(jié),稱為中斷 向量。前向量。前2 2個(gè)字節(jié)為中斷服務(wù)程序入口地址的個(gè)字節(jié)為中斷服務(wù)程序入口地址的 偏移地址偏移地址ipip,后,后2 2個(gè)字節(jié)為服務(wù)程序的個(gè)字節(jié)為服務(wù)程序的段基址段基址 cscs。 . .向量地址向量地址: :這這4 4個(gè)單元的地址中的個(gè)單元的地址中的最小地址最小地址稱稱 為向量地址。為向量地址。 規(guī)定規(guī)定:中斷向量表中各向量:中斷向量表中各向量等長(zhǎng)等長(zhǎng),且處理程序,且處理程序 入口地址在向量表中按中斷源的入口地址在向量表中按中斷源的類型碼排序類型碼排序。 重要公式重要公式: 向量地址向量地址= =向量表的首地址向量表的首地址 + +

38、 中斷類型碼中斷類型碼* *4 4 討論討論: :已知中斷類型碼已知中斷類型碼n,n,如何得到中斷服務(wù)程如何得到中斷服務(wù)程 序入口地址序入口地址? ? 中斷向量表中斷向量表 1個(gè)字節(jié) 1個(gè)字節(jié) ip cs 低字節(jié)低字節(jié) 高字節(jié)高字節(jié) 8086 cpu:8086 cpu: 中斷類型號(hào)中斷類型號(hào) 256256個(gè)個(gè) 中斷向量表占用中斷向量表占用 2562564=1kb4=1kb 即存儲(chǔ)區(qū)域?yàn)榧创鎯?chǔ)區(qū)域?yàn)?000000000003ffh003ffh 中斷向量表中斷向量表 8086中斷向量表中斷向量表 中斷向量表中斷向量表 如何進(jìn)行中斷服務(wù)?如何進(jìn)行中斷服務(wù)? 中斷類型碼中斷類型碼4=中斷向量表的地址中

39、斷向量表的地址 中斷向量表中斷向量表 某中斷的中斷類型號(hào)為某中斷的中斷類型號(hào)為4 4,中斷服務(wù)程序,中斷服務(wù)程序 的入口地址為的入口地址為3000h:2000h,3000h:2000h,試畫中斷向量表試畫中斷向量表 0000 2020 0000 3030 5.3 5.3 中斷控制器中斷控制器8259a8259a 目前的目前的pcpc系列微機(jī),其外圍接口芯片系列微機(jī),其外圍接口芯片 (如(如80c28680c286)都集成有與兩片)都集成有與兩片8259a8259a相當(dāng)?shù)闹邢喈?dāng)?shù)闹?斷控制電路。斷控制電路。 nmosnmos工藝,單一工藝,單一+5v+5v電源,全靜態(tài)工作電源,全靜態(tài)工作( (無(wú)

40、需外加無(wú)需外加 時(shí)鐘時(shí)鐘) ) 1 1片片8259a8259a能管理能管理8 8級(jí)中斷級(jí)中斷 可用可用9 9片片8259a8259a級(jí)聯(lián)級(jí)聯(lián)成成6464級(jí)主從式中斷系統(tǒng)級(jí)主從式中斷系統(tǒng) 即一片即一片8259a8259a主片最多允許與主片最多允許與8 8片片8259a8259a從片級(jí)連從片級(jí)連 具有中斷判優(yōu)、中斷允許、中斷屏蔽等功能具有中斷判優(yōu)、中斷允許、中斷屏蔽等功能 可編程選擇不同的工作方式可編程選擇不同的工作方式 自動(dòng)向自動(dòng)向cpucpu提供中斷類型號(hào)提供中斷類型號(hào) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19

41、 18 17 16 15 8259a cs wr rd d7 d6 d4 d5 d2 d3 d0 d1 cas0 cas1 gnd inta ir7 ir6 ir4 ir5 ir2 ir3 ir0 ir1 int cas2 sp/en vcc a0 5.3.1 8259a5.3.1 8259a的內(nèi)部結(jié)構(gòu)及管腳分配的內(nèi)部結(jié)構(gòu)及管腳分配 數(shù)據(jù)數(shù)據(jù) 總線總線 緩沖器緩沖器 讀讀/寫寫 控制控制 邏輯邏輯 級(jí)聯(lián)緩沖級(jí)聯(lián)緩沖 /比較器比較器 中斷中斷 服務(wù)服務(wù) 寄存器寄存器 isr 優(yōu)先級(jí)優(yōu)先級(jí) 分析器分析器 pr 中斷中斷 請(qǐng)求請(qǐng)求 寄存器寄存器 irr 中中 斷斷 屏屏 蔽蔽 寄寄 存存 器器 im

42、r 控控 制制 電電 路路 初始化命令初始化命令 寄存器組寄存器組 操作命令操作命令 寄存器組寄存器組 d7d0 intaint a0 rd wr cs sp/ en cas0 cas1 cas2 irq0 . . . irq7 特點(diǎn):可編程、八級(jí)向量?jī)?yōu)先中斷、級(jí)連、優(yōu)先權(quán)動(dòng)特點(diǎn):可編程、八級(jí)向量?jī)?yōu)先中斷、級(jí)連、優(yōu)先權(quán)動(dòng) 態(tài)地改變。態(tài)地改變。 1.1.中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器(irr)(irr) 中斷請(qǐng)求中斷請(qǐng)求ir7-ir0,ir7-ir0,當(dāng)某個(gè)為高電平時(shí),當(dāng)某個(gè)為高電平時(shí),irrirr相應(yīng)位置相應(yīng)位置“1”1”。 2.2.中斷服務(wù)寄存器中斷服務(wù)寄存器(isr)(isr) 任何一級(jí)中斷

43、被響應(yīng),執(zhí)行其中斷服務(wù)程序,任何一級(jí)中斷被響應(yīng),執(zhí)行其中斷服務(wù)程序,isrisr相應(yīng)位置相應(yīng)位置 “1” 1” 。多重中斷情況下,。多重中斷情況下,isrisr中多位被同時(shí)置中多位被同時(shí)置“1”1”。 3.3.優(yōu)先權(quán)判別器優(yōu)先權(quán)判別器(pr)(pr) 當(dāng)當(dāng)ir7-ir0ir7-ir0中有多個(gè)中斷請(qǐng)求信號(hào)同時(shí)產(chǎn)生時(shí),中有多個(gè)中斷請(qǐng)求信號(hào)同時(shí)產(chǎn)生時(shí),prpr判定哪個(gè)中判定哪個(gè)中 斷請(qǐng)求具有最高優(yōu)先權(quán),并把它置入斷請(qǐng)求具有最高優(yōu)先權(quán),并把它置入isrisr的相應(yīng)位。的相應(yīng)位。 4 .4 .中斷屏蔽寄存器中斷屏蔽寄存器(imr)(imr) 通過(guò)通過(guò)imrimr可實(shí)現(xiàn)對(duì)各級(jí)中斷的有選擇的屏蔽。可實(shí)現(xiàn)對(duì)各

44、級(jí)中斷的有選擇的屏蔽。 5.5.級(jí)聯(lián)級(jí)聯(lián)(中斷最多擴(kuò)展到(中斷最多擴(kuò)展到6464級(jí))級(jí)) 一片一片8259a8259a只能接收只能接收8 8級(jí)級(jí)中斷,當(dāng)超過(guò)中斷,當(dāng)超過(guò)8 8級(jí)時(shí),可用級(jí)時(shí),可用 多片多片8259a8259a級(jí)聯(lián)級(jí)聯(lián)使用,構(gòu)成主從關(guān)系。使用,構(gòu)成主從關(guān)系。 連線要求:連線要求: . .主主8259a8259a: :級(jí)聯(lián)信號(hào)級(jí)聯(lián)信號(hào)cascas2 2-cas-cas0 0是輸出信號(hào);是輸出信號(hào); spsp端端 為為“1”1” . .從從8259a8259a: :級(jí)聯(lián)信號(hào)級(jí)聯(lián)信號(hào)cascas2 2-cas-cas0 0是輸入信號(hào);是輸入信號(hào); spsp端端 為為“0”0” . .從

45、從8259a8259a的的intint輸出接到主的中斷輸入端輸出接到主的中斷輸入端irir上上 級(jí)級(jí) 聯(lián)聯(lián) 方方 式式 cas2 cas1 cas0cas2 cas1 cas0 intint d7d7d0d0 rdrd wrwr intainta a0a0 cscs 8259a8259a ( (主片主片) ) vcc sp/en gndvcc sp/en gnd +5v+5v cas2 cas1 cas0cas2 cas1 cas0 intint d7d7d0d0 rdrd wrwr intainta a0a0 cscs 8259a8259a ( (從片從片) ) vcc sp/en gndv

46、cc sp/en gnd +5v+5v intrintr dbdb iorior iowiow intainta a0a0 80868086 譯碼電譯碼電 路輸出路輸出 譯碼電譯碼電 路輸出路輸出 ir0ir0 ir1ir1 ir2ir2 ir3ir3 ir4ir4 ir5ir5 ir6ir6 ir7ir7 ir0ir0 ir1ir1 ir2ir2 ir3ir3 ir4ir4 ir5ir5 ir6ir6 ir7ir7 例子:例子:3 3片級(jí)聯(lián)片級(jí)聯(lián) 6.6.控制電路控制電路 根據(jù)根據(jù)irrirr的置位情況和優(yōu)先權(quán)判別器的置位情況和優(yōu)先權(quán)判別器prpr的判定結(jié)果,的判定結(jié)果, 向向8259a82

47、59a內(nèi)部其它部件發(fā)出控制信號(hào),并向內(nèi)部其它部件發(fā)出控制信號(hào),并向cpucpu發(fā)出發(fā)出中中 斷請(qǐng)求斷請(qǐng)求intint和接收來(lái)自和接收來(lái)自cpucpu的的中斷響應(yīng)中斷響應(yīng)intainta。 7.7.讀讀/ /寫控制邏輯寫控制邏輯 a0 :8259aa0 :8259a占兩個(gè)占兩個(gè)i/oi/o端口地址,用端口地址,用a0a0來(lái)選來(lái)選 : :端口地址的其它高位由片選信號(hào)端輸入。端口地址的其它高位由片選信號(hào)端輸入。 : :讀信號(hào)讀信號(hào) : :寫信號(hào)寫信號(hào) 8.8.數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器 雙向雙向8 8位三態(tài)緩沖器,構(gòu)成位三態(tài)緩沖器,構(gòu)成8259a8259a與與cpucpu之間的數(shù)據(jù)接之間的數(shù)據(jù)接

48、口。口。 二、二、8259a8259a的管腳分配的管腳分配 4 4類:類: . . 與外部設(shè)備連接的中斷請(qǐng)求輸入管腳與外部設(shè)備連接的中斷請(qǐng)求輸入管腳irir0 0-ir-ir7 7; . . 與與cpucpu連接的數(shù)據(jù)通路和控制信號(hào):連接的數(shù)據(jù)通路和控制信號(hào):d d0 0-d-d7 7,wr,wr, rd,inta,intrd,inta,int; . . 用于用于8259a8259a級(jí)聯(lián)的管腳級(jí)聯(lián)的管腳cascas0 0-cas-cas2 2,sp/en,sp/en; . . 端口地址選擇信號(hào)端口地址選擇信號(hào)cs,acs,a0 0。 8259a8259a的中斷管理方式的中斷管理方式 一、中斷優(yōu)

49、先權(quán)管理一、中斷優(yōu)先權(quán)管理(4(4種種) ) 1.1.完全嵌套方式完全嵌套方式 固定固定優(yōu)先權(quán)優(yōu)先權(quán):ir:ir0 0irir1 1 irir7 7。 高優(yōu)先級(jí)的中斷可進(jìn)入低優(yōu)先級(jí),但低優(yōu)先級(jí)不能進(jìn)入高優(yōu)先級(jí)的中斷可進(jìn)入低優(yōu)先級(jí),但低優(yōu)先級(jí)不能進(jìn)入 高優(yōu)稱級(jí)或同等優(yōu)先級(jí)。高優(yōu)稱級(jí)或同等優(yōu)先級(jí)。 2.2.自動(dòng)循環(huán)方式自動(dòng)循環(huán)方式 irir0 0-ir-ir7 7輪流輪流具有最高優(yōu)先權(quán)。具有最高優(yōu)先權(quán)。 當(dāng)任何一級(jí)中斷被處理完,它的優(yōu)先級(jí)別就被改變?yōu)樽町?dāng)任何一級(jí)中斷被處理完,它的優(yōu)先級(jí)別就被改變?yōu)樽?低,而最高優(yōu)先級(jí)分配給該中斷的下一級(jí)中斷。低,而最高優(yōu)先級(jí)分配給該中斷的下一級(jí)中斷。 3.3.中斷

50、屏蔽方式中斷屏蔽方式 . .普通屏蔽普通屏蔽: :在中斷屏蔽寄存器在中斷屏蔽寄存器imrimr中,將某一位或幾位置中,將某一位或幾位置 “1”1”來(lái)屏蔽掉相應(yīng)級(jí)別的中斷請(qǐng)求。來(lái)屏蔽掉相應(yīng)級(jí)別的中斷請(qǐng)求。 . .特殊屏蔽特殊屏蔽: :可使低優(yōu)先級(jí)別的中斷進(jìn)入正在服務(wù)的高優(yōu)先可使低優(yōu)先級(jí)別的中斷進(jìn)入正在服務(wù)的高優(yōu)先 級(jí)別中。級(jí)別中。 4.4.特殊完全嵌套方式特殊完全嵌套方式( (用于級(jí)聯(lián)情況用于級(jí)聯(lián)情況) ) 接在接在主片主片ir3ir3上的從片比接在上的從片比接在ir4ir4上的從片上的從片具有高的優(yōu)先權(quán);具有高的優(yōu)先權(quán); 而而主片上主片上ir0,ir1,ir2ir0,ir1,ir2上的中斷比從

51、片具有高優(yōu)先權(quán)。上的中斷比從片具有高優(yōu)先權(quán)。 二、二、8259a8259a中斷結(jié)束的管理方式中斷結(jié)束的管理方式 中斷結(jié)束的管理就是用不同的方式使中斷結(jié)束的管理就是用不同的方式使isrisr的相應(yīng)位清的相應(yīng)位清“0”0”, 并確定下面的優(yōu)先排隊(duì)。并確定下面的優(yōu)先排隊(duì)。 . .完全嵌套情況完全嵌套情況 . .自動(dòng)循環(huán)情況自動(dòng)循環(huán)情況 . .特殊完全嵌套情況特殊完全嵌套情況 5.3.2 8259a5.3.2 8259a的編程的編程 初始化初始化: :第一部分稱預(yù)置命令字第一部分稱預(yù)置命令字icw1-icw4icw1-icw4。預(yù)置。預(yù)置 命令字是要命令字是要按規(guī)定順序按規(guī)定順序?qū)懭雽懭?259a82

52、59a中的。中的。 預(yù)置命令字功能:預(yù)置命令字功能: . . icw1icw1:8259a:8259a是單一式還是主從式;是單一式還是主從式; . . icw2icw2: :設(shè)置設(shè)置8 8個(gè)中斷請(qǐng)求設(shè)備的類型號(hào);個(gè)中斷請(qǐng)求設(shè)備的類型號(hào); . . icw3icw3: :若為主從式則規(guī)定主若為主從式則規(guī)定主8259a8259a中每個(gè)中每個(gè)irir端是端是 否帶從否帶從8259a8259a,從,從8259a8259a則要規(guī)定從主則要規(guī)定從主8259a8259a的哪的哪 個(gè)個(gè)irir端引入;端引入; . . icw4icw4: :完成中斷管理方式的設(shè)定。完成中斷管理方式的設(shè)定。 不是任何情況下都需要設(shè)

53、置不是任何情況下都需要設(shè)置4 4個(gè)預(yù)命令,可根據(jù)個(gè)預(yù)命令,可根據(jù)8259a8259a 的使用情況而定。的使用情況而定。 第二部分第二部分稱操作命令字稱操作命令字ocw1-ocw3ocw1-ocw3 ,8259a8259a通過(guò)通過(guò) icw1-icw4icw1-icw4初始化后,任何時(shí)間寫入初始化后,任何時(shí)間寫入ocw1-ocw3 ocw1-ocw3 , 且無(wú)需按順序?qū)憽G覠o(wú)需按順序?qū)憽?8259a8259a的中斷響應(yīng)過(guò)程的中斷響應(yīng)過(guò)程 1 1、irq0irq0irq7irq7有中斷請(qǐng)求,有中斷請(qǐng)求,8259a8259a的的irrirr的相應(yīng)位置的相應(yīng)位置1 1 2 2、irrirr與與imrim

54、r相應(yīng)位比較后,封鎖或發(fā)送中斷請(qǐng)求給相應(yīng)位比較后,封鎖或發(fā)送中斷請(qǐng)求給prpr 3 3、prpr分析后,把當(dāng)前最高優(yōu)先級(jí)的中斷請(qǐng)求由分析后,把當(dāng)前最高優(yōu)先級(jí)的中斷請(qǐng)求由intint送至送至cpucpu 4 4、若、若if=1if=1,cpucpu執(zhí)行完當(dāng)前指令后,連續(xù)發(fā)出執(zhí)行完當(dāng)前指令后,連續(xù)發(fā)出2 2個(gè)個(gè)intainta信號(hào)信號(hào) 5 5、接到第、接到第1 1個(gè)個(gè)intainta后,后,8259a8259a的的isrisr和和irrirr對(duì)應(yīng)位分別置對(duì)應(yīng)位分別置1 1清清0 0 6 6、接到第、接到第2 2個(gè)個(gè)intainta后,后,8259a8259a把中斷類型號(hào)送上數(shù)據(jù)總線把中斷類型號(hào)送上

55、數(shù)據(jù)總線 7 7、cpucpu將收到的中斷類型號(hào)乘以將收到的中斷類型號(hào)乘以4 4,到中斷向量表中獲取中,到中斷向量表中獲取中 斷向量,轉(zhuǎn)入相應(yīng)中斷服務(wù)子程序進(jìn)行中斷處理斷向量,轉(zhuǎn)入相應(yīng)中斷服務(wù)子程序進(jìn)行中斷處理 d1 d0d2d31d5d6d7 單片單片 1 級(jí)聯(lián)級(jí)聯(lián)0 不寫不寫0 寫寫1 是否寫是否寫 icw4 d0 邊沿觸發(fā)邊沿觸發(fā)0 電平觸發(fā)電平觸發(fā)1 觸發(fā)方式觸發(fā)方式d3 41 80 注注: 80 x86系統(tǒng)不用此位系統(tǒng)不用此位 調(diào)用地址間隔調(diào)用地址間隔 d2 a0 0 icw1 icw1 芯片控制命令字芯片控制命令字 中斷向量地址的中斷向量地址的a7a6a5 注注:只用于只用于808

56、0/8085系統(tǒng)中系統(tǒng)中 d7d6d5 特征位特征位 一、初始化命令字一、初始化命令字 d1 d0d2d3d4d5d6d7 a0 1 icw2 icw2 中斷類型碼命令字中斷類型碼命令字 中斷向量地址中斷向量地址a15a8 d7d0 中斷向量碼的高中斷向量碼的高5位位 d7d3d2d1d0 在在8086/8088 系統(tǒng)中系統(tǒng)中 在在8080/8085 系統(tǒng)中系統(tǒng)中 111ir7 110ir6 101ir5 100ir4 011ir3 010ir2 001ir1 000 則則 自自 動(dòng)動(dòng) 填填 入入 ir0 d2d1d0 irqi 若若 有請(qǐng)求有請(qǐng)求 a0 1 icw3 icw3 主主/ /從片

57、級(jí)聯(lián)命令字從片級(jí)聯(lián)命令字 a0 1 d1d0d200000 從片初始化命令字:從片初始化命令字: irq7irq6irq5irq4irq3irq2irq1irq0 從片從片int接入接入 主片的主片的irqi引腳引腳 10101010d0 11001100d1 11110000d2 d1 d0d2d3d4d5d6d7 主片初始化命令字:主片初始化命令字: 有有1 沒(méi)有沒(méi)有0 irqi是否有從片接入是否有從片接入di icw4 icw4 方式控制命令字方式控制命令字 d1d0d2d3d4000 a0 1 8080/8085模式模式0 80 x86模式模式1 完全嵌套方式完全嵌套方式0 特殊全嵌套

58、方式特殊全嵌套方式1 自動(dòng)自動(dòng)eoi1 正常正常eoi0 緩沖方式緩沖方式/主片主片10 非緩沖方式非緩沖方式0 緩沖方式緩沖方式/從片從片11 觸發(fā)方式觸發(fā)方式d3d2 特征位特征位 二、操作方式命令字二、操作方式命令字 ocw1 ocw1 d1 d0d2d3d4d5d6d7 中斷屏蔽操作控制字中斷屏蔽操作控制字 屏蔽屏蔽1 允許允許0 是否屏蔽是否屏蔽 iri 中斷請(qǐng)求中斷請(qǐng)求di a0 1 ocw2 ocw2 d7 d6 d5操操 作作 功功 能能 001一般一般eoi結(jié)束命令結(jié)束命令 011特殊特殊eoi結(jié)束命令結(jié)束命令 101自動(dòng)循環(huán)優(yōu)先級(jí)的一般結(jié)束命令自動(dòng)循環(huán)優(yōu)先級(jí)的一般結(jié)束命令 100設(shè)置優(yōu)先級(jí)自動(dòng)循環(huán)方式命令設(shè)置優(yōu)先級(jí)自動(dòng)循環(huán)方式命令 000結(jié)束優(yōu)先級(jí)自動(dòng)循環(huán)方式的命令結(jié)束優(yōu)先級(jí)自動(dòng)循環(huán)方式的命令 111設(shè)置特殊優(yōu)先級(jí)循環(huán)的設(shè)置特殊優(yōu)先級(jí)循環(huán)的eoi結(jié)束命令結(jié)束命令 110設(shè)置特殊優(yōu)先級(jí)循環(huán)方式命令設(shè)置特殊優(yōu)先級(jí)循環(huán)方式命令 010無(wú)效無(wú)效 優(yōu)先級(jí)固定優(yōu)先級(jí)固定0 優(yōu)先級(jí)旋轉(zhuǎn)優(yōu)先級(jí)旋轉(zhuǎn)1 不發(fā)結(jié)束命令不發(fā)結(jié)束命令0 發(fā)結(jié)束命令發(fā)結(jié)束命令1 d2d1d0無(wú)效無(wú)效0 d2d1d0有效有

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論