freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[工學(xué)]微機(jī)原理與接口分析第10章(編輯修改稿)

2025-03-21 00:50 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 則產(chǎn)生類(lèi)型號(hào)為 12的中斷 。 應(yīng)該指出的是 8086微處理器與 80286以上高檔微處理器相比較 , 外部硬中斷 , 包括非可屏蔽中斷和可屏蔽中斷的功能和操作基本相同 。 由于外部硬中斷 , 特別是可屏蔽中斷與 I/O接口關(guān)系密切 , 所以將重點(diǎn)討論 。 2. 微處理器響應(yīng)任何中斷都將轉(zhuǎn)向中斷服務(wù)程序 。 從而獲得中斷服務(wù)程序的入口地址 。 ?每種中斷有自己的中斷類(lèi)型號(hào) ?與中斷類(lèi)型號(hào)相適應(yīng) , 在實(shí)模式下有中斷向量表 , 在保護(hù)模式下有中斷描述符表 IDT。 (1) 8086微處理器家族各成員在設(shè)計(jì)時(shí)硬件邏輯保證了這一項(xiàng)規(guī)則:在實(shí)模式下 , 存儲(chǔ)器地址最低的 1024單元 , 即地址0000H~03FFH, 用于存儲(chǔ)各種中斷服務(wù)的入口地址 。 從00000H開(kāi)始 , 每 4個(gè)單元存放一個(gè)中斷服務(wù)程序入口 。 其中前兩個(gè)單元的 16位是入口地址的段內(nèi)偏移部分 , 后兩個(gè)單元的16位是入口地址的段地址 。 程序運(yùn)行轉(zhuǎn)入中斷服務(wù)程序時(shí) , 入口地址的段內(nèi)偏移部分將裝入 IP中 , 入口地址的段地址部分裝入 CS。 中斷服務(wù)程序的這 32位以邏輯地址形式表示的入口地址稱(chēng)為中斷向量或中斷指針 。 存儲(chǔ)器地址最低的 1024個(gè)單元共可存 256種中斷向量 , 這個(gè)專(zhuān)用于存儲(chǔ)中斷向量的存儲(chǔ)區(qū)稱(chēng)為中斷向量表 。 中斷類(lèi)型號(hào)是訪問(wèn)中斷向量表的索引號(hào) 。 也就是說(shuō) , 中斷向量在中斷向量表中的存儲(chǔ)順序是以中斷類(lèi)型號(hào)為索引的 。 中斷類(lèi)型號(hào)與中斷向量在向量表中的位置之間的對(duì)應(yīng)關(guān)系為: 中斷向量地址指針 =4 中斷類(lèi)型號(hào) 中斷類(lèi)型號(hào)為 0,其中斷向量在向量表的 00000H~00003H地址。 中斷類(lèi)型號(hào)為 1,其中斷向量在 00004H~00007H地址 ……,中斷類(lèi)型號(hào)為 255時(shí),其中斷向量應(yīng)在003FCH~003FFH地址。中斷類(lèi)型號(hào)與中斷向量地址的對(duì)應(yīng)關(guān)系如圖 。 中斷類(lèi)型號(hào)只與存放中斷向量的地址有關(guān) , 存放中斷向量的地址等于中斷類(lèi)型號(hào)乘以 4。 中斷向量: 中斷服務(wù)程序的入口地址和中斷服務(wù)程序是軟件開(kāi)發(fā)者確定和設(shè)計(jì)的 。 在系統(tǒng)啟動(dòng)時(shí) , 操作系統(tǒng)不僅要把這個(gè)中斷服務(wù)程序裝入內(nèi)存 , 還要把服務(wù)程序的入口地址裝入 00000H~00003H單元 。 ① 在保護(hù)模式下 , 中斷向量表起作用的是中斷描述符表IDT。 把中斷向量表稱(chēng)為實(shí)模式下的 IDT。 IDT內(nèi)保存若干個(gè) 8 個(gè)字節(jié)組成的描述符稱(chēng)作中斷門(mén) 、 陷阱門(mén)和任務(wù)門(mén) 。 通過(guò)訪問(wèn)這類(lèi)門(mén)可進(jìn)一步獲得用中斷機(jī)制轉(zhuǎn)入的程序 (中斷服務(wù)程序或任務(wù) )的入口地址 。 為了與實(shí)模式下的中斷向量表相分離 , 又為了與保護(hù)模式下的虛擬存儲(chǔ)器系統(tǒng)和多任務(wù)相適應(yīng) , IDT不再固定設(shè)置在主存器地址的最低端 。 它被定義成一個(gè)特殊的段 , 其基地址中斷描述符表寄存器 IDTR決定 。 8個(gè)字節(jié)的門(mén)在 IDT中的排列順序與門(mén)對(duì)應(yīng)的中斷類(lèi)型號(hào)有關(guān) 。 也就是說(shuō) , 中斷類(lèi)型號(hào)是其對(duì)應(yīng)的門(mén)在 IDT中的索引號(hào) 。 中斷類(lèi)型號(hào)乘以 8就是該中斷門(mén)在 IDT的偏移地址 (設(shè) IDT開(kāi)始地址為 0)。 ② IDTR是個(gè) 48位的寄存器 , 可用 LIDT指令向其中裝入值 , 其值分為兩部分: 32位指明 IDT的基地址 , 其余 16位指明 IDT的邊界 , 即字節(jié)數(shù) 。 可見(jiàn) IDT的大小不是固定不變的 , 它的邊界取決于實(shí)際包含的中斷類(lèi)型號(hào)的最大值 。 ③ IDT中包含 8個(gè)字節(jié)的中斷門(mén) 、 陷阱門(mén)和任務(wù)門(mén) 。 任務(wù)門(mén)用于任務(wù)切換 (見(jiàn)第 8章 ), 中斷門(mén)和陷阱門(mén)用于中斷 。 中斷門(mén)和陷阱門(mén)的格式如圖 。 從圖 , 這兩種門(mén)包含 16位的代碼段選擇符和32位的段內(nèi)偏移地址 。 代碼段選擇符指向 GDT或 LDT內(nèi)的代碼段描述符 , 進(jìn)而指向一個(gè)代碼段; 32位的段內(nèi)偏移地址 , 確定了代碼段內(nèi)的一具體地址 , 這就是要轉(zhuǎn)入的中斷服務(wù)程序的入口地址 。 3. 實(shí)模式下的中斷響應(yīng)和返回操作過(guò)程 中斷響應(yīng)的操作過(guò)程 , 對(duì)于可屏蔽中斷 、 非可屏蔽中斷和內(nèi)部中斷 , 是不盡相同的 。 (1) 可屏蔽中斷的響應(yīng)過(guò)程: 在 IF位為 1(即開(kāi)中斷 )情況下 , 從INTR端加入中斷請(qǐng)求信號(hào)開(kāi)始 , 到進(jìn)入中斷服務(wù)程序?yàn)橹顾?jīng)過(guò)的一系列操作 。 這個(gè)響應(yīng)過(guò)程包括以下操作: ① 等待當(dāng)前指令結(jié)束 , 然后進(jìn)入中斷響應(yīng)周期 。 在進(jìn)入中斷響應(yīng)周期之前必須執(zhí)行完當(dāng)前指令 。 有幾種特殊情況: ? 關(guān)于有前綴的指令 。 指令前綴有 3種: 指定段寄存器前綴 (如指令 MOV AX, CS: VAR)、 重復(fù)前綴 (如指令 REP MOVSB)和 LOCK前綴 。 對(duì)于有重復(fù)前綴的字符串操作指令 , 例如 REP MOVSB指令 , 每一次傳送 (一個(gè)字節(jié)或一個(gè)字 )之后可以響應(yīng)中斷 , 但這時(shí)保存的返回地址是 REP字節(jié)的地址 。 這就保證了中斷服務(wù)程序執(zhí)行結(jié)束返回時(shí) , 仍返回到這條指令 , 把沒(méi)有完成的重復(fù)傳送完成 。 ? 對(duì)于目的地址是段寄存器的 MOV和 POP指令 (CS不允許是目的地址 ), 本條指令之后不允許響應(yīng)中斷 , 而是還要執(zhí)行一條指令結(jié)束后才能響應(yīng)中斷 。 這一操作特點(diǎn)可以保證在更換段地址又更換指針 (如 SS和 SP都更換 )之間不被中斷 (編程時(shí)應(yīng)保證用 MOV指令向 SS置值時(shí) , 相鄰下條指令要向 SP置值 )。 ② 從微處理器外部的中斷控制邏輯獲得中斷類(lèi)型號(hào) 。 它能向 CPU提供中斷類(lèi)型號(hào) 。 這一操作是中斷響應(yīng)周期完成的操作之一 。 中斷響應(yīng)周期有關(guān)信號(hào)的時(shí)序關(guān)系如圖 。 中斷響應(yīng)周期在時(shí)間上占兩個(gè)機(jī)器周期 , 共 8個(gè)時(shí)鐘周期 。 微處理器 INTR端上的中斷請(qǐng)求信號(hào)至少要持續(xù)這么長(zhǎng)時(shí)間 , 端相繼發(fā)生兩個(gè)負(fù)脈沖 。 第 1 個(gè)機(jī)器周期的 通知外部中斷控制邏輯處理器接受了中斷請(qǐng)求 。 第 2個(gè)機(jī)器周期的 脈沖控制外部中斷控制邏輯把中斷類(lèi)型號(hào)置于數(shù)據(jù)總線并進(jìn)入 CPU。 ③ 當(dāng)前的 PSW、 CS和 IP的內(nèi)容依次壓入堆棧 。 保存了斷點(diǎn)的狀態(tài)和斷點(diǎn)地址 , 以便返回時(shí)恢復(fù) 。 INTAINTAINTA ④ 清除 PSW中的 IF位和 TF位為 0。 清除 IF位為 0意味著關(guān)中斷 , 中斷服務(wù)程序中排有 STI指令開(kāi)中斷 , 或者服務(wù)程序結(jié)束時(shí)返回指令 IRET之后才恢復(fù)開(kāi)中斷狀態(tài) 。 ⑤ 把中斷服務(wù)程序的入口地址置入 IP和 CS, 即把地址為4 n和 4 n+1兩個(gè)單元的 16位數(shù)作為中斷服務(wù)程序入口的偏移地址置入 IP, 把地址為 4 n+2和 4 n+3兩個(gè)單元的 16位數(shù)作服務(wù)程序的段地址置入 CS。 完成了可屏蔽中斷的響應(yīng)過(guò)程 , 開(kāi)始進(jìn)入中斷服務(wù)程序 。 (2) 非可屏蔽的中斷請(qǐng)求在 NMI端加入 。 CPU對(duì)它的響應(yīng)不受 IF位的控制 (但可在外部邏輯中對(duì)加入 NMI端的信號(hào)進(jìn)行控制 )。 與可屏蔽中斷一樣 , 非可屏蔽中斷也要等待當(dāng)前指令執(zhí)行結(jié)束 。 如果同時(shí)出現(xiàn)了非可屏蔽中斷請(qǐng)求和可屏蔽中斷請(qǐng)求 , CPU將優(yōu)先響應(yīng)非可屏蔽中斷請(qǐng)求 。 因?yàn)榉强善帘沃袛嗟闹袛囝?lèi)型號(hào)為 2, 是微處理器硬件決定的 , 不需要從外部取回一個(gè)字節(jié)的中斷類(lèi)型號(hào)操作 。 非可屏蔽中斷響應(yīng)的其它操作和可屏蔽中斷相同 。 (3) 所有的內(nèi)部中斷 , 其中斷響應(yīng)操作有以下共同點(diǎn): ① 中斷類(lèi)型號(hào)要么是指令碼給定的 , 要么是處理硬件決定的 , 都不需要從外部邏輯輸入 。 ② 信號(hào)的響應(yīng)周期 。 ③ 不受 IF位的控制, 但單步中斷受 TF位控制。 INTA ④ 除單步中斷之外 , 其它內(nèi)部中斷都比外部中斷優(yōu)先響應(yīng) 。 所以 CPU對(duì)中斷響應(yīng)的優(yōu)先次序是:除數(shù)為 0中斷 、 INT n和 INTO指令的優(yōu)先級(jí)最高 , NMI次之 , INTR再次 , 單步中斷優(yōu)先級(jí)最低 。 除上述特點(diǎn)外 , 內(nèi)部中斷響應(yīng)也要執(zhí)行可屏蔽中斷響應(yīng)的 ③ 、 ④ 和 ⑤ 項(xiàng)操作 。 應(yīng)該說(shuō)明的是 , 中斷響應(yīng)時(shí)清除 TF標(biāo)志位對(duì)單步中斷特別有意義 。 TF為 1時(shí) , 每執(zhí)行完一條指令時(shí)引起一次單步中斷 , 在中斷服務(wù)程序中顯示各寄存器的內(nèi)容和狀態(tài)字信息 。 中斷的返回 , 無(wú)論內(nèi)部中斷或外部中斷 , 都是由中斷服務(wù)程序的末尾設(shè)置 IRET指令實(shí)現(xiàn)的 。 IRET指令的操作是恢復(fù)斷點(diǎn)處的地址和 PSW的內(nèi)容 , 即依次從堆棧中彈出保存的 IP、 CS和 PSW值 , 使被中斷了的程序繼續(xù)執(zhí)行 。 圖 中斷響應(yīng)過(guò)程 第 2 個(gè) I N T A 周期( 從 D0~ D7讀中斷 向量碼 n )第 1 個(gè) I N T A 周期中斷請(qǐng) 求可屏蔽 中斷 ( I N T R )非屏蔽 中斷 ( N M I )內(nèi)部中 斷 ( I N T )F L A G S →( (S P ) - 1 ) ( ( S P ) - 2)( C S )→( (S P ) - 3 ) ( ( S P ) - 4)( IP )→( (S P ) - 5 ) ( ( S P ) - 6)( S P ) - 6 →S P0 →I F0 →T F( 4 n ) ( 4 n + 1 ) →I P( 4 n + 2 ) ( 4 n + 3 ) →C S中斷處 理圖 中斷響應(yīng)時(shí) CPU查詢(xún)中斷源的順序 取指令執(zhí)行當(dāng) 前指令執(zhí)行完 否有內(nèi)部 中斷?有 N M I ?有 I N T R ?有 單步中 斷 ?NIF = 1TF = 1 中斷響 應(yīng)過(guò)程YYYYYNNYNNNNY 8529A 外部設(shè)備利用中斷機(jī)制與 CPU交換信息 , 實(shí)際上就是利用外部可屏蔽中斷 。 對(duì)于微處理器來(lái)說(shuō) , 與可屏蔽中斷有關(guān)的兩個(gè)引腳是 INTR中斷請(qǐng)求信號(hào)引腳 , 用于按受外部中斷請(qǐng)求; INTA中斷響應(yīng)信號(hào)輸出引腳 , 用于指明對(duì)中斷請(qǐng)求的響應(yīng)情況 。 80286及其以后的微機(jī)系統(tǒng)中 , 用兩片 8259A組成了可屏蔽中斷的外部控制邏輯 , 如圖 。 圖 8259A編程占用 I/O端口地址 。主片占用端口地址為 20H和 21H, 從片占用的端口地址為 A0H和 A1H。 1. 8259的編程模型 圖 8259的編程模型 。 圖中各部分的功能是: ?中斷請(qǐng)求寄存器 IRR用來(lái)寄存有中斷請(qǐng)求的所有中斷級(jí) , 每級(jí)對(duì)應(yīng)一位 , 有中斷請(qǐng)求時(shí)對(duì)應(yīng)位置 1。 ?服務(wù)寄存器 ISR寄存正在服務(wù)的所有中斷級(jí) (在執(zhí)行互相嵌套的多級(jí)中斷時(shí) , 這些中斷級(jí)都被認(rèn)為是正在服務(wù) )。 優(yōu)先級(jí)分析器能把 IRR內(nèi)所有為 1的位按優(yōu)先次序規(guī)則進(jìn)行分析 , 以確定哪一級(jí)是有請(qǐng)求的最高級(jí) 。 在處理器響應(yīng)中斷過(guò)程中 , 當(dāng)發(fā)來(lái)第 1 個(gè) 信號(hào)時(shí) , 能把 ISR中對(duì)應(yīng)位置 1, 準(zhǔn)備轉(zhuǎn)入該級(jí)服務(wù)子程序 。 在 8259內(nèi)起控制作用的邏輯部分包括許多受指令直接訪問(wèn)的控制位 。 第 1組 4個(gè)寄存器寄存初始化命令字 ICW1~ICW4, 通常是在系統(tǒng)加電后程序?qū)ο到y(tǒng)初始化階段設(shè)置的 , 在以后的操作中基本保持不變; 第 2組 3個(gè)寄存器寄存操作命令字 OCW 1~OCW3。 程序?qū)@ 3個(gè)寄存器置入不同的命令字 , 實(shí)現(xiàn)對(duì)中斷過(guò)程的管理 。 INTA 在實(shí)際系統(tǒng)中 , 主片 8259A的兩個(gè)端口地址是 20H和 21H, 從片 8259A的兩個(gè)端口地址是 70H和 71H。 CAS0~CAS2是 3條級(jí)聯(lián)線 。 在級(jí)聯(lián)方式時(shí) , 一片 8259作為主片 , 帶動(dòng)最多 8片8259作為從片 (每個(gè)從片的中斷請(qǐng)求端 INT與主片一條中斷請(qǐng)求線 IR相接 ), 接多能控制 64個(gè)中斷級(jí) 。 主片的 CAS0~CAS2和所有從片 CAS0~CAS2相接 。 但這時(shí)主片的 CAS0~CAS2是作為輸出信號(hào)端 , 從片的 CAS0~CAS2作為輸入信號(hào)端 。 在響應(yīng)中斷請(qǐng)求時(shí) , 主片向這 3條線發(fā)出的 3位代碼將選定一個(gè)從片 。 端有兩種用途: 工作在非緩沖方式時(shí) , 用作輸入端 , 可以被控制作為主片 “ 1”或從片 “ 0”;工作于緩沖方式時(shí) , 用作輸出端 , 輸
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1