版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、主要內(nèi)容CPU與外設(shè)之間數(shù)據(jù)傳送方式 中斷技術(shù)8086中斷系統(tǒng)和中斷處理,輸入輸出與中斷,接口電路(芯片):CPU與外部設(shè)備之間實(shí)現(xiàn)信息交換的連接電路(硬件),簡(jiǎn)稱接口。,輸入輸出接口概述,外設(shè)種類繁多:機(jī)械式、電動(dòng)式、電子式、電磁式 信號(hào)類型復(fù)雜:數(shù)字量、模擬量、開(kāi)關(guān)量 處理信息速率相差甚遠(yuǎn):如手動(dòng)鍵盤輸入和磁盤輸入 外設(shè)數(shù)據(jù)傳遞方式:并行,串行,進(jìn)行地址譯碼或設(shè)備選擇,以便使CPU能與某一指定的外部設(shè)備通訊;狀態(tài)信息的
2、應(yīng)答,以協(xié)調(diào)數(shù)據(jù)傳送之前的準(zhǔn)備工作;進(jìn)行中斷管理,提供中斷信號(hào);進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換,如正負(fù)邏輯轉(zhuǎn)換,串行與并行數(shù)據(jù)轉(zhuǎn)換等;進(jìn)行電平轉(zhuǎn)換,如TTL電平與MOS電平間的轉(zhuǎn)換;協(xié)調(diào)速度,如采用鎖存、緩沖、驅(qū)動(dòng)等;時(shí)序控制,提供實(shí)時(shí)時(shí)鐘信號(hào)。,接口用途小結(jié),輸入輸出接口概述,CPU對(duì)外設(shè)的輸入輸出操作類似于存儲(chǔ)器的讀寫操作,即I/O讀寫,但外設(shè)與存儲(chǔ)器有諸多不同。,CPU與外設(shè)的連接,外設(shè)與計(jì)算機(jī)的連接不能像存儲(chǔ)器那樣直接掛到總線(DB
3、、AB、CB)上,必須通過(guò)各自的專用接口電路 (接口芯片) 與主機(jī)連接。,CPU與外設(shè)的連接,接口電路基本結(jié)構(gòu)同它傳送的信息種類有關(guān)。信息可分為3類:數(shù)據(jù)信息,狀態(tài)信息,控制信息。,接口電路的基本結(jié)構(gòu),3種性質(zhì)不同信息,經(jīng)不同端口分別傳送。每個(gè)端口都有自己的端口地址,用不同的端口地址來(lái)區(qū)分不同的信息。用輸入輸出指令來(lái)尋址外設(shè)時(shí),外設(shè)狀態(tài)作為一種輸入數(shù)據(jù),而CPU控制命令,是作為一種輸出數(shù)據(jù),從而可通過(guò)數(shù)據(jù)總線來(lái)分別傳送。端口地址由
4、CPU地址總線的低8位或低16位地址信息來(lái)確定,CPU根據(jù)I/O指令提供的端口地址來(lái)尋址端口,然后同外設(shè)交換信息。,接口電路的基本結(jié)構(gòu),1. 數(shù)據(jù)信息,數(shù)字量:由鍵盤、磁盤機(jī)、磁帶機(jī)、卡片機(jī)等讀入的信息,或主機(jī)送給打印機(jī)、磁盤機(jī)、磁帶機(jī)、顯示器及繪圖儀的信息。 通常為8位二進(jìn)制數(shù)或ASCII代碼。,接口電路的基本結(jié)構(gòu),模擬量:計(jì)算機(jī)用于檢測(cè)、數(shù)據(jù)采集或控制時(shí),現(xiàn)場(chǎng)信息是連續(xù)變化的物理量 (如溫度、壓力、位移等),經(jīng)傳感器
5、把非電量轉(zhuǎn)換成電量,經(jīng)放大得到模擬電流或電壓。 計(jì)算機(jī)不能直接接收和處理模擬量,須經(jīng)A/D (模/數(shù)) 轉(zhuǎn)換,才能輸入計(jì)算機(jī)。 計(jì)算機(jī)輸出的數(shù)字量也須經(jīng)D/A (數(shù)/模) 轉(zhuǎn)換后才能去控制執(zhí)行機(jī)構(gòu)。,接口電路的基本結(jié)構(gòu),開(kāi)關(guān)量:兩個(gè)狀態(tài),如開(kāi)關(guān)的閉合/斷開(kāi),電機(jī)的運(yùn)轉(zhuǎn)/停止,閥門的打開(kāi)/關(guān)閉等。 用一位“0”或“1”二進(jìn)制數(shù)表示。 字長(zhǎng)為8位的微機(jī)一次輸入或輸出可控制8個(gè)這類物
6、理量。,接口電路的基本結(jié)構(gòu),CPU是通過(guò)接口電路來(lái)掌握輸入輸出設(shè)備的狀態(tài),以決定可否 輸入或輸出數(shù)據(jù)。,2. 狀態(tài)信息,外設(shè)當(dāng)前所處工作狀態(tài)信息,CPU與外設(shè)間可靠交換數(shù)據(jù)條件。,輸入時(shí):告知CPU有關(guān)輸入設(shè)備數(shù)據(jù)是否準(zhǔn)備好 (Ready=1?),輸出時(shí):告知CPU輸出設(shè)備是否空閑 (Busy=0?),接口電路的基本結(jié)構(gòu),用于控制外設(shè)的啟動(dòng)或停止。,3. 控制信息,接口電路的基本結(jié)構(gòu),CPU與外設(shè)之間數(shù)據(jù)傳送,直接程序控制方式
7、 中斷控制方式 直接存儲(chǔ)器存?。―MA)控制方式,無(wú)條件程控傳送方式 有條件程控傳送方式(查詢方式),僅傳輸數(shù)據(jù)信息,不傳輸控制、狀態(tài)信息,要傳輸數(shù)據(jù)、控制、狀態(tài)信息,程序傳送,CPU與外設(shè)間的數(shù)據(jù)交換在程序控制下進(jìn)行。 即IN或OUT指令控制。,無(wú)條件程序控制傳送方式 有條件程序控制傳送方式(查詢方式),最簡(jiǎn)單的輸入/輸出控制方式,用于控制CPU與低速接口之間 的信息交換。
8、 例如,開(kāi)關(guān)、繼電器、7段顯示器、機(jī)械式傳感器等簡(jiǎn)單外設(shè)。 這類信號(hào)變化緩慢,當(dāng)需要采集這些數(shù)據(jù)時(shí),外設(shè)已將數(shù)據(jù)準(zhǔn) 備就緒了。無(wú)需檢查端口的狀態(tài),就可立即采集數(shù)據(jù)。 對(duì)少量數(shù)據(jù)傳送來(lái)說(shuō),它是最省時(shí)間的一種傳送方法,適用于 各類巡回檢測(cè)和過(guò)程控制。,1. 無(wú)條件傳送(又稱同步傳送),程序傳送,注:輸入接口為緩沖器,輸出接口為鎖存器,程序傳送,輸出數(shù)據(jù)時(shí),一般都需要鎖存器將要輸出的數(shù)據(jù)
9、保持一段時(shí)間,其長(zhǎng)短和外設(shè)的動(dòng)作相適應(yīng)。,輸入數(shù)據(jù)時(shí),由于數(shù)據(jù)保持時(shí)間相對(duì)于CPU的處理時(shí)間長(zhǎng)得多,故輸入端可直接用輸入緩沖器與CPU的數(shù)據(jù)總線相連。,程序傳送,無(wú)條件傳送實(shí)例:,16位數(shù)據(jù)采集系統(tǒng),被采集數(shù)據(jù)是8個(gè)模擬量,由繼電器繞組P0、P1 … P7分別控制觸點(diǎn)K0、K1…K7逐個(gè)接通。 每次采樣用一個(gè)4位 (每位為一個(gè)十進(jìn)制數(shù)) 數(shù)字電壓表測(cè)量,把被采樣的模擬量轉(zhuǎn)換成16位BCD代碼(即對(duì)應(yīng)4位十進(jìn)制數(shù)的4個(gè)BCD碼)
10、,高8位和低8位通過(guò)兩個(gè)不同的端口 (其地址分別為10H和11H)輸入。 CPU通過(guò)端口20H 輸出控制信號(hào),以控制某個(gè)繼電器的吸合,實(shí)現(xiàn)采集不同通道的模擬量。,程序傳送,先斷開(kāi)所有繼電器線圈及觸點(diǎn),不采集數(shù)據(jù)。延遲一段時(shí)間后,K0閉合,采集第1個(gè)通道模擬量,保持一段時(shí)間,以使數(shù)字電壓表能將模擬電壓轉(zhuǎn)換為16位BCD碼。分別將高8位與低8位BCD碼存入內(nèi)存,完成第1個(gè)模擬量輸入與轉(zhuǎn)存。利用移位與循環(huán)實(shí)現(xiàn)8個(gè)模擬量的依次采
11、集、輸入與轉(zhuǎn)存。,采集過(guò)程要求:,觸點(diǎn),線圈,輸出端口,輸入端口,,程序傳送,START: MOV DX, 0100H ; 01H→DH,置吸合第1個(gè)繼電器代碼 ; 00H→DL,置斷開(kāi)所有繼電器代碼 LEA BX, DSTOR ;
12、置輸入數(shù)據(jù)緩沖器的地址指針 XOR AL, AL ; 清AL及進(jìn)位位CFAGAIN: MOV AL, DL OUT 20H, AL ;斷開(kāi)所有繼電器線圈 CALL NEAR DELAY1 ;模擬繼電器觸點(diǎn)釋放時(shí)間 MOV AL
13、, DH OUT 20H, AL ;先使P0吸合 CALL NEAR DELAY2 ;模擬觸點(diǎn)閉合及數(shù)字電壓表轉(zhuǎn)換時(shí)間 IN AX, 10H ;輸入 MOV [BX], AX ;存入內(nèi)存
14、 INC BX INC BX RCL DH, 1 ;DH左移(大循環(huán))1位,為下一個(gè)觸點(diǎn)吸合作準(zhǔn)備 JNC AGAIN ;8位都輸入完了嗎?沒(méi)有,則循環(huán)DONE: ;輸入已完,則執(zhí)行
15、別的程序段。,程序傳送,,2. 程序查詢傳送 (條件傳送—異步傳送),也是一種程序傳送,與無(wú)條件同步傳送不同,是有條件的異步傳送。 條件是:在執(zhí)行輸入(IN指令)或輸出(OUT指令)前,先查詢接口中狀態(tài)寄存器的狀態(tài)。 輸入時(shí),由狀態(tài)信息指示要輸入數(shù)據(jù)是否已“準(zhǔn)備就緒”; 輸出時(shí),由它指示輸出設(shè)備是否“空閑”,由此條件來(lái)決定執(zhí)行輸入或輸出。,程序傳送,,程序查詢輸入,數(shù)據(jù)與狀態(tài)必須有不同的端口分別輸入至CPU
16、數(shù)據(jù)總線。,,,,,讀入數(shù)據(jù)命令使?fàn)顟B(tài)信息清0,為下次輸入新數(shù)據(jù)做準(zhǔn)備。,程序傳送,讀入的數(shù)據(jù)是8位,而讀入的狀態(tài)信息往往是1位,因此, 不同的外設(shè)其狀態(tài)信息可使用同一個(gè)端口,只要使用不同 的位就可以。,,程序查詢輸入的數(shù)據(jù)和狀態(tài)信息,程序傳送,POLL: IN AL, STATU_SPORT ; 讀狀態(tài)端口的信息 TEST AL, 80 H ; 設(shè)“準(zhǔn)備就緒
17、”(READY)信息 ; 在D7位 JE POLL ; 未“準(zhǔn)備就緒”,則循環(huán)再查 IN AL, DATA_PORT ; 已“準(zhǔn)備就緒”(READY=1),
18、 ; 則讀入數(shù)據(jù),,查詢輸入方式的程序,程序傳送,,程序查詢輸出,輸出時(shí)CPU也必須了解外設(shè)狀態(tài),看外設(shè)是否有“空閑” ,若有“ 空閑 ”,則CPU執(zhí)行輸出指令;否則就等待再查。 因此,接口電路中也必須要有狀態(tài)信息的端口。,,,,,,,,,程序傳送,,程序查詢輸出的端口信息,程序傳送,POLL: IN AL, STAT
19、US_PORT ;查狀態(tài)端口中的狀態(tài)信息D7 TEST AL, 80H JNE POLL ;D7=1, 即忙線=1, 則循環(huán)再查 MOV AL, STORE ;否則, 外設(shè)空閑, 由內(nèi)存讀取數(shù)據(jù) OUT DATA_PORT, AL ;輸出到DATA地址
20、端口單元,,程序查詢輸出部分的程序,STATUS_PORT和DATA_PORT為狀態(tài)和數(shù)據(jù)端口的符號(hào)地址; STORE為待輸出數(shù)據(jù)的內(nèi)存單元的符號(hào)地址。,程序傳送,8個(gè)模擬量輸入數(shù)據(jù)采集系統(tǒng),用查詢方式與CPU傳送信息。,,3. 采用查詢方式的數(shù)據(jù)采集系統(tǒng),,,,,,該數(shù)據(jù)采集系統(tǒng),用到了3個(gè)端口,它們有各自的地址。,,,,程序傳送,初始化。先停止A/D轉(zhuǎn)換。啟動(dòng)A/D轉(zhuǎn)換,查輸入狀態(tài)信息READY。當(dāng)輸入數(shù)據(jù)已轉(zhuǎn)換完(
21、REA=1,即準(zhǔn)備就緒),則經(jīng)由端口3輸入至CPU的累加器AL中,并轉(zhuǎn)送內(nèi)存。設(shè)置下一個(gè)內(nèi)存單元與下一個(gè)輸入通道,循環(huán)8次。,,采集過(guò)程要求:,程序傳送,,程序傳送,CPU從接口狀態(tài)端口中讀入外設(shè)狀態(tài)信息“READY”或“BUSY”。根據(jù)讀入的狀態(tài)信息進(jìn)行判斷。 程序查詢輸入時(shí),若READY=0,則外設(shè)數(shù)據(jù)未準(zhǔn)備好,CPU繼續(xù)等待查詢,直至READY=1,執(zhí)行下一步操作; 程序查詢輸出時(shí),若BUSY=1,則外
22、設(shè)正在“忙”,CPU繼續(xù)等待查詢,直至BUSY=0時(shí),執(zhí)行下一步操作。執(zhí)行輸入/輸出指令,進(jìn)行I/O傳送。完成數(shù)據(jù)的輸入/輸出,同時(shí)將外設(shè)的狀態(tài)信息復(fù)位,一個(gè)8位的數(shù)據(jù)傳送結(jié)束。,4. 程序查詢輸入/輸出傳送方式的執(zhí)行過(guò)程,程序傳送,當(dāng)計(jì)算機(jī)工作任務(wù)較輕或CPU不太忙時(shí),可以應(yīng)用程序查詢輸入/輸出傳送方式,它能較好地協(xié)調(diào)外設(shè)與CPU之間定時(shí)的差別;程序和接口電路比較簡(jiǎn)單。 主要缺點(diǎn)是:CPU必須作程序等待循環(huán),不斷測(cè)試外設(shè)的
23、狀態(tài),直至外設(shè)為交換數(shù)據(jù)準(zhǔn)備就緒時(shí)為止。這種循環(huán)等待方式很花費(fèi)時(shí)間,大大降低了CPU的運(yùn)行效率。,5. 小結(jié),程序傳送,程序查詢方式降低了CPU運(yùn)行效率,在實(shí)時(shí)控制系統(tǒng)中,往往有數(shù)十乃至數(shù)百個(gè)外設(shè),由于工作速度不同,要求CPU服務(wù)隨機(jī)的,有些要求很急迫。 若用查詢方式除浪費(fèi)大量等待查詢時(shí)間外,還很難使每一個(gè)外設(shè)都能工作在最佳工作狀態(tài)。 為提高CPU執(zhí)行有效程序的工作效率和提高系統(tǒng)中多臺(tái)外設(shè)的工作效率,可以讓外設(shè)處于能
24、主動(dòng)申請(qǐng)中斷的工作方式,當(dāng)有多個(gè)外設(shè)及速度不匹配時(shí),尤為重要。,中斷傳送,中斷是外設(shè)或其他中斷源中止CPU當(dāng)前正在執(zhí)行程序,而轉(zhuǎn)向?yàn)樵撏庠O(shè)服務(wù)的程序,一旦服務(wù)結(jié)束,又返回原程序繼續(xù)工作。 外設(shè)處理數(shù)據(jù)期間,CPU不必浪費(fèi)大量時(shí)間去查詢其狀態(tài),只待外設(shè)處理完畢主動(dòng)向CPU提出請(qǐng)求。 CPU在每一條指令執(zhí)行的結(jié)尾階段,均查詢是否有中斷請(qǐng)求信號(hào),若有,則暫停執(zhí)行現(xiàn)行程序,轉(zhuǎn)去為申請(qǐng)中斷的某個(gè)外設(shè)服務(wù)。,中斷傳送,需由CPU
25、通過(guò)程序來(lái)傳送數(shù)據(jù),并在處理中斷時(shí),還要“保護(hù)現(xiàn)場(chǎng)”和“恢復(fù)現(xiàn)場(chǎng)”,要占用一定時(shí)間。 對(duì)于高速外設(shè)以及成組交換數(shù)據(jù)的場(chǎng)合,顯得太慢。,優(yōu)點(diǎn):大大提高了CPU工作效率。,缺點(diǎn):,中斷傳送,,由專門硬件電路執(zhí)行I/O交換,外設(shè)接口直接與內(nèi)存進(jìn)行高速數(shù)據(jù)傳送,而不必經(jīng)過(guò)CPU。 不必進(jìn)行保護(hù)現(xiàn)場(chǎng)等額外操作,便可實(shí)現(xiàn)對(duì)存儲(chǔ)器直接存取。 這種專門的硬件電路就是DMA控制器,簡(jiǎn)稱為DMAC。,直接存儲(chǔ)器存取 (DMA)傳
26、送,DMA (Direct Memory Access) 方式,優(yōu)點(diǎn):速度快,數(shù)據(jù)傳送的速率只受存儲(chǔ)器訪問(wèn)的限制。 CPU不參與操作,省去取指令,指令譯碼、存取數(shù)等。 缺點(diǎn):硬件電路較復(fù)雜。,中斷概述,中斷,CPU在執(zhí)行正常程序時(shí),為處理一些緊急發(fā)生的情況,暫時(shí)中止當(dāng)前程序,轉(zhuǎn)而對(duì)該緊急事件進(jìn)行處理(中斷服務(wù)程序),并在處理完后返回正常程序的過(guò)程。,1. 中斷常用術(shù)語(yǔ),中斷源,引起中斷的事件或原
27、因,或發(fā)出中斷申請(qǐng)的來(lái)源。,外部設(shè)備:中、慢速外設(shè),如鍵盤、打印機(jī)、A/D轉(zhuǎn)換器等。 高速外設(shè),如磁盤或磁帶,向CPU提出總線請(qǐng)求,進(jìn)行DMA傳送。,實(shí)時(shí)時(shí)鐘:在自動(dòng)控制中,常遇到定時(shí)檢測(cè)與控制,這時(shí)可采用外部時(shí)鐘電路。,故障源:計(jì)算機(jī)內(nèi)設(shè)有故障自動(dòng)檢測(cè)裝置,如發(fā)生運(yùn)算出錯(cuò)、存儲(chǔ)器讀出出錯(cuò)、外部設(shè)備故障、電源掉電等意外事件時(shí),這些裝置都能使CPU中斷,進(jìn)行相應(yīng)的中斷處理。,為調(diào)試程序設(shè)置的中斷源:CPU執(zhí)行了特殊指令(自陷指令
28、)或由硬件電路引起的中斷,如斷點(diǎn)設(shè)置、單步調(diào)試等。,中斷概述,中斷向量,中斷服務(wù)子程序的入口地址,即中斷服務(wù)子程序的第一條指令的地址在存儲(chǔ)器中的存放位置。,中斷向量表,中斷向量構(gòu)成的表格,位于存儲(chǔ)器的最低地址單元。,中斷概述,執(zhí)行的現(xiàn)行程序被中斷時(shí)的下一條指令的地址,又稱斷點(diǎn)地址。,斷點(diǎn),中服程序中應(yīng)保護(hù)和恢復(fù)的相關(guān)信息。,現(xiàn)場(chǎng),中斷概述,中斷優(yōu)先級(jí),系統(tǒng)中多個(gè)中斷源同時(shí)提出中斷請(qǐng)求時(shí),需按中斷的輕重緩急給每個(gè)中斷源指定一個(gè)優(yōu)先級(jí)別。,
29、中斷嵌套,中斷服務(wù)程序運(yùn)行中響應(yīng)更高級(jí)別中斷請(qǐng)求。,中斷概述,處理器對(duì)各類中斷的中斷源進(jìn)行的統(tǒng)一編號(hào)n,n的取值范圍是0~255。,中斷類型號(hào),中斷分類,中斷概述,2. 中斷系統(tǒng)功能,中斷源發(fā)出中斷請(qǐng)求,CPU決定是否響應(yīng),若響應(yīng),則保護(hù)斷點(diǎn)和現(xiàn)場(chǎng),轉(zhuǎn)入相應(yīng)中斷服務(wù)程序,中斷服務(wù)結(jié)束后,恢復(fù)現(xiàn)場(chǎng)和斷點(diǎn),繼續(xù)執(zhí)行原程序。,能響應(yīng)中斷、處理中斷及返回,中斷概述,能實(shí)現(xiàn)優(yōu)先權(quán)排隊(duì),按各中斷請(qǐng)求的重要程度排列CPU響應(yīng)的次序稱為中斷優(yōu)先級(jí)。即
30、同時(shí)有多個(gè)中斷請(qǐng)求到來(lái)時(shí),CPU會(huì)首先響應(yīng)和處理優(yōu)先級(jí)別最高的中斷請(qǐng)求。中斷優(yōu)先級(jí)的實(shí)現(xiàn)可以用軟件或硬件設(shè)置。,中斷概述,高級(jí)中斷源能中斷低級(jí)的中斷處理,兩重中斷(或兩級(jí)嵌套),還可進(jìn)行多重中斷 (或多級(jí)嵌套)。,中斷概述,中斷除能解決快速CPU與中、慢速外設(shè)速度不匹配的矛盾,以提高主機(jī)的工作效率之外,在實(shí)現(xiàn)分時(shí)操作、實(shí)時(shí)處理、故障處理、多機(jī)連接以及人機(jī)聯(lián)系等方面均有廣泛的應(yīng)用。,4. 中斷的應(yīng)用,中斷概述,單個(gè)中斷源的中斷過(guò)程,包括
31、:中斷請(qǐng)求中斷響應(yīng)中斷處理中斷返回等環(huán)節(jié)。,1. 中斷源向CPU發(fā)中斷請(qǐng)求信號(hào)的條件,設(shè)置中斷請(qǐng)求觸發(fā)器 設(shè)置中斷屏蔽觸發(fā)器,中斷源通過(guò)其接口電路向CPU發(fā)中斷請(qǐng)求信號(hào)的。該信號(hào)能否發(fā)給CPU,需滿足2個(gè)條件:,單個(gè)中斷源的中斷過(guò)程,2. CPU響應(yīng)中斷的條件,CPU開(kāi)放中斷 CPU在現(xiàn)行指令結(jié)束后響應(yīng)中斷,單個(gè)中斷源的中斷過(guò)程,3. CPU響應(yīng)中斷及處理過(guò)程,關(guān)中斷保留斷點(diǎn)保護(hù)現(xiàn)場(chǎng)給出中斷入口(地址),轉(zhuǎn)入相應(yīng)中
32、斷服務(wù)程序恢復(fù)現(xiàn)場(chǎng)開(kāi)中斷與返回,單個(gè)中斷源的中斷過(guò)程,中斷優(yōu)先權(quán),實(shí)際系統(tǒng)中具有多個(gè)中斷源,CPU的可屏蔽中斷請(qǐng)求線往往 只有一條。 要求CPU按多個(gè)中斷源優(yōu)先權(quán)由高至低依次來(lái)響應(yīng)中斷申請(qǐng)。 CPU正在處理中斷時(shí),要能響應(yīng)更高級(jí)的中斷申請(qǐng),而屏蔽掉同級(jí)或低級(jí)的中斷申請(qǐng)。,CPU可通過(guò)軟件查詢技術(shù)或硬件排隊(duì)電路兩種方法來(lái)實(shí)現(xiàn)按中斷優(yōu)先權(quán)對(duì)多個(gè)中斷源的管理,也有專門用于協(xié)助CPU 按中斷優(yōu)先權(quán)處理多個(gè)中斷源
33、的中斷控制芯片,如8259A芯片。,中斷優(yōu)先權(quán),,了解內(nèi)容,簡(jiǎn)要、靈活、多用采用中斷向量結(jié)構(gòu)每個(gè)中斷給定一個(gè)中斷類型號(hào),供CPU識(shí)別可處理256種類型中斷中斷可來(lái)自外部,即由硬件產(chǎn)生中斷可來(lái)自內(nèi)部,即由軟件(中斷指令)產(chǎn)生滿足某些特定條件(陷阱)后引發(fā)CPU中斷,8086中斷系統(tǒng),,1. 外部中斷,8086 CPU有2條引腳供外部中斷源請(qǐng)求中斷: 一條是高電平有效的可屏蔽中斷INTR; 另一條是正跳變有效的非
34、屏蔽中斷NMI。,8086中斷系統(tǒng),,可屏蔽中斷,CPU的INTR引腳上出現(xiàn)的請(qǐng)求信號(hào)須保持到當(dāng)前指令的結(jié)束。 每條指令最后一個(gè)時(shí)鐘周期CPU對(duì)INTR引腳采樣,如采樣到 有中斷請(qǐng)求信號(hào)產(chǎn)生,是否響應(yīng)取決于標(biāo)志寄存器中IF狀態(tài)。,若IF=0,CPU處于關(guān)中斷狀態(tài),不響應(yīng)INTR;,若IF=1,CPU處于開(kāi)中斷狀態(tài),響應(yīng)INTR,并通過(guò)INTA引腳 發(fā)回響應(yīng)信號(hào),啟動(dòng)中斷過(guò)程。,8086中斷系統(tǒng),8086中斷
35、系統(tǒng),CPU的NMI引腳上出現(xiàn)一上升沿的邊沿觸發(fā)有效請(qǐng)求信號(hào)時(shí),它將由CPU內(nèi)部的鎖存器將其鎖存起來(lái)。 要求請(qǐng)求脈沖的有效寬度大于兩個(gè)時(shí)鐘周期。 一旦此中斷請(qǐng)求信號(hào)產(chǎn)生,不管標(biāo)志位IF的狀態(tài),CPU立即響應(yīng)。,非屏蔽中斷,非屏蔽中斷源有3種:系統(tǒng)板上RAM的奇偶校驗(yàn)錯(cuò),擴(kuò)展槽中的I/O通道錯(cuò),浮點(diǎn)運(yùn)算協(xié)處理器8087的中斷請(qǐng)求, 3個(gè)中斷源均可獨(dú)立申請(qǐng)中斷。,8086中斷系統(tǒng),8086中斷系統(tǒng),執(zhí)行除法指令時(shí),若發(fā)現(xiàn)
36、除數(shù)為0或商數(shù)超過(guò)了寄存器所能表達(dá)的范圍,立即產(chǎn)生一個(gè)類型為0的內(nèi)部中斷,CPU轉(zhuǎn)向除法出錯(cuò)的中斷服務(wù)程序。 優(yōu)先級(jí)最高的一種內(nèi)部中斷。,,2. 內(nèi)部中斷,除法出錯(cuò)中斷-類型0,8086中斷系統(tǒng),若上一條指令執(zhí)行結(jié)果使溢出標(biāo)志OF=1,則在執(zhí)行溢出中斷指令I(lǐng)NTO時(shí),引起類型4的內(nèi)部中斷,CPU轉(zhuǎn)入對(duì)溢出錯(cuò)誤進(jìn)行處理的中斷服務(wù)程序。 若OF=0 時(shí),則本指令執(zhí)行空操作,程序執(zhí)行下一條指令。 INTO指令常常
37、緊跟在算術(shù)運(yùn)算指令之后,以便在該指令執(zhí)行產(chǎn)生溢出時(shí)由INTO指令進(jìn)行特殊的處理。,,溢出中斷-類型4,8086中斷系統(tǒng),,單步中斷-類型1,TF=1,單步工作方式,即CPU每執(zhí)行完一條指令后就自動(dòng)地產(chǎn)生一個(gè)類型1的內(nèi)部中斷,程序控制將轉(zhuǎn)入單步中斷服務(wù)程序。,,單步中斷方式是一種很有用的調(diào)試手段。,8086中斷系統(tǒng),,斷點(diǎn)中斷- 類型3,用中斷指令I(lǐng)NT 3設(shè)置程序斷點(diǎn),執(zhí)行該指令以后就會(huì)產(chǎn)生一個(gè)中斷類型為3的內(nèi)部中斷。 斷點(diǎn)中斷指
38、令主要用于軟件調(diào)試中,程序員可用它在程序中設(shè)置一個(gè)程序斷點(diǎn)。,8086中斷系統(tǒng),,用戶定義的軟件中斷- 類型n,內(nèi)部中斷中有一個(gè)可由用戶定義的中斷指令I(lǐng)NT n,第1個(gè)字節(jié)為INT的操作碼,第2個(gè)字節(jié)n是它的中斷類型號(hào)。 中斷類型號(hào)n由程序員編程時(shí)給定,用它指出中斷服務(wù)程序的入口地址。,8086中斷系統(tǒng),中斷類型對(duì)應(yīng)256個(gè)中斷入口; 每個(gè)入口應(yīng)包含4個(gè)字節(jié): 2個(gè)低地址字節(jié)是IP偏移量; 2個(gè)高
39、地址字節(jié)是CS基址; 中斷入口地址表需占用1K字節(jié)的存儲(chǔ)空間,且設(shè)置在存儲(chǔ)器的最低端,即000H~3FFH。,外設(shè)通過(guò)接口將中斷類型號(hào)n放在數(shù)據(jù)總線上,CPU對(duì)n乘以4得到指向入口地址的首字節(jié);,4n和4n+1單元中存放的是入口的偏移地址,4n+2和4n+3單元中存放的是入口的段地址。,8086中斷系統(tǒng),,3. 內(nèi)部中斷的特點(diǎn),內(nèi)部中斷由一條INT n指令直接產(chǎn)生。除單步中斷外,所有內(nèi)部中斷都不能被屏蔽。所有內(nèi)部中斷都
40、沒(méi)有中斷響應(yīng)總線周期,因?yàn)閮?nèi)部中斷不必通過(guò)查詢外部來(lái)獲得中斷類型號(hào)。除單步中斷外,所有內(nèi)部中斷優(yōu)先權(quán)比外部中斷優(yōu)先權(quán)高。單步中斷是逐條地跟蹤調(diào)試,而斷點(diǎn)中斷 INT 3 是逐段地調(diào)試,它們均可用中斷服務(wù)程序在屏幕上顯示有關(guān)的各種信息。,8086中斷系統(tǒng),,1. 中斷處理的基本過(guò)程,中斷請(qǐng)求中斷響應(yīng)中斷處理中斷返回,8086中斷系統(tǒng)過(guò)程,,2. 同時(shí)發(fā)生多個(gè)中斷的處理過(guò)程,8086中斷系統(tǒng)過(guò)程,,放在存儲(chǔ)單元地址的最低部位,00
41、000H~003FFH之間,占有1K字節(jié)的存儲(chǔ)空間。 中斷向量表分成256組,每組由兩個(gè)字(即4個(gè)字節(jié))組成一個(gè)雙字長(zhǎng)的指針。,高地址中存放的是中斷服務(wù)程序入口地址的CS,低地址字是IP。 CPU通過(guò)CS和IP值得到一個(gè)20位中斷服務(wù)程序的實(shí)際入口地址。,中斷向量表,,如:中斷類型號(hào)為8,中斷向量表的第9個(gè)入口,該向量的第1字節(jié)的地址為: 8x4=32=00100000B=20H 若CS=1000
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 動(dòng)力分析基礎(chǔ)-上海交通大學(xué)繼續(xù)教育學(xué)院
- 上海交通大學(xué)繼續(xù)教育學(xué)院學(xué)位課程大綱
- 上海交通大學(xué)繼續(xù)教育學(xué)院網(wǎng)絡(luò)教育試題(模擬)
- 北京交通大學(xué)遠(yuǎn)程與繼續(xù)教育學(xué)院
- 西南交通大學(xué)遠(yuǎn)程與繼續(xù)教育學(xué)院
- 國(guó)際貿(mào)易實(shí)務(wù)課程-上海交通大學(xué)繼續(xù)教育學(xué)院
- 上海交通大學(xué)繼續(xù)教育學(xué)院網(wǎng)絡(luò)教育畢業(yè)論文設(shè)計(jì)
- 交通大學(xué)繼續(xù)教育學(xué)院網(wǎng)絡(luò)教育試題模擬
- 北京交通大學(xué)遠(yuǎn)程與繼續(xù)教育學(xué)院_18778
- 審計(jì)學(xué)學(xué)位考考綱-上海交通大學(xué)繼續(xù)教育學(xué)院
- 機(jī)電控制技術(shù)第一章-上海交通大學(xué)繼續(xù)教育學(xué)院
- 北京交通大學(xué)遠(yuǎn)程與繼續(xù)教育學(xué)院交通類專業(yè)
- 西安交通大學(xué)繼續(xù)教育學(xué)院畢業(yè)論文
- 上海交通大學(xué)繼續(xù)教育學(xué)院英語(yǔ)b級(jí)統(tǒng)考復(fù)習(xí)資料
- 上海戲劇學(xué)院繼續(xù)教育學(xué)院
- 上海交通大學(xué)繼續(xù)教育學(xué)院英語(yǔ)聽(tīng)力期末考試試題
- 上海財(cái)經(jīng)大學(xué)繼續(xù)教育學(xué)院文件
- 畢業(yè)設(shè)計(jì)使用幫助西南交通大學(xué)遠(yuǎn)程與繼續(xù)教育學(xué)院
- 上海戲劇學(xué)院繼續(xù)教育學(xué)院[0001]
- 西南大學(xué)絡(luò)與繼續(xù)教育學(xué)院
評(píng)論
0/150
提交評(píng)論