第7章中斷與定時技術(shù)系統(tǒng)_第1頁
第7章中斷與定時技術(shù)系統(tǒng)_第2頁
第7章中斷與定時技術(shù)系統(tǒng)_第3頁
第7章中斷與定時技術(shù)系統(tǒng)_第4頁
第7章中斷與定時技術(shù)系統(tǒng)_第5頁
已閱讀5頁,還剩138頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心1. 中斷的基本概念中斷的基本概念2. 8086的中斷系統(tǒng)的中斷系統(tǒng)3. 可編程中斷控制器可編程中斷控制器82594. 8259的應(yīng)用舉例的應(yīng)用舉例5. 硬件中斷服務(wù)程序的編寫硬件中斷服務(wù)程序的編寫6. 定時與計數(shù)技術(shù)定時與計數(shù)技術(shù) 計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心 軟中斷軟中斷u是用軟中斷指令來激活的是用軟中斷指令來激活的 硬中斷硬中斷u中斷的產(chǎn)生具有隨機(jī)性,改變程序的執(zhí)行順序中斷的產(chǎn)生具有隨機(jī)性,改變程序的執(zhí)行順序主程序主程序中斷服務(wù)程序中斷服務(wù)程序外設(shè)接口中斷請求中斷請求中斷響應(yīng)中斷響應(yīng)中斷服務(wù)中斷服務(wù)完成完成I/OI/O保護(hù)現(xiàn)

2、場保護(hù)現(xiàn)場恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心內(nèi)部中斷源內(nèi)部中斷源u指令中斷指令中斷u出錯中斷出錯中斷u調(diào)試中斷調(diào)試中斷外部中斷源外部中斷源u可屏蔽中斷可屏蔽中斷u非屏蔽中斷非屏蔽中斷計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心什么是中斷識別什么是中斷識別?uCPU管理多個中斷源時,在收到中斷源發(fā)出的中斷管理多個中斷源時,在收到中斷源發(fā)出的中斷請求后,需判斷是哪一個中斷源提出的中斷請求,請求后,需判斷是哪一個中斷源提出的中斷請求,以便對它進(jìn)行服務(wù)(或處理)以便對它進(jìn)行服務(wù)(或處理)中斷識別的方法中斷識別的方法u查詢中斷法查詢中斷法u向量中斷法向量中斷法計算機(jī)學(xué)院計算

3、機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心 CPU響應(yīng)中斷后,轉(zhuǎn)入執(zhí)行一特定地址的中斷響應(yīng)中斷后,轉(zhuǎn)入執(zhí)行一特定地址的中斷服務(wù)程序,該中斷服務(wù)程序查詢狀態(tài)口,確定服務(wù)程序,該中斷服務(wù)程序查詢狀態(tài)口,確定發(fā)出中斷請求的外設(shè),然后進(jìn)行相應(yīng)的處理。發(fā)出中斷請求的外設(shè),然后進(jìn)行相應(yīng)的處理。CPUCPUINTRINTR狀態(tài)狀態(tài)端口端口狀態(tài)信號狀態(tài)信號Data BusData Bus外設(shè)外設(shè)外設(shè)外設(shè)計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心 外設(shè)的中斷優(yōu)先級由查詢的次序決定外設(shè)的中斷優(yōu)先級由查詢的次序決定查詢各外設(shè)對查詢各外設(shè)對應(yīng)的狀態(tài)位應(yīng)的狀態(tài)位外設(shè)外設(shè)1 1的中斷的中斷處理處理外設(shè)外設(shè)2 2的中斷的中斷處理

4、處理外設(shè)外設(shè)1 1中斷中斷外設(shè)外設(shè)2 2中斷中斷主程序主程序中斷服務(wù)程序中斷服務(wù)程序無狀態(tài)位置無狀態(tài)位置位位計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心 多個外設(shè)經(jīng)中斷控制器向多個外設(shè)經(jīng)中斷控制器向CPU提出中斷請求,提出中斷請求,CPU響響應(yīng)中斷發(fā)出應(yīng)中斷發(fā)出INTA信號,中斷控制器將相應(yīng)的中斷向信號,中斷控制器將相應(yīng)的中斷向量號(中斷類型號)放在數(shù)據(jù)總線上,量號(中斷類型號)放在數(shù)據(jù)總線上,CPU讀取后,讀取后,即可確定中斷源,查中斷向量表進(jìn)行相應(yīng)處理。即可確定中斷源,查中斷向量表進(jìn)行相應(yīng)處理。CPUCPUINTRINTR中斷中斷控制控制器器狀態(tài)信號狀態(tài)信號Data BusData Bu

5、s外設(shè)2外設(shè)2外設(shè)1外設(shè)1INTAINTA中斷向量中斷向量中斷請求中斷請求計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心 中斷向量表中斷向量表u由若干中斷服務(wù)程序入口地址組成的表由若干中斷服務(wù)程序入口地址組成的表u例:例:X86的中斷向量表的中斷向量表中斷服務(wù)程序入口中斷服務(wù)程序入口0 0中斷服務(wù)程序入口中斷服務(wù)程序入口1 1中斷服務(wù)程序入口中斷服務(wù)程序入口255255I PCSI PCSI PCSI PCSI PCS00000H00004H003FCH計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心 將中斷類型號為將中斷類型號為60H的中斷服務(wù)程序的中斷服務(wù)程序intr入口入口地址填入中斷向量

6、表地址填入中斷向量表1.直接修改中斷向量表直接修改中斷向量表xor ax,axmov es, axmov bx, 60h*4;中斷向量號中斷向量號x4mov ax, offset intr;中斷服務(wù)程序的偏移地址中斷服務(wù)程序的偏移地址mov es:bx,axmov ax, seg intr;中斷服務(wù)程序的段地址中斷服務(wù)程序的段地址mov es:bx+2,ax計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心2.利用利用DOS調(diào)用修改中斷向量表調(diào)用修改中斷向量表mov ax, 3560h;取取原中斷向量入口地址原中斷向量入口地址 int 21h ;ES:BX = 入口地址入口地址mov old_of

7、f, bxmov bx, esmov old_seg, bxmov ax, 2560h;置中斷向量入口地址置中斷向量入口地址mov dx, seg intrmov ds, dxmov dx, offset intr ;DS:DX = 入口地址入口地址 int 21h計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心mov ax, 2560h;恢復(fù)恢復(fù)原中斷向量入口地址原中斷向量入口地址mov dx, old_segmov ds, dx mov dx, old_off ; DS:DX = 入口地址入口地址 int 21h計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心 當(dāng)多個中斷源同時提出中斷請求時,

8、當(dāng)多個中斷源同時提出中斷請求時,CPU在一在一個時刻只能響應(yīng)并處理一個中斷請求,因此,個時刻只能響應(yīng)并處理一個中斷請求,因此,響應(yīng)優(yōu)先級最高的中斷請求。中斷源的優(yōu)先級響應(yīng)優(yōu)先級最高的中斷請求。中斷源的優(yōu)先級可按如下方式確定:可按如下方式確定:u按優(yōu)先級排隊按優(yōu)先級排隊 根據(jù)預(yù)先確定的原則,對每一中斷源指定優(yōu)先級。根據(jù)預(yù)先確定的原則,對每一中斷源指定優(yōu)先級。例如:軟件的查詢順序,硬件方式例如:軟件的查詢順序,硬件方式u按輪循排隊按輪循排隊 所有中斷源的優(yōu)先級相等所有中斷源的優(yōu)先級相等計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心當(dāng)前正在被執(zhí)行的中斷服務(wù)程序可被優(yōu)先級更當(dāng)前正在被執(zhí)行的中斷服務(wù)程序

9、可被優(yōu)先級更高的中斷請求中斷高的中斷請求中斷優(yōu)先級相同或更低的中斷請求不能中斷當(dāng)前正優(yōu)先級相同或更低的中斷請求不能中斷當(dāng)前正在被執(zhí)行的中斷服務(wù)程序在被執(zhí)行的中斷服務(wù)程序計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心外部中斷(硬中斷)外部中斷(硬中斷)u非屏蔽中斷非屏蔽中斷NMIu可屏蔽中斷可屏蔽中斷INT內(nèi)部中斷(軟中斷)內(nèi)部中斷(軟中斷)u除法錯中斷除法錯中斷u溢出錯中斷溢出錯中斷u指令中斷指令中斷u單步中斷單步中斷計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心8259可編程可編程中斷中斷控制器控制器中斷邏輯中斷邏輯INT nINTO除除法法錯誤錯誤單單步步中斷中斷CPU非屏蔽中斷請求非屏蔽

10、中斷請求IR0定時定時IR1鍵盤鍵盤IR2級聯(lián)級聯(lián)IR3com2IR4com1IR5硬盤硬盤IR6軟盤軟盤IR7打印機(jī)打印機(jī)104NMIINTRINTA計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心硬中斷的特點(diǎn)硬中斷的特點(diǎn)u由外部事件引起,具有隨機(jī)性由外部事件引起,具有隨機(jī)性uCPU需發(fā)中斷響應(yīng)信號需發(fā)中斷響應(yīng)信號u可以被屏蔽可以被屏蔽軟中斷的特點(diǎn)軟中斷的特點(diǎn)u通常用軟中斷指令觸發(fā),中斷的發(fā)生時刻是可知的通常用軟中斷指令觸發(fā),中斷的發(fā)生時刻是可知的uCPU不發(fā)中斷響應(yīng)信號不發(fā)中斷響應(yīng)信號u中斷類型號由指令直接給出中斷類型號由指令直接給出u不可被屏蔽不可被屏蔽計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體

11、系結(jié)構(gòu)中心完成當(dāng)前指令完成當(dāng)前指令內(nèi)部中斷?內(nèi)部中斷?標(biāo)志進(jìn)棧標(biāo)志進(jìn)棧執(zhí)行下一條指令執(zhí)行下一條指令識別中斷識別中斷讀中斷類型號讀中斷類型號YesNoNMI?INTR?TF=0?IF=1?BAYesYesYesYesNoNoNoNo計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心0TF0 IFA查中斷向量表查中斷向量表得中斷服務(wù)程序入口地址得中斷服務(wù)程序入口地址執(zhí)行中斷服務(wù)程序執(zhí)行中斷服務(wù)程序IRET恢復(fù)被中斷的服務(wù)程序恢復(fù)被中斷的服務(wù)程序B保存斷點(diǎn)保存斷點(diǎn)計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心 當(dāng)當(dāng)CPU收到非屏蔽中斷收到非屏蔽中斷NMI請求后,默認(rèn)該請求的中請求后,默認(rèn)該請求的中斷類型

12、號為斷類型號為02H。PC機(jī)里包括機(jī)里包括3個非屏蔽中斷源個非屏蔽中斷源u協(xié)處理器出錯協(xié)處理器出錯u系統(tǒng)系統(tǒng)RAM奇偶校驗(yàn)錯奇偶校驗(yàn)錯uI/O通道校驗(yàn)錯通道校驗(yàn)錯CPUCPUNMINMI8087中斷請求8087中斷請求Q Q D DCLRCLRCKCKPCKPCKI/O CHECKI/O CHECKD7D7RESETRESET寫(A 0 H)寫(A 0 H)計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心 在在PC機(jī)系統(tǒng)設(shè)計時,允許機(jī)系統(tǒng)設(shè)計時,允許NMI請求被屏蔽請求被屏蔽u復(fù)位后或向復(fù)位后或向A0H端口寫端口寫00H,禁止禁止NMI請求請求 mov al, 00h out 0a0h, alu

13、向向A0H端口寫端口寫80H,允許允許NMI請求請求 mov al, 80h out 0a0h, al計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心在在CPU的的INT引腳輸入引腳輸入“高高”有效信號時,則有效信號時,則產(chǎn)生硬件可屏蔽中斷請求信號。產(chǎn)生硬件可屏蔽中斷請求信號。是否響應(yīng)該請求由是否響應(yīng)該請求由PSW寄存器的寄存器的IF位決定。位決定。uIF=0,屏蔽中斷(執(zhí)行屏蔽中斷(執(zhí)行CLI指令)指令)uIF=1,允許中斷(執(zhí)行允許中斷(執(zhí)行STI指令)指令)使用中斷控制器可管理多個硬件中斷源使用中斷控制器可管理多個硬件中斷源CPUCPUNMINMIIFIF0 09 91515PSWPSWI

14、NTINT控制控制INTINTINTAINTAWRWRRDRDA0A0IR0IR0IR1IR1IR2IR2IR3IR3IR4IR4IR5IR5IR6IR6IR7IR78259A8259ACSCSD D0-70-7CASCAS0-20-2SP/ENSP/ENCPUCPU響應(yīng)可屏蔽中斷條件:響應(yīng)可屏蔽中斷條件:1 1)當(dāng)前指令執(zhí)行完畢)當(dāng)前指令執(zhí)行完畢2 2)IF=1IF=13 3)INTRINTR信號有效信號有效計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心 除法錯中斷除法錯中斷u執(zhí)行執(zhí)行DIV或或IDIV指令時,商超出機(jī)器表示的最大值,指令時,商超出機(jī)器表示的最大值,即產(chǎn)生即產(chǎn)生0號中斷號中斷

15、 溢出錯中斷溢出錯中斷u當(dāng)當(dāng)PSW的的OF=1時,執(zhí)行時,執(zhí)行INTO指令,即產(chǎn)生指令,即產(chǎn)生4號中號中斷斷 單步中斷單步中斷u當(dāng)當(dāng)PSW的的TF=1時,執(zhí)行每條指令,即產(chǎn)生時,執(zhí)行每條指令,即產(chǎn)生1號中斷號中斷 指令中斷指令中斷u斷點(diǎn)中斷斷點(diǎn)中斷 INT 3H(機(jī)器碼為:機(jī)器碼為:CCH),),單字節(jié)指令單字節(jié)指令uINT nH計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心 中斷申請中斷申請u外設(shè)向外設(shè)向CPU發(fā)中斷請求信號申請發(fā)中斷請求信號申請CPU給予服務(wù),給予服務(wù),CPU決定決定是否響應(yīng)是否響應(yīng) 中斷響應(yīng)中斷響應(yīng)u發(fā)中斷響應(yīng)信號,獲取中斷類型號,保存斷點(diǎn)及發(fā)中斷響應(yīng)信號,獲取中斷類型號

16、,保存斷點(diǎn)及PSW于堆于堆棧,查表獲得中斷服務(wù)程序入口地址棧,查表獲得中斷服務(wù)程序入口地址 中斷服務(wù)程序中斷服務(wù)程序u保護(hù)現(xiàn)場,對外設(shè)進(jìn)行服務(wù)(保護(hù)現(xiàn)場,對外設(shè)進(jìn)行服務(wù)(I/O操作),恢復(fù)現(xiàn)場操作),恢復(fù)現(xiàn)場 中斷返回中斷返回u從堆棧彈出斷點(diǎn)及從堆棧彈出斷點(diǎn)及PSW,回到中斷前的地址繼續(xù)執(zhí)行回到中斷前的地址繼續(xù)執(zhí)行計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心優(yōu)先級排隊管理優(yōu)先級排隊管理u完全嵌套完全嵌套u(yù)循環(huán)優(yōu)先級循環(huán)優(yōu)先級u特殊完全嵌套方式特殊完全嵌套方式接受和擴(kuò)充外部設(shè)備的中斷請求接受和擴(kuò)充外部設(shè)備的中斷請求u利用級聯(lián)方式可擴(kuò)展至利用級聯(lián)方式

17、可擴(kuò)展至8片,管理片,管理64個中斷源個中斷源提供中斷類型號提供中斷類型號中斷請求的允許與屏蔽中斷請求的允許與屏蔽計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心 WR(In) 寫信號線寫信號線 RD(In) 讀信號線讀信號線 INT(Out) 中斷請求線中斷請求線 INTA(In) 中斷應(yīng)答線中斷應(yīng)答線 A0 用作芯片內(nèi)的端口地址指示用作芯片內(nèi)的端口地址指示計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心CS(In) 片選片選信號線。用于使能信號線。用于使能8259A芯片。芯片。SP/EN(In/Out) 從方式編程(從方式編程(1標(biāo)識主方式,標(biāo)識主

18、方式,0標(biāo)識從方式)標(biāo)識從方式)/使使能緩沖器(當(dāng)工作在緩沖器模式時用于控制數(shù)能緩沖器(當(dāng)工作在緩沖器模式時用于控制數(shù)據(jù)總線上的收發(fā)器)據(jù)總線上的收發(fā)器)CAS2CAS0(In/Out) 級聯(lián)信號線。主片為輸出,從片為輸入。級聯(lián)信號線。主片為輸出,從片為輸入。計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心數(shù)據(jù)總線數(shù)據(jù)總線緩沖器緩沖器讀讀/寫寫控制邏輯控制邏輯級聯(lián)緩沖級聯(lián)緩沖/比較器比較器控制邏輯控制邏輯正在服務(wù)正在服務(wù)寄存器寄存器ISR優(yōu)先權(quán)優(yōu)先權(quán)分析器分析器PR中斷請求中斷請求寄存器寄存器IRR中斷屏蔽寄存器中斷屏蔽寄存器IMRIR0IR1IR2IR3IR4IR5IR6IR7INTINTAD

19、07RDWRA0CSCAS0CAS1CAS2SP/EN計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心中斷請求寄存器(中斷請求寄存器(IRR)u存放外部中斷源發(fā)出的中斷請求信號,存放外部中斷源發(fā)出的中斷請求信號, Di位為位為1表表示示IRi引腳有中斷請求。具有鎖存功能引腳有中斷請求。具有鎖存功能正在服務(wù)寄存器(正在服務(wù)寄存器(ISR)u存放正在被服務(wù)中的中斷請求信號。存放正在被服務(wù)中的中斷請求信號。 Di位為位為1表示表示IRi中斷正在服務(wù)中。中斷嵌套時,有多個比特同中斷正在服務(wù)中。中斷嵌套時,有多個比特同時被置時被置“1”中斷屏蔽寄存器(中斷屏蔽寄存器(IMR)u“0”允許中斷;允許中斷;“

20、1”屏蔽中斷屏蔽中斷計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心優(yōu)先權(quán)分析器(優(yōu)先權(quán)分析器(PR)u把把IRR的內(nèi)容與的內(nèi)容與ISR的內(nèi)容進(jìn)行比較,響應(yīng)優(yōu)先級的內(nèi)容進(jìn)行比較,響應(yīng)優(yōu)先級高的中斷高的中斷數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器u三態(tài)雙向三態(tài)雙向8位緩沖器作為與系統(tǒng)總線的接口位緩沖器作為與系統(tǒng)總線的接口讀讀/寫控制邏輯寫控制邏輯級聯(lián)緩沖器級聯(lián)緩沖器/比較器比較器u用于存儲和比較系統(tǒng)中所有用于存儲和比較系統(tǒng)中所有8259的標(biāo)識號的標(biāo)識號INTINTINTAINTAWRWRRDRDA0A0IR0IR0IR1IR1IR2IR2IR3IR3IR4IR4IR5IR5IR6IR6IR7IR78259A8

21、259ACSCSD D0-70-7CASCAS0-20-2SP/ENSP/EN計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心CAS0CAS2D0D7SP/ENIR0IR7CPU響應(yīng)周期響應(yīng)周期8259A工作波形工作波形INT第一個周期第一個周期T1 T2 T3 T4ALECLK 第二個周期第二個周期T1 T2 T3 T4第一個第一個INTA前保持為高電平前保持為高電平 INTALOCK計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心T1T2T3T4T1T2T3T4CLKALELOCKINTAD0-7中斷類型號計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心第一個第一個INTA,CPU封鎖總線(封鎖

22、總線(LOCK有效),有效),8259A優(yōu)先級最高的請求所對應(yīng)的優(yōu)先級最高的請求所對應(yīng)的ISR中的中的位置位置1 1,而相應(yīng),而相應(yīng)IRR中的位隨之中的位隨之復(fù)位復(fù)位第二個第二個INTA,總線解鎖,總線解鎖,8259A將當(dāng)前中斷請將當(dāng)前中斷請求對應(yīng)的中斷類型號送到數(shù)據(jù)總線上求對應(yīng)的中斷類型號送到數(shù)據(jù)總線上ISRISR的復(fù)位在自動結(jié)束的復(fù)位在自動結(jié)束/ /非自動結(jié)束時是不一樣的非自動結(jié)束時是不一樣的計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心主程序主程序STIEOIIRETSTIEOIIRETSTIEOIIRETSTIEOIIRETIR2IR1IR4IR3IR2,IR4中斷請求中斷請求IR1中

23、斷請求中斷請求IR3中斷請求中斷請求ISR=00000100ISR=00000110ISR=00010000ISR=00011000清清“0”計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心A0=0計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心中斷觸發(fā)方式中斷觸發(fā)方式u邊沿觸發(fā)方式邊沿觸發(fā)方式u電平觸發(fā)方式電平觸發(fā)方式屏蔽中斷源方式屏蔽中斷源方式u普通屏蔽方式普通屏蔽方式u特殊屏蔽方式特殊屏蔽方式中斷嵌套方式中斷嵌套方式u完全嵌套方式完全嵌套方式u特殊完全嵌套方式特殊完全嵌套方式計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心優(yōu)先級管理方式優(yōu)先級管理方式u優(yōu)先級固定方式優(yōu)先級固定方式u優(yōu)先級輪轉(zhuǎn)方

24、式優(yōu)先級輪轉(zhuǎn)方式v自動輪轉(zhuǎn)方式自動輪轉(zhuǎn)方式v指定輪轉(zhuǎn)方式指定輪轉(zhuǎn)方式結(jié)束中斷的處理方式結(jié)束中斷的處理方式u自動中斷結(jié)束方式自動中斷結(jié)束方式u手工中斷結(jié)束方式手工中斷結(jié)束方式v不指定不指定v指定指定計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心數(shù)據(jù)線連接方式數(shù)據(jù)線連接方式u緩沖方式緩沖方式u非緩沖方式非緩沖方式計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心初始化命令字初始化命令字u芯片控制(工作方式設(shè)置)芯片控制(工作方式設(shè)置)ICW1u中斷類型號中斷類型號ICW2u級聯(lián)方式級聯(lián)方式ICW3u特定完全嵌套、緩沖器方式特定完全嵌套、緩沖器方式ICW4操作命令字操作命令字u中斷屏蔽字中斷屏蔽字OCW

25、1u中斷結(jié)束方式中斷結(jié)束方式OCW2u中斷查詢中斷查詢OCW3計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心完成觸發(fā)方式設(shè)置及級聯(lián)方式設(shè)置的功能完成觸發(fā)方式設(shè)置及級聯(lián)方式設(shè)置的功能SINGLSINGL IC4IC4ADIADILTIMLTIM1 10 00 00 00 07 70 0A0A01:需要設(shè)置I C W 41:需要設(shè)置I C W 40:不需要設(shè)置I C W 40:不需要設(shè)置I C W 41:單片使用1:單片使用0:級聯(lián)使用0:級聯(lián)使用1:16位機(jī)中無效1:16位機(jī)中無效0:地址間距為80:地址間距為81:電平觸發(fā)1:電平觸發(fā)0:邊沿觸發(fā)0:邊沿觸發(fā)特特征征位位16位機(jī)16位機(jī)中無效中

26、無效ICW1ICW1計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心當(dāng)系統(tǒng)中需要管理當(dāng)系統(tǒng)中需要管理的中斷源超過的中斷源超過8個時,個時,8259A可以采用級可以采用級聯(lián)的方式來管理。聯(lián)的方式來管理。由一個主由一個主8259A和和若干個從若干個從8259A (最多(最多8個)構(gòu)成。個)構(gòu)成。MasterMasterIR0IR0IR3IR3IR6IR6IR7IR7SlaveSlaveA AIR0IR0IR7IR7SlaveSlaveB BIR0IR0IR7IR7INTINTINTAINTAICW3=01001000BICW3=01001000BICW3A=03HICW3A=03HICW3B=06H

27、ICW3B=06HINTINTINTINTCASCAS0-30-3中斷中斷計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心邊沿觸發(fā)方式邊沿觸發(fā)方式uIRi端出現(xiàn)的上升沿視為端出現(xiàn)的上升沿視為有效的中斷請求信號有效的中斷請求信號電平觸發(fā)方式電平觸發(fā)方式uIRi端出現(xiàn)的高電平視為端出現(xiàn)的高電平視為有效的中斷請求信號有效的中斷請求信號計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心完成中斷類型號設(shè)置的功能完成中斷類型號設(shè)置的功能T4T4T5T5T6T6T7T70 07 71 1A0A0中斷類型中斷類型的高5 位的高5 位000 IR0000 IR0001 IR1001 IR1111 IR7111 IR7

28、ICW2ICW2T3T3 X XX XX X計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心在奇地址(在奇地址(A01)端口寫入)端口寫入00001000B后,對后,對應(yīng)的中斷類型號為應(yīng)的中斷類型號為08-0FH在奇地址(在奇地址(A01)端口寫入)端口寫入10000000B后,對后,對應(yīng)的中斷類型號為應(yīng)的中斷類型號為80-87H計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心只在級聯(lián)方式下使用。用來描述主、從片間的只在級聯(lián)方式下使用。用來描述主、從片間的連接關(guān)系。連接關(guān)系。對主片的設(shè)置對主片的設(shè)置S4S4S5S5S6S6S7S70 07 71 1A0A0ICW3ICW3S3S3 S2S2 S1S

29、1 S0S0Si=0: IRi上未接從片Si=0: IRi上未接從片Si=1: IRi上接有從片Si=1: IRi上接有從片計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心對從片的設(shè)置對從片的設(shè)置0 00 00 00 00 07 71 1A0A0ICW3ICW30 0 ID2ID2從片的識別地址從片的識別地址ID1ID1 ID0ID0計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心MasterMasterIR0IR0IR3IR3IR6IR6IR7IR7SlaveSlaveA AIR0IR0IR7IR7SlaveSlaveB BIR0IR0IR7IR7INTINTINTAINTAICW3=01001

30、000BICW3=01001000BICW3A=03HICW3A=03HICW3B=06HICW3B=06HINTINTINTINTCASCAS0-30-3中斷中斷計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心CAS0CAS2D0D7SP/ENIR0IR7CPU響應(yīng)周期響應(yīng)周期8259A工作波形工作波形INT第一個周期第一個周期T1 T2 T3 T4ALECLK 第二個周期第二個周期T1 T2 T3 T4第一個第一個INTA前保持為高電平前保持為高電平 INTALOCK計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心完成結(jié)束中斷方式、緩沖模式和嵌套模式的設(shè)完成結(jié)束中斷方式、緩沖模式和嵌套模式的設(shè)

31、置功能置功能AEOIAEOI uPMuPMM/SM/SBUFBUFSFNMSFNM0 00 00 00 07 71 1A0A01:8086/8088模式1:8086/8088模式0:8位機(jī)模式0:8位機(jī)模式1:自動結(jié)束中斷1:自動結(jié)束中斷0:普通結(jié)束中斷0:普通結(jié)束中斷0X:非緩沖模式0X:非緩沖模式10:緩沖模式, 從片10:緩沖模式, 從片11:緩沖模式, 主片11:緩沖模式, 主片1:特殊完全嵌套模式1:特殊完全嵌套模式0:完全嵌套模式0:完全嵌套模式ICW4ICW4計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心普通普通EOI 中斷服務(wù)程序需向中斷服務(wù)程序需向8259A 送中斷結(jié)束命令送

32、中斷結(jié)束命令(EOI),),將將ISR的對應(yīng)的對應(yīng)bit清清0,以標(biāo)識中斷結(jié),以標(biāo)識中斷結(jié)束。束。自動自動EOI 中斷程序無需送中斷程序無需送EOI命令。在第二個命令。在第二個INTA脈沖脈沖信號的后沿,將信號的后沿,將ISR的對應(yīng)的對應(yīng)bit清清0。計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心非緩沖模式非緩沖模式u SP/EN1將將8259A置為主片方式,置為主片方式, SP/EN0置為置為從片方式從片方式緩沖模式緩沖模式u當(dāng)系統(tǒng)中要求當(dāng)系統(tǒng)中要求8259A必須通過總線緩沖器(總線收必須通過總線緩沖器(總線收發(fā)器)掛在系統(tǒng)的數(shù)據(jù)總線上時,發(fā)器)掛在系統(tǒng)的數(shù)據(jù)總線上時,8259A需設(shè)置工需設(shè)

33、置工作在作在緩沖模式緩沖模式。此時,。此時,SP/EN作輸出,用來控制總作輸出,用來控制總線緩沖器的傳送方向。線緩沖器的傳送方向。u由于由于SP/EN已已用作輸出,只能用軟件來設(shè)置用作輸出,只能用軟件來設(shè)置8259A工作在主片還是從片。工作在主片還是從片。計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心主片主片從片從片計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心 當(dāng)前正在被執(zhí)行的中斷服務(wù)程序可被優(yōu)先級相當(dāng)前正在被執(zhí)行的中斷服務(wù)程序可被優(yōu)先級相等或更高的中斷請求中斷等或更高的中斷請求中斷 MasterMasterIR0IR0IR3IR3IR6IR6IR7IR7SlaveSlaveA AIR0IR

34、0IR7IR7SlaveSlaveB BIR0IR0IR7IR7INTINTINTAINTAICW3=01001000BICW3=01001000BICW3A=03HICW3A=03HICW3B=06HICW3B=06HINTINTINTINTCASCAS0-30-3中斷中斷IR21. 中斷中斷2.計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心完成完成中斷屏蔽中斷屏蔽IR0-7的設(shè)置功能。的設(shè)置功能。OCW1可讀可讀可寫可寫M4M4M5M5M6M6M7M70 07 71 1A0A0OCW1OCW1M3M3 M2M2 M1M1 M0M0Mi=1: 屏蔽由I R i 引 入 的 中斷請求Mi=1:

35、 屏蔽由I R i 引 入 的 中斷請求Mi=0: 允許由I R i 引 入 的 中斷請求Mi=0: 允許由I R i 引 入 的 中斷請求計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心完成非自動中斷結(jié)束方式、中斷排隊方式的設(shè)完成非自動中斷結(jié)束方式、中斷排隊方式的設(shè)置功能置功能L0L0EOIEOI0 07 70 0A0A0指定中斷優(yōu)先級指定中斷優(yōu)先級SL=1,L0-2有效SL=1,L0-2有效SL=0,L0-2無效SL=0,L0-2無效001:不指定E O I 命 令001:不指定E O I 命 令011:指定E O I命 令011:指定E O I命 令101:不指定E O I 命 令 輪 換

36、命令101:不指定E O I 命 令 輪 換命令100:自動E O I的 輪 換置位命令100:自動E O I的 輪 換置位命令000:自動E O I的 輪 換復(fù)位命令000:自動E O I的 輪 換復(fù)位命令111:指定E O I命 令 輪換命令111:指定E O I命 令 輪換命令110:直接置優(yōu)先級輪換命令110:直接置優(yōu)先級輪換命令010:無效010:無效特特征征位位OCW2OCW2L1L1L2L20 00 0SLSLR RAEOI=1計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心如果采用完全嵌套方式,可采用不指定如果采用完全嵌套方式,可采用不指定EOI方方式。式。 在發(fā)出在發(fā)出EOI后

37、,中斷控制器將后,中斷控制器將ISR中優(yōu)先級最中優(yōu)先級最高的高的bit復(fù)位。復(fù)位。例:若例:若ISR=00100100,執(zhí)行執(zhí)行 mov al, 20h out 20h, al 后,后,ISR=00100000計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心如果中斷優(yōu)先級被打亂(即:當(dāng)前正在被服務(wù)如果中斷優(yōu)先級被打亂(即:當(dāng)前正在被服務(wù)的中斷服務(wù)程序的優(yōu)先級不是最高的),則必的中斷服務(wù)程序的優(yōu)先級不是最高的),則必須采用指定須采用指定EOI方式。方式。在發(fā)出在發(fā)出EOI時,必須指定要復(fù)位的時,必須指定要復(fù)位的ISR的的bit的的位置。位置。例:例:ISR=00100100,當(dāng)前服務(wù)程序?qū)?yīng)當(dāng)前服

38、務(wù)程序?qū)?yīng)ISR的的bit5 mov al, 01100101b out 20h, al 后,后, ISR=00000100計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心某中斷源被服務(wù)后,優(yōu)先級自動降為最低級。某中斷源被服務(wù)后,優(yōu)先級自動降為最低級。例:輪換前例:輪換前 輪換后輪換后1 10 01 10 0ISR7ISR7ISRISR0 00 00 00 0ISR0ISR04 45 56 67 7LowLowPriorityPriorityStatusStatus3 32 21 10 0HighHigh0 00 01 10 0ISR7ISR7ISRISR0 00 00 00 0ISR0ISR0

39、7 70 01 12 2LowLowPriorityPriorityStatusStatus6 65 54 43 3HighHigh計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心利用命令將指定中斷源的優(yōu)先級置為最低利用命令將指定中斷源的優(yōu)先級置為最低 R=1,SL=1,L0-L2指定需輪換的中斷源號指定需輪換的中斷源號計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心完成完成IR和和ISR寄存器、狀態(tài)字查詢,特殊屏蔽寄存器、狀態(tài)字查詢,特殊屏蔽方式設(shè)置的功能方式設(shè)置的功能RRRR RISRISP PSMMSMMESMMESMM0 07 70 0A0A00X:無效0X:無效10:下次R D 有 效

40、, 讀I R 寄 存器10:下次R D 有 效 , 讀I R 寄 存器11:下次R D 有 效 , 讀I S R寄存器11:下次R D 有 效 , 讀I S R寄存器1:查詢8 2 59狀 態(tài)1:查詢8 2 59狀 態(tài)0:不查詢0:不查詢0X:無效0X:無效10:清特殊屏蔽方式10:清特殊屏蔽方式11:置特殊屏蔽方式11:置特殊屏蔽方式特特征征位位OCW3OCW31 10 0計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心 讀讀IRR mov al, 00001010b out 20h, al nop;延時;延時 in al, 20h; IRRal 讀讀ISR mov al, 00001011b

41、 out 20h, al nop;延時;延時 in al, 20h; ISRal計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心讀讀IMR in al, 21h; IMRal計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心STIIR03允許允許IR47禁止禁止EOIEOIIRETIRET主程序主程序IR4屏蔽屏蔽置位置位SMMIR03,57允許允許IR4禁止禁止清清IR4屏蔽屏蔽禁止同級中斷,響禁止同級中斷,響應(yīng)高級中斷請求和應(yīng)高級中斷請求和低級中斷請求。低級中斷請求。STIIR4中中斷請求斷請求清清SMMSMM計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心用于表示用于表示8259A狀態(tài)狀態(tài)I I

42、0 07 70 0A0A0W2W2申請服務(wù)的優(yōu)先申請服務(wù)的優(yōu)先級編碼級編碼W1W1 W0W00:無中斷請求0:無中斷請求1:有中斷請求1:有中斷請求計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心例例: mov al, 00001100b;查詢查詢8259狀態(tài)狀態(tài) out 20h, al nop;延時;延時 in al, 20h; 查詢字查詢字al計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心送送ICW1ICW1送送ICW2ICW2級聯(lián)方式?級聯(lián)方式?送送ICW3ICW3送送ICW4ICW4準(zhǔn)備接收中斷準(zhǔn)備接收中斷需要需要ICW4?A0=0A0=1A0=1A0=1NoNoYesYesA0=0A0

43、=1D4D3ICW1 1 ICW2 ICW3 ICW4初始化完成 OCW1OCW2 00OCW3 01計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心兩片兩片8259主從級聯(lián),從片主從級聯(lián),從片INT直接連到主片的直接連到主片的IR2上。均采用非緩沖器方式,中斷請求信號上。均采用非緩沖器方式,中斷請求信號均采用邊沿觸發(fā)。均采用邊沿觸發(fā)。主片:端口地址主片:端口地址20H和和21H,中斷類型號為中斷類型號為08H0FH。從片:端口地址從片:端口地址A0H和和A1H,中斷類型號為中斷類型號為70H77H。計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心CAS02+5V主主8259A8288 CPUIN

44、TRD0D7SP/ENINTD0D7日時鐘日時鐘鍵盤鍵盤串口串口com2串口串口com1并口并口2軟盤軟盤并口并口1A0INTR1CS IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 A0 CSINTARDWRINTAIORIOW計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心CAS02 從從8259AD0D7INTSP/EN實(shí)時鐘實(shí)時鐘保留保留保留保留保留保留保留保留協(xié)處理器協(xié)處理器硬盤硬盤保留保留A0INTR2CS IRQ8 IRQ9 IRQ10 IRQ11 IRQ12 IRQ13 IRQ14 IRQ15 A0 CSINTARDWR計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)

45、構(gòu)中心體系結(jié)構(gòu)中心sport0 equ a0hsport0 equ a0hsport1 equ a1hsport1 equ a1h. mov al,11hmov al,11hout sport0,alout sport0,alnopnop mov al,70hmov al,70h out sport1,alout sport1,alnopnop mov al,02mov al,02 out sport1,alout sport1,al nopnopmov al,01hmov al,01hout sport1,alout sport1,al .從片從片mport0 equ 20hmport1 e

46、qu 21h.mov al,11h;mov al,11h;邊沿觸發(fā)邊沿觸發(fā), ,多片多片, ,icw4icw4out mport0,alout mport0,alnopnopmov al,8mov al,8; ;中斷向量中斷向量out mport1,alout mport1,alnopnopmov al,04mov al,04; ;IR2IR2上接從片上接從片out mport1,alout mport1,alnopnopmov al,11h;mov al,11h;非緩沖非緩沖, ,特殊嵌套特殊嵌套, ,非非AEOIAEOIout mport1,alout mport1,al. . 主片主片計

47、算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心主程序主程序u設(shè)置中斷向量表設(shè)置中斷向量表u使能使能CPU中斷允許標(biāo)志,即:中斷允許標(biāo)志,即:IF1u設(shè)置設(shè)置8259A的中斷屏蔽寄存器的中斷屏蔽寄存器中斷服務(wù)程序中斷服務(wù)程序u中斷服務(wù)程序要盡量短中斷服務(wù)程序要盡量短u參數(shù)傳遞、臨時變量要使用存儲單元參數(shù)傳遞、臨時變量要使用存儲單元u向中斷控制器向中斷控制器8259A發(fā)送中斷結(jié)束命令發(fā)送中斷結(jié)束命令EOI計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心定時器定時器8253每每55ms通過通過8259A的的IR0腳向腳向CPU發(fā)出中斷請求,編寫中斷服務(wù)程序(中斷向量發(fā)出中斷請求,編寫中斷服務(wù)程序(中斷向

48、量號為號為08H),),每次中斷顯示一信息,共顯每次中斷顯示一信息,共顯10次。次。計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心cliclipop axpop axout 21h,alout 21h,alpop dxpop dxpop dspop dsmov ax,2508hmov ax,2508hint 21hint 21hstistimov ax,4c00hmov ax,4c00hint 21hint 21hmsgmsgdb Interrupt!db Interrupt!db 0dh,0ah,db 0dh,0ah,0 0countcount db 0db 0.mov ax,3508hmo

49、v ax,3508hint 21hint 21hpush push esespush push bx;bx;保存舊中斷入口保存舊中斷入口cliclipush dspush dsmov dx,offset intrmov dx,offset intrmov ax,seg intrmov ax,seg intrmov ds,axmov ds,axmov ax,2508hmov ax,2508hint 21hint 21hpop dspop dsin al,21hin al,21h; ;讀舊中斷屏蔽字讀舊中斷屏蔽字push axpush ax; ;保存保存and al,0feh;and al,0fe

50、h;允許允許IR0IR0out 21h,alout 21h,alstistiagain:cmp count,10again:cmp count,10; ;等待中斷等待中斷jb againjb again 計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心d disis procproc push axpush ax push bxpush bxlp1:lodsblp1:lodsb; ; al(si) cmp al,0cmp al,0 jz lp2jz lp2 mov bx,0mov bx,0 mov ah,0ehmov ah,0eh int int 10h;10h;顯示,顯示,BIOSBIOS調(diào)用

51、調(diào)用 jmp lp1jmp lp1lp2:lp2: pop pop bxbx poppop ax ax retretDispDisp endpendpintrintrprocprocstistipush axpush axpush bxpush bxpush dspush dspush sipush simov ax,datamov ax,datamov ds,axmov ds,axinc countinc countmov si,offset msgmov si,offset msgcall dispcall dispmov al,20hmov al,20hout 20h,alout 20h

52、,al;EOIEOI命令命令pop sipop sipop dspop dspop bxpop bxpop axpop axiretiretintrintrendp endp 計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心對例對例1的要求做修改的要求做修改定時器定時器8253每每55ms通過通過8259A的的IR0腳向腳向CPU發(fā)出中斷請求,試編寫一秒表顯示程序(即:發(fā)出中斷請求,試編寫一秒表顯示程序(即:00、01、02、 59、00、)。)。計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心mov ah,02mov dl,blint 21h ;顯示十位顯示十位mov ah,02mov dl,b

53、hint 21h ;顯示個位顯示個位mov dl, 0dh mov ah, 02;回車回車 int 21h jmp againmsgmsgdb Interrupt!db Interrupt!db 0dh,0ah,db 0dh,0ah,0 0countcount db 0db 0lastlastdb 1db 1secdsecddb 0db 0.stistiagain:movagain:moval,secdal,secdcmpcmpal,60al,60jcjclp1lp1movmovsecd,0 ;secd,0 ;滿滿6060清清0 0lp1:lp1:movmoval,secdal,secdcmp

54、cmpal,last;al,last;顯示值是否已更新顯示值是否已更新jzjzlp1lp1movmovlast,allast,almovmovbl,10bl,10movmovah,0ah,0divdivblblmovmovbx,axbx,axaddaddbx,3030h;bx,3030h;變?yōu)樽優(yōu)锳SCASC碼碼計算機(jī)學(xué)院計算機(jī)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心pop sipop dspop bxpop axiretintrendpintrintrprocprocstistipushpushaxaxpushpushbxbxpushpushdsdspush push sisimov mov ax,d

55、ataax,datamov mov ds,axds,axincinccountcountmovmoval,countal,countcmpcmpal,18al,18jnzjnzlp2lp2movmovcount,0count,0incincsecdsecdlp2:lp2:mov mov al,20hal,20hout out 20h,al20h,al;EOIEOI命令命令計算機(jī)科學(xué)與技術(shù)學(xué)院計算機(jī)科學(xué)與技術(shù)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心 定時定時 提供一個時間基準(zhǔn)。提供一個時間基準(zhǔn)。 定時的信號具有周期性。定時的信號具有周期性。 本質(zhì)上,定時是通過計數(shù)來實(shí)現(xiàn)的。本質(zhì)上,定時是通過計數(shù)來實(shí)現(xiàn)的。

56、 計數(shù)計數(shù) 對特定事件(即:脈沖)進(jìn)行計數(shù)。對特定事件(即:脈沖)進(jìn)行計數(shù)。 計數(shù)的信號可能具有隨機(jī)性。計數(shù)的信號可能具有隨機(jī)性。 用途用途u系統(tǒng)時鐘系統(tǒng)時鐘uDRAM刷新定時刷新定時u定時采樣定時采樣u實(shí)時控制實(shí)時控制u脈沖的計數(shù)脈沖的計數(shù)計算機(jī)科學(xué)與技術(shù)學(xué)院計算機(jī)科學(xué)與技術(shù)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心通常,一個計算機(jī)系統(tǒng)中定時功能是不可卻少通常,一個計算機(jī)系統(tǒng)中定時功能是不可卻少的。該定時器用來驅(qū)動操作系統(tǒng)的系統(tǒng)時鐘。的。該定時器用來驅(qū)動操作系統(tǒng)的系統(tǒng)時鐘。操作系統(tǒng)根據(jù)系統(tǒng)時鐘完成任務(wù)調(diào)度等。定時操作系統(tǒng)根據(jù)系統(tǒng)時鐘完成任務(wù)調(diào)度等。定時長度(稱為長度(稱為Tick)可以是可以是10ms,

57、100ms,或或1s等。等。計算機(jī)科學(xué)與技術(shù)學(xué)院計算機(jī)科學(xué)與技術(shù)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心軟件定時軟件定時 由于指令執(zhí)行周期的長短是可知的,因此,用由于指令執(zhí)行周期的長短是可知的,因此,用一段循環(huán)程序可實(shí)現(xiàn)定時。但占用一段循環(huán)程序可實(shí)現(xiàn)定時。但占用CPU時間。時間。而且主機(jī)頻率不同,同一軟件執(zhí)行時其延時就而且主機(jī)頻率不同,同一軟件執(zhí)行時其延時就可能不同,定時程序通用性差??赡懿煌〞r程序通用性差。硬件定時硬件定時 采用硬件或可編程定時器芯片實(shí)現(xiàn)。定時準(zhǔn)確,采用硬件或可編程定時器芯片實(shí)現(xiàn)。定時準(zhǔn)確,不占用不占用CPU時間。但需附加硬件。時間。但需附加硬件。計算機(jī)科學(xué)與技術(shù)學(xué)院計算機(jī)科學(xué)與技

58、術(shù)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心Intel8253/8254 8254是是8253的改進(jìn)型。的改進(jìn)型。Zilog CTC計算機(jī)科學(xué)與技術(shù)學(xué)院計算機(jī)科學(xué)與技術(shù)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心具有具有3 3個獨(dú)立的個獨(dú)立的1616位定時位定時/ /計數(shù)器(計數(shù)器(T/CT/C)每個每個T/CT/C功能:功能:u可按二、十進(jìn)制計數(shù)可按二、十進(jìn)制計數(shù)u有有6 6種不同的工作方式種不同的工作方式u最高頻率最高頻率1010MHzMHzu有讀回狀態(tài)功能。有讀回狀態(tài)功能。(8253(8253沒有沒有) )計算機(jī)科學(xué)與技術(shù)學(xué)院計算機(jī)科學(xué)與技術(shù)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心計算機(jī)科學(xué)與技術(shù)學(xué)院計算機(jī)科學(xué)與技術(shù)學(xué)院

59、體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心面向面向CPU的信號線的信號線uD0D7(In/Out) 三態(tài)雙向數(shù)據(jù)線三態(tài)雙向數(shù)據(jù)線uRD(In) 讀信號線讀信號線uWR(In)寫信號線寫信號線uCS(In) 片選片選uA0,A1 (In)地址線。占有地址線。占有4個個I/O端口端口面向面向I/O的信號線(包括的信號線(包括3組同樣的信號)組同樣的信號)uCLK (In)計數(shù)時鐘輸入計數(shù)時鐘輸入uGATE(In)門控信號。門控信號。“0”電平禁止計數(shù)器工電平禁止計數(shù)器工作。作。uOUT(Out)計數(shù)器輸出。表示定時或計數(shù)已到。計數(shù)器輸出。表示定時或計數(shù)已到。計算機(jī)科學(xué)與技術(shù)學(xué)院計算機(jī)科學(xué)與技術(shù)學(xué)院 體系結(jié)構(gòu)中心體系

60、結(jié)構(gòu)中心數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器 三態(tài)、雙向三態(tài)、雙向8位寄存器位寄存器讀讀/寫控制電路寫控制電路 A1、A0占用占用4個端口。個端口??刂泼罴拇嫫骺刂泼罴拇嫫?存放存放CPU送來的控制字送來的控制字A1 A00 0 計數(shù)器計數(shù)器00 1 計數(shù)器計數(shù)器11 0 計數(shù)器計數(shù)器21 1 控制寄存器控制寄存器計算機(jī)科學(xué)與技術(shù)學(xué)院計算機(jī)科學(xué)與技術(shù)學(xué)院 體系結(jié)構(gòu)中心體系結(jié)構(gòu)中心計數(shù)器計數(shù)器 芯片內(nèi)部有芯片內(nèi)部有3個獨(dú)立、完全相同的計數(shù)器。每一個計個獨(dú)立、完全相同的計數(shù)器。每一個計數(shù)器有數(shù)器有6種不同的工作模式,包含有種不同的工作模式,包含有3個個16位寄存器位寄存器u16位計數(shù)初值寄存器位計數(shù)初值寄存器

溫馨提示

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

評論

0/150

提交評論