計(jì)算機(jī)組成原理-輸入輸出系統(tǒng)-電子工業(yè)出版社--羅克露_第1頁(yè)
計(jì)算機(jī)組成原理-輸入輸出系統(tǒng)-電子工業(yè)出版社--羅克露_第2頁(yè)
計(jì)算機(jī)組成原理-輸入輸出系統(tǒng)-電子工業(yè)出版社--羅克露_第3頁(yè)
計(jì)算機(jī)組成原理-輸入輸出系統(tǒng)-電子工業(yè)出版社--羅克露_第4頁(yè)
計(jì)算機(jī)組成原理-輸入輸出系統(tǒng)-電子工業(yè)出版社--羅克露_第5頁(yè)
已閱讀5頁(yè),還剩80頁(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、主要知識(shí)點(diǎn):1主機(jī)與輸入輸出設(shè)備間傳送數(shù)據(jù)的四種控制方式2系統(tǒng)總線的結(jié)構(gòu),理解輸入/輸出接口的分類、功能及基本組成。3中斷處理的全過程,中斷優(yōu)先、中斷屏蔽、中斷嵌套、中斷向量的概念。4DMA方式的原理和工作過程重點(diǎn)與難點(diǎn): 程序中斷的概念、中斷系統(tǒng)的組成、中斷處理的具體過程、 DMA方式的基本原理。 5.1 概述 輸入輸出系統(tǒng)包括: (1)硬件部分:外部設(shè)備、接口、系統(tǒng)總線 系統(tǒng)總線是連接主機(jī)與外設(shè)的信息載體; 接口是控制主機(jī)與外設(shè)間信息傳送控制方式的電路 (2)軟件部分:設(shè)備控制程序、設(shè)備驅(qū)動(dòng)程序、用戶I/O程序。 設(shè)備控制程序是指在一些設(shè)備控制器中由微處理器執(zhí)行的程序; 設(shè)備驅(qū)動(dòng)程序是指“

2、操作系統(tǒng)”中一組對(duì)外設(shè)的驅(qū)動(dòng)程序。一、主機(jī)與外設(shè)的連接模式 1、總線型 是微型計(jì)算機(jī)中最常用的系統(tǒng)結(jié)構(gòu)形式,見下圖。CPUCPU地址鎖存器地址鎖存器地址總線地址總線數(shù)據(jù)緩沖器數(shù)據(jù)緩沖器數(shù)據(jù)總線數(shù)據(jù)總線總線控制器總線控制器控制總線控制總線主主存存中中斷斷控控制制器器DMADMA控控制制器器接口接口I/OI/O設(shè)備設(shè)備接口接口I/OI/O設(shè)備設(shè)備適配器外圍設(shè)備優(yōu)點(diǎn): 結(jié)構(gòu)簡(jiǎn)單、易于擴(kuò)展、易于實(shí)現(xiàn)。缺點(diǎn): 信息吞吐量有限、速度較慢。CPU接口I/OI/OI/O早期的星形結(jié)構(gòu)CPUCPU主主存存接口接口I/OI/O設(shè)備設(shè)備I/OI/O設(shè)備設(shè)備I/OI/O設(shè)備設(shè)備I/OI/O設(shè)備設(shè)備系統(tǒng)總線系統(tǒng)總線實(shí)用

3、的星形連接模式2、輻射型 結(jié)構(gòu)的特點(diǎn)是:每個(gè)外設(shè)與主機(jī)間有各自獨(dú)立的數(shù)據(jù)通路。 優(yōu)點(diǎn): 各個(gè)設(shè)備具有獨(dú)立的通路,相互干擾小,可靠性高。 缺點(diǎn):不能實(shí)現(xiàn)各個(gè)設(shè)備間的直接通信。判定與分配選擇通道磁盤控制器磁盤控制器字節(jié)多路通道設(shè)備控制器設(shè)備控制器設(shè)備設(shè)備設(shè)備數(shù)組多路通道設(shè)備控制器設(shè)備控制器設(shè)備設(shè)備設(shè)備CPU主存磁盤磁盤磁盤I/O總線IO總線IO總線存儲(chǔ)總線(IBM 370的通道結(jié)構(gòu))(IBM 370的通道結(jié)構(gòu))3、 通道控制方式與輸入輸出處理機(jī)(IOP)方式 通道本身是一個(gè)專門管理輸入/輸出的控制器。 通道控制器的進(jìn)一步發(fā)展,使之成為一個(gè)處理器,就是IOP方式。 特點(diǎn):信息傳送的吞吐量大,大型計(jì)算

4、機(jī)中采用。 CPU內(nèi)存設(shè)備接口設(shè)備接口系統(tǒng)總線(單總線結(jié)構(gòu))CPU內(nèi)存設(shè)備接口設(shè)備接口內(nèi)存總線系統(tǒng)總線(雙總線結(jié)構(gòu))二、總線類型與總線標(biāo)準(zhǔn) 總線是一組可以分時(shí)、共享分時(shí)、共享 的公共信息傳輸線路。1、按系統(tǒng)組成分類:(1) 單總線(2)多總線(3)局部總線(4)系統(tǒng)總線CPU內(nèi)存設(shè)備接口IOP(通道)內(nèi)存總線系統(tǒng)總線(三總線結(jié)構(gòu))設(shè)備接口I/O總線CPURAMROMPIOCTC總線控制邏輯總線擴(kuò)展板存儲(chǔ)模塊擴(kuò)展板打印機(jī)接口板顯示器接口板外總線系統(tǒng)總線部件內(nèi)總線(局部總線與系統(tǒng)總線結(jié)構(gòu)圖)2、 按數(shù)據(jù)傳送格式分 并行總線 串行總線發(fā)送部件接收部件10110101高位低位并串轉(zhuǎn)換串并轉(zhuǎn)換發(fā)送部件接

5、收部件傳送數(shù)據(jù)10110101并行總線串行總線3、按時(shí)序控制方式分 同步總線 異步總線4、總線標(biāo)準(zhǔn) 微機(jī)中有:PC總線 ISA總線 EISA總線 PCI總線 等三、接口的功能與分類 1、接口功能主要有4點(diǎn): 尋址 數(shù)據(jù)緩沖 數(shù)據(jù)格式變換、電平轉(zhuǎn)換 控制邏輯 2、接口分類 并行接口與串行接口 同步接口與異步接口 中斷接口、DMA接口 等等 3、接口的主要部件組成: 數(shù)據(jù)緩沖器 設(shè)備地址識(shí)別線路 設(shè)備狀態(tài)寄存器 主機(jī)命令字寄存器 數(shù)據(jù)格式轉(zhuǎn)換 控制邏輯4、I/O接口(I/O設(shè)備)的編址方式 (1) 統(tǒng)一編址方式 (2) 獨(dú)立編址方式00007FFF8000FFFF主存地址空間I/O地址空間例:統(tǒng)一

6、編址方式0000FFFF主存地址空間000I/O地址空間3FF例: 獨(dú)立編址方式5.2 系統(tǒng)總線 一、總線信號(hào)組成 1、總線標(biāo)準(zhǔn)的制定應(yīng)描述出總線的4個(gè)特性: 物理特性(機(jī)械特性) 電氣特性 邏輯特性(功能特性) 時(shí)序特性 2、按邏輯特性分,系統(tǒng)總線分為4組: (1)電源線、地線 (2)地址線 (3) 數(shù)據(jù)線 (4)控制信號(hào)線 控制信號(hào)線通常包括: (1)復(fù)位信號(hào)(RESET) (2)同步定時(shí)信號(hào) 例:CPU時(shí)鐘(CLOCK)、總線狀態(tài)信號(hào)(S0,S1)、 刷新同步(REFESH)、機(jī)器周期同步(MCSYNC)等 (3)異步應(yīng)答信號(hào) 主同步(MSYNC)、從同步(SSYNC) (4)總線控制權(quán)

7、信號(hào) 總線請(qǐng)求(BREQ)、總線批準(zhǔn)(BACK)、總線忙(BUSY) (5)中斷請(qǐng)求與批準(zhǔn) 信號(hào) 中斷請(qǐng)求(IREQ1IREQ7)、中斷響應(yīng)(INTA) (6)數(shù)據(jù)傳送控制信號(hào) 存儲(chǔ)器讀(MEMR)、存儲(chǔ)器寫(MEMW)、 輸入輸出設(shè)備讀(IOR)、輸入輸出設(shè)備寫(IOW)T1T2T3T4總 線 周 期時(shí)鐘地址讀命令數(shù)據(jù)(總線的同步控制方式)二、總線操作時(shí)序 1、同步控制方式地地址址M MR RE EQ QR RD DM MS SY YN N數(shù)數(shù)據(jù)據(jù)S SS SY YN N2、異步控制方式主,請(qǐng)求從,回答主,請(qǐng)求從,回答主,請(qǐng)求從,回答不互鎖半互鎖全互鎖5.3 直接程序傳送方式及接口直接程序傳

8、送方式及接口 一、基本原理一、基本原理 通過通過CPU執(zhí)行一段程序,控制外部設(shè)備與主機(jī)之間的數(shù)據(jù)傳執(zhí)行一段程序,控制外部設(shè)備與主機(jī)之間的數(shù)據(jù)傳送的整個(gè)過程。送的整個(gè)過程。CPU在執(zhí)行程序時(shí)需要不斷查詢外部設(shè)備的狀在執(zhí)行程序時(shí)需要不斷查詢外部設(shè)備的狀態(tài),如果設(shè)備的數(shù)據(jù)傳送沒有準(zhǔn)備好,態(tài),如果設(shè)備的數(shù)據(jù)傳送沒有準(zhǔn)備好,CPU就反復(fù)查詢;只有就反復(fù)查詢;只有當(dāng)設(shè)備準(zhǔn)備好(當(dāng)設(shè)備準(zhǔn)備好(READY),),CPU才能用才能用I/O指令傳送一個(gè)數(shù)據(jù)。指令傳送一個(gè)數(shù)據(jù)。 特點(diǎn):特點(diǎn): (1)CPU主動(dòng)的不斷查詢外設(shè)狀態(tài);主動(dòng)的不斷查詢外設(shè)狀態(tài);(2)數(shù)據(jù)的輸入)數(shù)據(jù)的輸入/輸出都必須經(jīng)過輸出都必須經(jīng)過CPU

9、;(3)CPU 與設(shè)備間是串行工作,所以與設(shè)備間是串行工作,所以CPU的使用效率低。的使用效率低。二、程序控制流程二、程序控制流程 直接程序傳送方式的直接程序傳送方式的程序流程圖見右邊的圖。程序流程圖見右邊的圖。 啟動(dòng)設(shè)備 準(zhǔn)備好?傳送數(shù)據(jù)修改內(nèi)存地址數(shù)據(jù)量減1 傳送完?關(guān)閉設(shè)備NYNY讀取設(shè)備狀態(tài)三、程序查詢方式的接口三、程序查詢方式的接口電路電路數(shù)據(jù)緩沖寄存器命令/狀態(tài)寄存器譯碼地址IOWIOR系統(tǒng)總線設(shè)備0號(hào)采集器準(zhǔn)備好?1號(hào)采集器準(zhǔn)備好?2號(hào)采集器準(zhǔn)備好?3號(hào)采集器準(zhǔn)備好?從0號(hào)采集器輸入一個(gè)數(shù)據(jù)YesNo從1號(hào)采集器輸入一個(gè)數(shù)據(jù)YesNo從2號(hào)采集器輸入一個(gè)數(shù)據(jù)YesNo從3號(hào)采集器

10、輸入一個(gè)數(shù)據(jù)YesNo主程序流(程序直接控制方式的順序查詢程序流程)DBR設(shè)備選擇電路CPU數(shù)據(jù)總線地址總線啟動(dòng)命令準(zhǔn)備就緒QDBQRSRS設(shè)備輸入數(shù)據(jù)啟動(dòng)設(shè)備設(shè)備工作完成程序查詢方式接口電路基本組成(輸入接口)6123455.4 程序中斷方式及接口程序中斷方式及接口 一、一、 基本概念基本概念 1、什么叫程序中斷、什么叫程序中斷 在程序執(zhí)行過程中,由于某個(gè)隨機(jī)在程序執(zhí)行過程中,由于某個(gè)隨機(jī)事件的請(qǐng)求,暫?,F(xiàn)程序的執(zhí)行,轉(zhuǎn)事件的請(qǐng)求,暫?,F(xiàn)程序的執(zhí)行,轉(zhuǎn)去執(zhí)行一段處理此隨機(jī)事件的程序,去執(zhí)行一段處理此隨機(jī)事件的程序,處理完后又回到原程序繼續(xù)執(zhí)行,這處理完后又回到原程序繼續(xù)執(zhí)行,這一過程叫一過程

11、叫“程序中斷程序中斷”。返回中斷服務(wù)程序響應(yīng)主程序中斷請(qǐng)求2、程序中斷的特點(diǎn):、程序中斷的特點(diǎn):(1)當(dāng)數(shù)據(jù)傳送)當(dāng)數(shù)據(jù)傳送“準(zhǔn)備好準(zhǔn)備好”時(shí)由設(shè)備主動(dòng)向時(shí)由設(shè)備主動(dòng)向CPU提出中斷請(qǐng)?zhí)岢鲋袛嗾?qǐng)求;求;(2)CPU與設(shè)備是并行工作的;與設(shè)備是并行工作的;(3)一般用于低速設(shè)備的數(shù)據(jù)傳送。)一般用于低速設(shè)備的數(shù)據(jù)傳送。3、 中斷分類中斷分類 中斷內(nèi)中斷外中斷外設(shè)的請(qǐng)求人工干預(yù)自愿中斷強(qiáng)迫中斷硬件故障軟件故障(強(qiáng)迫中斷)(程序中安排,通過中斷指令引起)如“溢出中斷”二、二、 中斷請(qǐng)求信號(hào)的提出與傳送中斷請(qǐng)求信號(hào)的提出與傳送 1、中斷請(qǐng)求信號(hào)的提出、中斷請(qǐng)求信號(hào)的提出QIRQD CQIRQD CIR

12、QIRQ屏蔽寄存器IRQIRQ07INT中斷控制器TDTMTDTMINT0INTnCPUCPUINT多線請(qǐng)求單線請(qǐng)求CPUINTINT0nINT0INTnINTi二維多線請(qǐng)求2、中斷請(qǐng)求信號(hào)的傳送、中斷請(qǐng)求信號(hào)的傳送 (1) 多線請(qǐng)求多線請(qǐng)求 (2)單線請(qǐng)求)單線請(qǐng)求 (3)二維結(jié)構(gòu)方式)二維結(jié)構(gòu)方式 (4)混合方式)混合方式三、優(yōu)先權(quán)邏輯與屏蔽技術(shù)三、優(yōu)先權(quán)邏輯與屏蔽技術(shù) 優(yōu)先權(quán)有兩種類型:優(yōu)先權(quán)有兩種類型: (1) CPU與中斷源間的優(yōu)先關(guān)系與中斷源間的優(yōu)先關(guān)系 (2)各個(gè)中斷源之間的優(yōu)先關(guān)系)各個(gè)中斷源之間的優(yōu)先關(guān)系1、CPU與中斷源間的優(yōu)先關(guān)系與中斷源間的優(yōu)先關(guān)系 對(duì)于中斷源的中斷請(qǐng)求

13、,對(duì)于中斷源的中斷請(qǐng)求,CPU是否是否“有求必應(yīng)有求必應(yīng)”? 不不是的。是的。 當(dāng)當(dāng)CPU當(dāng)前的優(yōu)先權(quán)高于中斷源的優(yōu)先權(quán)時(shí),當(dāng)前的優(yōu)先權(quán)高于中斷源的優(yōu)先權(quán)時(shí),CPU可以可以不響應(yīng)中斷請(qǐng)求。反之,則必須響應(yīng)。不響應(yīng)中斷請(qǐng)求。反之,則必須響應(yīng)。 CPU內(nèi)部設(shè)有一個(gè)內(nèi)部設(shè)有一個(gè)“中斷允許觸發(fā)器中斷允許觸發(fā)器” TIEN, TIEN =1時(shí),允許時(shí),允許CPU響應(yīng)中斷,響應(yīng)中斷, TIEN =0時(shí),不允許時(shí),不允許CPU響應(yīng)中斷。響應(yīng)中斷。 可以用指令使可以用指令使TIEN =1,稱,稱“開中斷開中斷”,例,例8086中的開中中的開中斷指令斷指令 STI; 可以用指令使可以用指令使TIEN =0,稱,

14、稱“關(guān)中斷關(guān)中斷”,例,例8086中的關(guān)中中的關(guān)中斷指令斷指令 CLI。2、中斷源之間的優(yōu)先關(guān)系、中斷源之間的優(yōu)先關(guān)系 分兩種情況:分兩種情況: (1)同時(shí)有多個(gè)中斷源請(qǐng)求,優(yōu)先響應(yīng)誰(shuí)?)同時(shí)有多個(gè)中斷源請(qǐng)求,優(yōu)先響應(yīng)誰(shuí)? (2)當(dāng))當(dāng)A中斷源的請(qǐng)求正在處理時(shí),中斷源的請(qǐng)求正在處理時(shí),B中斷源又提出請(qǐng)求,中斷源又提出請(qǐng)求,CPU是否響應(yīng)?(也即是否響應(yīng)?(也即 中斷嵌套中斷嵌套 的問題)的問題) 優(yōu)先關(guān)系的確定原則:優(yōu)先關(guān)系的確定原則: 故障中斷故障中斷 DMA請(qǐng)求請(qǐng)求 外設(shè)中斷請(qǐng)求外設(shè)中斷請(qǐng)求 快速外設(shè)快速外設(shè) 慢速外設(shè)慢速外設(shè) 輸入設(shè)備輸入設(shè)備 輸出設(shè)備輸出設(shè)備 優(yōu)先權(quán)處理方法:優(yōu)先權(quán)處理

15、方法: 1)對(duì)于同時(shí)請(qǐng)求的多個(gè)中斷源,采用)對(duì)于同時(shí)請(qǐng)求的多個(gè)中斷源,采用“優(yōu)先排隊(duì)優(yōu)先排隊(duì)”技術(shù)。技術(shù)。(1)軟件查詢方法)軟件查詢方法 CPU響應(yīng)中斷后,響應(yīng)中斷后,進(jìn)入一個(gè)公共的中斷處進(jìn)入一個(gè)公共的中斷處理程序,在該程序中,理程序,在該程序中,CPU用用“查詢查詢I/O指指令令”,依次測(cè)試個(gè)各個(gè),依次測(cè)試個(gè)各個(gè)中斷源是否有中斷請(qǐng)求,中斷源是否有中斷請(qǐng)求,若有請(qǐng)求,若有請(qǐng)求,CPU就轉(zhuǎn)入就轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序,;相應(yīng)的中斷服務(wù)程序,;沒有,就繼續(xù)往下查詢。沒有,就繼續(xù)往下查詢。 可見,先查詢到的中斷可見,先查詢到的中斷源優(yōu)先權(quán)高。源優(yōu)先權(quán)高。 軟件查詢方法的程軟件查詢方法的程序流程圖見右

16、邊:序流程圖見右邊:0號(hào)設(shè)備請(qǐng)求?1號(hào)設(shè)備請(qǐng)求?2號(hào)設(shè)備請(qǐng)求?3號(hào)設(shè)備請(qǐng)求?執(zhí)行0號(hào)設(shè)備中斷服務(wù)程序YesNo執(zhí)行1號(hào)設(shè)備中斷服務(wù)程序YesNo執(zhí)行2號(hào)設(shè)備中斷服務(wù)程序YesNo執(zhí)行3號(hào)設(shè)備中斷服務(wù)程序YesNo保護(hù)斷點(diǎn)和現(xiàn)場(chǎng)(響應(yīng)中斷)恢復(fù)斷點(diǎn)和現(xiàn)場(chǎng)(返回主程序)(程序中斷方式的固定優(yōu)先級(jí)查詢流程)保護(hù)斷點(diǎn)和現(xiàn)場(chǎng)(響應(yīng)中斷)N=?0號(hào)設(shè)備請(qǐng)求?1號(hào)設(shè)備請(qǐng)求?2號(hào)設(shè)備請(qǐng)求?3號(hào)設(shè)備請(qǐng)求?AAYNNNN=00=01=02=03N=01;執(zhí)行0號(hào)設(shè)備中斷服務(wù)程序N=02;執(zhí)行1號(hào)設(shè)備中斷服務(wù)程序N=03;執(zhí)行2號(hào)設(shè)備中斷服務(wù)程序N=00;執(zhí)行3號(hào)設(shè)備中斷服務(wù)程序恢復(fù)斷點(diǎn),現(xiàn)場(chǎng)恢復(fù)斷點(diǎn),現(xiàn)場(chǎng)恢復(fù)斷點(diǎn)

17、,現(xiàn)場(chǎng)恢復(fù)斷點(diǎn),現(xiàn)場(chǎng)(返回主程序)(輪流優(yōu)先級(jí)形式)INTR0INTR1INTR2INTR0INTR1INTR2(具有獨(dú)立請(qǐng)求線的并行排優(yōu)邏輯)(2) 并行優(yōu)先排隊(duì)邏輯并行優(yōu)先排隊(duì)邏輯 如下圖。如下圖。 每個(gè)中斷源提供獨(dú)立的中斷請(qǐng)求信號(hào)給每個(gè)中斷源提供獨(dú)立的中斷請(qǐng)求信號(hào)給CPU。 特點(diǎn):特點(diǎn): 響應(yīng)的響應(yīng)的速度快;速度快; 但硬件但硬件成本高。成本高。 適用于適用于具有多請(qǐng)具有多請(qǐng)求線的計(jì)求線的計(jì)算機(jī)系統(tǒng)。算機(jī)系統(tǒng)。CPUI/OI/O編碼INTINTA鏈?zhǔn)絻?yōu)先排隊(duì)(菊花鏈方式)I/OI/O編碼INTINTA鏈?zhǔn)絻?yōu)先排隊(duì)(多重查詢方式)(3) 鏈?zhǔn)絻?yōu)先排隊(duì)邏輯鏈?zhǔn)絻?yōu)先排隊(duì)邏輯 下圖中是常用的兩種

18、形式。下圖中是常用的兩種形式。CPUINTAI IR R1 1I IR R2 2I IR R3 3011010101010000I IR R1 1I IR R2 2I IR R3 3數(shù)據(jù)總線()鏈?zhǔn)絻?yōu)先排隊(duì)邏輯電路 多重查詢方式 I IN NT TI II IN NT TO OI IR RS S1 1I IR RS S2 2I IR RS S3 3中斷請(qǐng)求寄存器優(yōu)先級(jí)分析電路中斷服務(wù)寄存器中斷屏蔽寄存器數(shù)據(jù)緩沖讀/寫邏輯級(jí)聯(lián)緩沖與比較器IREQ0IREQ1IREQ2IREQ3IREQ4IREQ5IREQ6IREQ7INTINTAD -DARDWRCSCAS0CAS1CAS2SP/EN007中斷

19、控制器8259A結(jié)構(gòu)示意圖(4) 中斷控制器集成芯片的優(yōu)先排隊(duì)中斷控制器集成芯片的優(yōu)先排隊(duì) (見下圖)(見下圖)設(shè)備A設(shè)備B設(shè)備C設(shè)備D設(shè)備E設(shè)備F設(shè)備G設(shè)備H設(shè)備I01IR201IM2中斷優(yōu)先排隊(duì)電路與中斷控制邏輯01IR101IM101IR001IM0INTR2INTR1INTR0高低優(yōu)先權(quán)CPUINTA2INTA1INTA0二維結(jié)構(gòu)的優(yōu)先排隊(duì)二維結(jié)構(gòu)的優(yōu)先排隊(duì)2)屏蔽技術(shù)的應(yīng)用,)屏蔽技術(shù)的應(yīng)用, 解決中斷嵌套的問題。解決中斷嵌套的問題。 在多重中斷方式下,在多重中斷方式下,CPU響應(yīng)某個(gè)中斷源的請(qǐng)求后,應(yīng)響應(yīng)某個(gè)中斷源的請(qǐng)求后,應(yīng)禁止響應(yīng)優(yōu)先權(quán)小于或等于它的中斷請(qǐng)求。而可以響應(yīng)優(yōu)先禁止

20、響應(yīng)優(yōu)先權(quán)小于或等于它的中斷請(qǐng)求。而可以響應(yīng)優(yōu)先權(quán)大于它的中斷源的請(qǐng)求。權(quán)大于它的中斷源的請(qǐng)求。 通常采用設(shè)置屏蔽碼的辦法。屏蔽掉優(yōu)先權(quán)低的中斷請(qǐng)求,通常采用設(shè)置屏蔽碼的辦法。屏蔽掉優(yōu)先權(quán)低的中斷請(qǐng)求,開放優(yōu)先權(quán)高的請(qǐng)求。開放優(yōu)先權(quán)高的請(qǐng)求。 利用屏蔽技術(shù),動(dòng)態(tài)修改優(yōu)先權(quán)。利用屏蔽技術(shù),動(dòng)態(tài)修改優(yōu)先權(quán)。 中斷響應(yīng)優(yōu)先權(quán)中斷響應(yīng)優(yōu)先權(quán):指由硬件優(yōu)先排隊(duì)電路分配的各個(gè)中斷:指由硬件優(yōu)先排隊(duì)電路分配的各個(gè)中斷源在中斷響應(yīng)時(shí)的優(yōu)先關(guān)系,一經(jīng)確定,不易改變。源在中斷響應(yīng)時(shí)的優(yōu)先關(guān)系,一經(jīng)確定,不易改變。 中斷處理優(yōu)先權(quán)中斷處理優(yōu)先權(quán):指利用屏蔽字,分配各中斷源被處理時(shí):指利用屏蔽字,分配各中斷源被處理時(shí)

21、的優(yōu)先關(guān)系??梢酝ㄟ^修改屏蔽字的值,改變中斷源的優(yōu)先的優(yōu)先關(guān)系??梢酝ㄟ^修改屏蔽字的值,改變中斷源的優(yōu)先關(guān)系。舉例:關(guān)系。舉例:四、中斷服務(wù)程序入口的獲取方式四、中斷服務(wù)程序入口的獲取方式1、 非向量中斷非向量中斷 CPU響應(yīng)中斷后響應(yīng)中斷后 ,產(chǎn)生一個(gè),產(chǎn)生一個(gè)固定的地址,由此地址單元中讀固定的地址,由此地址單元中讀取中斷查詢程序的入口地址,取中斷查詢程序的入口地址,通通過軟件查詢確定中斷源,過軟件查詢確定中斷源,并轉(zhuǎn)入并轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。相應(yīng)的中斷服務(wù)程序。01JMP nnnn查詢程序 如圖:以如圖:以1號(hào)單元作為固定地址,號(hào)單元作為固定地址,該單元中安排一條轉(zhuǎn)移指令,轉(zhuǎn)到地該單元中

22、安排一條轉(zhuǎn)移指令,轉(zhuǎn)到地址為址為nn的查詢程序去。的查詢程序去。 非向量中斷法的優(yōu)點(diǎn)是:簡(jiǎn)單、易實(shí)現(xiàn),成本低。非向量中斷法的優(yōu)點(diǎn)是:簡(jiǎn)單、易實(shí)現(xiàn),成本低。 缺點(diǎn)是響應(yīng)的速度慢。缺點(diǎn)是響應(yīng)的速度慢。向量中斷向量中斷 (1) 有關(guān)的概念有關(guān)的概念 . 中斷向量中斷向量 所有中斷服務(wù)程序的入口地址和狀態(tài)字在一起,稱做中斷所有中斷服務(wù)程序的入口地址和狀態(tài)字在一起,稱做中斷向量。向量。 . 中斷向量表中斷向量表 所有中斷服務(wù)程序的入口地址(或包括服務(wù)程序的狀態(tài)字)所有中斷服務(wù)程序的入口地址(或包括服務(wù)程序的狀態(tài)字)組織成一維表,存放在一段連續(xù)的存儲(chǔ)區(qū)。該存儲(chǔ)區(qū)叫組織成一維表,存放在一段連續(xù)的存儲(chǔ)區(qū)。該存

23、儲(chǔ)區(qū)叫“中中斷向量表。斷向量表。 . 向量地址向量地址 存放某中斷源的中斷服務(wù)程序入口地址的單元地址叫向量存放某中斷源的中斷服務(wù)程序入口地址的單元地址叫向量地址。地址。 (2) 向量中斷向量中斷 響應(yīng)中斷時(shí),由響應(yīng)中斷時(shí),由硬件直接產(chǎn)生硬件直接產(chǎn)生對(duì)應(yīng)于中斷源的向量地址,據(jù)此訪問對(duì)應(yīng)于中斷源的向量地址,據(jù)此訪問中斷向量表,從中讀取服務(wù)程序入口地址,由此轉(zhuǎn)向服務(wù)程序。中斷向量表,從中讀取服務(wù)程序入口地址,由此轉(zhuǎn)向服務(wù)程序。 0000000100020003偏移量 .段地址 .中斷向量表向量地址0004;00230024;007F0080;03FF中斷類型號(hào)0型1型255型專用區(qū)中斷向量表一例五、

24、中斷響應(yīng)五、中斷響應(yīng) 1、 CPU響應(yīng)中斷的條件響應(yīng)中斷的條件 (1)有中斷請(qǐng)求信號(hào)產(chǎn)生而且沒有被屏蔽;)有中斷請(qǐng)求信號(hào)產(chǎn)生而且沒有被屏蔽; (2)CPU處于開中斷狀態(tài);處于開中斷狀態(tài); (3)在一條指令執(zhí)行結(jié)束時(shí)響應(yīng)中斷。)在一條指令執(zhí)行結(jié)束時(shí)響應(yīng)中斷。 2、 CPU的中斷響應(yīng)過程的中斷響應(yīng)過程 CPU響應(yīng)中斷后就進(jìn)入響應(yīng)中斷后就進(jìn)入“中斷周期中斷周期” IT 。 在中斷周期,在中斷周期,CPU完成三件事:完成三件事: (中斷隱指令)(中斷隱指令) (1)關(guān)中斷、)關(guān)中斷、 (2)保護(hù)斷點(diǎn)、)保護(hù)斷點(diǎn)、 (3)轉(zhuǎn)向中斷服務(wù)程序)轉(zhuǎn)向中斷服務(wù)程序進(jìn)入中斷周期,執(zhí)行隱指令,(關(guān)中斷,保護(hù)斷點(diǎn),轉(zhuǎn)

25、中斷處理)響應(yīng)保護(hù)現(xiàn)場(chǎng)及舊屏蔽字設(shè)置新屏蔽字開中斷執(zhí)行中斷服務(wù)程序關(guān)中斷恢復(fù)現(xiàn)場(chǎng)及屏蔽字開中斷返回(中斷處理過程)六、中斷處理六、中斷處理 中斷處理過程分:?jiǎn)渭?jí)中斷處理過程分:?jiǎn)渭?jí)中斷方式、多重中斷方式。中斷方式、多重中斷方式。 右圖是多重中斷方式處右圖是多重中斷方式處理過程的流程圖。理過程的流程圖。 處理過程中,有兩次關(guān)處理過程中,有兩次關(guān)中斷、兩次開中斷。其中中斷、兩次開中斷。其中在執(zhí)行中斷服務(wù)程序的前在執(zhí)行中斷服務(wù)程序的前的開中斷、執(zhí)行后的關(guān)中的開中斷、執(zhí)行后的關(guān)中斷是為了能在執(zhí)行中斷服斷是為了能在執(zhí)行中斷服務(wù)程序時(shí)實(shí)現(xiàn)中斷嵌套。務(wù)程序時(shí)實(shí)現(xiàn)中斷嵌套。設(shè)備選擇電路地址總線命令字寄存器數(shù)據(jù)

26、總線狀態(tài)字寄存器數(shù)據(jù)總線數(shù)據(jù)緩沖器數(shù)據(jù)總線其它控制邏輯中斷控制器IRQi數(shù)據(jù)總線INTINTA中斷接口組成模型系統(tǒng)總線IRQ0IRQ7七、中斷接口七、中斷接口組成模型組成模型 圖中的中斷控制器是多個(gè)設(shè)備公用的,它包含有中斷優(yōu)先排隊(duì)、中斷屏蔽等功能電路。 5.5 DMA方式及接口 一、基本概念 1、程序中斷方式的不足之處 對(duì)于高速的外部設(shè)備,采用程序中斷方式,會(huì)造成數(shù)據(jù)的丟失。 2、直接內(nèi)存訪問直接內(nèi)存訪問(DMA ) 方式方式 的定義 DMA方式是一種完全由硬件執(zhí)行I/O交換的工作方式。在這種方式中,DMA控制器從CPU完全接管對(duì)總線的控制,數(shù)據(jù)交換不經(jīng)過CPU,而直接在內(nèi)存和I/O設(shè)備之間進(jìn)

27、行。在數(shù)據(jù)傳送期間不需要CPU的程序干預(yù),而是由DMA控制器向內(nèi)存發(fā)出地址和控制信號(hào),修改地址,對(duì)傳送的字的個(gè)數(shù)計(jì)數(shù),并且以中斷方式向CPU報(bào)告?zhèn)魉筒僮鞯慕Y(jié)束。 3、DMA方式的特點(diǎn)方式的特點(diǎn) DMA方式的主要特點(diǎn)是速度快。方式的主要特點(diǎn)是速度快。 由于由于CPU根本不參加傳送操作,因此就省去了根本不參加傳送操作,因此就省去了CPU取指令、取數(shù)、送數(shù)等操作。在數(shù)據(jù)傳送過程中,取指令、取數(shù)、送數(shù)等操作。在數(shù)據(jù)傳送過程中,沒有保存現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng)之類的工作。內(nèi)存地址修改、沒有保存現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng)之類的工作。內(nèi)存地址修改、傳送字個(gè)數(shù)的計(jì)數(shù)等等,也不是由軟件實(shí)現(xiàn),而是用傳送字個(gè)數(shù)的計(jì)數(shù)等等,也不是由軟件實(shí)

28、現(xiàn),而是用硬件線路直接實(shí)現(xiàn)的。所以硬件線路直接實(shí)現(xiàn)的。所以DMA方式能滿足高速方式能滿足高速I/O設(shè)備的要求,也有利于設(shè)備的要求,也有利于CPU效率的發(fā)揮。效率的發(fā)揮。 4、DMA的三種傳送方式的三種傳送方式(1)停止停止CPU訪問內(nèi)存(成組連續(xù)傳送方式)訪問內(nèi)存(成組連續(xù)傳送方式) 當(dāng)外圍設(shè)備要求傳送一批數(shù)據(jù)時(shí),由當(dāng)外圍設(shè)備要求傳送一批數(shù)據(jù)時(shí),由DMA控制控制器發(fā)一個(gè)停止信號(hào)給器發(fā)一個(gè)停止信號(hào)給CPU,要求,要求CPU放棄對(duì)系統(tǒng)總線放棄對(duì)系統(tǒng)總線的使用權(quán)。的使用權(quán)。DMA控制器獲得總線控制權(quán)以后,開始進(jìn)控制器獲得總線控制權(quán)以后,開始進(jìn)行數(shù)據(jù)傳送。在行數(shù)據(jù)傳送。在一批數(shù)據(jù)一批數(shù)據(jù)傳送完畢后,傳

29、送完畢后,DMA控制器通控制器通知知CPU可以使用內(nèi)存,并把總線控制權(quán)交還給可以使用內(nèi)存,并把總線控制權(quán)交還給CPU。這種傳送方式的時(shí)間圖如下:這種傳送方式的時(shí)間圖如下: 優(yōu)點(diǎn)優(yōu)點(diǎn): 控制簡(jiǎn)單,控制簡(jiǎn)單,它適用于數(shù)據(jù)傳輸率很高的設(shè)備進(jìn)行成組傳送。它適用于數(shù)據(jù)傳輸率很高的設(shè)備進(jìn)行成組傳送。缺點(diǎn)缺點(diǎn): 在在DMA控制器訪內(nèi)階段,內(nèi)存的效能沒有充分發(fā)揮,相當(dāng)控制器訪內(nèi)階段,內(nèi)存的效能沒有充分發(fā)揮,相當(dāng)一部分內(nèi)存工作周期是空閑的。這是因?yàn)椋鈬O(shè)備傳送兩個(gè)數(shù)一部分內(nèi)存工作周期是空閑的。這是因?yàn)椋鈬O(shè)備傳送兩個(gè)數(shù)據(jù)之間的間隔一般總是大于內(nèi)存存儲(chǔ)周期,即使高速據(jù)之間的間隔一般總是大于內(nèi)存存儲(chǔ)周期,即使高

30、速I/O設(shè)備也是設(shè)備也是如此。如此。 (2)周期挪用法(單字傳送方式)周期挪用法(單字傳送方式) 當(dāng)當(dāng)I/O設(shè)備沒有設(shè)備沒有DMA請(qǐng)求時(shí),請(qǐng)求時(shí),CPU按程序要按程序要求訪問內(nèi)存;一旦求訪問內(nèi)存;一旦I/O設(shè)備有設(shè)備有DMA請(qǐng)求,則由請(qǐng)求,則由I/O設(shè)備挪用一個(gè)或幾個(gè)內(nèi)存周期,傳送一個(gè)字設(shè)備挪用一個(gè)或幾個(gè)內(nèi)存周期,傳送一個(gè)字的數(shù)據(jù)。的數(shù)據(jù)。 I/O設(shè)備要求設(shè)備要求DMA傳送時(shí)可能遇到兩種情況:傳送時(shí)可能遇到兩種情況: 1) 此時(shí)此時(shí)CPU不需要訪內(nèi),如不需要訪內(nèi),如CPU正在執(zhí)行乘正在執(zhí)行乘法指令。由于乘法指令執(zhí)行時(shí)間較長(zhǎng),此時(shí)法指令。由于乘法指令執(zhí)行時(shí)間較長(zhǎng),此時(shí)I/O訪內(nèi)與訪內(nèi)與CPU訪內(nèi)

31、沒有沖突,即訪內(nèi)沒有沖突,即I/O設(shè)備挪用一二設(shè)備挪用一二個(gè)內(nèi)存周期對(duì)個(gè)內(nèi)存周期對(duì)CPU執(zhí)行程序沒有任何影響。執(zhí)行程序沒有任何影響。2)I/O設(shè)備要求訪內(nèi)時(shí)設(shè)備要求訪內(nèi)時(shí)CPU也要求訪內(nèi),這也要求訪內(nèi),這就產(chǎn)生了訪內(nèi)沖突。就產(chǎn)生了訪內(nèi)沖突。 在這種情況下在這種情況下I/O設(shè)備訪內(nèi)優(yōu)先,因?yàn)樵O(shè)備訪內(nèi)優(yōu)先,因?yàn)镮/O訪內(nèi)有時(shí)間要求,前一個(gè)訪內(nèi)有時(shí)間要求,前一個(gè)I/O數(shù)據(jù)必須在下一數(shù)據(jù)必須在下一個(gè)訪內(nèi)請(qǐng)求到來之前存取完畢。顯然,在這個(gè)訪內(nèi)請(qǐng)求到來之前存取完畢。顯然,在這種情況下種情況下I/O 設(shè)備挪用一二個(gè)內(nèi)存周期,意味設(shè)備挪用一二個(gè)內(nèi)存周期,意味著著CPU延緩了對(duì)指令的執(zhí)行,或者更明確地延緩了對(duì)指

32、令的執(zhí)行,或者更明確地說,在說,在CPU執(zhí)行訪內(nèi)指令的過程中插入執(zhí)行訪內(nèi)指令的過程中插入DMA請(qǐng)求,挪用了一二個(gè)內(nèi)存周期。請(qǐng)求,挪用了一二個(gè)內(nèi)存周期。 這種傳送方式的時(shí)間圖如下:這種傳送方式的時(shí)間圖如下:特點(diǎn):特點(diǎn):周期挪用的方法既實(shí)現(xiàn)了周期挪用的方法既實(shí)現(xiàn)了I/O傳送,又較好地發(fā)揮了內(nèi)存?zhèn)魉?,又較好地發(fā)揮了內(nèi)存和和CPU的效率。但是的效率。但是I/O設(shè)備每一次周期挪用都有申請(qǐng)總線控制設(shè)備每一次周期挪用都有申請(qǐng)總線控制權(quán)、建立線控制權(quán)和歸還總線控制權(quán)的過程,所以傳送一個(gè)字權(quán)、建立線控制權(quán)和歸還總線控制權(quán)的過程,所以傳送一個(gè)字對(duì)內(nèi)存來說要占用一個(gè)周期,但對(duì)對(duì)內(nèi)存來說要占用一個(gè)周期,但對(duì)DMA控制

33、器來說一般要控制器來說一般要25個(gè)內(nèi)存周期個(gè)內(nèi)存周期(視邏輯線路的延遲而定視邏輯線路的延遲而定)。因此,因此,周期挪用的方法適用于周期挪用的方法適用于I/O設(shè)備讀寫周期大于內(nèi)存存儲(chǔ)周設(shè)備讀寫周期大于內(nèi)存存儲(chǔ)周期的情況。期的情況。 (3)DMA與與CPU交替訪內(nèi)交替訪內(nèi) 如果如果CPU的工作周期比內(nèi)存存取周期長(zhǎng)很多,此的工作周期比內(nèi)存存取周期長(zhǎng)很多,此時(shí)采用交替訪內(nèi)的方法可以使時(shí)采用交替訪內(nèi)的方法可以使DMA傳送和傳送和CPU同時(shí)發(fā)同時(shí)發(fā)揮最高的效率。假設(shè)揮最高的效率。假設(shè)CPU工作周期為工作周期為 1.2s,內(nèi)存存取,內(nèi)存存取周期小于周期小于0.6s,那么一個(gè),那么一個(gè)CPU周期可分為周期可分

34、為C1和和C2兩個(gè)兩個(gè)分周期,其中分周期,其中C1供供DMA控制器訪內(nèi),控制器訪內(nèi),C2專供專供CPU訪訪內(nèi)。這種傳送方式的時(shí)間圖如下:內(nèi)。這種傳送方式的時(shí)間圖如下: 特點(diǎn):特點(diǎn):這種方式不需要總線使用權(quán)的申請(qǐng)、建立和歸這種方式不需要總線使用權(quán)的申請(qǐng)、建立和歸還過程,總線使用權(quán)是通過還過程,總線使用權(quán)是通過C1和和C2分時(shí)進(jìn)行的。分時(shí)進(jìn)行的。 CPU和和DMA控制器各自有自己的訪內(nèi)地址寄存器、控制器各自有自己的訪內(nèi)地址寄存器、數(shù)據(jù)寄存器和讀數(shù)據(jù)寄存器和讀/寫信號(hào)等控制寄存器。寫信號(hào)等控制寄存器。 對(duì)于總線,這是用對(duì)于總線,這是用C1,C2控制的一個(gè)多路轉(zhuǎn)換器,控制的一個(gè)多路轉(zhuǎn)換器,這種總線控制

35、權(quán)的轉(zhuǎn)移幾乎不需要什么時(shí)間,所以對(duì)這種總線控制權(quán)的轉(zhuǎn)移幾乎不需要什么時(shí)間,所以對(duì)DMA傳送來講效率是很高的。傳送來講效率是很高的。5、DMA方式的硬件組成方式的硬件組成一個(gè)最簡(jiǎn)單的一個(gè)最簡(jiǎn)單的DMA控制器由以下邏輯部件組成:控制器由以下邏輯部件組成: (1)內(nèi)存地址計(jì)數(shù)器內(nèi)存地址計(jì)數(shù)器 用于存放內(nèi)存中要交換的數(shù)據(jù)的地址。在用于存放內(nèi)存中要交換的數(shù)據(jù)的地址。在DMA傳送前,須通過程序?qū)?shù)據(jù)在內(nèi)存中的起始位置傳送前,須通過程序?qū)?shù)據(jù)在內(nèi)存中的起始位置(首首地址地址)送到內(nèi)存地址計(jì)數(shù)器。而當(dāng)送到內(nèi)存地址計(jì)數(shù)器。而當(dāng)DMA傳送時(shí),每交傳送時(shí),每交換一次數(shù)據(jù),將地址計(jì)數(shù)器加換一次數(shù)據(jù),將地址計(jì)數(shù)器加“1

36、”,從而以增量方,從而以增量方式給出內(nèi)存中要交換的一批數(shù)據(jù)的地址式給出內(nèi)存中要交換的一批數(shù)據(jù)的地址。 (3)數(shù)據(jù)緩沖寄存器數(shù)據(jù)緩沖寄存器 用于暫存每次傳送的數(shù)據(jù)用于暫存每次傳送的數(shù)據(jù)(一個(gè)字一個(gè)字)。當(dāng)輸入時(shí),由。當(dāng)輸入時(shí),由設(shè)備設(shè)備(如磁盤如磁盤)送往數(shù)據(jù)緩沖寄存器,再由緩沖寄存器送往數(shù)據(jù)緩沖寄存器,再由緩沖寄存器通過數(shù)據(jù)總線送到內(nèi)存。反之,輸出時(shí),由內(nèi)存通過通過數(shù)據(jù)總線送到內(nèi)存。反之,輸出時(shí),由內(nèi)存通過數(shù)據(jù)總線送到數(shù)據(jù)緩沖寄存器,然后再送到設(shè)備。數(shù)據(jù)總線送到數(shù)據(jù)緩沖寄存器,然后再送到設(shè)備。 (2)字計(jì)數(shù)器字計(jì)數(shù)器 用于記錄傳送數(shù)據(jù)塊的長(zhǎng)度用于記錄傳送數(shù)據(jù)塊的長(zhǎng)度(多少字?jǐn)?shù)多少字?jǐn)?shù))。其。其

37、內(nèi)容也是在數(shù)據(jù)傳送之前由程序預(yù)置,交換的字內(nèi)容也是在數(shù)據(jù)傳送之前由程序預(yù)置,交換的字?jǐn)?shù)通常以補(bǔ)碼形式表示。在數(shù)通常以補(bǔ)碼形式表示。在DMA傳送時(shí),每傳傳送時(shí),每傳送一個(gè)字,字計(jì)數(shù)器就加送一個(gè)字,字計(jì)數(shù)器就加“1” ,當(dāng)計(jì)數(shù)器溢出,當(dāng)計(jì)數(shù)器溢出即最高位產(chǎn)生進(jìn)位時(shí),表示這批數(shù)據(jù)傳送完畢,即最高位產(chǎn)生進(jìn)位時(shí),表示這批數(shù)據(jù)傳送完畢,于是引起于是引起DMA控制器向控制器向CPU發(fā)中斷信號(hào)。發(fā)中斷信號(hào)。(4)“DMA請(qǐng)求請(qǐng)求”標(biāo)志標(biāo)志 每當(dāng)設(shè)備準(zhǔn)備好一個(gè)數(shù)據(jù)字后給出一個(gè)控制信每當(dāng)設(shè)備準(zhǔn)備好一個(gè)數(shù)據(jù)字后給出一個(gè)控制信號(hào),使號(hào),使“DMA請(qǐng)求請(qǐng)求” 標(biāo)志置標(biāo)志置“1”。該標(biāo)志置位后。該標(biāo)志置位后向向“控制控制

38、/狀態(tài)狀態(tài)”邏輯發(fā)出邏輯發(fā)出DMA請(qǐng)求,后者又向請(qǐng)求,后者又向CPU發(fā)出總線使用權(quán)的請(qǐng)求發(fā)出總線使用權(quán)的請(qǐng)求(HOLD),CPU響應(yīng)此響應(yīng)此請(qǐng)求后發(fā)回響應(yīng)信號(hào)請(qǐng)求后發(fā)回響應(yīng)信號(hào)HLDA,“控制控制/狀態(tài)狀態(tài)”邏輯接邏輯接收此信號(hào)后發(fā)出收此信號(hào)后發(fā)出DMA響應(yīng)信號(hào),使響應(yīng)信號(hào),使“DMA請(qǐng)求請(qǐng)求”標(biāo)志復(fù)位,為交換下一個(gè)字做好準(zhǔn)備。標(biāo)志復(fù)位,為交換下一個(gè)字做好準(zhǔn)備。 (5)“控制控制/狀態(tài)狀態(tài)”邏輯邏輯 由控制和時(shí)序電路以及狀態(tài)標(biāo)志等組成,用于修由控制和時(shí)序電路以及狀態(tài)標(biāo)志等組成,用于修改內(nèi)存地址計(jì)數(shù)器和字計(jì)數(shù)器,指定傳送類型改內(nèi)存地址計(jì)數(shù)器和字計(jì)數(shù)器,指定傳送類型(輸入輸入或輸出或輸出),并對(duì),

39、并對(duì)“DMA請(qǐng)求請(qǐng)求”信號(hào)和信號(hào)和CPU響應(yīng)信號(hào)響應(yīng)信號(hào)進(jìn)行協(xié)調(diào)和同步。進(jìn)行協(xié)調(diào)和同步。 (6)中斷機(jī)構(gòu)中斷機(jī)構(gòu) 當(dāng)字計(jì)數(shù)器溢出時(shí)當(dāng)字計(jì)數(shù)器溢出時(shí)(全全0),意味著一組數(shù)據(jù)交換,意味著一組數(shù)據(jù)交換完畢,由溢出信號(hào)觸發(fā)中斷機(jī)構(gòu),向完畢,由溢出信號(hào)觸發(fā)中斷機(jī)構(gòu),向CPU提出中斷提出中斷報(bào)告。這里的中斷與上一節(jié)介紹的報(bào)告。這里的中斷與上一節(jié)介紹的I/O中斷所采用中斷所采用的技術(shù)相同,但中斷的目的不同,前面是為了數(shù)據(jù)的技術(shù)相同,但中斷的目的不同,前面是為了數(shù)據(jù)的輸入或輸出,而這里是為了報(bào)告一組數(shù)據(jù)傳送結(jié)的輸入或輸出,而這里是為了報(bào)告一組數(shù)據(jù)傳送結(jié)束。因此它們是束。因此它們是I/O系統(tǒng)中不同的中斷事件系

40、統(tǒng)中不同的中斷事件。6、DMA數(shù)據(jù)傳送過程數(shù)據(jù)傳送過程 可分為三個(gè)階段: 傳送前預(yù)處理傳送前預(yù)處理 正式傳送正式傳送 傳送后處理傳送后處理。 預(yù)處理預(yù)處理 由由CPU執(zhí)行幾條輸入輸出指令,測(cè)試設(shè)備狀態(tài),執(zhí)行幾條輸入輸出指令,測(cè)試設(shè)備狀態(tài),向向DMA控制器的設(shè)備地址寄存器中送入設(shè)備號(hào)并控制器的設(shè)備地址寄存器中送入設(shè)備號(hào)并啟動(dòng)設(shè)備,向內(nèi)存地址計(jì)數(shù)器中送入起始地址,向啟動(dòng)設(shè)備,向內(nèi)存地址計(jì)數(shù)器中送入起始地址,向字計(jì)數(shù)器中送入交換的數(shù)據(jù)字個(gè)數(shù)。在這些工作完字計(jì)數(shù)器中送入交換的數(shù)據(jù)字個(gè)數(shù)。在這些工作完成后,成后,CPU繼續(xù)執(zhí)行原來的主程序繼續(xù)執(zhí)行原來的主程序。正式傳送正式傳送 當(dāng)外設(shè)準(zhǔn)備好發(fā)送數(shù)據(jù)當(dāng)外設(shè)

41、準(zhǔn)備好發(fā)送數(shù)據(jù)(輸入輸入)或接受數(shù)據(jù)或接受數(shù)據(jù)(輸輸出出)時(shí),它發(fā)出時(shí),它發(fā)出DMA請(qǐng)求,由請(qǐng)求,由DMA控制器向控制器向CPU發(fā)出總線使用權(quán)的請(qǐng)求發(fā)出總線使用權(quán)的請(qǐng)求(HOLD)。下圖示出了停。下圖示出了停止止CPU訪內(nèi)方式的訪內(nèi)方式的DMA傳送數(shù)據(jù)的流程圖。傳送數(shù)據(jù)的流程圖。 后處理后處理 一旦一旦DMA的中斷請(qǐng)求得到響應(yīng),的中斷請(qǐng)求得到響應(yīng),CPU停止主停止主程序的執(zhí)行,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序做一些程序的執(zhí)行,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序做一些DMA的結(jié)束處理工作。這些工作包括校驗(yàn)送入內(nèi)存的的結(jié)束處理工作。這些工作包括校驗(yàn)送入內(nèi)存的數(shù)據(jù)是否正確;決定繼續(xù)用數(shù)據(jù)是否正確;決定繼續(xù)用DMA方式傳送下去

42、,方式傳送下去,還是結(jié)束傳送;測(cè)試在傳送過程中是否發(fā)生了錯(cuò)還是結(jié)束傳送;測(cè)試在傳送過程中是否發(fā)生了錯(cuò)誤等等。誤等等。二、二、DMA控制器與接口的連接方式控制器與接口的連接方式 DMA控制器定義為以下功能: 申請(qǐng)總線申請(qǐng)總線、 控制總線控制總線、 控制控制DMA傳送傳送 狹義DMA接口定義為以下功能: 與具體設(shè)備相適配與具體設(shè)備相適配 進(jìn)行數(shù)據(jù)傳送的接口邏輯進(jìn)行數(shù)據(jù)傳送的接口邏輯 以上的控制器與接口組成以上的控制器與接口組成廣義的接口廣義的接口。CPU主存控制/狀態(tài)邏輯數(shù)據(jù)緩沖寄存器地址寄存器/計(jì)數(shù)器字寄存器中斷機(jī)構(gòu)設(shè)備選擇電路設(shè)備 系統(tǒng)總線總線請(qǐng)求總線批準(zhǔn)DMA控制器(接口)(單通道DMA控制

43、器 )1、單通道、單通道DMA控制器控制器CPU主存控制/狀態(tài)邏輯數(shù)據(jù)緩沖寄存器地址寄存器/計(jì)數(shù)器字寄存器中斷機(jī)構(gòu)設(shè)備選擇電路 系統(tǒng)總線總線請(qǐng)求總線批準(zhǔn)DMA控制器(接口)I/OI/OI/O總線(選擇型DMA控制器)2、選擇型、選擇型DMA控制器控制器CPU主存總線請(qǐng)求總線批準(zhǔn)接口接口I/OI/ODREQ0DACK0DREQ3DACK3系統(tǒng)總線DMA控制器(多路型DMA控制器)3、多路型、多路型DMA控制器控制器 現(xiàn)有磁盤、磁帶、打印機(jī)三個(gè)設(shè)備同時(shí)工作。 磁盤、磁帶、打印機(jī)分別以30s、 45s、 150s的間隔向控制器發(fā)DMA請(qǐng)求。 根據(jù)傳輸速率,磁盤優(yōu)先權(quán)最高,磁帶次之,打印機(jī)最低。 假設(shè)

44、DMA控制器每完成一次DMA傳送所需的時(shí)間是5s。畫出多路型DMA控制器服務(wù)三個(gè)設(shè)備的工作時(shí)間圖。多路型多路型DMA控制器工作過程舉例:控制器工作過程舉例:T1間隔中控制器首先為打印機(jī)服務(wù)。間隔中控制器首先為打印機(jī)服務(wù)。T2間隔前沿首先為優(yōu)先權(quán)高的磁盤服務(wù),然后為磁帶服間隔前沿首先為優(yōu)先權(quán)高的磁盤服務(wù),然后為磁帶服務(wù),每次服務(wù)傳送一個(gè)字節(jié)。務(wù),每次服務(wù)傳送一個(gè)字節(jié)。在在120s時(shí)間階段中,為打印機(jī)服務(wù)只有一次時(shí)間階段中,為打印機(jī)服務(wù)只有一次(T1),為磁,為磁盤服務(wù)四次盤服務(wù)四次(T2,T4,T6,T7),為磁帶服務(wù)三次,為磁帶服務(wù)三次(T3,T5,T8)。4、DMA控制器的連接控制器的連接(

45、1)級(jí)連方式)級(jí)連方式D DM MA A控控制制器器D DR RE EQ Q0 0D DA AC CK K0 0D DR RE EQ Q3 3D DA AC CK K3 3D DM MA A控控制制器器D DR RE EQ Q0 0D DA AC CK K0 0C CP PU UH HR RQ QH HL LD DA AD DM MA A控控制制器器D DM MA A控控制制器器D DM MA A控控制制器器C CP PU UH HL LD DA AH HR RQ Q(2)公共請(qǐng)求方式)公共請(qǐng)求方式D DM MA A控控制制器器D DM MA A控控制制器器C CP PU UH HL LD D

46、A A0 0H HR RQ Q0 0D DM MA A控控制制器器H HL LD DA A1 1H HL LD DA An nH HR RQ Q1 1H HR RQ Qn n(2)獨(dú)立請(qǐng)求方式)獨(dú)立請(qǐng)求方式地址總線數(shù)據(jù)總線控制總線I/O緩沖I/O緩沖I/O緩沖時(shí)序與控制邏輯優(yōu)先級(jí)仲裁邏輯命令控制邏輯A3-0A7-4DB7-0HLDAHRQDACK7-0DREQ7-0(至接口)8237DMA控制器結(jié)構(gòu)寄存器組與標(biāo)志觸發(fā)器三、三、DMA 控制器的組成控制器的組成5.6 通道控制方式及通道控制方式及IOP方式方式一、概述一、概述 通道的出現(xiàn)進(jìn)一步提高了通道的出現(xiàn)進(jìn)一步提高了CPU的效率。因的效率。因

47、為通道是一個(gè)特殊功能的處理器,它有自己的為通道是一個(gè)特殊功能的處理器,它有自己的指令和程序?qū)iT負(fù)責(zé)數(shù)據(jù)輸入輸出的傳輸控制,指令和程序?qū)iT負(fù)責(zé)數(shù)據(jù)輸入輸出的傳輸控制,而而CPU將將“傳輸控制傳輸控制”的功能下放給通道后只的功能下放給通道后只負(fù)責(zé)負(fù)責(zé)“數(shù)據(jù)處理數(shù)據(jù)處理”功能。這樣,通道與功能。這樣,通道與CPU分分時(shí)使用內(nèi)存,實(shí)現(xiàn)了時(shí)使用內(nèi)存,實(shí)現(xiàn)了CPU內(nèi)部運(yùn)算與內(nèi)部運(yùn)算與I/O設(shè)設(shè) 備備的平行工作。的平行工作。 通道的基本功能通道的基本功能 是執(zhí)行通道指令,組織外是執(zhí)行通道指令,組織外圍設(shè)備和內(nèi)存進(jìn)行數(shù)據(jù)傳輸,按圍設(shè)備和內(nèi)存進(jìn)行數(shù)據(jù)傳輸,按I/O指令要求啟指令要求啟動(dòng)外圍設(shè)備,向動(dòng)外圍設(shè)備,向

48、CPU報(bào)告中斷等,具體有以下報(bào)告中斷等,具體有以下五項(xiàng)任務(wù):五項(xiàng)任務(wù): (1)接受接受CPU的的I/O指令,按指令要求與指定的指令,按指令要求與指定的外圍設(shè)備進(jìn)行通信。外圍設(shè)備進(jìn)行通信。 (2)從內(nèi)存選取屬于該通道程序的通道指令,經(jīng)從內(nèi)存選取屬于該通道程序的通道指令,經(jīng)譯碼后向設(shè)備控制器和設(shè)備發(fā)送各種命令。譯碼后向設(shè)備控制器和設(shè)備發(fā)送各種命令。 (3)組織外圍設(shè)備和內(nèi)存之間進(jìn)行數(shù)據(jù)傳送,并組織外圍設(shè)備和內(nèi)存之間進(jìn)行數(shù)據(jù)傳送,并根據(jù)需要提供數(shù)據(jù)緩存的空間,以及提供數(shù)據(jù)根據(jù)需要提供數(shù)據(jù)緩存的空間,以及提供數(shù)據(jù)存入內(nèi)存的地址和傳送的數(shù)據(jù)量。存入內(nèi)存的地址和傳送的數(shù)據(jù)量。(4)從外圍設(shè)備得到設(shè)備的狀態(tài)

49、信息,形成并保從外圍設(shè)備得到設(shè)備的狀態(tài)信息,形成并保存通道本身的狀態(tài)信息,根據(jù)要求將這些狀態(tài)存通道本身的狀態(tài)信息,根據(jù)要求將這些狀態(tài)信息送到內(nèi)存的指定單元,供信息送到內(nèi)存的指定單元,供CPU使用。使用。(5)將外圍設(shè)備的中斷請(qǐng)求和通道本身的中斷請(qǐng)將外圍設(shè)備的中斷請(qǐng)求和通道本身的中斷請(qǐng)求,按次序及時(shí)報(bào)告求,按次序及時(shí)報(bào)告CPU。 二、通道二、通道 1、通道的類型、通道的類型(1) 字節(jié)多路通道字節(jié)多路通道 字節(jié)多路通道可以連接多臺(tái)低速設(shè)備,字節(jié)多路通道可以連接多臺(tái)低速設(shè)備,如鍵盤、打印機(jī)等,以字節(jié)交叉方式傳送如鍵盤、打印機(jī)等,以字節(jié)交叉方式傳送數(shù)據(jù)。數(shù)據(jù)。a1a1 a2a2b1b1 b2b2c1

50、c1 c2c2通道通道a1a1 b1b1 c1c1 a2a2 b2b2 c2c2字節(jié)多路通道的傳送方式示意圖(2)選擇通道)選擇通道 選擇通道又稱高速通道,在物理上它可以選擇通道又稱高速通道,在物理上它可以連接多臺(tái)高速設(shè)備,但是這些設(shè)備不能同時(shí)工連接多臺(tái)高速設(shè)備,但是這些設(shè)備不能同時(shí)工作,在某一段時(shí)間內(nèi)通道只能選擇一個(gè)設(shè)備進(jìn)作,在某一段時(shí)間內(nèi)通道只能選擇一個(gè)設(shè)備進(jìn)行工作。當(dāng)成組傳送完畢后,才能選擇另一臺(tái)行工作。當(dāng)成組傳送完畢后,才能選擇另一臺(tái)設(shè)備。設(shè)備。a1a1a2a2a1a1a2a2a1a1a2a2通道通道a1a1a2a2b1b1b2b2c1c1c2c2選擇通道的傳送方式示意圖(3)數(shù)組多路

51、通道)數(shù)組多路通道 基本思想基本思想:當(dāng)某設(shè)備進(jìn)行數(shù)據(jù)傳送時(shí),通道只為該設(shè)備服務(wù);當(dāng)設(shè)備在執(zhí)行尋址等控制性動(dòng)作時(shí),通道暫時(shí)斷開與這個(gè)設(shè)備的連接,掛起該設(shè)備的通道程序,去為其他設(shè)備服務(wù),即執(zhí)行其他設(shè)備的通道程序。所以數(shù)組多路通道很像一個(gè)多道程序的處理器。 數(shù)組多路通道可以連接多臺(tái)快速設(shè)備,允許并行數(shù)組多路通道可以連接多臺(tái)快速設(shè)備,允許并行工作,以成組交叉方式傳送數(shù)據(jù)。工作,以成組交叉方式傳送數(shù)據(jù)。 數(shù)組多路通道既保留了選擇通道高速傳送數(shù)據(jù)的數(shù)組多路通道既保留了選擇通道高速傳送數(shù)據(jù)的優(yōu)點(diǎn),又充分利用了控制性操作的時(shí)間間隔為其他設(shè)優(yōu)點(diǎn),又充分利用了控制性操作的時(shí)間間隔為其他設(shè)備服務(wù),使通道效率充分得

52、到發(fā)揮,因此數(shù)組多路通備服務(wù),使通道效率充分得到發(fā)揮,因此數(shù)組多路通道在實(shí)際系統(tǒng)中得到較多應(yīng)用。道在實(shí)際系統(tǒng)中得到較多應(yīng)用。字節(jié)多路通道和數(shù)組多路通道的共同之處字節(jié)多路通道和數(shù)組多路通道的共同之處: 都是多路通道,在一段時(shí)間內(nèi)能交替執(zhí)行多個(gè)設(shè)備的通道程序,使這些設(shè)備同時(shí)工作。 字節(jié)多路通道和數(shù)組多路通道的不同之處字節(jié)多路通道和數(shù)組多路通道的不同之處: (1)數(shù)組多路通道允許多個(gè)設(shè)備同時(shí)工作,但只允許一個(gè)設(shè)備進(jìn)行傳輸型操作,其他設(shè)備進(jìn)行控制型操作。而字節(jié)多路通道不僅允許多個(gè)設(shè)備同時(shí)操作,而且也允許它們同時(shí)進(jìn)行傳輸型操作。 (2)數(shù)組多路通道與設(shè)備之間數(shù)據(jù)傳送的基本單位是數(shù)據(jù)塊數(shù)據(jù)塊,通道必須為一

53、個(gè)設(shè)備傳送完一個(gè)數(shù)據(jù)塊以后,才能為別的設(shè)備傳送數(shù)據(jù)塊。而字節(jié)多路通道與設(shè)備之間數(shù)據(jù)傳送的基本單位是字節(jié)字節(jié),通道為一個(gè)設(shè)備傳送一個(gè)字節(jié)后,又可以為另一個(gè)設(shè)備傳送一個(gè)字節(jié),因此各設(shè)備與通道之間的數(shù)據(jù)傳送是以字節(jié)為單位交替進(jìn)行。CPU存儲(chǔ)管理主存選擇通道磁盤控制器磁盤磁盤磁盤控制器磁盤磁盤I/O總線數(shù)組多路通道磁帶控制器磁帶磁帶磁帶控制器磁帶磁帶I/O總線字節(jié)多路通道設(shè)備控制器設(shè)備設(shè)備控制器設(shè)備設(shè)備I/O總線存儲(chǔ)總線(IBM4300的I/O子系統(tǒng)) 較大規(guī)模的計(jì)算機(jī)系統(tǒng)中,可同時(shí)具有上述3種通道。下圖是IBM4300系統(tǒng)的I/O子系統(tǒng)框圖二、I/O指令、通道指令與通道程序 1、 I/O指令 CPU

54、是通過執(zhí)行I/O指令以及處理來自通道的中斷,實(shí)現(xiàn)對(duì)通道的管理。來自通道的中斷有兩種,一種是數(shù)據(jù)傳送結(jié)束中數(shù)據(jù)傳送結(jié)束中斷斷,另一種是故障中斷故障中斷。 管態(tài)管態(tài) CPU運(yùn)行操作系統(tǒng)的管理程序的狀態(tài)。目態(tài)目態(tài) CPU執(zhí)行目的程序時(shí)的狀態(tài)。大中型計(jì)算機(jī)的I/O指令都是管態(tài)指令,只有當(dāng)CPU處于管態(tài)時(shí),才能運(yùn)行I/O指令,目態(tài)時(shí)不能運(yùn)行I/O指令。這是因?yàn)榇笾行陀?jì)算機(jī)的軟、硬件資源為多個(gè)用戶所共享,而不是分給某個(gè)用戶專用。 以IBM4300系統(tǒng)為例,其I/O指令有8種。 SIO、SIOF、TCH、TIO、HDV、HIO、CLRIO、STIDC (詳見書P385)2、通道指令 通道通過執(zhí)行通道指令,控制設(shè)備控制器進(jìn)行數(shù)據(jù)傳送操作,并以通

溫馨提示

  • 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)論