第5章輸入輸出系統_第1頁
第5章輸入輸出系統_第2頁
第5章輸入輸出系統_第3頁
第5章輸入輸出系統_第4頁
第5章輸入輸出系統_第5頁
已閱讀5頁,還剩64頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、主要知識點:1主機與輸入輸出設備間傳送數據的四種控制方式 程序查詢、中斷、DMA、通道2系統總線的結構,理解輸入/輸出接口的分類、功能及基本組成。3中斷處理的全過程,中斷優先、中斷屏蔽、中斷嵌套、中斷向量的概念。4DMA方式的原理和工作過程重點與難點: 程序中斷的概念、中斷系統的組成、中斷處理的具體過程、 DMA方式的基本原理。 5.1 概述 輸入輸出系統包括: (1)硬件部分:外部設備、接口、系統總線 系統總線是連接主機與外設的信息載體; 接口是控制主機與外設間信息傳送控制方式的電路 (2)軟件部分: 設備控制程序是指在一些設備控制器中由微處理器執行的程序; 設備驅動程序是指“操作系統”中一

2、組對外設的驅動程序。 用戶I/O程序:簡單統一的界面實現設備控制一、主機與外設的連接模式1、單總線方式2、雙總線方式CPU內存設備接口設備接口系統總線(單總線結構)CPU內存設備接口設備接口內存總線系統總線(雙總線結構)CPU內存設備接口IOP(通道)內存總線系統總線(三總線結構)設備接口I/O總線3、三總線方式(高性能多總線結構)判定與分配選擇通道磁盤控制器磁盤控制器字節多路通道設備控制器設備控制器設備設備設備數組多路通道設備控制器設備控制器設備設備設備CPU主存磁盤磁盤磁盤I/O總線IO總線IO總線存儲總線(IBM 370的通道結構)(IBM 370的通道結構)4、 通道控制方式與輸入輸出

3、處理機(IOP)方式 通道本身是一個專門管理輸入/輸出的控制器。 通道控制器的進一步發展,使之成為一個處理器,就是IOP方式。 特點:信息傳送的吞吐量大,大型計算機中采用。 二、總線類型與總線標準 總線是一組可以分時、共享分時、共享 的公共信息傳輸線路。1、按功能分類:內部總線、系統總線、外部總線CPUCPU地址鎖存器地址鎖存器地址總線地址總線數據緩沖器數據緩沖器數據總線數據總線總線控制器總線控制器控制總線控制總線主主存存中中斷斷控控制制器器DMADMA控控制制器器接口接口I/OI/O設備設備接口接口I/OI/O設備設備適配器外圍設備CPURAMROMPIOCTC總線控制邏輯總線擴展板存儲模塊

4、擴展板打印機接口板顯示器接口板外總線系統總線部件內總線(局部總線與系統總線結構圖)2、 按數據傳送格式分 并行總線 串行總線發送部件接收部件10110101高位低位并串轉換串并轉換發送部件接收部件傳送數據10110101并行總線串行總線3、按時序控制方式分 同步總線 異步總線4、總線標準 微機中有:PC總線 ISA總線 EISA總線 PCI總線 等三、接口的功能與分類 1、接口功能主要有4點: 尋址 數據緩沖 數據格式變換、電平轉換 控制邏輯 2、接口分類 并行接口與串行接口 同步接口與異步接口 中斷接口、DMA接口 等等 3、接口的主要部件組成: 數據緩沖器 設備地址識別線路 設備狀態寄存器

5、 主機命令字寄存器 數據格式轉換 控制邏輯4、I/O接口(I/O設備)的編址方式 (1) 統一編址方式 (2) 獨立編址方式00007FFF8000FFFF主存地址空間I/O地址空間例:統一編址方式0000FFFF主存地址空間000I/O地址空間3FF例: 獨立編址方式5.2 系統總線 一、總線信號組成 1、總線標準的制定應描述出總線的4個特性: 物理特性(機械特性) 電氣特性 邏輯特性(功能特性) 時序特性 2、按邏輯特性分,系統總線分為4組: (1)電源線、地線 (2)地址線 (3) 數據線 (4)控制信號線 控制信號線通常包括: (1)復位信號(RESET) (2)同步定時信號 例:CP

6、U時鐘(CLOCK)、總線狀態信號(S0,S1)、 刷新同步(REFESH)、機器周期同步(MCSYNC)等 (3)異步應答信號 主同步(MSYNC)、從同步(SSYNC) (4)總線控制權信號 總線請求(BREQ)、總線批準(BACK)、總線忙(BUSY) (5)中斷請求與批準 信號 中斷請求(IREQ1IREQ7)、中斷響應(INTA) (6)數據傳送控制信號 存儲器讀(MEMR)、存儲器寫(MEMW)、 輸入輸出設備讀(IOR)、輸入輸出設備寫(IOW)T1T2T3T4總 線 周 期時鐘地址讀命令數據(總線的同步控制方式)二、總線操作時序 1、同步控制方式2、異步控制方式地地址址M MR

7、 RE EQ QR RD DM MS SY YN N數數據據S SS SY YN N主,請求從,回答主,請求從,回答主,請求從,回答不互鎖半互鎖全互鎖三、總線的仲裁 1、集中式仲裁 鏈式查詢仲裁 計數器定時查詢仲裁 獨立請求仲裁 2、分布式仲裁四、總線帶寬 各功能總線組中的信號線數,即總線一次操作可以傳輸的數據位數,位數越多則一次傳輸的信息也越多。5.3 直接程序傳送方式及接口直接程序傳送方式及接口 一、基本原理一、基本原理 通過通過CPU執行一段程序,控制外部設備與主機之間的數據傳執行一段程序,控制外部設備與主機之間的數據傳送的整個過程。送的整個過程。CPU在執行程序時需要不斷查詢外部設備的

8、狀在執行程序時需要不斷查詢外部設備的狀態,如果設備的數據傳送沒有準備好,態,如果設備的數據傳送沒有準備好,CPU就反復查詢;只有就反復查詢;只有當設備準備好(當設備準備好(READY),),CPU才能用才能用I/O指令傳送一個數據。指令傳送一個數據。 特點:特點: (1)CPU主動的不斷查詢外設狀態;主動的不斷查詢外設狀態;(2)數據的輸入)數據的輸入/輸出都必須經過輸出都必須經過CPU;(3)CPU 與設備間是串行工作,所以與設備間是串行工作,所以CPU的使用效率低。的使用效率低。二、程序控制流程二、程序控制流程 直接程序傳送方式的直接程序傳送方式的程序流程圖見右邊的圖。程序流程圖見右邊的圖

9、。 啟動設備 準備好?傳送數據修改內存地址數據量減1 傳送完?關閉設備NYNY讀取設備狀態三、程序查詢方式的接口三、程序查詢方式的接口電路電路數據緩沖寄存器命令/狀態寄存器譯碼地址IOWIOR系統總線設備0號采集器準備好?1號采集器準備好?2號采集器準備好?3號采集器準備好?從0號采集器輸入一個數據YesNo從1號采集器輸入一個數據YesNo從2號采集器輸入一個數據YesNo從3號采集器輸入一個數據YesNo主程序流(程序直接控制方式的順序查詢程序流程)5.4 程序中斷方式及接口程序中斷方式及接口 一、一、 基本概念基本概念 1、什么叫程序中斷、什么叫程序中斷 在程序執行過程中,由于某個隨機在

10、程序執行過程中,由于某個隨機事件的請求,暫停現程序的執行,轉事件的請求,暫停現程序的執行,轉去執行一段處理此隨機事件的程序,去執行一段處理此隨機事件的程序,處理完后又回到原程序繼續執行,這處理完后又回到原程序繼續執行,這一過程叫一過程叫“程序中斷程序中斷”。返回中斷服務程序響應主程序中斷請求2、程序中斷的特點:、程序中斷的特點:(1)當數據傳送)當數據傳送“準備好準備好”時由設備主動向時由設備主動向CPU提出中斷請求;提出中斷請求;(2)CPU與設備是并行工作的;與設備是并行工作的;(3)一般用于低速設備的數據傳送。)一般用于低速設備的數據傳送。3、 中斷分類中斷分類 中斷內中斷外中斷外設的請

11、求人工干預自愿中斷強迫中斷硬件故障軟件故障(強迫中斷)(程序中安排,通過中斷指令引起)如“溢出中斷”二、二、 中斷請求信號的提出與傳送中斷請求信號的提出與傳送 1、中斷請求信號的提出、中斷請求信號的提出QIRQD CQIRQD CIRQIRQ屏蔽寄存器IRQIRQ07INT中斷控制器TDTMTDTMINT0INTnCPUCPUINT多線請求單線請求CPUINTINT0nINT0INTnINTi二維多線請求2、中斷請求信號的傳送、中斷請求信號的傳送 (1) 多線請求多線請求 (2)單線請求)單線請求 (3)二維結構方式)二維結構方式 (4)混合方式)混合方式三、優先權邏輯與屏蔽技術三、優先權邏輯

12、與屏蔽技術 優先權有兩種類型:優先權有兩種類型: (1) CPU與中斷源間的優先關系與中斷源間的優先關系 (2)各個中斷源之間的優先關系)各個中斷源之間的優先關系1、CPU與中斷源間的優先關系與中斷源間的優先關系 對于中斷源的中斷請求,對于中斷源的中斷請求,CPU是否是否“有求必應有求必應”? 不是的。不是的。 當當CPU當前的優先權高于中斷源的優先權時,當前的優先權高于中斷源的優先權時,CPU可以不可以不響應中斷請求。反之,則必須響應。響應中斷請求。反之,則必須響應。 CPU內部設有一個內部設有一個“中斷允許觸發器中斷允許觸發器” TIEN, TIEN =1時,時,允許允許CPU響應中斷,響

13、應中斷, TIEN =0時,不允許時,不允許CPU響應中斷。響應中斷。 可以用指令使可以用指令使TIEN =1,稱,稱“開中斷開中斷”,例,例8086中的開中斷中的開中斷指令指令 STI; 可以用指令使可以用指令使TIEN =0,稱,稱“關中斷關中斷”,例,例8086中的關中斷中的關中斷指令指令 CLI。2、中斷源之間的優先關系、中斷源之間的優先關系 分兩種情況:分兩種情況: (1)同時有多個中斷源請求,優先響應誰?)同時有多個中斷源請求,優先響應誰? (2)當)當A中斷源的請求正在處理時,中斷源的請求正在處理時,B中斷源又提出請求,中斷源又提出請求,CPU是否響應?(也即是否響應?(也即 中

14、斷嵌套中斷嵌套 的問題)的問題) 優先關系的基本原則:優先關系的基本原則: 故障中斷故障中斷 DMA請求請求 外設中斷請求外設中斷請求 快速外設快速外設 慢速外設慢速外設 輸入設備輸入設備 輸出設備輸出設備 進一步優先權處理方法:進一步優先權處理方法: 對于同時請求的多個中斷源,采用對于同時請求的多個中斷源,采用“優先排隊優先排隊”技術。如下:技術。如下:(1)軟件查詢方法)軟件查詢方法 CPU響應中斷后,響應中斷后,進入一個公共的中斷處進入一個公共的中斷處理程序,在該程序中,理程序,在該程序中,CPU用用“查詢查詢I/O指指令令”,依次測試各中斷,依次測試各中斷源是否有中斷請求,若源是否有中

15、斷請求,若有請求,有請求,CPU就轉入相就轉入相應的中斷服務程序,;應的中斷服務程序,;沒有,就繼續往下查詢。沒有,就繼續往下查詢。 可見,先查詢到的中斷可見,先查詢到的中斷源優先權高。源優先權高。 軟件查詢方法的程軟件查詢方法的程序流程圖見右邊:序流程圖見右邊:0號設備請求?1號設備請求?2號設備請求?3號設備請求?執行0號設備中斷服務程序YesNo執行1號設備中斷服務程序YesNo執行2號設備中斷服務程序YesNo執行3號設備中斷服務程序YesNo保護斷點和現場(響應中斷)恢復斷點和現場(返回主程序)(程序中斷方式的固定優先級查詢流程)INTR0INTR1INTR2INTR0INTR1IN

16、TR2(具有獨立請求線的并行排優邏輯)(2) 并行優先排隊邏輯并行優先排隊邏輯 每個中斷源提供獨立的中斷請求信號給每個中斷源提供獨立的中斷請求信號給CPU。 特點:特點: 響應的響應的速度快;速度快; 但硬件但硬件成本高。成本高。 適用于適用于具有多請具有多請求線的計求線的計算機系統。算機系統。CPUI/OI/O編碼INTINTA鏈式優先排隊(菊花鏈方式)I/OI/O編碼INTINTA鏈式優先排隊(多重查詢方式)(3) 鏈式優先排隊邏輯鏈式優先排隊邏輯設備A設備B設備C設備D設備E設備F設備G設備H設備I01IR201IM2中斷優先排隊電路與中斷控制邏輯01IR101IM101IR001IM0

17、INTR2INTR1INTR0高低優先權CPUINTA2INTA1INTA0(4)二維結構的優先排隊)二維結構的優先排隊中斷請求寄存器優先級分析電路中斷服務寄存器中斷屏蔽寄存器數據緩沖讀/寫邏輯級聯緩沖與比較器IREQ0IREQ1IREQ2IREQ3IREQ4IREQ5IREQ6IREQ7INTINTAD -DARDWRCSCAS0CAS1CAS2SP/EN007中斷控制器8259A結構示意圖(5) 中斷控制器集成芯片的優先排隊中斷控制器集成芯片的優先排隊(Intel 8259A) 屏蔽技術的應用,屏蔽技術的應用, 解決中斷嵌套的問題。解決中斷嵌套的問題。 在多重中斷方式下,在多重中斷方式下,

18、CPU響應某個中斷源的請求后,應響應某個中斷源的請求后,應禁止響應優先權小于或等于它的中斷請求。而可以響應優先禁止響應優先權小于或等于它的中斷請求。而可以響應優先權大于它的中斷源的請求。權大于它的中斷源的請求。 通常采用設置屏蔽碼的辦法。屏蔽掉優先權低的中斷請求,通常采用設置屏蔽碼的辦法。屏蔽掉優先權低的中斷請求,開放優先權高的請求。開放優先權高的請求。 利用屏蔽技術,動態修改優先權。利用屏蔽技術,動態修改優先權。 中斷響應優先權中斷響應優先權:指由硬件優先排隊電路分配的各個中斷:指由硬件優先排隊電路分配的各個中斷源在中斷響應時的優先關系,一經確定,不易改變。源在中斷響應時的優先關系,一經確定

19、,不易改變。 中斷處理優先權中斷處理優先權:指利用屏蔽字,分配各中斷源被處理時:指利用屏蔽字,分配各中斷源被處理時的優先關系。可以通過修改屏蔽字的值,改變中斷源的優先的優先關系。可以通過修改屏蔽字的值,改變中斷源的優先關系。關系。四、中斷服務程序入口的獲取方式四、中斷服務程序入口的獲取方式1、 非向量中斷非向量中斷 CPU響應中斷后響應中斷后 ,產生一個,產生一個固定的地址,由此地址單元中讀固定的地址,由此地址單元中讀取中斷查詢程序的入口地址,取中斷查詢程序的入口地址,通通過軟件查詢確定中斷源,過軟件查詢確定中斷源,并轉入并轉入相應的中斷服務程序。相應的中斷服務程序。01JMP nnnn查詢程

20、序 如圖:以如圖:以1號單元作為固定地址,號單元作為固定地址,該單元中安排一條轉移指令,轉到地該單元中安排一條轉移指令,轉到地址為址為nn的查詢程序去。的查詢程序去。 非向量中斷法的優點是:簡單、易實現,成本低。非向量中斷法的優點是:簡單、易實現,成本低。 缺點是響應的速度慢。缺點是響應的速度慢。向量中斷向量中斷 (1) 有關的概念有關的概念 . 中斷向量中斷向量 所有中斷服務程序的入口地址和狀態字在一起,稱做所有中斷服務程序的入口地址和狀態字在一起,稱做中斷向量。中斷向量。 . 中斷向量表中斷向量表 所有中斷服務程序的入口地址(或包括服務程序的狀態字)所有中斷服務程序的入口地址(或包括服務程

21、序的狀態字)組織成一維表,存放在一段連續的存儲區。該存儲區叫中斷組織成一維表,存放在一段連續的存儲區。該存儲區叫中斷向量表。向量表。 . 向量地址向量地址 存放某中斷源的中斷服務程序入口地址的單元地址叫向量存放某中斷源的中斷服務程序入口地址的單元地址叫向量地址。地址。 (2) 向量中斷向量中斷 響應中斷時,由響應中斷時,由硬件直接產生硬件直接產生對應于中斷源的向量地址,據此訪問對應于中斷源的向量地址,據此訪問中斷向量表,從中讀取服務程序入口地址,由此轉向服務程序。中斷向量表,從中讀取服務程序入口地址,由此轉向服務程序。 0000000100020003偏移量 .段地址 .中斷向量表向量地址00

22、04;00230024;007F0080;03FF中斷類型號0型1型255型專用區中斷向量表一例五、中斷響應五、中斷響應 1、 CPU響應中斷的條件響應中斷的條件 (1)有中斷請求信號產生而且沒有被屏蔽;)有中斷請求信號產生而且沒有被屏蔽; (2)CPU處于開中斷狀態;處于開中斷狀態; (3)在一條指令執行結束時響應中斷。)在一條指令執行結束時響應中斷。 2、 CPU的中斷響應過程的中斷響應過程 CPU響應中斷后就進入響應中斷后就進入“中斷周期中斷周期” IT 。 在中斷周期,在中斷周期,CPU完成三件事:完成三件事: (中斷隱指令)(中斷隱指令) (1)關中斷)關中斷 (2)保護斷點)保護斷

23、點 (3)轉向中斷服務程序)轉向中斷服務程序進入中斷周期,執行隱指令,(關中斷,保護斷點,轉中斷處理)響應保護現場及舊屏蔽字設置新屏蔽字開中斷執行中斷服務程序關中斷恢復現場及屏蔽字開中斷返回(中斷處理過程)六、中斷處理六、中斷處理 中斷處理過程分:單級中斷處理過程分:單級中斷方式、多重中斷方式。中斷方式、多重中斷方式。 右圖是多重中斷方式處右圖是多重中斷方式處理過程的流程圖。理過程的流程圖。 處理過程中,有兩次關處理過程中,有兩次關中斷、兩次開中斷。其中中斷、兩次開中斷。其中在執行中斷服務程序的前在執行中斷服務程序的前的開中斷、執行后的關中的開中斷、執行后的關中斷是為了能在執行中斷服斷是為了能

24、在執行中斷服務程序時實現中斷嵌套。務程序時實現中斷嵌套。設備選擇電路地址總線命令字寄存器數據總線狀態字寄存器數據總線數據緩沖器數據總線其它控制邏輯中斷控制器IRQi數據總線INTINTA中斷接口組成模型系統總線IRQ0IRQ7七、中斷接口七、中斷接口組成模型組成模型 圖中的中斷控制器是多個設備公用的,它包含有中斷優先排隊、中斷屏蔽等功能電路。 5.5 DMA方式及接口 一、基本概念 1、程序中斷方式的不足之處 對于高速的外部設備,采用程序中斷方式,會造成數據的丟失。 2、直接內存訪問直接內存訪問(DMA ) 方式方式 的定義 DMA方式是一種完全由硬件執行I/O交換的工作方式。在這種方式中,D

25、MA控制器從CPU完全接管對總線的控制,數據交換不經過CPU,而直接在內存和I/O設備之間進行。在數據傳送期間不需要CPU的程序干預,而是由DMA控制器向內存發出地址和控制信號,修改地址,對傳送的字的個數計數,并且以中斷方式向CPU報告傳送操作的結束。 3、DMA方式的特點方式的特點 DMA方式的主要特點是速度快。方式的主要特點是速度快。 由于由于CPU根本不參加傳送操作,因此就省去了根本不參加傳送操作,因此就省去了CPU取指令、取數、送數等操作。在數據傳送過程中,取指令、取數、送數等操作。在數據傳送過程中,沒有保存現場、恢復現場之類的工作。內存地址修改、沒有保存現場、恢復現場之類的工作。內存

26、地址修改、傳送字個數的計數等等,也不是由軟件實現,而是用傳送字個數的計數等等,也不是由軟件實現,而是用硬件線路直接實現的。所以硬件線路直接實現的。所以DMA方式能滿足高速方式能滿足高速I/O設備的要求,也有利于設備的要求,也有利于CPU效率的發揮。效率的發揮。 4、DMA的三種傳送方式的三種傳送方式(1)停止停止CPU訪問內存(成組連續傳送方式)訪問內存(成組連續傳送方式) 當外圍設備要求傳送一批數據時,由當外圍設備要求傳送一批數據時,由DMA控制控制器發一個停止信號給器發一個停止信號給CPU,要求,要求CPU放棄對系統總線放棄對系統總線的使用權。的使用權。DMA控制器獲得總線控制權以后,開始

27、進控制器獲得總線控制權以后,開始進行數據傳送。在行數據傳送。在一批數據一批數據傳送完畢后,傳送完畢后,DMA控制器通控制器通知知CPU可以使用內存,并把總線控制權交還給可以使用內存,并把總線控制權交還給CPU。這種傳送方式的時間圖如下:這種傳送方式的時間圖如下: 優點優點: 控制簡單,控制簡單,它適用于數據傳輸率很高的設備進行成組傳送。它適用于數據傳輸率很高的設備進行成組傳送。缺點缺點: 在在DMA控制器訪內階段,內存的效能沒有充分發揮,相當控制器訪內階段,內存的效能沒有充分發揮,相當一部分內存工作周期是空閑的。這是因為,外圍設備傳送兩個數一部分內存工作周期是空閑的。這是因為,外圍設備傳送兩個

28、數據之間的間隔一般總是大于內存存儲周期,即使高速據之間的間隔一般總是大于內存存儲周期,即使高速I/O設備也是設備也是如此。如此。 (2)周期挪用法(單字傳送方式)周期挪用法(單字傳送方式) 當當I/O設備沒有設備沒有DMA請求時,請求時,CPU按程序要按程序要求訪問內存;一旦求訪問內存;一旦I/O設備有設備有DMA請求,則由請求,則由I/O設備挪用一個或幾個內存周期,傳送一個字設備挪用一個或幾個內存周期,傳送一個字的數據。的數據。 I/O設備要求設備要求DMA傳送時可能遇到兩種情況:傳送時可能遇到兩種情況: 1) 此時此時CPU不需要訪內,如不需要訪內,如CPU正在執行乘正在執行乘法指令。由于

29、乘法指令執行時間較長,此時法指令。由于乘法指令執行時間較長,此時I/O訪內與訪內與CPU訪內沒有沖突,即訪內沒有沖突,即I/O設備挪用一二設備挪用一二個內存周期對個內存周期對CPU執行程序沒有任何影響。執行程序沒有任何影響。2)I/O設備要求訪內時設備要求訪內時CPU也要求訪內,這也要求訪內,這就產生了訪內沖突。就產生了訪內沖突。 在這種情況下在這種情況下I/O設備訪內優先,因為設備訪內優先,因為I/O訪內有時間要求,前一個訪內有時間要求,前一個I/O數據必須在下一數據必須在下一個訪內請求到來之前存取完畢。顯然,在這個訪內請求到來之前存取完畢。顯然,在這種情況下種情況下I/O 設備挪用一二個內

30、存周期,意味設備挪用一二個內存周期,意味著著CPU延緩了對指令的執行,或者更明確地延緩了對指令的執行,或者更明確地說,在說,在CPU執行訪內指令的過程中插入執行訪內指令的過程中插入DMA請求,挪用了一二個內存周期。請求,挪用了一二個內存周期。 這種傳送方式的時間圖如下:這種傳送方式的時間圖如下:特點:特點:周期挪用的方法既實現了周期挪用的方法既實現了I/O傳送,又較好地發揮了內存傳送,又較好地發揮了內存和和CPU的效率。但是的效率。但是I/O設備每一次周期挪用都有申請總線控制設備每一次周期挪用都有申請總線控制權、建立線控制權和歸還總線控制權的過程,所以傳送一個字權、建立線控制權和歸還總線控制權

31、的過程,所以傳送一個字對內存來說要占用一個周期,但對對內存來說要占用一個周期,但對DMA控制器來說一般要控制器來說一般要25個內存周期個內存周期(視邏輯線路的延遲而定視邏輯線路的延遲而定)。因此,因此,周期挪用的方法適用于周期挪用的方法適用于I/O設備讀寫周期大于內存存儲周設備讀寫周期大于內存存儲周期的情況。期的情況。 (3)DMA與與CPU交替訪內交替訪內 如果如果CPU的工作周期比內存存取周期長很多,此的工作周期比內存存取周期長很多,此時采用交替訪內的方法可以使時采用交替訪內的方法可以使DMA傳送和傳送和CPU同時發同時發揮最高的效率。假設揮最高的效率。假設CPU工作周期為工作周期為 1.

32、2s,內存存取,內存存取周期小于周期小于0.6s,那么一個,那么一個CPU周期可分為周期可分為C1和和C2兩個兩個分周期,其中分周期,其中C1供供DMA控制器訪內,控制器訪內,C2專供專供CPU訪訪內。這種傳送方式的時間圖如下:內。這種傳送方式的時間圖如下: 特點:特點:這種方式不需要總線使用權的申請、建立和歸這種方式不需要總線使用權的申請、建立和歸還過程,總線使用權是通過還過程,總線使用權是通過C1和和C2分時進行的。分時進行的。 CPU和和DMA控制器各自有自己的訪內地址寄存器、控制器各自有自己的訪內地址寄存器、數據寄存器和讀數據寄存器和讀/寫信號等控制寄存器。寫信號等控制寄存器。 對于總

33、線,這是用對于總線,這是用C1,C2控制的一個多路轉換器,控制的一個多路轉換器,這種總線控制權的轉移幾乎不需要什么時間,所以對這種總線控制權的轉移幾乎不需要什么時間,所以對DMA傳送來講效率是很高的。傳送來講效率是很高的。5、DMA方式的硬件組成方式的硬件組成(Inter 8237) 地址總線數據總線控制總線I/O緩沖I/O緩沖I/O緩沖時序與控制邏輯優先級仲裁邏輯命令控制邏輯A3-0A7-4DB7-0HLDAHRQDACK7-0DREQ7-0(至接口)8237DMA控制器結構寄存器組與標志觸發器(1)內存地址計數器內存地址計數器 用于存放內存中要交換的數據的地址。在用于存放內存中要交換的數據

34、的地址。在DMA傳送前,須通過程序將數據在內存中的起始位置傳送前,須通過程序將數據在內存中的起始位置(首首地址地址)送到內存地址計數器。而當送到內存地址計數器。而當DMA傳送時,每交傳送時,每交換一次數據,將地址計數器加換一次數據,將地址計數器加“1”,從而以增量方,從而以增量方式給出內存中要交換的一批數據的地址式給出內存中要交換的一批數據的地址。 (3)數據緩沖寄存器數據緩沖寄存器 用于暫存每次傳送的數據用于暫存每次傳送的數據(一個字一個字)。當輸入時,由。當輸入時,由設備設備(如磁盤如磁盤)送往數據緩沖寄存器,再由緩沖寄存器送往數據緩沖寄存器,再由緩沖寄存器通過數據總線送到內存。反之,輸出

35、時,由內存通過通過數據總線送到內存。反之,輸出時,由內存通過數據總線送到數據緩沖寄存器,然后再送到設備。數據總線送到數據緩沖寄存器,然后再送到設備。 (2)字計數器字計數器 用于記錄傳送數據塊的長度用于記錄傳送數據塊的長度(多少字數多少字數)。其。其內容也是在數據傳送之前由程序預置,交換的字內容也是在數據傳送之前由程序預置,交換的字數通常以補碼形式表示。在數通常以補碼形式表示。在DMA傳送時,每傳傳送時,每傳送一個字,字計數器就加送一個字,字計數器就加“1” ,當計數器溢出,當計數器溢出即最高位產生進位時,表示這批數據傳送完畢,即最高位產生進位時,表示這批數據傳送完畢,于是引起于是引起DMA控

36、制器向控制器向CPU發中斷信號。發中斷信號。(4)“DMA請求請求”標志標志 每當設備準備好一個數據字后給出一個控制信每當設備準備好一個數據字后給出一個控制信號,使號,使“DMA請求請求” 標志置標志置“1”。該標志置位后。該標志置位后向向“控制控制/狀態狀態”邏輯發出邏輯發出DMA請求,后者又向請求,后者又向CPU發出總線使用權的請求發出總線使用權的請求(HOLD),CPU響應此響應此請求后發回響應信號請求后發回響應信號HLDA,“控制控制/狀態狀態”邏輯接邏輯接收此信號后發出收此信號后發出DMA響應信號,使響應信號,使“DMA請求請求”標志復位,為交換下一個字做好準備。標志復位,為交換下一

37、個字做好準備。 (5)“控制控制/狀態狀態”邏輯邏輯 由控制和時序電路以及狀態標志等組成,用于修由控制和時序電路以及狀態標志等組成,用于修改內存地址計數器和字計數器,指定傳送類型改內存地址計數器和字計數器,指定傳送類型(輸入輸入或輸出或輸出),并對,并對“DMA請求請求”信號和信號和CPU響應信號響應信號進行協調和同步。進行協調和同步。 (6)中斷機構中斷機構 當字計數器溢出時當字計數器溢出時(全全0),意味著一組數據交換,意味著一組數據交換完畢,由溢出信號觸發中斷機構,向完畢,由溢出信號觸發中斷機構,向CPU提出中斷提出中斷報告。這里的中斷與上一節介紹的報告。這里的中斷與上一節介紹的I/O中

38、斷所采用中斷所采用的技術相同,但中斷的目的不同,前面是為了數據的技術相同,但中斷的目的不同,前面是為了數據的輸入或輸出,而這里是為了報告一組數據傳送結的輸入或輸出,而這里是為了報告一組數據傳送結束。因此它們是束。因此它們是I/O系統中不同的中斷事件系統中不同的中斷事件。6、DMA數據傳送過程數據傳送過程 可分為三個階段: 傳送前預處理傳送前預處理 正式傳送正式傳送 傳送后處理傳送后處理。 預處理預處理 由由CPU執行幾條輸入輸出指令,測試設備狀態,執行幾條輸入輸出指令,測試設備狀態,向向DMA控制器的設備地址寄存器中送入設備號并控制器的設備地址寄存器中送入設備號并啟動設備,向內存地址計數器中送

39、入起始地址,向啟動設備,向內存地址計數器中送入起始地址,向字計數器中送入交換的數據字個數。在這些工作完字計數器中送入交換的數據字個數。在這些工作完成后,成后,CPU繼續執行原來的主程序繼續執行原來的主程序。正式傳送正式傳送 當外設準備好發送數據當外設準備好發送數據(輸入輸入)或接受數據或接受數據(輸輸出出)時,它發出時,它發出DMA請求,由請求,由DMA控制器向控制器向CPU發出總線使用權的請求發出總線使用權的請求(HOLD)。下圖示出了停。下圖示出了停止止CPU訪內方式的訪內方式的DMA傳送數據的流程圖。傳送數據的流程圖。 后處理后處理 一旦一旦DMA的中斷請求得到響應,的中斷請求得到響應,

40、CPU停止主停止主程序的執行,轉去執行中斷服務程序做一些程序的執行,轉去執行中斷服務程序做一些DMA的結束處理工作。這些工作包括校驗送入內存的的結束處理工作。這些工作包括校驗送入內存的數據是否正確;決定繼續用數據是否正確;決定繼續用DMA方式傳送下去,方式傳送下去,還是結束傳送;測試在傳送過程中是否發生了錯還是結束傳送;測試在傳送過程中是否發生了錯誤等等。誤等等。二、二、DMA控制器與接口的連接方式控制器與接口的連接方式 DMA控制器定義為以下功能: 申請總線申請總線、 控制總線控制總線、 控制控制DMA傳送傳送 狹義DMA接口定義為以下功能: 與具體設備相適配與具體設備相適配 進行數據傳送的

41、接口邏輯進行數據傳送的接口邏輯 以上的控制器與接口組成以上的控制器與接口組成廣義的接口廣義的接口。CPU主存控制/狀態邏輯數據緩沖寄存器地址寄存器/計數器字寄存器中斷機構設備選擇電路設備 系統總線總線請求總線批準DMA控制器(接口)(單通道DMA控制器 )1、單通道、單通道DMA控制器控制器CPU主存控制/狀態邏輯數據緩沖寄存器地址寄存器/計數器字寄存器中斷機構設備選擇電路 系統總線總線請求總線批準DMA控制器(接口)I/OI/OI/O總線(選擇型DMA控制器)2、選擇型、選擇型DMA控制器控制器CPU主存總線請求總線批準接口接口I/OI/ODREQ0DACK0DREQ3DACK3系統總線DM

42、A控制器(多路型DMA控制器)3、多路型、多路型DMA控制器控制器 現有磁盤、磁帶、打印機三個設備同時工作。 磁盤、磁帶、打印機分別以30s、 45s、 150s的間隔向控制器發DMA請求。 根據傳輸速率,磁盤優先權最高,磁帶次之,打印機最低。 假設DMA控制器每完成一次DMA傳送所需的時間是5s。畫出多路型DMA控制器服務三個設備的工作時間圖。多路型多路型DMA控制器工作過程舉例:控制器工作過程舉例:T1間隔中控制器首先為打印機服務。間隔中控制器首先為打印機服務。T2間隔前沿首先為優先權高的磁盤服務,然后為磁帶服間隔前沿首先為優先權高的磁盤服務,然后為磁帶服務,每次服務傳送一個字節。務,每次

43、服務傳送一個字節。在在120s時間階段中,為打印機服務只有一次時間階段中,為打印機服務只有一次(T1),為磁,為磁盤服務四次盤服務四次(T2,T4,T6,T7),為磁帶服務三次,為磁帶服務三次(T3,T5,T8)。4、多個、多個DMA控制器的連接控制器的連接(1)級連方式)級連方式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 H

溫馨提示

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

評論

0/150

提交評論