計(jì)算機(jī)硬件教程第6章_第1頁(yè)
計(jì)算機(jī)硬件教程第6章_第2頁(yè)
計(jì)算機(jī)硬件教程第6章_第3頁(yè)
計(jì)算機(jī)硬件教程第6章_第4頁(yè)
計(jì)算機(jī)硬件教程第6章_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1第6章輸入輸出和中斷技術(shù)26.1接口計(jì)算機(jī)外部設(shè)備種類較多:有機(jī)械的、電子的、機(jī)電和磁電相結(jié)合的,如鍵盤、磁盤、打印機(jī)、顯示器等;外設(shè)的信號(hào)種類:數(shù)字量、模擬量、開關(guān)量等需要解決的問題:傳送速度的匹配;信號(hào)形式的匹配;信號(hào)電平和驅(qū)動(dòng)能力;信息格式;時(shí)序匹配;3如果高速的微處理器與外設(shè)能夠協(xié)調(diào)的工作,就要有一個(gè)具有數(shù)據(jù)緩沖和鎖存能力、數(shù)據(jù)格式轉(zhuǎn)換能力、提供外設(shè)狀態(tài)和定時(shí)控制能力的連接電路,我們把它叫做輸入輸出接口。42.接口功能1、I/O接口地址譯碼CPU通過地址來選擇設(shè)備,設(shè)備的接口必須具備地址譯碼的能力,產(chǎn)生設(shè)備選中信號(hào);2、數(shù)據(jù)的輸入輸出CPU與外設(shè)交換的信息有三種:數(shù)據(jù)、狀態(tài)、控制信息。CPU通過接口輸入輸出數(shù)據(jù)、檢測(cè)和管理外設(shè)的工作狀態(tài);設(shè)備通過接口向CPU發(fā)中斷請(qǐng)求;3、命令、數(shù)據(jù)、狀態(tài)的緩沖與鎖存CPU與設(shè)備的速度差異,使接口應(yīng)具備數(shù)據(jù)鎖存與緩沖的能力,保證CPU與設(shè)備之間信息交換的同步。4、信息格式、電平的轉(zhuǎn)換完成數(shù)據(jù)的串/并、并/串、數(shù)字量/模擬量、模擬量/數(shù)字量之間的轉(zhuǎn)換。5

數(shù)據(jù)緩存器DR

狀態(tài)寄存器SR

控制寄存器CRCPUI/O設(shè)備數(shù)據(jù)狀態(tài)控制數(shù)據(jù)地址IO/MIORIOW控制邏輯數(shù)據(jù)緩沖器:CPU與外設(shè)交換數(shù)據(jù)信息,也叫數(shù)據(jù)端口;狀態(tài)寄存器:保存外設(shè)當(dāng)前的狀態(tài)信息,也叫狀態(tài)端口;控制寄存器:CPU向外設(shè)發(fā)出的控制信息,也叫控制端口;3.接口的基本結(jié)構(gòu)66.1.2I/O接口的編址方式常用的編址方式有兩種:與存儲(chǔ)器統(tǒng)一編址方式;I/O端口獨(dú)立編址方式。一、與存儲(chǔ)器統(tǒng)一編址

將存儲(chǔ)器的存儲(chǔ)單元與外設(shè)的端口統(tǒng)一編址,即一個(gè)端口與一個(gè)存儲(chǔ)器單元等同看待;通常為一個(gè)外設(shè)的各個(gè)端口分配連續(xù)的地址。優(yōu)點(diǎn);可以用訪問內(nèi)存的方法來訪問I/O端口。所有用于內(nèi)存的指令都可以用于外設(shè),不需要專門的I/O指令;缺點(diǎn):外設(shè)占用了部分地址空間,減少了內(nèi)存可用的地址范圍;7二、I/O端口獨(dú)立編址內(nèi)存地址空間和外設(shè)地址空間是相互獨(dú)立的;訪問I/O端口有專門的控制信號(hào);CPU采用專用指令對(duì)I/O端口進(jìn)行訪問(IN、OUT);I/O獨(dú)立編址尋址方式FFFFH0000H????IOWIORMEMRMEMWI/OCPU00000HFFFFFH????MEM1M64K8+5V時(shí)鐘發(fā)生器RES8284CLKRESET8088IO/MRDWRALEA19~A16A15~A8AD7~AD0DT/RDENSTBOESTBOESTBOE8282828282828286OETIO/MRDWRA19|A16A15|A8A7|A0D7|D0系統(tǒng)總線信號(hào)8088+5VMN/MXREADY9+5V時(shí)鐘發(fā)生器RES8284CLKRESETMN/MXA19~A8AD7~AD0DT/RDENCLKSTBOE82828286OETS0S1S2ALEINTAMEMRMEMWIORIOW8288總線控制器地址總線數(shù)據(jù)總線存儲(chǔ)器I/O接口8088CPUS0S1S2READY108088CPU采用了I/O端口獨(dú)立編址方式,它使用地址信號(hào)線A0~A15,最多能夠管理64K個(gè)端口,地址范圍0000H~FFFFH,有專用的控制信號(hào)IOR和IOW或IO/M、WR、RD;6.1.3I/O端口地址的譯碼對(duì)只有單一端口的外設(shè),應(yīng)采用全譯碼方式;對(duì)具有多個(gè)I/O端口的外設(shè),16位地址線的高位參與譯碼,低位用于區(qū)分端口;116.1.4數(shù)據(jù)的傳送并行傳送串行傳送126.2.4簡(jiǎn)單接口的應(yīng)用舉例接口CPUI/O設(shè)備數(shù)據(jù)狀態(tài)控制數(shù)據(jù)地址控制輸入接口要具有數(shù)據(jù)緩沖能力,通常接一個(gè)三態(tài)門,三態(tài)門具有“通斷”控制能力; 輸出接口要具有數(shù)據(jù)鎖存能力;131234567891011121314151617181920VCC74LS244E1地線E274LS244單向三態(tài)門驅(qū)動(dòng)器三態(tài)門具有“通斷”控制能力14D0~D774LS244+5VK0K1K2K3K4K5K6K7DO0~DO7I0I1I2I3I4I5I6I7E1E2≥1IORA2A3A4A5A6A7A8A9A15A10A11A12A13A14系統(tǒng)總線信號(hào)≥1&輸入端口地址:83FC、83FD、83FE、83FF編程:MOVDX,83FCHINAL,DX1574LS273作為輸出接口系統(tǒng)總線信號(hào)D0D0D7D7~~A0A1A2A3A4A5A6A7IOW&&≥111CP+5VQ0Q1Q6Q7…A8A9A10A11A12A13A14A15+5V74ls27374LS27316輸入/輸出接口綜合應(yīng)用例子根據(jù)開關(guān)狀態(tài)在7段數(shù)碼管上顯示數(shù)字或符號(hào)共陽(yáng)極7段數(shù)碼管結(jié)構(gòu)見教材圖6.10用74LS273作為輸出接口,把數(shù)據(jù)送到7段數(shù)碼管74LS273的地址假設(shè)為F0H用74LS244作為輸入口,讀入開關(guān)K0~K3的狀態(tài)74LS244的地址假設(shè)為F1H當(dāng)開關(guān)的狀態(tài)分別為0000~1111時(shí),在7段數(shù)碼管上對(duì)應(yīng)顯示’0’~’F’(7段碼表見下頁(yè))17符號(hào)形狀7段碼.gfedcba符號(hào)形狀7段碼.gfedcba’0’00111111’8’01111111’1’00000110’9’01100111’2’01011011’A’01110111’3’01001111’B’01111100’4’01100110’C’00111001’5’01101101’D’01011110’6’01111101’E’01111001’7’00000111’F’0111000118F0H=0000000011110000F1H=0000000011110001O1I1O2I2O3I3O4I4#E1

K0~K3+5VGG2AG2BCBA≥174LS244D0Q0|Q1D7Q2Q3Q4CPQ5Q6Q7

abcdefgDP74068個(gè)反相器74LS273Rx8≥174LS138D0~D7IOW#IOR#Y0Y1&≥1A7~A4A15~A8A3A2A1A0D0D1D2D3譯碼電路19相應(yīng)程序段如下:

……Seg7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,67H,77H,7CH,39H,5EH,79H,71H …… LEA BX,Seg7 ;取7段碼表基地址

MOV AH,0GO: MOV DX,0F1H ;開關(guān)接口的地址為F1H IN AL,DX ;讀入開關(guān)狀態(tài)

AND AL,0FH ;保留低4位

MOV SI,AX ;作為7段碼表的表內(nèi)位移量

MOV AL,[BX+SI];取7段碼

MOV DX,0F0H ;7段數(shù)碼管接口的地址為F0H OUT DX,AL JMP GO20D0D7~D0D7~Q011111111Q1Q2Q3Q4Q5Q6Q7CP74LS2737406510Ω×8abcdefg+5V10KΩKCIOW≥174LS138≥1A0IORA1A2A3A4A5A6A7A8A9A10A11A12A13A14A15≥1&CG2AG2BBAY0Y1系統(tǒng)總線D0DPG1A15A14A13A12

A11A10A9A8

A7A6A5A4

A3A2A1A000000000011110XXX74LS24421輸出端口地址:00F0H輸入端口地址:00F1HLED數(shù)碼管顯示0時(shí),字形編碼為3F;LED數(shù)碼管顯示1時(shí),字形編碼為06;FOREVER: MOVDX,0F1H INAL,DX TESTAL,01H JZDISP0 ;閉合

MOVAL,06H JMPDISP1DISP0: MOVAL,3FHDISP1: MOVDX,0F0H OUTDX,AL JMPFOREVER226.3輸入輸出的控制方式CPU與外設(shè)之間數(shù)據(jù)傳送的控制方式:無條件傳送方式、程序查詢方式、中斷控制方式、直接存儲(chǔ)器存取DMA方式。一、無條件傳送控制方式是一種最簡(jiǎn)單的I/O控制方式,用于CPU與低速設(shè)備之間的信息交換,如開關(guān)、繼電器、LED顯示器,它們隨時(shí)都可以接收數(shù)據(jù),隨時(shí)都可以被CPU讀出數(shù)據(jù)。在這種方式中,指令的執(zhí)行與數(shù)據(jù)交換是同步的,所以也稱為同步數(shù)據(jù)傳送方式;23

D0

A0

A1

A2

A3

A4

A5

A6

A7

A8

A9

A10

A11

A12

A13

A14

A15

≥1

≥1

IOR

+5V

10KΩ

K24二、程序查詢方式

也叫條件傳送控制方式,分為查詢輸入和查詢輸出。數(shù)據(jù)傳送的過程如下:開始取外設(shè)狀態(tài)外設(shè)準(zhǔn)備就緒否?傳送數(shù)據(jù)傳送完否?NYYN結(jié)束251、查詢輸入方式狀態(tài)端口:STATUSPORT數(shù)據(jù)端口:DATAPORT查詢輸入程序如下:LOOPIN:INAL,STATUSPORT;讀狀態(tài)

TESTAL,80H;查詢RDYJZLOOPIN ;RDY=0則等待

INAL,DATAPORT ;讀入數(shù)據(jù)讀入狀態(tài)信息RDY=1?讀入數(shù)據(jù)YND7262、查詢輸出方式狀態(tài)端口:STATUSPORT數(shù)據(jù)端口:DATAPORT查詢輸出程序如下:LOOPOUT:INAL,STATUSPORT;讀狀態(tài)

TESTAL,01H;查詢BUSY=1?JNZLOOPOUT;BUSY=1則忙

MOVAL,BUFFER;取數(shù)據(jù)

OUTDATAPORT,AL;輸出數(shù)據(jù)讀入狀態(tài)信息BUSY=1?輸出數(shù)據(jù)ND0Y271號(hào)外設(shè)準(zhǔn)備就緒?2號(hào)外設(shè)準(zhǔn)備就緒?3號(hào)外設(shè)準(zhǔn)備就緒?對(duì)1號(hào)外設(shè)服務(wù)對(duì)2號(hào)外設(shè)服務(wù)對(duì)3號(hào)外設(shè)服務(wù)n號(hào)外設(shè)準(zhǔn)備就緒?對(duì)n號(hào)外設(shè)服務(wù)YYYYNNNN在整個(gè)查詢過程中CPU不能再做別的事,這降低了CPU的工作效率;數(shù)據(jù)交換的實(shí)時(shí)性較差;所以查詢方式多用于簡(jiǎn)單、慢速的外部設(shè)備。28例:用查詢方式進(jìn)行輸出外設(shè)狀態(tài)端口地址為3FBH,第5位(bit5)為狀態(tài)標(biāo)志(=1忙,=0準(zhǔn)備好)外設(shè)數(shù)據(jù)端口地址為3F8H,寫入數(shù)據(jù)會(huì)使?fàn)顟B(tài)標(biāo)志置1

;外設(shè)把數(shù)據(jù)讀走后又把它置0。試畫出其電路圖。(電路圖見下頁(yè))29D5D7-D0A9|A3≥1&A15|A10≥1IOWD7-D03F8H外設(shè)D7D6D5D4D3D2D1D0BUSYCPQ7Q6Q5Q4Q3Q2Q1Q0狀態(tài)端口GG2AG2BCBAA2A1A074LS138Y0≥1IORY3OE74LS374CPQQDSSTROBE3FBH程序段?30三、中斷傳送控制方式中斷控制方式使CPU與外設(shè)能夠并行工作,它改變了CPU主動(dòng)的工作方式。當(dāng)外設(shè)準(zhǔn)備就緒,就向CPU發(fā)出中斷請(qǐng)求,CPU響應(yīng)中斷,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,對(duì)外設(shè)服務(wù);利用中斷方式進(jìn)行數(shù)據(jù)傳送,不僅大大提高CPU的工作效率,還能夠?qū)ν庠O(shè)作出實(shí)時(shí)響應(yīng)。以上三種方式被稱為PIO方式,programmedinputandoutput31前面三種I/O方式都需要CPU作為中介:

外設(shè)

CPU內(nèi)存兩個(gè)含義:

1)軟件:外設(shè)與內(nèi)存之間的數(shù)據(jù)傳送是通過CPU執(zhí)行程序來完成的(PIO方式);

2)硬件:I/O接口和存儲(chǔ)器的讀寫控制信號(hào)、地址信號(hào)都是由CPU發(fā)出的(總線由CPU控制)。缺點(diǎn):程序的執(zhí)行速度限定了傳送的最大速度(約為幾十KB/秒)—解決:DMA傳輸四、直接存儲(chǔ)器存取控制方式32DMA傳輸:

外設(shè)內(nèi)存外設(shè)直接與存儲(chǔ)器進(jìn)行數(shù)據(jù)交換,CPU不再擔(dān)當(dāng)數(shù)據(jù)傳輸?shù)闹薪檎?;總線由DMA控制器(DMAC)進(jìn)行控制(CPU要放棄總線控制權(quán)),內(nèi)存/外設(shè)的地址和讀寫控制信號(hào)均由DMAC提供。優(yōu)點(diǎn):數(shù)據(jù)傳輸由DMA硬件來控制,數(shù)據(jù)直接在內(nèi)存和外設(shè)之間交換,可以達(dá)到很高的傳輸速率(可達(dá)幾MB/秒)33DMA傳送原理示意圖

①系統(tǒng)總線CPUDMAC存儲(chǔ)器外設(shè)接口AENIOWMEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDADRQDACK②③④⑤AENIOWIORMEMWMEMR①外設(shè)發(fā)出DMA請(qǐng)求②DMAC向CPU申請(qǐng)總線③CPU完成當(dāng)前總線周期后響應(yīng),并釋放總線控制權(quán)④DMAC得到總線控制權(quán),并發(fā)出DMA響應(yīng)信號(hào)⑤由DMAC發(fā)出各種控制信號(hào),控制外設(shè)與存儲(chǔ)器之間的數(shù)據(jù)傳送⑥數(shù)據(jù)傳送完后,DMAC撤銷HOLD信號(hào)⑦CPU釋放HLDA信號(hào),并重新控制總線⑥⑦視頻演示

34DMA控制器的工作過程外設(shè)向DMA控制器發(fā)出DMA傳送請(qǐng)求信號(hào)DRQ;DMA向CPU發(fā)出總線請(qǐng)求信號(hào)HOLD;CPU完成當(dāng)前總線周期后立即對(duì)HOLD信號(hào)進(jìn)行響應(yīng):一方面將總線至于高阻狀態(tài),放棄對(duì)總線的控制權(quán);另一方面CPU向DMA控制器發(fā)出總線響應(yīng)信號(hào)HLDA;DMAC外設(shè)接口CPU存儲(chǔ)器DRQHOLDHLDADACK35DMA收到HLDA信號(hào)后開始控制總線,并向外設(shè)發(fā)出DMA響應(yīng)信號(hào)DACK;DMA控制器發(fā)出地址信號(hào)和相應(yīng)的控制信號(hào),外設(shè)與內(nèi)存之間數(shù)據(jù)傳送開始;DMA控制器自動(dòng)修改地址和字節(jié)計(jì)數(shù)器。數(shù)據(jù)傳送完成DMA撤銷HOLD信號(hào);接下來CPU撤銷HLDA信號(hào),恢復(fù)對(duì)總線的控制權(quán);DMAC外設(shè)接口CPU存儲(chǔ)器DRQHOLDHLDADACK6.4中斷技術(shù)6.4.1中斷的基本概念什么是中斷?與生活場(chǎng)景的比較正在看書電話鈴響接電話繼續(xù)看書執(zhí)行程序事件發(fā)生事件處理繼續(xù)執(zhí)行程序中斷處理中斷請(qǐng)求及響應(yīng)實(shí)際場(chǎng)景計(jì)算機(jī)中斷返回中斷的定義CPU執(zhí)行程序時(shí),由于發(fā)生了某種隨機(jī)的事件(外部或內(nèi)部),引起CPU暫時(shí)中斷正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行一段特殊的服務(wù)程序(稱為中斷服務(wù)程序或中斷處理程序),以處理該事件,該事件處理完后又返回被中斷的程序繼續(xù)執(zhí)行,這一過程稱為中斷。中斷源引起CPU中斷的事件——中斷源。例如:外設(shè)——請(qǐng)求輸入輸出數(shù)據(jù),報(bào)告故障等事件——掉電、硬件故障、軟件錯(cuò)誤、非法操作、定時(shí)時(shí)間到等中斷源分為:外部中斷、內(nèi)部中斷內(nèi)部中斷:CPU內(nèi)部執(zhí)行程序時(shí)自身產(chǎn)生的中斷外部中斷:CPU以外的設(shè)備、部件產(chǎn)生的中斷

8086/8088的外部中斷信號(hào):INTR、NMIINTR——可屏蔽中斷請(qǐng)求,高電平有效,受IF標(biāo)志的控制。IF=1時(shí),執(zhí)行完當(dāng)前指令后CPU對(duì)它作出響應(yīng)。NMI——非屏蔽中斷請(qǐng)求,上升沿有效,任何時(shí)候CPU都要響應(yīng)此中斷請(qǐng)求信號(hào)。為何計(jì)算機(jī)中要引入中斷?提高數(shù)據(jù)傳輸率;避免了CPU不斷檢測(cè)外設(shè)狀態(tài)的過程,提高了CPU的利用率。實(shí)現(xiàn)對(duì)特殊事件的實(shí)時(shí)響應(yīng)。如多任務(wù)系統(tǒng)操作系統(tǒng)中:1.缺頁(yè)中斷2.設(shè)備中斷3.各類異常4.實(shí)時(shí)鐘,。。。等中斷過程五個(gè)步驟:1.中斷請(qǐng)求2.中斷判優(yōu)(有時(shí)還要進(jìn)行中斷源識(shí)別)3.中斷響應(yīng)4.中斷服務(wù)5.中斷返回以下以外部中斷為主介紹這五個(gè)步驟。1)中斷請(qǐng)求外設(shè)接口(中斷源)發(fā)出中斷請(qǐng)求信號(hào),送到CPU的INTR或NMI引腳;

中斷請(qǐng)求信號(hào):邊沿請(qǐng)求,電平請(qǐng)求

例如,NMI為邊沿請(qǐng)求,INTR為電平請(qǐng)求中斷請(qǐng)求信號(hào)應(yīng)保持到中斷被處理為止;CPU響應(yīng)中斷后,中斷請(qǐng)求信號(hào)應(yīng)及時(shí)撤銷。在8086/8088系統(tǒng)中,外設(shè)的中斷要經(jīng)過8259A可編程中斷控制器(PIC)的排隊(duì)判優(yōu)后向CPU發(fā)出:

(I/O接口)

→PIC→CPU2.1)中斷源識(shí)別計(jì)算機(jī)中的中斷源有很多,CPU必須識(shí)別是哪一個(gè)設(shè)備產(chǎn)生中斷。識(shí)別中斷源有兩個(gè)方法:軟件查詢。將中斷信號(hào)從數(shù)據(jù)總線讀入,用程序進(jìn)行判別,如教材圖6.17和圖6.19。中斷矢量法。由中斷源提供中斷類型號(hào),CPU根據(jù)類型確定中斷源。(8086/8088即采用此種方法)2.2)中斷判優(yōu)多個(gè)中斷源產(chǎn)生中斷,CPU首先為誰服務(wù)?

——中斷優(yōu)先級(jí)排隊(duì)問題。中斷優(yōu)先級(jí)控制要處理兩種情況:對(duì)同時(shí)產(chǎn)生的中斷:應(yīng)首先處理優(yōu)先級(jí)別較高的中斷;若優(yōu)先級(jí)別相同,則按先來先服務(wù)的原則處理;對(duì)非同時(shí)產(chǎn)生的中斷:低優(yōu)先級(jí)別的中斷處理程序允許被高優(yōu)先級(jí)別的中斷源所中斷——即允許中斷嵌套。中斷優(yōu)先級(jí)的控制方法硬件判優(yōu)——鏈?zhǔn)脚袃?yōu)、并行判優(yōu)(中斷向量法)軟件判優(yōu)——順序查詢中斷請(qǐng)求,先查詢的先服務(wù)(即先查詢的優(yōu)先級(jí)別高)通常將中斷判優(yōu)與中斷源識(shí)別合并在一起進(jìn)行處理。x86系統(tǒng)中,這項(xiàng)任務(wù)由PIC和CPU共同完成。D0D7~CPUINTR≥1并行輸入接口中斷請(qǐng)求寄存器IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7軟件查詢程序流程:斷點(diǎn)保護(hù)中斷源0的中斷服務(wù)程序中斷源1的中斷服務(wù)程序中斷源7的中斷服務(wù)程序中斷返回IRQ0IRQ1IRQ7YNNNYY軟件判優(yōu)的硬件支持電路INTAinCPUINTAINTR外設(shè)1外設(shè)2外設(shè)接口1菊花鏈邏輯電路外設(shè)接口2外設(shè)3外設(shè)接口3≥1菊花鏈邏輯電路菊花鏈邏輯電路┇I(xiàn)REQIREQIREQ中斷確認(rèn)鏈?zhǔn)脚袃?yōu)電路原理圖(教材圖6-18)

INTAinINTAin中斷確認(rèn)中斷確認(rèn)菊花鏈邏輯電路INTAinIREQINTR&=1

≥1INTAoutDB三態(tài)門中斷向量碼E外設(shè)接口中斷確認(rèn)菊花鏈邏輯電路3)中斷響應(yīng)在每條指令的最后一個(gè)時(shí)鐘周期,CPU檢測(cè)INTR或NMI信號(hào)。若以下條件成立,則CPU響應(yīng)中斷:當(dāng)前指令執(zhí)行完。對(duì)INTR,還應(yīng)滿足以下條件當(dāng)前指令是STI和IRET,則下條指令也要執(zhí)行完。當(dāng)前指令帶有LOCK、REP等指令前綴時(shí),則把它們看成一個(gè)整體,要求完整地執(zhí)行完;對(duì)INTR,CPU應(yīng)處于開中斷狀態(tài),即IF=1;當(dāng)前沒有復(fù)位(RESET)和保持(HOLD)信號(hào)。若NMI和

INTR同時(shí)發(fā)生,則首先響應(yīng)NMI。3)中斷響應(yīng)(續(xù))CPU中斷響應(yīng)時(shí),要做下述三項(xiàng)工作:向中斷源發(fā)出INTA中斷響應(yīng)信號(hào);斷點(diǎn)保護(hù),包括CS、IP和PSW(FLAGS)。這主要是保證中斷結(jié)束后能返回被中斷的程序。獲得中斷服務(wù)程序首地址(入口)。如何得到中斷處理程序的首地址?固定入口法中斷向量法——常用4)中斷處理(中斷服務(wù))中斷服務(wù)子程序特點(diǎn)為”遠(yuǎn)”過程(類型為FAR)要用IRET指令返回中斷服務(wù)子程序要做的工作保護(hù)現(xiàn)場(chǎng)(PUSH

reg’s)

開中斷(STI)

進(jìn)行中斷處理

恢復(fù)現(xiàn)場(chǎng)(POP

reg’s)

中斷返回(IRET)

5)中斷返回執(zhí)行中斷返回指令I(lǐng)RETIRET指令將使CPU把堆棧內(nèi)保存的斷點(diǎn)信息彈出到IP、CS和FLAG中,保證被中斷的程序從斷點(diǎn)處能夠繼續(xù)往下執(zhí)行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG進(jìn)入中斷服務(wù)程序時(shí)中斷返回后6.4.38088的中斷系統(tǒng)

與中斷有關(guān)的控制線為:NMI、INTR、INTA#8088系統(tǒng)的中斷源內(nèi)部中斷除法溢出:類型號(hào)0,商大于目的操作數(shù)所能表達(dá)的范圍時(shí)產(chǎn)生。單步中斷:類型號(hào)1,TF=1時(shí)產(chǎn)生(當(dāng)前指令需執(zhí)行完)斷點(diǎn)中斷:類型號(hào)3,這是一個(gè)軟件中斷,即INT3指令。溢出中斷:類型號(hào)4,這是一個(gè)軟件中斷,即INTO指令。軟件中斷:即INTn指令,類型號(hào)n(0-255)。外部中斷非屏蔽中斷NMI:類型號(hào)2,不可用軟件屏蔽,CPU必須響應(yīng)它??善帘沃袛郔NTR:類型號(hào)由PIC提供。IF=1時(shí)CPU才能響應(yīng)。NMIINTR中斷邏輯軟件中斷指令溢出中斷除法錯(cuò)單步中斷非屏蔽中斷請(qǐng)求中斷控制器8259APIC8086/8088CPU內(nèi)部邏輯斷點(diǎn)中斷8086/8088中斷源類型可屏蔽中斷請(qǐng)求n43012中斷源的識(shí)別8088系統(tǒng)采用中斷類型碼來識(shí)別不同的中斷源,每個(gè)中斷源都有一個(gè)與它相對(duì)應(yīng)的中斷類型碼。溢出、斷點(diǎn)、除法溢出、單步、非屏蔽中斷的類型碼為固定值軟件中斷的類型碼由指令給出可屏蔽中斷的類型碼由PIC給出CPU響應(yīng)INTR中斷時(shí),會(huì)產(chǎn)生兩個(gè)中斷響應(yīng)總線周期(教材圖6-22),要求PIC在第2個(gè)中斷響應(yīng)總線周期把中斷類型碼放到數(shù)據(jù)總線上,供CPU讀入。中斷向量表(IVT)

存放各類中斷的中斷服務(wù)程序的入口地址(段和偏移)——中斷向量

表的地址位于內(nèi)存的00000H~003FFH,大小為1KB,共256個(gè)中斷向量每個(gè)中斷向量占用4Bytes,低字為段內(nèi)偏移,高字為段基址根據(jù)中斷類型號(hào)獲得中斷服務(wù)程序入口的方法:(n為中斷類型號(hào))中斷向量在IVT中的存放地址=4×n中斷向量表的初始化初始化——將中斷服務(wù)程序的入口地址放入向量表例:中斷類型碼為48H的中斷處理子程序的名字為int48h,編寫程序段將該中斷處理子程序的入口地址放入向量表。中斷向量表的初始化CLIMOVAX,0MOVDS,AXMOVSI,48H*4MOVAX,OFFSETint48hMOV[SI],AXMOVAX,SEGint48hMOV[SI+2],AX

S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論