版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第9章中斷控制器、計(jì)數(shù)章中斷控制器、計(jì)數(shù)/定時(shí)控制器及定時(shí)控制器及DMA控制器控制器9.1可編程中斷控制器可編程中斷控制器8259A9.2可編程計(jì)數(shù)可編程計(jì)數(shù)/定時(shí)控制器定時(shí)控制器82539.3可編程可編程DMA控制器控制器8237A9.1 可編程中斷控制器可編程中斷控制器8259A中斷系統(tǒng)是馮中斷系統(tǒng)是馮諾依曼結(jié)構(gòu)計(jì)算機(jī)的一項(xiàng)重要技諾依曼結(jié)構(gòu)計(jì)算機(jī)的一項(xiàng)重要技術(shù),尤其為解決當(dāng)前高速運(yùn)算術(shù),尤其為解決當(dāng)前高速運(yùn)算CPU與低速外部與低速外部設(shè)備信息交換之間的矛盾。設(shè)備信息交換之間的矛盾。8086系列有功能很系列有功能很強(qiáng)的中斷系統(tǒng),它可通過強(qiáng)的中斷系統(tǒng),它可通過8259A可編程中斷控可編程中斷
2、控制器來實(shí)現(xiàn)。制器來實(shí)現(xiàn)。 9.1.1 8259A芯片內(nèi)部結(jié)構(gòu)芯片內(nèi)部結(jié)構(gòu) 8259A可編程中斷控制器包括以下可編程中斷控制器包括以下8部分,芯片部分,芯片內(nèi)部結(jié)構(gòu)如圖內(nèi)部結(jié)構(gòu)如圖9.1所示。所示。8259A芯片有芯片有28條引腳,條引腳,雙列直插式封裝,各引腳的信號(hào)功能如圖雙列直插式封裝,各引腳的信號(hào)功能如圖9.2所所示。示。圖圖9.1圖圖9.21. 數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器這是一個(gè)雙向這是一個(gè)雙向8位位3態(tài)緩沖器,由它構(gòu)成態(tài)緩沖器,由它構(gòu)成8259A與與CPU之間的數(shù)據(jù)接口,是之間的數(shù)據(jù)接口,是8259A與與CPU交換數(shù)據(jù)的必經(jīng)交換數(shù)據(jù)的必經(jīng)之路。之路。2. 讀讀/寫控制電路寫控制電路
3、用來接收來自用來接收來自CPU的讀的讀/寫控制命令和片選控制信息。寫控制命令和片選控制信息。由于一片由于一片8259A只占兩個(gè)只占兩個(gè)I/O端口地址,可用末位端口地址,可用末位地址碼地址碼A0來選端口,端口的其他高位地址作為片選來選端口,端口的其他高位地址作為片選信號(hào)信號(hào)CS輸入。當(dāng)輸入。當(dāng)CPU執(zhí)行執(zhí)行OUT指令時(shí),指令時(shí),WR信號(hào)信號(hào)與與A0配合,將配合,將CPU通過數(shù)據(jù)總線通過數(shù)據(jù)總線(D7D0)送來的控送來的控制字寫入制字寫入8259A中有關(guān)的控制寄存器。中有關(guān)的控制寄存器。當(dāng)當(dāng)CPU執(zhí)行執(zhí)行IN指令時(shí),指令時(shí),RD信號(hào)與信號(hào)與A0配合,將配合,將8259A中內(nèi)部寄存器內(nèi)容通過數(shù)據(jù)總線
4、中內(nèi)部寄存器內(nèi)容通過數(shù)據(jù)總線(70)傳送給傳送給CPU。3. 級(jí)聯(lián)緩沖級(jí)聯(lián)緩沖/比較器比較器一片一片8259A只能接收八級(jí)中斷從只能接收八級(jí)中斷從IR7IR0輸入,當(dāng)引輸入,當(dāng)引入的中斷超過入的中斷超過8級(jí)時(shí),可用多片級(jí)時(shí),可用多片8259A級(jí)聯(lián)使用,級(jí)聯(lián)使用,構(gòu)成主從關(guān)系,對(duì)于主構(gòu)成主從關(guān)系,對(duì)于主8259A,級(jí)聯(lián)信號(hào),級(jí)聯(lián)信號(hào)CAS2CAS0是輸出信號(hào),對(duì)于從是輸出信號(hào),對(duì)于從8259A,CAS2CAS0是是輸入信號(hào)。輸入信號(hào)。SP/EN是一個(gè)雙功能信號(hào),當(dāng)是一個(gè)雙功能信號(hào),當(dāng)8259A處處于緩沖狀態(tài)時(shí),于緩沖狀態(tài)時(shí),EN有效,表示允許有效,表示允許8259A通過緩沖通過緩沖存儲(chǔ)器輸出;存
5、儲(chǔ)器輸出;EN無(wú)效,表示無(wú)效,表示CPU寫寫8259A。當(dāng)。當(dāng)8259A處于非緩沖狀態(tài)時(shí),處于非緩沖狀態(tài)時(shí),SP用作表明主從關(guān)系,用作表明主從關(guān)系,SP=1表示是主表示是主8259A,SP=0表示是從表示是從8259A。4. 中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器IRR這是一個(gè)這是一個(gè)8位寄存器,用來存放由外部輸入的中斷請(qǐng)位寄存器,用來存放由外部輸入的中斷請(qǐng)求信號(hào)求信號(hào)IR7IR0。當(dāng)某一個(gè)。當(dāng)某一個(gè)IRi端呈現(xiàn)高電平時(shí),端呈現(xiàn)高電平時(shí),該寄存器的相應(yīng)位置該寄存器的相應(yīng)位置“1”,顯然最多允許,顯然最多允許8個(gè)中斷個(gè)中斷請(qǐng)求信號(hào)同時(shí)進(jìn)入,這時(shí),請(qǐng)求信號(hào)同時(shí)進(jìn)入,這時(shí),IRR寄存器將被置成全寄存器將被置成
6、全“1”。5. 中斷服務(wù)寄存器中斷服務(wù)寄存器ISR這是一個(gè)這是一個(gè)8位寄存器,用來記錄正在處理中的中斷請(qǐng)位寄存器,用來記錄正在處理中的中斷請(qǐng)求。當(dāng)任何一級(jí)中斷被響應(yīng),求。當(dāng)任何一級(jí)中斷被響應(yīng),CPU正在執(zhí)行它的中正在執(zhí)行它的中斷服務(wù)程序時(shí),斷服務(wù)程序時(shí),ISR寄存器中相應(yīng)位置寄存器中相應(yīng)位置“1”,一直,一直保持到該級(jí)中斷處理過程結(jié)束為止。多重中斷情況保持到該級(jí)中斷處理過程結(jié)束為止。多重中斷情況下,下,ISR寄存器中可有多位被同時(shí)置寄存器中可有多位被同時(shí)置“1”。6. 中斷屏蔽寄存器中斷屏蔽寄存器IMR這是一個(gè)這是一個(gè)8位寄存器,用來存放對(duì)各級(jí)中斷請(qǐng)求的屏位寄存器,用來存放對(duì)各級(jí)中斷請(qǐng)求的屏蔽
7、信息。當(dāng)該寄存器中某一位置蔽信息。當(dāng)該寄存器中某一位置“1”時(shí),表示禁止時(shí),表示禁止這一級(jí)中斷請(qǐng)求進(jìn)入系統(tǒng),通過這一級(jí)中斷請(qǐng)求進(jìn)入系統(tǒng),通過IMR寄存器可實(shí)現(xiàn)寄存器可實(shí)現(xiàn)對(duì)各級(jí)中斷的有選擇的屏蔽。對(duì)各級(jí)中斷的有選擇的屏蔽。7. 優(yōu)先權(quán)判別器優(yōu)先權(quán)判別器PR用來識(shí)別各中斷請(qǐng)求信號(hào)的優(yōu)先級(jí)別。當(dāng)多個(gè)中斷用來識(shí)別各中斷請(qǐng)求信號(hào)的優(yōu)先級(jí)別。當(dāng)多個(gè)中斷請(qǐng)求信號(hào)同時(shí)產(chǎn)生時(shí),由請(qǐng)求信號(hào)同時(shí)產(chǎn)生時(shí),由PR判定當(dāng)前哪一個(gè)中斷判定當(dāng)前哪一個(gè)中斷請(qǐng)求具有最高優(yōu)先級(jí),于是系統(tǒng)首先響應(yīng)這一級(jí)中請(qǐng)求具有最高優(yōu)先級(jí),于是系統(tǒng)首先響應(yīng)這一級(jí)中斷,轉(zhuǎn)去執(zhí)行相應(yīng)的中斷服務(wù)程序。當(dāng)出現(xiàn)多重中斷,轉(zhuǎn)去執(zhí)行相應(yīng)的中斷服務(wù)程序。當(dāng)出現(xiàn)多
8、重中斷時(shí),由斷時(shí),由PR判定是否允許所出現(xiàn)的中斷去打斷正判定是否允許所出現(xiàn)的中斷去打斷正在處理的中斷而被優(yōu)先處理。一般處理原則是允許在處理的中斷而被優(yōu)先處理。一般處理原則是允許高級(jí)中斷打斷低級(jí)中斷,而不允許低級(jí)中斷打斷高高級(jí)中斷打斷低級(jí)中斷,而不允許低級(jí)中斷打斷高級(jí)中斷,也不允許同級(jí)中斷互相打斷。級(jí)中斷,也不允許同級(jí)中斷互相打斷。8. 控制電路控制電路它是它是8259A內(nèi)部的控制器。根據(jù)中斷請(qǐng)求寄存器內(nèi)部的控制器。根據(jù)中斷請(qǐng)求寄存器IRR的置位情況和優(yōu)先權(quán)判別器的置位情況和優(yōu)先權(quán)判別器PR的判定結(jié)果,向的判定結(jié)果,向8259A內(nèi)部其他部件發(fā)出控制信號(hào),并向內(nèi)部其他部件發(fā)出控制信號(hào),并向CPU發(fā)
9、出發(fā)出中斷請(qǐng)求信號(hào)中斷請(qǐng)求信號(hào)INT和接收來自和接收來自CPU的中斷響應(yīng)信號(hào)的中斷響應(yīng)信號(hào)INTA,控制,控制8259A進(jìn)入中斷服務(wù)狀態(tài)。實(shí)際上進(jìn)入中斷服務(wù)狀態(tài)。實(shí)際上8259A芯片是在控制電路控制之下構(gòu)成一個(gè)有機(jī)的芯片是在控制電路控制之下構(gòu)成一個(gè)有機(jī)的整體。整體。9.1.2 8259A芯片的工作方式芯片的工作方式8259A有兩種中斷觸發(fā)方式:電平觸發(fā)方式和邊沿觸有兩種中斷觸發(fā)方式:電平觸發(fā)方式和邊沿觸發(fā)方式,可由軟件來定義。當(dāng)定義為電平觸發(fā)方發(fā)方式,可由軟件來定義。當(dāng)定義為電平觸發(fā)方式時(shí),從式時(shí),從IR7IR0輸入的有效信號(hào)應(yīng)為高電平,而輸入的有效信號(hào)應(yīng)為高電平,而且必須保持有效到響應(yīng)它的第
10、一個(gè)且必須保持有效到響應(yīng)它的第一個(gè)INTA信號(hào)的前沿,信號(hào)的前沿,否則這個(gè)否則這個(gè)IRi信號(hào)有可能被丟失;但是也不允許信號(hào)有可能被丟失;但是也不允許IRi信號(hào)太長(zhǎng),如果在中斷服務(wù)寄存器信號(hào)太長(zhǎng),如果在中斷服務(wù)寄存器ISR相應(yīng)位復(fù)位相應(yīng)位復(fù)位后該后該IRi信號(hào)還繼續(xù)有效,則信號(hào)還繼續(xù)有效,則8259A就可能重新響就可能重新響應(yīng)這一中斷請(qǐng)求而出現(xiàn)重復(fù)中斷現(xiàn)象。為避免這應(yīng)這一中斷請(qǐng)求而出現(xiàn)重復(fù)中斷現(xiàn)象。為避免這種情況產(chǎn)生,在種情況產(chǎn)生,在ISR某一位被復(fù)位時(shí)應(yīng)將相應(yīng)的某一位被復(fù)位時(shí)應(yīng)將相應(yīng)的IRi信號(hào)置成無(wú)效。信號(hào)置成無(wú)效。采用這種電平觸發(fā)方式還有一個(gè)問題必須注意,即如采用這種電平觸發(fā)方式還有一個(gè)問
11、題必須注意,即如果通過一個(gè)果通過一個(gè)IRi端引入多個(gè)中斷請(qǐng)求,它們由軟件進(jìn)端引入多個(gè)中斷請(qǐng)求,它們由軟件進(jìn)行排隊(duì);那么當(dāng)這個(gè)行排隊(duì);那么當(dāng)這個(gè)IRi端上一個(gè)中斷請(qǐng)求的有效期端上一個(gè)中斷請(qǐng)求的有效期間,另一個(gè)中斷請(qǐng)求又產(chǎn)生時(shí),將有可能丟失第間,另一個(gè)中斷請(qǐng)求又產(chǎn)生時(shí),將有可能丟失第2個(gè)個(gè)中斷請(qǐng)求信號(hào),從這個(gè)意義上講是不允許發(fā)生中斷中斷請(qǐng)求信號(hào),從這個(gè)意義上講是不允許發(fā)生中斷請(qǐng)求的電平信號(hào)持續(xù)時(shí)間太長(zhǎng),但也不能太短,這請(qǐng)求的電平信號(hào)持續(xù)時(shí)間太長(zhǎng),但也不能太短,這在使用中必須注意。在使用中必須注意。當(dāng)當(dāng)8259A被定義為邊沿觸發(fā)方式時(shí),不會(huì)產(chǎn)生上述的被定義為邊沿觸發(fā)方式時(shí),不會(huì)產(chǎn)生上述的丟失中斷請(qǐng)求
12、的現(xiàn)象,這時(shí)當(dāng)丟失中斷請(qǐng)求的現(xiàn)象,這時(shí)當(dāng)IRi端上出現(xiàn)由低電平端上出現(xiàn)由低電平到高電平的正跳變時(shí),表示中斷請(qǐng)求信號(hào)有效,最到高電平的正跳變時(shí),表示中斷請(qǐng)求信號(hào)有效,最好用負(fù)脈沖的后沿來實(shí)現(xiàn)。采用這種邊沿觸發(fā)方式好用負(fù)脈沖的后沿來實(shí)現(xiàn)。采用這種邊沿觸發(fā)方式不會(huì)出現(xiàn)重復(fù)中斷現(xiàn)象,但是也要求在響應(yīng)某中斷不會(huì)出現(xiàn)重復(fù)中斷現(xiàn)象,但是也要求在響應(yīng)某中斷請(qǐng)求的第請(qǐng)求的第1個(gè)個(gè)INTA信號(hào)有效前不要出現(xiàn)下一個(gè)中斷信號(hào)有效前不要出現(xiàn)下一個(gè)中斷請(qǐng)求,否則有可能丟失前面一個(gè)中斷請(qǐng)求。請(qǐng)求,否則有可能丟失前面一個(gè)中斷請(qǐng)求。圖圖9.3不管是采用什么方式引入的中斷,在中斷響應(yīng)周不管是采用什么方式引入的中斷,在中斷響應(yīng)周期
13、內(nèi)第期內(nèi)第2個(gè)個(gè)INTA信號(hào)有效期間信號(hào)有效期間8259A應(yīng)將當(dāng)前被響應(yīng)將當(dāng)前被響應(yīng)的中斷類型碼應(yīng)的中斷類型碼n通過數(shù)據(jù)總線通過數(shù)據(jù)總線D7D0傳送給傳送給CPU。8259A中一字節(jié)中斷類型碼的形成如圖中一字節(jié)中斷類型碼的形成如圖9.3所示。所示。從圖中可看出,由一片從圖中可看出,由一片8259A引入的引入的8級(jí)中斷請(qǐng)求的類型碼級(jí)中斷請(qǐng)求的類型碼肯定是連續(xù)的。它們?cè)谥袛嗳肟诘刂繁碇械奈恢萌Q于肯定是連續(xù)的。它們?cè)谥袛嗳肟诘刂繁碇械奈恢萌Q于由軟件定義的由軟件定義的D7D3位的狀態(tài),并由對(duì)位的狀態(tài),并由對(duì)8259A進(jìn)行初始進(jìn)行初始化時(shí)寫入的相應(yīng)控制字來確定。例如,定義化時(shí)寫入的相應(yīng)控制字來確定。
14、例如,定義D7D3=10001時(shí),則該時(shí),則該8級(jí)中斷的類型碼將順序?yàn)榧?jí)中斷的類型碼將順序?yàn)?8H8FH。 8259A具有非常靈活的中斷管理方式,可滿足使用者的各具有非常靈活的中斷管理方式,可滿足使用者的各種不同要求。而中斷優(yōu)先權(quán)管理是中斷管理的核心問題。種不同要求。而中斷優(yōu)先權(quán)管理是中斷管理的核心問題。8259A可采用優(yōu)先權(quán)級(jí)別固定分配和循環(huán)設(shè)置兩種方式??刹捎脙?yōu)先權(quán)級(jí)別固定分配和循環(huán)設(shè)置兩種方式。各中斷源的優(yōu)先級(jí)確定后,一般處理原則只允許高級(jí)中各中斷源的優(yōu)先級(jí)確定后,一般處理原則只允許高級(jí)中斷打斷低級(jí)中斷而被優(yōu)先處理,禁止低級(jí)打斷高級(jí)或同斷打斷低級(jí)中斷而被優(yōu)先處理,禁止低級(jí)打斷高級(jí)或同級(jí)中
15、斷相互打斷。級(jí)中斷相互打斷。8259A中對(duì)中斷優(yōu)先權(quán)的管理,可概括為完全嵌套方式、中對(duì)中斷優(yōu)先權(quán)的管理,可概括為完全嵌套方式、自動(dòng)循環(huán)方式和中斷屏蔽方式。詳細(xì)講解如下:自動(dòng)循環(huán)方式和中斷屏蔽方式。詳細(xì)講解如下:1. 完全嵌套方式完全嵌套方式完全嵌套方式是完全嵌套方式是8259A被初始化后自動(dòng)進(jìn)入的基本工被初始化后自動(dòng)進(jìn)入的基本工作方式,在這種方式下,由各個(gè)作方式,在這種方式下,由各個(gè)IRi端引入的中斷端引入的中斷請(qǐng)求具有固定的中斷級(jí)別。請(qǐng)求具有固定的中斷級(jí)別。IR0具有最高優(yōu)先級(jí),具有最高優(yōu)先級(jí),IR7具有最低優(yōu)先級(jí),其他級(jí)順序類推。具有最低優(yōu)先級(jí),其他級(jí)順序類推。采用完全嵌套方式時(shí),采用完全
16、嵌套方式時(shí),ISR寄存器中某位置寄存器中某位置“1”,表,表示示CPU當(dāng)前正在處理這一級(jí)中斷請(qǐng)求,當(dāng)前正在處理這一級(jí)中斷請(qǐng)求,8259A將允將允許比它級(jí)別高的中斷請(qǐng)求進(jìn)入,打斷當(dāng)前的中斷服許比它級(jí)別高的中斷請(qǐng)求進(jìn)入,打斷當(dāng)前的中斷服務(wù)程序而被優(yōu)先處理,但禁止與它同級(jí)或比它級(jí)別務(wù)程序而被優(yōu)先處理,但禁止與它同級(jí)或比它級(jí)別低的其他中斷請(qǐng)求進(jìn)入。采用這種完全嵌套方式,低的其他中斷請(qǐng)求進(jìn)入。采用這種完全嵌套方式,中斷嵌套的深度取決于整個(gè)中斷系統(tǒng)所具有的中斷中斷嵌套的深度取決于整個(gè)中斷系統(tǒng)所具有的中斷級(jí)數(shù),在一個(gè)具有級(jí)數(shù),在一個(gè)具有8級(jí)中斷的系統(tǒng)中,最大的中斷級(jí)中斷的系統(tǒng)中,最大的中斷嵌套深度為嵌套深度
17、為8,如圖,如圖9.4所示。所示。圖圖9.4在中斷嵌套過程中,中斷服務(wù)寄存器在中斷嵌套過程中,中斷服務(wù)寄存器ISR的內(nèi)容將不的內(nèi)容將不斷變化,最后有可能使斷變化,最后有可能使(ISR)FFH,表示當(dāng)前有,表示當(dāng)前有8級(jí)中斷請(qǐng)求正在被服務(wù),首先結(jié)束的應(yīng)是最高級(jí)的級(jí)中斷請(qǐng)求正在被服務(wù),首先結(jié)束的應(yīng)是最高級(jí)的中斷,待中斷,待CPU由高級(jí)到低級(jí)將全部中斷處理結(jié)束返由高級(jí)到低級(jí)將全部中斷處理結(jié)束返回到主程序時(shí),回到主程序時(shí),ISR寄存器將重新復(fù)位為全寄存器將重新復(fù)位為全“0”。這種情況下要求堆棧的容量比較大。因?yàn)槊宽憫?yīng)一這種情況下要求堆棧的容量比較大。因?yàn)槊宽憫?yīng)一次中斷至少要往堆棧壓入次中斷至少要往堆棧
18、壓入6個(gè)字節(jié)的信息個(gè)字節(jié)的信息(兩個(gè)字節(jié)兩個(gè)字節(jié)標(biāo)志寄存器內(nèi)容和標(biāo)志寄存器內(nèi)容和4個(gè)字節(jié)的斷點(diǎn)地址個(gè)字節(jié)的斷點(diǎn)地址),在各級(jí)中,在各級(jí)中斷處理過程中,還有可能要將其他資源壓入堆棧保斷處理過程中,還有可能要將其他資源壓入堆棧保護(hù)。除此之外,在上述中斷嵌套過程中,還要求護(hù)。除此之外,在上述中斷嵌套過程中,還要求CPU每響應(yīng)一次中斷進(jìn)入中斷服務(wù)程序后,應(yīng)安排每響應(yīng)一次中斷進(jìn)入中斷服務(wù)程序后,應(yīng)安排開中斷指令開中斷指令(STI)將將IF標(biāo)志位置標(biāo)志位置“1”,否則由,否則由8259A引入的高級(jí)中斷將無(wú)法進(jìn)入系統(tǒng)。當(dāng)任何一級(jí)中斷引入的高級(jí)中斷將無(wú)法進(jìn)入系統(tǒng)。當(dāng)任何一級(jí)中斷處理完畢,處理完畢,CPU應(yīng)向應(yīng)
19、向8259A回送結(jié)束命令回送結(jié)束命令(EOI),以便,以便8259A將將ISR寄存器中相應(yīng)位清寄存器中相應(yīng)位清“0”,標(biāo)志一級(jí)中斷處理過程完全結(jié)束。標(biāo)志一級(jí)中斷處理過程完全結(jié)束。8259A在完全嵌套方式下,可采用以下在完全嵌套方式下,可采用以下3種中斷結(jié)束種中斷結(jié)束方式:方式:(1) 普通普通EOI方式:方式: 當(dāng)任何一級(jí)中斷服務(wù)程序結(jié)束時(shí),當(dāng)任何一級(jí)中斷服務(wù)程序結(jié)束時(shí),只給只給8259A傳送一個(gè)傳送一個(gè)EOI結(jié)束命令,結(jié)束命令,8259A收到這收到這個(gè)個(gè)EOI命令后,自動(dòng)將命令后,自動(dòng)將ISR寄存器中級(jí)別最高的置寄存器中級(jí)別最高的置“1”位清位清“0”。這種結(jié)束方式最簡(jiǎn)單,但是只有當(dāng)。這種結(jié)
20、束方式最簡(jiǎn)單,但是只有當(dāng)前結(jié)束的中斷總是尚未處理完的級(jí)別最高的中斷時(shí),前結(jié)束的中斷總是尚未處理完的級(jí)別最高的中斷時(shí),才能使用這種結(jié)束方式。這就是說,如果在中斷服才能使用這種結(jié)束方式。這就是說,如果在中斷服務(wù)程序中曾經(jīng)修改過中斷級(jí)別,則決不能采用這種務(wù)程序中曾經(jīng)修改過中斷級(jí)別,則決不能采用這種方式,否則會(huì)造成嚴(yán)重后果。方式,否則會(huì)造成嚴(yán)重后果。(2) 特殊特殊EOI方式:方式: 在普通在普通EOI方式的基礎(chǔ)上,當(dāng)中方式的基礎(chǔ)上,當(dāng)中斷服務(wù)程序結(jié)束給斷服務(wù)程序結(jié)束給8259A發(fā)出發(fā)出EOI命令的同時(shí),將命令的同時(shí),將當(dāng)前結(jié)束的中斷級(jí)別也傳送給當(dāng)前結(jié)束的中斷級(jí)別也傳送給8259A,就被稱作特,就被稱
21、作特殊殊EOI方式。這種情況下,方式。這種情況下,8259A將將ISR寄存器中寄存器中指定級(jí)別的相應(yīng)位清指定級(jí)別的相應(yīng)位清“0”,顯然這種結(jié)束方式可在,顯然這種結(jié)束方式可在任何情況下使用。任何情況下使用。(3) 自動(dòng)自動(dòng)EOI方式:方式: 任何一級(jí)中斷被響應(yīng)后,任何一級(jí)中斷被響應(yīng)后,ISR寄寄存器中相應(yīng)位置存器中相應(yīng)位置“1”,CPU將進(jìn)入中斷響應(yīng)總線周將進(jìn)入中斷響應(yīng)總線周期,在第期,在第2個(gè)中斷響應(yīng)信號(hào)個(gè)中斷響應(yīng)信號(hào)(INTA)結(jié)束時(shí),自動(dòng)將結(jié)束時(shí),自動(dòng)將ISR寄存器中相應(yīng)位清寄存器中相應(yīng)位清“0”,被稱作自動(dòng),被稱作自動(dòng)EOI方式。方式。采用這種結(jié)束方式,當(dāng)中斷服務(wù)程序結(jié)束時(shí),采用這種結(jié)束
22、方式,當(dāng)中斷服務(wù)程序結(jié)束時(shí),CPU不用向不用向8259A回送任何信息,這顯然是一種最簡(jiǎn)單回送任何信息,這顯然是一種最簡(jiǎn)單的結(jié)束方式。但是存在一個(gè)明顯的缺點(diǎn),任何的結(jié)束方式。但是存在一個(gè)明顯的缺點(diǎn),任何一級(jí)中斷在執(zhí)行中斷服務(wù)程序期間,在一級(jí)中斷在執(zhí)行中斷服務(wù)程序期間,在8259A中沒中沒有留下任何標(biāo)志,如果在此過程中出現(xiàn)了新的中斷有留下任何標(biāo)志,如果在此過程中出現(xiàn)了新的中斷請(qǐng)求,則只要當(dāng)前請(qǐng)求,則只要當(dāng)前IF=1,不管新出現(xiàn)的中斷級(jí)別如,不管新出現(xiàn)的中斷級(jí)別如何,都將打斷正在執(zhí)行的中斷服務(wù)程序而被優(yōu)先執(zhí)何,都將打斷正在執(zhí)行的中斷服務(wù)程序而被優(yōu)先執(zhí)行,這就有可能出現(xiàn)低級(jí)中斷打斷高級(jí)中斷或同級(jí)行,這
23、就有可能出現(xiàn)低級(jí)中斷打斷高級(jí)中斷或同級(jí)中斷相互打斷的不合理現(xiàn)象,通常將這種情況稱作中斷相互打斷的不合理現(xiàn)象,通常將這種情況稱作“重復(fù)嵌套重復(fù)嵌套”,重復(fù)嵌套的深度無(wú)法控制,很可能,重復(fù)嵌套的深度無(wú)法控制,很可能造成某些高級(jí)中斷得不到及時(shí)處理的情況,這顯然造成某些高級(jí)中斷得不到及時(shí)處理的情況,這顯然是不允許的,因此使用自動(dòng)是不允許的,因此使用自動(dòng)EOI方式一定要特別小方式一定要特別小心。對(duì)于一些以預(yù)定的速率發(fā)生的中斷,在肯定不心。對(duì)于一些以預(yù)定的速率發(fā)生的中斷,在肯定不會(huì)產(chǎn)生重復(fù)嵌套的情況下,采用自動(dòng)會(huì)產(chǎn)生重復(fù)嵌套的情況下,采用自動(dòng)EOI方式是最方式是最理想的。理想的。2. 自動(dòng)循環(huán)方式自動(dòng)循環(huán)
24、方式上述完全嵌套方式中,中斷請(qǐng)求上述完全嵌套方式中,中斷請(qǐng)求IR7IR0的優(yōu)先級(jí)別的優(yōu)先級(jí)別是固定不變的,使得從是固定不變的,使得從IR0引入的中斷總是具有最引入的中斷總是具有最高的優(yōu)先級(jí),其他任何中斷都有可能被它打斷,卻高的優(yōu)先級(jí),其他任何中斷都有可能被它打斷,卻無(wú)法打斷它。實(shí)際上很可能出現(xiàn)由無(wú)法打斷它。實(shí)際上很可能出現(xiàn)由IR0IR7引入的引入的各級(jí)中斷的重要性差別不大的情況,所以,希望它各級(jí)中斷的重要性差別不大的情況,所以,希望它們的中斷級(jí)別不是固定不變的,而是可以以某種策們的中斷級(jí)別不是固定不變的,而是可以以某種策略改變它們的優(yōu)先級(jí)別。自動(dòng)循環(huán)方式是改變中斷略改變它們的優(yōu)先級(jí)別。自動(dòng)循環(huán)
25、方式是改變中斷請(qǐng)求優(yōu)先級(jí)別的策略之一,其基本思想是:每當(dāng)任請(qǐng)求優(yōu)先級(jí)別的策略之一,其基本思想是:每當(dāng)任何一級(jí)中斷被處理完,它的優(yōu)先級(jí)別就被改變?yōu)樽詈我患?jí)中斷被處理完,它的優(yōu)先級(jí)別就被改變?yōu)樽畹图?jí),而將最高優(yōu)先級(jí)賦給原來比它低一級(jí)的中斷低級(jí),而將最高優(yōu)先級(jí)賦給原來比它低一級(jí)的中斷請(qǐng)求。請(qǐng)求。實(shí)現(xiàn)自動(dòng)循環(huán)方式有下面實(shí)現(xiàn)自動(dòng)循環(huán)方式有下面3種不同的做法:種不同的做法:(1) 普通普通EOI循環(huán)方式:循環(huán)方式: 當(dāng)任何一級(jí)中斷被處理完后,當(dāng)任何一級(jí)中斷被處理完后,CPU給給8259A回送普通回送普通EOI命令,命令,8259A接收到這一命令后將接收到這一命令后將ISR寄存器中優(yōu)先級(jí)最高的置寄存器中優(yōu)先
26、級(jí)最高的置“1”位清位清“0”,并賦給它最,并賦給它最低優(yōu)先級(jí),而將最高優(yōu)先級(jí)賦給原來比它低一級(jí)的中斷低優(yōu)先級(jí),而將最高優(yōu)先級(jí)賦給原來比它低一級(jí)的中斷請(qǐng)求,其他中斷請(qǐng)求的優(yōu)先級(jí)別以循環(huán)方式類推。例如,請(qǐng)求,其他中斷請(qǐng)求的優(yōu)先級(jí)別以循環(huán)方式類推。例如,某系統(tǒng)中原來定義的是某系統(tǒng)中原來定義的是IR0為最高級(jí),為最高級(jí),IR7為最低級(jí),當(dāng)為最低級(jí),當(dāng)前正在處理前正在處理IR2和和IR6引入的中斷請(qǐng)求,因此,引入的中斷請(qǐng)求,因此,ISR寄存器寄存器中第中第2位和第位和第6位置位置“1”,待第,待第2級(jí)中斷處理完,級(jí)中斷處理完,CPU向向8259A回送普通回送普通EOI命令,命令,8259A將將ISR寄
27、存器中級(jí)別高寄存器中級(jí)別高的第的第2位清位清“0”,并將其優(yōu)先級(jí)由原定義的第,并將其優(yōu)先級(jí)由原定義的第2級(jí)改變?yōu)榧?jí)改變?yōu)樽畹图?jí)最低級(jí)(第第7級(jí)級(jí)),而將最高級(jí),而將最高級(jí)(第第0級(jí)級(jí))賦給原來的第賦給原來的第3級(jí)級(jí)(ISR3),其他級(jí)的優(yōu)先權(quán)按循環(huán)方式依次改變?yōu)樾碌募?jí)別。,其他級(jí)的優(yōu)先權(quán)按循環(huán)方式依次改變?yōu)樾碌募?jí)別。待原來的待原來的6級(jí)中斷處理完后,同樣在普通級(jí)中斷處理完后,同樣在普通EOI命令控制下,命令控制下,將將ISR中的第中的第6位清位清“0”,并將其優(yōu)先級(jí)由第,并將其優(yōu)先級(jí)由第3級(jí)改變?yōu)樽罴?jí)改變?yōu)樽畹图?jí),而將最高級(jí)賦給由低級(jí),而將最高級(jí)賦給由ISR7所對(duì)應(yīng)的中斷請(qǐng)求。所對(duì)應(yīng)的中斷請(qǐng)求
28、。(2) 自動(dòng)自動(dòng)EOI循環(huán)方式:任何一級(jí)中斷響應(yīng)后,在中循環(huán)方式:任何一級(jí)中斷響應(yīng)后,在中斷響應(yīng)總線周期中,由第斷響應(yīng)總線周期中,由第2個(gè)中斷響應(yīng)信號(hào)個(gè)中斷響應(yīng)信號(hào) INTA 的后沿自動(dòng)將的后沿自動(dòng)將ISR寄存器中相應(yīng)位清寄存器中相應(yīng)位清“0”,并立即,并立即改變各級(jí)中斷的優(yōu)先級(jí)別,改變方案與上述普通改變各級(jí)中斷的優(yōu)先級(jí)別,改變方案與上述普通EOI循環(huán)方式相同。循環(huán)方式相同。采用這種自動(dòng)采用這種自動(dòng)EOI循環(huán)方式與前述的自動(dòng)循環(huán)方式與前述的自動(dòng)EOI方式一方式一樣,有可能出現(xiàn)樣,有可能出現(xiàn)“重復(fù)嵌套重復(fù)嵌套”現(xiàn)象,使用中要特別現(xiàn)象,使用中要特別小心,否則有可能造成嚴(yán)重后果。小心,否則有可能造
29、成嚴(yán)重后果。(3) 特殊特殊EOI循環(huán)方式:循環(huán)方式: 前述的普通前述的普通EOI循環(huán)和自動(dòng)循環(huán)和自動(dòng)EOI循環(huán)都是將最低優(yōu)先權(quán)賦給剛剛處理完的中斷循環(huán)都是將最低優(yōu)先權(quán)賦給剛剛處理完的中斷請(qǐng)求。特殊請(qǐng)求。特殊EOI循環(huán)方式具有更大的靈活性,它可循環(huán)方式具有更大的靈活性,它可根據(jù)用戶要求將最低優(yōu)先級(jí)賦給指定的中斷源。用根據(jù)用戶要求將最低優(yōu)先級(jí)賦給指定的中斷源。用戶可在主程序或中斷服務(wù)程序中利用置位優(yōu)先權(quán)命戶可在主程序或中斷服務(wù)程序中利用置位優(yōu)先權(quán)命令把最低優(yōu)先級(jí)賦給某一中斷源令把最低優(yōu)先級(jí)賦給某一中斷源IRi,于是最高優(yōu),于是最高優(yōu)先級(jí)便賦給先級(jí)便賦給IRi+1,其他各級(jí)按循環(huán)方式類推。例如,其
30、他各級(jí)按循環(huán)方式類推。例如,在某一時(shí)刻,在某一時(shí)刻,8259A中的中的ISR寄存器的第寄存器的第2位和第位和第6位置位置“1”,表示當(dāng)前,表示當(dāng)前CPU正在處理第正在處理第2級(jí)和第級(jí)和第6級(jí)中級(jí)中斷。它們以嵌套方式引入系統(tǒng),如果當(dāng)前斷。它們以嵌套方式引入系統(tǒng),如果當(dāng)前CPU正在正在執(zhí)行優(yōu)先級(jí)高的第執(zhí)行優(yōu)先級(jí)高的第2級(jí)中斷服務(wù)程序,用戶在該中級(jí)中斷服務(wù)程序,用戶在該中斷服務(wù)程序中安排了一條優(yōu)先權(quán)置位指令,將最低斷服務(wù)程序中安排了一條優(yōu)先權(quán)置位指令,將最低級(jí)優(yōu)先權(quán)賦給級(jí)優(yōu)先權(quán)賦給IR4,那么待這條指令執(zhí)行完畢,各,那么待這條指令執(zhí)行完畢,各中斷源的優(yōu)先級(jí)便發(fā)生變化,中斷源的優(yōu)先級(jí)便發(fā)生變化,IR4
31、具有最低優(yōu)先級(jí),具有最低優(yōu)先級(jí),IR5則具有最高優(yōu)先級(jí),但這時(shí)第則具有最高優(yōu)先級(jí),但這時(shí)第2級(jí)中斷服務(wù)程序級(jí)中斷服務(wù)程序并沒有結(jié)束,因此,并沒有結(jié)束,因此,ISR寄存器中仍保持第寄存器中仍保持第2位和位和第第6位置位置“1”,只是它們的優(yōu)先級(jí)別已經(jīng)分別被改,只是它們的優(yōu)先級(jí)別已經(jīng)分別被改變?yōu)榈谧優(yōu)榈?級(jí)和第級(jí)和第1級(jí)。級(jí)。顯然,使用了置位優(yōu)先權(quán)指令后,正在處理的中斷顯然,使用了置位優(yōu)先權(quán)指令后,正在處理的中斷不一定在尚未處理完的中斷中具有最高優(yōu)先級(jí)。上不一定在尚未處理完的中斷中具有最高優(yōu)先級(jí)。上例中,原來優(yōu)先級(jí)高的第例中,原來優(yōu)先級(jí)高的第2級(jí)現(xiàn)在變成了第級(jí)現(xiàn)在變成了第5級(jí),而級(jí),而原來的第原來
32、的第6級(jí)現(xiàn)在上升為第級(jí)現(xiàn)在上升為第1級(jí)。這種情況下當(dāng)?shù)诩?jí)。這種情況下當(dāng)?shù)?級(jí)中斷服務(wù)程序結(jié)束時(shí),不能使用普通級(jí)中斷服務(wù)程序結(jié)束時(shí),不能使用普通EOI方式,方式,而必須使用特殊而必須使用特殊EOI方式,就是說向方式,就是說向8259A發(fā)送發(fā)送IR結(jié)束命令的同時(shí),還應(yīng)將結(jié)束命令的同時(shí),還應(yīng)將IR2的當(dāng)前級(jí)別的當(dāng)前級(jí)別(第第5級(jí)級(jí))傳送給傳送給8259A,8259A才能正確地將才能正確地將ISR寄存器中的寄存器中的第第2位清位清“0”。3. 中斷屏蔽方式中斷屏蔽方式對(duì)中斷優(yōu)先級(jí)的管理還可采用中斷屏蔽方式,對(duì)中斷優(yōu)先級(jí)的管理還可采用中斷屏蔽方式,CPU在任何時(shí)候都可安排一條清除中斷標(biāo)志指令在任何時(shí)候都
33、可安排一條清除中斷標(biāo)志指令(CLI),將中斷標(biāo)志位清將中斷標(biāo)志位清“0”,從此以后,從此以后,CPU將禁止所有將禁止所有的由的由INTR端引入的可屏蔽中斷請(qǐng)求。這是由端引入的可屏蔽中斷請(qǐng)求。這是由CPU自己完成的中斷屏蔽功能,它只能對(duì)所有的可屏蔽自己完成的中斷屏蔽功能,它只能對(duì)所有的可屏蔽中斷一起進(jìn)行屏蔽,而無(wú)法有選擇地對(duì)某一級(jí)或幾中斷一起進(jìn)行屏蔽,而無(wú)法有選擇地對(duì)某一級(jí)或幾級(jí)中斷進(jìn)行屏蔽。這種屏蔽操作可由級(jí)中斷進(jìn)行屏蔽。這種屏蔽操作可由8259A通過中通過中斷屏蔽寄存器來實(shí)現(xiàn),有兩種實(shí)現(xiàn)方式:斷屏蔽寄存器來實(shí)現(xiàn),有兩種實(shí)現(xiàn)方式:(1) 普通屏蔽方式:普通屏蔽方式: 將中斷屏蔽寄存器將中斷屏蔽
34、寄存器IMR中的某一中的某一位或某幾位置位或某幾位置“1”,即可將相應(yīng)級(jí)的中斷請(qǐng)求屏蔽,即可將相應(yīng)級(jí)的中斷請(qǐng)求屏蔽掉。這種屏蔽方式可在兩種情況下使用。其一是當(dāng)?shù)?。這種屏蔽方式可在兩種情況下使用。其一是當(dāng)CPU在執(zhí)行主程序時(shí),要求禁止響應(yīng)某級(jí)或某幾級(jí)在執(zhí)行主程序時(shí),要求禁止響應(yīng)某級(jí)或某幾級(jí)中斷時(shí),可在主程序中將中斷時(shí),可在主程序中將IMR寄存器的相應(yīng)位置寄存器的相應(yīng)位置“1”;其二是;其二是CPU在處理某級(jí)中斷過程中,要求禁在處理某級(jí)中斷過程中,要求禁止級(jí)別比它高的某一級(jí)或某幾級(jí)中斷時(shí),可在中斷止級(jí)別比它高的某一級(jí)或某幾級(jí)中斷時(shí),可在中斷服務(wù)程序中將服務(wù)程序中將IMR寄存器的相應(yīng)位置寄存器的相應(yīng)
35、位置“1”,這樣所,這樣所實(shí)現(xiàn)的稱作普通屏蔽方式。實(shí)現(xiàn)的稱作普通屏蔽方式。(2) 特殊屏蔽方式:特殊屏蔽方式: 當(dāng)當(dāng)CPU正在處理某級(jí)中斷時(shí),要正在處理某級(jí)中斷時(shí),要求僅對(duì)本級(jí)中斷進(jìn)行屏蔽,而允許其他優(yōu)先級(jí)比它求僅對(duì)本級(jí)中斷進(jìn)行屏蔽,而允許其他優(yōu)先級(jí)比它高或低的中斷進(jìn)入系統(tǒng),這被稱作特殊屏蔽方式。高或低的中斷進(jìn)入系統(tǒng),這被稱作特殊屏蔽方式。對(duì)對(duì)8259A進(jìn)行初始化時(shí),可利用控制寄存器的進(jìn)行初始化時(shí),可利用控制寄存器的SMM位的置位來使位的置位來使8259A進(jìn)入這種特殊屏蔽方式。進(jìn)入這種特殊屏蔽方式。例如,若當(dāng)前正在執(zhí)行例如,若當(dāng)前正在執(zhí)行IR3的中斷服務(wù)程序,希望的中斷服務(wù)程序,希望進(jìn)入特殊屏
36、蔽方式時(shí),只需在進(jìn)入特殊屏蔽方式時(shí),只需在STI指令后,將指令后,將IMR寄存器的第寄存器的第3位置位置“1”,并將控制寄存器的,并將控制寄存器的SMM位位置置“1”,標(biāo)志,標(biāo)志8259A已進(jìn)入特殊屏蔽方式。此后,已進(jìn)入特殊屏蔽方式。此后,除除IR3之外,其他任何級(jí)的中斷均可進(jìn)入,待之外,其他任何級(jí)的中斷均可進(jìn)入,待IR3的的中斷服務(wù)程序結(jié)束時(shí),應(yīng)將中斷服務(wù)程序結(jié)束時(shí),應(yīng)將IMR寄存器的第寄存器的第3位復(fù)位復(fù)位,并將位,并將SMM位復(fù)位,標(biāo)志退出特殊屏蔽方式,位復(fù)位,標(biāo)志退出特殊屏蔽方式,然后利用特殊然后利用特殊EOI方式,由方式,由8259A將將ISR寄存器的寄存器的第第3位清位清“0”。9
37、.1.3 8259A芯片的級(jí)聯(lián)使用芯片的級(jí)聯(lián)使用一片一片8259A芯片只能管理芯片只能管理8級(jí)中斷,在多于級(jí)中斷,在多于8級(jí)中級(jí)中斷的系統(tǒng)中,必須將多片斷的系統(tǒng)中,必須將多片8259A級(jí)聯(lián)使用。級(jí)聯(lián)使用。最簡(jiǎn)單的級(jí)聯(lián)方式為兩級(jí),第最簡(jiǎn)單的級(jí)聯(lián)方式為兩級(jí),第1級(jí)只需一片級(jí)只需一片8259A用作主片,第用作主片,第2級(jí)可接級(jí)可接18片片8259A用作從片,用作從片,如圖如圖9.5所示。所示。圖圖9.5兩級(jí)級(jí)聯(lián)情況下可管理的中斷源最多為兩級(jí)級(jí)聯(lián)情況下可管理的中斷源最多為64級(jí),如果級(jí),如果還要增多中斷源數(shù)量,可進(jìn)一步擴(kuò)展為多級(jí)級(jí)聯(lián)。還要增多中斷源數(shù)量,可進(jìn)一步擴(kuò)展為多級(jí)級(jí)聯(lián)。8259A級(jí)聯(lián)使用時(shí),主
38、級(jí)聯(lián)使用時(shí),主8259A上沒有連接從上沒有連接從8259A的的IRi端,可直接與中斷源相連。這種方式下,對(duì)端,可直接與中斷源相連。這種方式下,對(duì)8259A初始化時(shí),應(yīng)使用支持級(jí)聯(lián)方式的控制字進(jìn)初始化時(shí),應(yīng)使用支持級(jí)聯(lián)方式的控制字進(jìn)行定義。在行定義。在8259A級(jí)聯(lián)系統(tǒng)中,某一片從級(jí)聯(lián)系統(tǒng)中,某一片從8259A的的IRi端接收到一個(gè)或多個(gè)中斷請(qǐng)求信號(hào)時(shí),經(jīng)過判端接收到一個(gè)或多個(gè)中斷請(qǐng)求信號(hào)時(shí),經(jīng)過判優(yōu)可確定當(dāng)前的最高級(jí)中斷得到響應(yīng),并通過優(yōu)可確定當(dāng)前的最高級(jí)中斷得到響應(yīng),并通過INT向主向主8259A發(fā)出請(qǐng)求;經(jīng)主發(fā)出請(qǐng)求;經(jīng)主8259A再次判優(yōu)確認(rèn)是再次判優(yōu)確認(rèn)是當(dāng)前最高級(jí)中斷時(shí),向當(dāng)前最高級(jí)
39、中斷時(shí),向CPU發(fā)出中斷請(qǐng)求信號(hào)發(fā)出中斷請(qǐng)求信號(hào)INT,以后的過程與單級(jí)使用時(shí)類似。對(duì)以后的過程與單級(jí)使用時(shí)類似。對(duì)CPU來說,來說,8259A的單級(jí)使用和級(jí)聯(lián)使用區(qū)別不大。的單級(jí)使用和級(jí)聯(lián)使用區(qū)別不大。8259A在級(jí)聯(lián)使用方式下的中斷響應(yīng)總線周期時(shí)序圖在級(jí)聯(lián)使用方式下的中斷響應(yīng)總線周期時(shí)序圖如圖如圖9.6所示。第所示。第1個(gè)個(gè)INTA有效時(shí),主有效時(shí),主8259A將級(jí)聯(lián)將級(jí)聯(lián)地址從地址從CAS2CAS0 3端輸出給所有的從端輸出給所有的從8259A芯片,芯片,到第到第2個(gè)個(gè)INTA有效時(shí),與主有效時(shí),與主8259A發(fā)出的級(jí)聯(lián)地址發(fā)出的級(jí)聯(lián)地址相符的從相符的從8259A將向?qū)⑾駽PU送出當(dāng)前的
40、中斷類型碼送出當(dāng)前的中斷類型碼n,以后的操作過程與單級(jí)使用時(shí)相同。以后的操作過程與單級(jí)使用時(shí)相同。圖圖9.6當(dāng)從當(dāng)從8259A引入的中斷處理過程結(jié)束時(shí),引入的中斷處理過程結(jié)束時(shí),CPU應(yīng)能送應(yīng)能送出兩個(gè)出兩個(gè)EOI結(jié)束命令,一個(gè)送給主結(jié)束命令,一個(gè)送給主8259A,用來將,用來將主主8259A中的中的ISR寄存器的相應(yīng)位清寄存器的相應(yīng)位清“0”;另一個(gè);另一個(gè)送給從送給從8259A,用來將從,用來將從8259A中的中的ISR寄存器相應(yīng)寄存器相應(yīng)位清位清“0”,才標(biāo)志一次中斷處理過程的結(jié)束。,才標(biāo)志一次中斷處理過程的結(jié)束。某系統(tǒng)中某系統(tǒng)中8086 CPU工作在最小模式,中斷系統(tǒng)由一工作在最小模式
41、,中斷系統(tǒng)由一片主片主8259A、2片從片從8259A構(gòu)成級(jí)聯(lián)方式工作,其系構(gòu)成級(jí)聯(lián)方式工作,其系統(tǒng)連接如圖統(tǒng)連接如圖9.7所示。所示。圖圖9.7整個(gè)系統(tǒng)最多可引入整個(gè)系統(tǒng)最多可引入22級(jí)中斷請(qǐng)求信號(hào),級(jí)中斷請(qǐng)求信號(hào),1從從8259A引入的引入的8級(jí)中斷通過主級(jí)中斷通過主8259A的的IR6端引入,端引入,2從從8259A引入的引入的8級(jí)中斷通過主級(jí)中斷通過主8259A的的IR4端引端引入,主入,主8259A上其他的上其他的6個(gè)個(gè)IRi端可直接引入其他中端可直接引入其他中斷請(qǐng)求。如果初始化時(shí)將它們定義為完全嵌套方式,斷請(qǐng)求。如果初始化時(shí)將它們定義為完全嵌套方式,意味著意味著2從從8259A引入
42、的中斷請(qǐng)求優(yōu)先級(jí)別高于引入的中斷請(qǐng)求優(yōu)先級(jí)別高于1從從8259A引入的中斷請(qǐng)求,它們由主引入的中斷請(qǐng)求,它們由主8259A完成完成判優(yōu)功能后才能引入系統(tǒng)。判優(yōu)功能后才能引入系統(tǒng)。假定在某一時(shí)刻,假定在某一時(shí)刻,1從從8259A的的IR7端接收到一個(gè)中端接收到一個(gè)中斷請(qǐng)求,經(jīng)斷請(qǐng)求,經(jīng)1從從8259A判優(yōu)后決定響應(yīng)這一中斷判優(yōu)后決定響應(yīng)這一中斷請(qǐng)求,將請(qǐng)求,將ISR寄存器中第寄存器中第7位置位置“1”,于是通過,于是通過INT向主向主8259A的的IR6端發(fā)出請(qǐng)求,經(jīng)主端發(fā)出請(qǐng)求,經(jīng)主8259A再次判優(yōu),再次判優(yōu),決定響應(yīng)這一請(qǐng)求時(shí),才將主決定響應(yīng)這一請(qǐng)求時(shí),才將主8259A中中ISR寄存器的第
43、寄存器的第6位置位置“1”,CPU將從中斷入口地將從中斷入口地址表中得到相應(yīng)的入口地址,轉(zhuǎn)去執(zhí)行中斷服務(wù)程址表中得到相應(yīng)的入口地址,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。如果在執(zhí)行該中斷服務(wù)程序過程中,序。如果在執(zhí)行該中斷服務(wù)程序過程中,1從從8259A的的IR0端接收到一個(gè)新的中斷請(qǐng)求。根據(jù)中端接收到一個(gè)新的中斷請(qǐng)求。根據(jù)中斷嵌套原則,在斷嵌套原則,在1從從8259A中中IR0優(yōu)先級(jí)別高于優(yōu)先級(jí)別高于IR7,應(yīng)該允許新的中斷請(qǐng)求進(jìn)入,將應(yīng)該允許新的中斷請(qǐng)求進(jìn)入,將ISR寄存器中第寄存器中第0位置位置“1”,并通過,并通過INT向主向主8259A的的IR6端再次發(fā)出端再次發(fā)出請(qǐng)求。但這時(shí)由于主請(qǐng)求。但這時(shí)由于
44、主8259A中中ISR寄存器的第寄存器的第6位早位早已置已置“1”,不允許這一級(jí)中斷再進(jìn)入,這便造成,不允許這一級(jí)中斷再進(jìn)入,這便造成1從從8259A不能按完全嵌套方式工作,這顯然是不不能按完全嵌套方式工作,這顯然是不合理的。為此,需要采取特殊措施來解決這個(gè)問題。合理的。為此,需要采取特殊措施來解決這個(gè)問題。一種可取的方式被稱作特殊完全嵌套方式,它只在一種可取的方式被稱作特殊完全嵌套方式,它只在級(jí)聯(lián)方式下有效。當(dāng)中斷系統(tǒng)工作在級(jí)聯(lián)方式,對(duì)級(jí)聯(lián)方式下有效。當(dāng)中斷系統(tǒng)工作在級(jí)聯(lián)方式,對(duì)主主8259A初始化時(shí),應(yīng)將它定義為特殊完全嵌套方初始化時(shí),應(yīng)將它定義為特殊完全嵌套方式。式。采用特殊完全嵌套方式
45、的中斷級(jí)聯(lián)系統(tǒng)中,任一個(gè)采用特殊完全嵌套方式的中斷級(jí)聯(lián)系統(tǒng)中,任一個(gè)從從8259A接收到一個(gè)中斷請(qǐng)求經(jīng)判優(yōu)確定為當(dāng)前最接收到一個(gè)中斷請(qǐng)求經(jīng)判優(yōu)確定為當(dāng)前最高優(yōu)先級(jí)應(yīng)該響應(yīng)這一中斷請(qǐng)求時(shí),立即通過高優(yōu)先級(jí)應(yīng)該響應(yīng)這一中斷請(qǐng)求時(shí),立即通過INT端向主端向主8259的相應(yīng)的相應(yīng)IRi端提出請(qǐng)求。如果這時(shí)主端提出請(qǐng)求。如果這時(shí)主8259A中中ISR寄存器的相應(yīng)位已經(jīng)置寄存器的相應(yīng)位已經(jīng)置“1”,說明當(dāng),說明當(dāng)前在同一個(gè)從前在同一個(gè)從8259A中接收到了比原先更高級(jí)的中中接收到了比原先更高級(jí)的中斷請(qǐng)求,主斷請(qǐng)求,主8259A應(yīng)允許它進(jìn)入;只要它是當(dāng)前主應(yīng)允許它進(jìn)入;只要它是當(dāng)前主8259A中最高級(jí)的中斷
46、請(qǐng)求,就應(yīng)通過中最高級(jí)的中斷請(qǐng)求,就應(yīng)通過INT向向CPU發(fā)出新的中斷請(qǐng)求,發(fā)出新的中斷請(qǐng)求,CPU將打斷原來的中斷服務(wù)程將打斷原來的中斷服務(wù)程序而優(yōu)先處理這一中斷請(qǐng)求,轉(zhuǎn)去執(zhí)行相應(yīng)的中斷序而優(yōu)先處理這一中斷請(qǐng)求,轉(zhuǎn)去執(zhí)行相應(yīng)的中斷服務(wù)程序,以保證任一從服務(wù)程序,以保證任一從8259A控制器能按完全嵌控制器能按完全嵌套方式正常操作。套方式正常操作。上述情況下,當(dāng)上述情況下,當(dāng)1號(hào)從號(hào)從8259A從從IR7端接收到中斷請(qǐng)端接收到中斷請(qǐng)求時(shí),中斷請(qǐng)求寄存器求時(shí),中斷請(qǐng)求寄存器IRR將被置成如下狀態(tài):將被置成如下狀態(tài): 7 0IRR10000000(#1號(hào)從號(hào)從8259A)經(jīng)判優(yōu)線路確定為當(dāng)前經(jīng)判優(yōu)
47、線路確定為當(dāng)前#1號(hào)從號(hào)從8259A中最高優(yōu)先級(jí)時(shí),中最高優(yōu)先級(jí)時(shí),將將ISR寄存器置成如下狀態(tài):寄存器置成如下狀態(tài):7 0 ISR10000000(#1號(hào)從號(hào)從8259A)然后將然后將IRR寄存器復(fù)位為全寄存器復(fù)位為全“0”,并通過,并通過INT向主向主8259A的的IR6端發(fā)出請(qǐng)求,將主端發(fā)出請(qǐng)求,將主8259A中的中的IRR寄存寄存器置成如下狀態(tài):器置成如下狀態(tài):7 0IRR01000000(主主8259A)經(jīng)主經(jīng)主8259A判優(yōu)確定為當(dāng)前主判優(yōu)確定為當(dāng)前主8259A中最高優(yōu)先級(jí)時(shí),中最高優(yōu)先級(jí)時(shí),將將ISR寄存器置成如下狀態(tài):寄存器置成如下狀態(tài):7 0 ISR01000000(主主82
48、59A)然后將然后將IRR寄存器復(fù)位為全寄存器復(fù)位為全“0”,并通過,并通過INT向向CPU發(fā)出中斷請(qǐng)求信號(hào)發(fā)出中斷請(qǐng)求信號(hào)INTR。待待CPU執(zhí)行完當(dāng)前指令訪問到執(zhí)行完當(dāng)前指令訪問到INTR有效時(shí)暫停執(zhí)行有效時(shí)暫停執(zhí)行下條指令進(jìn)入中斷響應(yīng)總線周期,獲得中斷類型碼下條指令進(jìn)入中斷響應(yīng)總線周期,獲得中斷類型碼后,可轉(zhuǎn)去執(zhí)行相應(yīng)中斷服務(wù)程序。后,可轉(zhuǎn)去執(zhí)行相應(yīng)中斷服務(wù)程序。在在CPU執(zhí)行上述中斷服務(wù)程序過程中執(zhí)行上述中斷服務(wù)程序過程中#1從從8259A從從IR0端接收到一個(gè)新的中斷請(qǐng)求,端接收到一個(gè)新的中斷請(qǐng)求,IRR寄存器被置寄存器被置成如下狀態(tài):成如下狀態(tài):7 0 ISR00000001(#1
49、號(hào)從號(hào)從8259A)經(jīng)判優(yōu)線路與正在服務(wù)的中斷請(qǐng)求經(jīng)判優(yōu)線路與正在服務(wù)的中斷請(qǐng)求IR7比較它具有更比較它具有更高的優(yōu)先級(jí),應(yīng)允許它進(jìn)入系統(tǒng)而被優(yōu)先處理,于高的優(yōu)先級(jí),應(yīng)允許它進(jìn)入系統(tǒng)而被優(yōu)先處理,于是將是將ISR寄存器置成如下狀態(tài):寄存器置成如下狀態(tài):7 0 ISR10000001(#1號(hào)從號(hào)從8259A)然后將然后將IRR寄存器復(fù)位為全寄存器復(fù)位為全“0”,并通過,并通過INT再次向再次向主主8259A的的IR6端發(fā)出請(qǐng)求,由于采用特殊完全嵌端發(fā)出請(qǐng)求,由于采用特殊完全嵌套方式,主套方式,主8259A將允許新的中斷請(qǐng)求參加判優(yōu),將允許新的中斷請(qǐng)求參加判優(yōu),當(dāng)確定為當(dāng)前最高優(yōu)先級(jí)時(shí),保持當(dāng)確定
50、為當(dāng)前最高優(yōu)先級(jí)時(shí),保持ISR寄存器的狀寄存器的狀態(tài)不變,如下所示:態(tài)不變,如下所示:7 0 ISR01000000(主主8259A)并再次向并再次向CPU發(fā)出中斷請(qǐng)求發(fā)出中斷請(qǐng)求INT,CPU將暫停執(zhí)行原將暫停執(zhí)行原來的中斷服務(wù)程序而轉(zhuǎn)去執(zhí)行新的更高級(jí)的中斷服來的中斷服務(wù)程序而轉(zhuǎn)去執(zhí)行新的更高級(jí)的中斷服務(wù)程序,實(shí)現(xiàn)在級(jí)聯(lián)方式下的完全嵌套過程。務(wù)程序,實(shí)現(xiàn)在級(jí)聯(lián)方式下的完全嵌套過程。9.1.4 8259A芯片的控制字及其工作方式芯片的控制字及其工作方式可編程中斷控制器可編程中斷控制器8259A的初始化操作可明確地分成的初始化操作可明確地分成兩個(gè)部分,首先要通過預(yù)置命令字兩個(gè)部分,首先要通過預(yù)置
51、命令字(ICWi)對(duì)對(duì)8259A進(jìn)行初始化,然后進(jìn)行初始化,然后8259A將自動(dòng)進(jìn)入操作模式??蓪⒆詣?dòng)進(jìn)入操作模式??稍谠?259A操作過程中通過操作命令字操作過程中通過操作命令字(OCWi)來定來定義義8259A的操作方式,而且在的操作方式,而且在8259A的操作過程中的操作過程中允許重置操作命令字,以動(dòng)態(tài)地改變?cè)试S重置操作命令字,以動(dòng)態(tài)地改變8259A的操作的操作與控制方式。與控制方式。每片每片8259A包含兩個(gè)內(nèi)部端口地址,一個(gè)偶地址端口包含兩個(gè)內(nèi)部端口地址,一個(gè)偶地址端口(A0=0),一個(gè)奇地址端口,一個(gè)奇地址端口(A01),其他高位地址碼由,其他高位地址碼由用戶定義,用來作為用戶定義
52、,用來作為8259A的片選信號(hào)的片選信號(hào)(CS)。1. 預(yù)置命令字預(yù)置命令字8259A的預(yù)置命令字共的預(yù)置命令字共4個(gè)個(gè)(ICW1ICW4)。不是。不是任何情況下都需要設(shè)置個(gè)預(yù)置命令字,可根任何情況下都需要設(shè)置個(gè)預(yù)置命令字,可根據(jù)據(jù)8259A的使用情況來選取,它們的設(shè)置流程的使用情況來選取,它們的設(shè)置流程如圖如圖9.8所示。所示。圖圖9.8從圖從圖9.9中可看出,中可看出,ICW1和和ICW2是必須的,是必須的,ICW3是是級(jí)聯(lián)使用時(shí)才需要設(shè)置,級(jí)聯(lián)使用時(shí)才需要設(shè)置,ICW4是在是在8086/8088-8259A配置系統(tǒng)中需要設(shè)置。配置系統(tǒng)中需要設(shè)置。(1) ICW1具體格式如圖具體格式如圖9
53、.9所示。所示。圖圖9.9端口地址為偶地址端口地址為偶地址(A0=0),D4表示當(dāng)前寫入表示當(dāng)前寫入8259A的的是預(yù)置命令字是預(yù)置命令字ICW1。IC4位用來說明是否需要設(shè)置位用來說明是否需要設(shè)置1CW4,對(duì)于,對(duì)于8086/8088系統(tǒng)系統(tǒng)中使用的中使用的8259A,IC4位恒置位恒置1,需要設(shè)置,需要設(shè)置ICW4來對(duì)來對(duì)8259A進(jìn)行初始化。進(jìn)行初始化。SNGL位用來說明中斷系統(tǒng)中是一片位用來說明中斷系統(tǒng)中是一片8259A單獨(dú)使用,還單獨(dú)使用,還是多片是多片8259A級(jí)聯(lián)使用。單級(jí)使用時(shí)應(yīng)將級(jí)聯(lián)使用。單級(jí)使用時(shí)應(yīng)將SNGL位置位置“1”。ADI位對(duì)位對(duì)8086/8088系統(tǒng)無(wú)效。系統(tǒng)無(wú)效
54、。LTIM位用來定義中斷請(qǐng)求信號(hào)的觸發(fā)方式。位用來定義中斷請(qǐng)求信號(hào)的觸發(fā)方式。LTIM=1時(shí),時(shí),表示表示IRi端上出現(xiàn)高電平為有效,端上出現(xiàn)高電平為有效,LTIM=0時(shí),表示時(shí),表示IRi端出現(xiàn)由低電平向高電平的正跳變沿為有效。端出現(xiàn)由低電平向高電平的正跳變沿為有效。(2) ICW2具體格式如圖具體格式如圖9.10所示。所示。圖圖9.10緊跟在緊跟在ICW1之后,端口地址為奇地址之后,端口地址為奇地址(A0=1)表示當(dāng)表示當(dāng)前寫入前寫入8259A的是預(yù)置命令字的是預(yù)置命令字ICW2,由它定義中斷,由它定義中斷類型碼的高類型碼的高5位。低位。低3位取決于當(dāng)前的中斷請(qǐng)求是由位取決于當(dāng)前的中斷請(qǐng)求
55、是由IR7IR0中哪一個(gè)端輸入。由此可確定當(dāng)前中斷請(qǐng)中哪一個(gè)端輸入。由此可確定當(dāng)前中斷請(qǐng)求的中斷類型碼。求的中斷類型碼。(3) ICW3只對(duì)級(jí)聯(lián)方式有效,端口地址為奇地址。對(duì)只對(duì)級(jí)聯(lián)方式有效,端口地址為奇地址。對(duì)于主于主8259A,使用格式如圖,使用格式如圖9.11(a)所示,對(duì)于從所示,對(duì)于從8259A的使用格式如圖的使用格式如圖9.11(b)所示。所示。圖圖9.11ID2ID0用來表明該從用來表明該從8259A是接在主是接在主8259A的哪個(gè)的哪個(gè)IR端上,例如某片從端上,例如某片從8259A的的ID2ID1ID0=100,則,則表示該從表示該從8259A是接在主是接在主8259A的的IR
56、4端上。端上。(4) ICW4對(duì)于對(duì)于8086/8088系統(tǒng)是必須設(shè)置的預(yù)置命令系統(tǒng)是必須設(shè)置的預(yù)置命令字,其具體格式如圖字,其具體格式如圖9.12所示。所示。圖圖9.12端口地址為奇地址端口地址為奇地址(A0=1),PM位對(duì)于位對(duì)于8086/8088系系統(tǒng)配置來說恒置統(tǒng)配置來說恒置“1”,AEOI用來定義是否采用自用來定義是否采用自動(dòng)動(dòng)EOI方式,方式,SFNM用來定義在級(jí)聯(lián)方式下是否采用來定義在級(jí)聯(lián)方式下是否采用特殊完全嵌套方式,在單級(jí)使用方式下用特殊完全嵌套方式,在單級(jí)使用方式下SFNM位位無(wú)效。無(wú)效。BUF位用來表明位用來表明8259A是否采用緩沖方式,如果是否采用緩沖方式,如果BUF
57、位為位為1,表示采用緩沖方式,這時(shí)雙功能信號(hào)線,表示采用緩沖方式,這時(shí)雙功能信號(hào)線 EN 有效。有效。EN=0,表示允許緩沖存儲(chǔ)器輸出,表示允許緩沖存儲(chǔ)器輸出,EN=1,表示允許緩沖存儲(chǔ)器輸入。這種情況下由表示允許緩沖存儲(chǔ)器輸入。這種情況下由M/S位定位定義主從關(guān)系。義主從關(guān)系。M/S=1,表示該片是主,表示該片是主8259A,M/S=0,表示該片是從,表示該片是從8259A。如果。如果BUF位為位為0,表,表示不采用緩沖方式,這時(shí)雙功能信號(hào)線示不采用緩沖方式,這時(shí)雙功能信號(hào)線 SP有效,有效,SP=0表示該片是從表示該片是從8259A,SP=1,表示是主,表示是主8259A,這種情況下這種情
58、況下M/S位無(wú)效。位無(wú)效。當(dāng)當(dāng)8086系統(tǒng)中系統(tǒng)中8259A單級(jí)使用,其端口地址為單級(jí)使用,其端口地址為80H和和81H,可用下面的初始化程序段來寫入預(yù)置命令字,可用下面的初始化程序段來寫入預(yù)置命令字ICW1ICW4:MOV AL,13H定義定義ICW1OUT 80H,AL;MOV AL,18H定義定義ICW2OUT 81H,AL;MOV AL,01H定義定義ICW4OUT 81H,AL;所設(shè)定的預(yù)置命令字具體格式及含義如圖所設(shè)定的預(yù)置命令字具體格式及含義如圖9.13所示。所示。由由ICW2可確定該可確定該8259A引入的引入的8級(jí)中斷的中斷類型碼級(jí)中斷的中斷類型碼為為18H1FH。2. 操作
59、命令字操作命令字8259A經(jīng)經(jīng)ICWi預(yù)置后已進(jìn)入初始化狀態(tài),可接收來預(yù)置后已進(jìn)入初始化狀態(tài),可接收來自自IRi端的中斷請(qǐng)求。自動(dòng)進(jìn)入操作命令狀態(tài),準(zhǔn)端的中斷請(qǐng)求。自動(dòng)進(jìn)入操作命令狀態(tài),準(zhǔn)備接收備接收CPU寫入寫入8259A的操作命令字的操作命令字OCWi。(1) OCW1用來實(shí)現(xiàn)中斷屏蔽功能,其端口地址為奇用來實(shí)現(xiàn)中斷屏蔽功能,其端口地址為奇地址地址(A01),OCW1內(nèi)容被直接置入中斷屏蔽寄存內(nèi)容被直接置入中斷屏蔽寄存器器IMR中,其格式如下:中,其格式如下:A0 7 01M7 M6 M5 M4 M3 M2 M1 M0Mi= 1:屏蔽由屏蔽由IRi引入的中斷請(qǐng)求引入的中斷請(qǐng)求 0:允許允許
60、IRi端中斷請(qǐng)求進(jìn)入端中斷請(qǐng)求進(jìn)入圖圖9.13(2) OCW2用來定義中斷結(jié)束方式,其端口地址為偶用來定義中斷結(jié)束方式,其端口地址為偶地址地址(A0=0),其格式如圖,其格式如圖9.14所示。所示。圖圖9.14由由R,SL,EOI 3位編碼可定義多種不同的中斷結(jié)束位編碼可定義多種不同的中斷結(jié)束方式或發(fā)出置位優(yōu)先權(quán)命令。方式或發(fā)出置位優(yōu)先權(quán)命令。當(dāng)當(dāng)3位編碼為位編碼為“001”,則定義,則定義8259A采用普通采用普通EOI結(jié)結(jié)束方式,一旦中斷服務(wù)程序結(jié)束,將給束方式,一旦中斷服務(wù)程序結(jié)束,將給8259A送出送出EOI結(jié)束命令,結(jié)束命令,8259A將將ISR寄存器中當(dāng)前級(jí)別最寄存器中當(dāng)前級(jí)別最高
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 西葫蘆的種植課程設(shè)計(jì)
- 認(rèn)識(shí)電吉他教學(xué)課程設(shè)計(jì)
- 兩人開店合同范例
- 橋梁道路咨詢合同范例
- 工程購(gòu)銷合同范例表格
- 精裝房公寓合同范例
- 泡菜工廠采購(gòu)合同范例
- 全新承包工地食堂協(xié)議書3篇
- 合同錄入系統(tǒng)流程3篇
- 倉(cāng)儲(chǔ)互誠(chéng)合同協(xié)議示范3篇
- GB/T 44916-2024船舶和海上技術(shù)船用超低溫閘閥設(shè)計(jì)與試驗(yàn)要求
- 夢(mèng)想在路上 高二上學(xué)期期中家長(zhǎng)會(huì)
- 安徽省合肥市包河區(qū)2023-2024學(xué)年三年級(jí)上學(xué)期語(yǔ)文期末試卷
- 【MOOC】新媒體文化十二講-暨南大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 無(wú)人機(jī)制造關(guān)鍵技術(shù)-洞察分析
- 2024-2025學(xué)年二年級(jí)數(shù)學(xué)上冊(cè)期末樂考非紙筆測(cè)試題(二 )(蘇教版)
- 2024年度智能制造生產(chǎn)線改造項(xiàng)目合同
- 2024年度食堂檔口承包合同(含菜品研發(fā))3篇
- DB32T 4578.2-2023 丙型病毒性肝炎防治技術(shù)指南 第2部分:患者管理
- 護(hù)理輪科心得
- 倉(cāng)庫(kù)安全培訓(xùn)
評(píng)論
0/150
提交評(píng)論