




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 微型機原理與應用 第 22 次課章節(jié)名稱第六章 輸入/輸出接口6.3 CPU與外設之間的數(shù)據(jù)傳送的控制方式目的要求掌握CPU與外設之間的數(shù)據(jù)傳送控制方式及其特點和適用條件。主要內容與時間概算序號主要內容時間概算1回顧7分2CPU與外設之間的數(shù)據(jù)傳送方式3分3無條件傳送方式22分4查詢傳送方式18分5中斷傳送方式20分6程序控制傳送方式總結5分7DMA傳送方式20分8I/O處理機方式5分共計100分重點難點重點:查詢、中斷、DMA傳送方式的工作過程;各種傳送方式的特點和適用條件。難點:中斷、DMA傳送方式的工作過程。方法手段課堂講授(續(xù)表)課 堂 提 問1、數(shù)據(jù)傳送的控制方式為什么不在存儲器一
2、章中介紹?2、無條件傳送方式時數(shù)據(jù)傳送的可靠性怎么保障?3、當系統(tǒng)中外設數(shù)量較多,且各外設的傳送響應速度要求較高時,采取何種措施?4、當有多個外設都以中斷方式與CPU傳送數(shù)據(jù)時應如何處理?5、對于高速的I/O有批量數(shù)據(jù)與存儲器傳送的情況,有沒有更高效的數(shù)據(jù)傳送控制方式?6、如何解決因CPU的直接干預造成的傳送效率下降問題?7、有沒有一個對輸入輸出操作最根本最徹底的解決方案?本 次 課 內 容 總 結1、回顧5中數(shù)據(jù)傳送控制方式。2、對每一種數(shù)據(jù)傳送控制方式的適用條件、場合、和特點進行總結。3、結論:數(shù)據(jù)傳送性能的提高必然引起軟硬件開銷的加大。思考題作業(yè)題思考題:和DMA方式相比,中斷傳輸方式有
3、什么不足?習 題:P217:6,8參考資料微型計算機技術孫德文主編 高教出版社填表說明:1.該表供主講教員備課使用,每次課均應按表中所列內容填寫,各次課構成一門課教案的整體;2.表中相關項目內容的詳略程度由主講教員酌情掌握;3.該表可書寫或電腦錄入,書寫字跡應工整,電腦錄入應按格式中顯示的字體、字號(仿宋GB2312小四)填寫,外語可用Times New Roman字體。授課內容主要內容重要內容回顧輸入輸出數(shù)據(jù)傳送的控制方式無條件傳送方式查詢傳送方式中斷傳送方式DMA方式I/O處理機方式一、 知識的回顧與問題的引出回顧:今天這一節(jié)課我們將向大家介紹第六章第二部分內容,數(shù)據(jù)的傳送控制方式。今天的
4、內容主要有以下幾點:重要內容回顧輸入輸出數(shù)據(jù)傳送的控制方式無條件傳送方式查詢傳送方式中斷傳送方式DMA方式I/O處理機方式在學習新的內容之前我們首先回顧一下上一節(jié)課當中學習的重要知識點。1、I/O接口:計算機和外部設備之間傳遞信息的緩沖部件(框圖如下)。2、I/O端口:接口中可供CPU直接訪問的具體電路(一般指接口中可供CPU讀寫的寄存器或緩沖器)(框圖如下)。一般的I/O接口中都有若干數(shù)據(jù)端口、狀態(tài)端口和控制端口。例如下面就是一個簡單的輸入端口的例子(簡單解釋) 3、I/O地址空間:系統(tǒng)中所有I/O接口中的全部I/O端口組成的地址空間(字節(jié)型)。80X86系列微機系統(tǒng)的I/O空間由地址線的低
5、16位尋址。(給出8086系統(tǒng)中地址空間的分配簡圖)引出:以上就是我們上節(jié)課給大家講解得重點內容。下面我們進入本節(jié)課內容的學習:CPU與外設之間的數(shù)據(jù)傳送方式。什么是數(shù)據(jù)傳送的控制方式呢?:數(shù)據(jù)傳送的控制方式是在輸入/輸出數(shù)據(jù)傳送時,為了保證數(shù)據(jù)傳送的可靠性和高效性,必須采取的某種控制策略。那么存儲器也是要與CPU進行數(shù)據(jù)傳送的,為什么在存儲器中不討論這個問題?主要原因有:CPU與存儲器進行數(shù)據(jù)傳送時:各存儲器單元的基本構成、組織方式、傳送速率等完全一致;CPU與存儲器的數(shù)據(jù)傳送速度大致接近(用TW協(xié)調);CPU在任何時刻都可以訪問任意存儲單元中的數(shù)據(jù)(存儲器隨時準備好)。因此我們得到結論:數(shù)
6、據(jù)傳送的可靠性和高效性有保障。 但是: CPU與I/O進行數(shù)據(jù)傳送時:各I/O端口可能分屬于不同的I/O;不同的I/O工作原理、數(shù)據(jù)的組織方式、數(shù)據(jù)傳送的速度差別很大;CPU在訪問I/O端口時,端口并非隨時準備好。得到結論:CPU與外設數(shù)據(jù)傳送時,數(shù)據(jù)傳送的可靠性和高效性問題尤為突出。因此需要有專門的方法來解決這個問題。二、 輸入輸出數(shù)據(jù)傳送的控制方式今天介紹的數(shù)據(jù)傳送控制方式有以下幾種:無條件傳送方式、查詢傳送方式、中斷傳送方式、DMA方式、I/O處理機方式;這幾種數(shù)據(jù)傳送方式在系統(tǒng)效率、可靠性、硬件接口、軟件控制及應用場合各異。 1、 無條件傳送方式傳送方法:根據(jù)程序的需要,在需要執(zhí)行輸入
7、/輸出操作時,直接插入一條I/O指令,完成輸入/輸出操作(前提:外設任何時刻都準備好); 或在固定的時間(或時間間隔)直接插入一條I/O指令,完成輸入/輸出操作(前提:外設準備好是定時已知的)。例:讀開關數(shù)據(jù)任何時刻開關電路都有其自己的狀態(tài),可以隨時直接讀取。例:讀A/D轉換器A/D轉換器的轉換結果在固定的時間出現(xiàn),可以定時讀取。程序實現(xiàn):在程序需要做輸入輸出操作的位置直接插入一條I/O指令,執(zhí)行I/O數(shù)據(jù)傳送操作(給出簡單流程圖)。接口電路: 無條件輸入 無條件輸出在硬件上只需要給出相應的數(shù)據(jù)端口就可以了。例:一個同步傳送的數(shù)據(jù)采集系統(tǒng)??刂七^程: 1)斷開所有繼電器(向20端口送全0)2)
8、等待所有開關可靠斷開3)接通一路模擬量(向20端口送一位1)4)等待一位開關吸合及轉換結束5)讀轉換數(shù)據(jù)(從10端口輸入)6)存結果7)回到1.,直至8路模擬量巡回一遍。 程序: START: MOV DX,0100H ; 初值 LEA BX,DSTOR ;置數(shù)據(jù)存儲地址 CLC AGAIN: MOV AL,DL OUT 20H,AL ;斷開所有開關 CALL NEAR DELAY1 MOV AL,DH OUT 20H,AL ;接通一個開關 CALL NEAR DELAY2 IN AX,10H ;讀數(shù)字電壓表內容 MOV BX,AX ;存數(shù) INC BX INC BX RCL DH,1;帶進位
9、循環(huán)左移 JNC AGAIN ;未循環(huán)一遍繼續(xù)特點分析在數(shù)據(jù)傳送時,總是認為I/O設備處于準備就緒的狀態(tài),因此, 可在任何需要的時刻直接訪問I/O端口進行數(shù)據(jù)傳送??刂坪唵?,所需的軟硬件最少。適于外設準備好數(shù)據(jù)是定時且已知的等簡單應用。缺點:實際不可靠的數(shù)據(jù)傳送方式。適用條件無條件數(shù)據(jù)傳送方式適用于外部控制過程的各種動作時間是固定而且是已知的情況。外設必須在微處理器限定的時間內準備就緒,并完成數(shù)據(jù)的傳送和接收。問題:如果外設不能做到隨時準備好數(shù)據(jù),或者外設準備好數(shù)據(jù)的時間不確定時,數(shù)據(jù)傳送的可靠性將如何保障? (通過分析,提出解決問題的思路-加狀態(tài)口)2、 查詢傳送方式當CPU與外設同步工作時
10、,采用無條件傳送方式是很方便的,但當CPU與外設工作不同步時,很難確保CPU在執(zhí)行輸入操作時,外設一定是“準備好”的,也不能確保在執(zhí)行輸出操作時,外設寄存器一定是“空”的。為了保證數(shù)據(jù)傳送的正確進行,提出了查詢傳送方式。傳送方法 CPU在傳送數(shù)據(jù)之前,先檢查狀態(tài)端口中該外設是否“準備好”,若沒有準備好,則繼續(xù)查詢其狀態(tài),等待外設,直至外設準備好了時,才進行數(shù)據(jù)傳送。 程序實現(xiàn) 從上圖可以看出,查詢式輸入方式的接口電路有兩個端口,數(shù)據(jù)信息和狀態(tài)信息分別由數(shù)據(jù)端口和狀態(tài)端口輸入到數(shù)據(jù)總線。若數(shù)據(jù)為8位,則占有一個8位端口;狀態(tài)信息只有1位,一個8位的狀態(tài)端口可供8個外設使用。接口電路采用查詢方式的
11、接口一般需要兩個端口,即數(shù)據(jù)端口和狀態(tài)端口。1)查詢式輸入 當CPU用查詢方式從外設中輸入數(shù)據(jù)時,必須先由狀態(tài)端口查詢外設的數(shù)據(jù)是否已經準備好,確認準備好后,再由數(shù)據(jù)端口輸入數(shù)據(jù)。查詢式輸入方式的接口電路如下圖所示。在輸入設備的數(shù)據(jù)準備好以后,發(fā)出輸入選通信號,此信號一方面將數(shù)據(jù)輸入數(shù)據(jù)鎖存器,另一方面使D觸發(fā)器(準備就緒觸發(fā)器)置1,此1信號通過三態(tài)緩沖器發(fā)出“準備好(READY)”狀態(tài)信息,它是一位信息,接到CPU數(shù)據(jù)線的某一位上。當CPU需要由外設輸入數(shù)據(jù)時,先輸入一位狀態(tài)信息,檢查外設的數(shù)據(jù)是否已準備好,若還未準備好,則程序循環(huán)等待、查詢;若準備好,則從8位數(shù)據(jù)緩沖器讀入數(shù)據(jù)(執(zhí)行IN
12、指令),同時使準備就緒觸發(fā)器復位,即把狀態(tài)信息置0,表示輸入一個數(shù)據(jù)的操作已經完成。以后當輸入設備的數(shù)據(jù)再次準備好時,它發(fā)出“準備好”狀態(tài)信息,一方面把輸入設備的數(shù)據(jù)暫存入數(shù)據(jù)寄存器,另一方面使準備就緒觸發(fā)器置1,等待CPU查詢,進入下一個數(shù)據(jù)輸入周期。如此周而復始,每輸入一個數(shù)據(jù),都重復上述過程。將無條件數(shù)據(jù)采集系統(tǒng)的例題換為查詢傳送,如何更改電路?例:查詢方式下的數(shù)據(jù)采集系統(tǒng)電路當中我們只需要多加一個狀態(tài)端口就可以了。那么要想循環(huán)查詢各路輸入的情況下如何設計程序?控制過程:1.斷開所有繼電器(向20端口送全0)2. 等待所有開關可靠斷開3.接通一路模擬量(向20端口送一位1)4.查詢是否轉
13、換結束(從30端口輸入,判斷D0位)5.讀轉換數(shù)據(jù)(從10端口輸入)6.存結果7.回到1.,直至8路模擬量巡回一遍。程序: START:MOV DL,0F8H MOV DI,OFFSET DSTOR;置數(shù)據(jù)存儲地址 AGAIN:MOV AL,DL AND AL,0EFH ;D4為0,停止A/D轉換 OUT 4,AL CALL DELAY MOV AL,DL ;選擇一路模擬量進行A/D轉換 OUT 4,AL POLL:IN AL,2 ;讀狀態(tài) SHR AL,1;右移,最低位(D0 )進C JNC POLL ;未就緒轉 IN AL,3 ;讀轉換數(shù)據(jù) STOSB ;存數(shù) INC DL ;選擇下一路
14、JNE AGAIN ;未循環(huán)一遍轉特點分析CPU通過查詢I/O設備的狀態(tài),確認I/O設備已經準備好時,才進行數(shù)據(jù)傳送,數(shù)據(jù)傳送實際可靠;數(shù)據(jù)傳送的實時性好;接口電路中只增加了一個用來傳送外設當前狀態(tài)信息的狀態(tài)端口,接口較簡單。適用條件CPU與外設工作不同步,CPU執(zhí)行輸入輸出時,外設不一定處于準備好或空閑狀態(tài)。若外設不具備工作條件,CPU就要不斷查詢其狀態(tài),直至準備就緒,即CPU一直等待外設具備工作條件。顯然這種傳送數(shù)據(jù)的方式使得CPU將大量時間消耗在等待上,降低了CPU的工作效率。特別是當外設數(shù)量較多時,CPU必須輪流為每個外設服務,先查詢一個外設的工作狀態(tài),當它具備工作條件后,與該外設交換
15、數(shù)據(jù);然后對每一個外設重復此過程,直至最后一個外設。在這個過程中,若一個外設已具備工作條件,只要CPU未詢問到該外設,它也無法工作,唯一可做的是等待CPU的查詢。顯然,查詢傳送方式不適合外設較多的系統(tǒng),也不適合實時性較高的系統(tǒng),但由于實現(xiàn)這種傳送方式的硬件接口電路簡單,在CPU不太忙、傳送速度要求不高而且連接外設不多(比如:兩三臺)時,可以采用。無條件、查詢傳送方式的特點: CPU“全身心”地為單臺外設服務, 在外設準備數(shù)據(jù)的過程中,CPU總是處于等待狀態(tài)(CPU與外設串行工作)。 當系統(tǒng)中外設數(shù)量較多時,使得系統(tǒng)的其它外設得不到及時地服務,CPU利用率和系統(tǒng)效率較低。 適應環(huán)境:適于系統(tǒng)中外
16、設數(shù)量不多、傳送響應速度要求不太高的應用 。當系統(tǒng)中外設數(shù)量較多,且各外設的傳送響應速度要求較高時,采取何種措施?3、 中斷傳送方式在查詢方式中,外設處于被動的被查詢狀態(tài),即使已具備工作條件,只要CPU未查詢到該外設,它也無法工作,CPU無法快速響應外設要求隨機服務的請求;另一方面,當外設的工作速度較慢時,CPU需要耗費大量的等待時間。這些都大大降低了CPU的工作效率,特別不適合實時控制場合。中斷傳送方式可以解決以上矛盾,大大提高了CPU的工作效率。傳送方法: CPU在啟動外設工作后,正常執(zhí)行其它程序,當外設準備好數(shù)據(jù)時,向CPU發(fā)出請求,CPU暫停原程序執(zhí)行,響應外設的請求,轉到該外設的處理
17、程序,進行輸入輸出操作,操作完成后返回原程序繼續(xù)執(zhí)行,而此時外設又開始下一個數(shù)據(jù)的準備。 在中斷方式下,當CPU需要輸入時,外設數(shù)據(jù)已經存入輸入寄存器;需要輸出時,外設已將接口電路輸出數(shù)據(jù)寄存器中的數(shù)據(jù)取走,即輸出數(shù)據(jù)寄存器為空。在這種情況下,外設向CPU發(fā)出中斷請求,CPU每執(zhí)行完一條指令就自動檢查是否有外設申請中斷,一旦有中斷申請,且中斷響應條件均滿足,CPU暫停原程序執(zhí)行,響應中斷,轉到中斷處理程序,進行輸入輸出操作,操作完成后返回CPU再執(zhí)行原程序。接口電路:當外設數(shù)據(jù)準備好,外設向接口電路發(fā)出選通信號,此信號一方面將數(shù)據(jù)打入鎖存器,另一方面將中斷請求觸發(fā)器置1。若此時系統(tǒng)允許本接口發(fā)
18、出中斷,即中斷屏蔽觸發(fā)器置1,接口電路向CPU發(fā)出的中斷請求信號置0。CPU在運行程序時不斷訪問信號,若查到為0,且中斷允許觸發(fā)器的狀態(tài)為1,則CPU在現(xiàn)行指令執(zhí)行完后,暫停程序的執(zhí)行,向接口電路發(fā)出中斷響應信號。于是外設把中斷矢量送上數(shù)據(jù)總線,CPU轉入中斷服務程序,執(zhí)行IN指令,讀入數(shù)據(jù);清除中斷請求標志。當中斷處理完后,返回原程序。中斷允許觸發(fā)器在CPU內部,它的狀態(tài)決定了當前CPU是否可以響應可屏蔽中斷。中斷控制過程CPU在外設準備數(shù)據(jù)的過程中,正常執(zhí)行其它程序;當外設準備好數(shù)據(jù)時,向CPU發(fā)出請求(中斷);CPU暫停原程序執(zhí)行,響應外設的請求,轉到該外設的處理程序,進行輸入輸出操作,
19、操作完成后返回原程序繼續(xù)執(zhí)行;外設準備下一個數(shù)據(jù) ;中斷控制過程所涉及的基本問題 CPU在何時響應外設的中斷請求? CPU響應外設中斷請求的條件? CPU如何轉到該外設的處理程序? CPU如何從外設的處理程序返回?當有多個外設都以中斷方式與CPU傳送數(shù)據(jù)時應如何處理?第八章當中會對中斷做詳細解釋。特點分析數(shù)據(jù)傳送可靠;可實現(xiàn)主機與外設并行工作;可使CPU同時管理多臺外設。缺點:對CPU和外設及其接口電路要求多,控制較復雜。三種方式的共同特點無條件傳送方式、查詢傳送方式和中斷傳送方式都是程序控制下的以CPU為中心的數(shù)據(jù)傳送方式,其特點是:CPU通過執(zhí)行指令完成數(shù)據(jù)傳送;CPU親自參與數(shù)據(jù)傳送的全
20、過程,I/O數(shù)據(jù)-CPU-存儲器,數(shù)據(jù)傳送速度低。 特別不適合較高速的I/O有批量數(shù)據(jù)向存儲器傳送的情況。分析程序控制下數(shù)據(jù)傳送的特點:CPU慢速野蠻干預通過思考,引出DMA方式4、 DMA傳送方式中斷傳送方式靈活高效,可完成復雜的任務。但是,由于中斷過程是CPU通過執(zhí)行中斷服務程序實現(xiàn)的,為正確返回斷點,CPU響應中斷請求后,必須將斷點地址推到堆棧中保護起來,而且,在中斷服務程序中還要保護現(xiàn)場和恢復現(xiàn)場,這些都需要耗費時間,而這些時間并不是實質性的信息傳遞,因而稱為額外開銷。假若CPU與高速外設(如磁盤驅動器)之間也用中斷方式傳送數(shù)據(jù),那么每傳送一個數(shù)據(jù)都要重復上述過程,當數(shù)據(jù)量很大時,這種
21、額外開銷將非常大,可能遠遠大于實際數(shù)據(jù)傳送所需的時間,此時中斷傳送方式將不再占有優(yōu)勢。 CPU與外設之間大量數(shù)據(jù)的傳送,實際上是外設與存儲器之間大量數(shù)據(jù)的傳送,因為CPU內部是不可能存放大量數(shù)據(jù)的,此時CPU只不過是控制數(shù)據(jù)在兩者之間傳送的媒介。為了提高傳送速度,設想用另外一個專用硬件取代CPU,直接在外設與存儲器之間傳送數(shù)據(jù),這時數(shù)據(jù)傳送的速度僅取決于存儲器的存取速度。這種方式稱為“直接存儲器存取方式”(direct memory access),簡稱DMA方式。這種專用硬件稱為DMA控制器,簡稱DMAC。DMAC的種類很多,例如,8237A就是Intel系列中高性能可編程DMA控制器。 D
22、MA傳送的工作過程在總線上,可以控制其他部件的部件稱為總線主控或主控(bus master),被控部件稱為從控(slave)。任意時刻,總線上只有一個主控。DMAC具有獨立的控制三大總線來訪問存儲器和I/O端口的能力,它能像CPU一樣提供數(shù)據(jù)傳送所需的地址信息和讀寫控制信息。在DMA操作之前,應先對DMAC編程,把要傳送的數(shù)據(jù)塊長度、數(shù)據(jù)塊在存儲器中的起始地址,數(shù)據(jù)傳送方向等信息發(fā)送給DMAC。DMA操作過程包括三個階段:DMA請求;DMA響應和數(shù)據(jù)傳送;傳送結束。具體如下:1) DMA操作之前,應先對DMAC編程,把要傳送的數(shù)據(jù)塊長度、數(shù)據(jù)塊在存儲器中的起始地址,數(shù)據(jù)傳送方向等信息發(fā)送給DM
23、AC。2)當外設要求以DMA方式為它服務時,發(fā)DMA請求信號DREQ到DMAC。3)DMAC檢查該信號是否被屏蔽及其優(yōu)先權,如確認該信號有效則向CPU發(fā)送總線請求信號HRQ(連到CPU的HOLD)。4) 每個總線周期結束時CPU檢測HOLD,如為高電平,則響應HOLD請求,輸出響應信號HLDA通知DMAC,同時使三態(tài)總線CPU側呈高阻狀態(tài)。5)DMAC接管總線,并以DACK信號通知外設,使之成為DMA傳送時被選中的設備。6.)DMAC給出內存地址以及I/O讀寫和存儲器讀寫等控制信號,在外設和存儲器之間完成數(shù)據(jù)傳送。7) 傳送完成后,DMAC放棄總線,撤消總線請求(HRQ為低),CPU檢測到HRQ(HOLD)為低后,撤消HLDA,CPU重新獲得總線控制權。DMA傳送方式的特點 DMAC控制數(shù)據(jù)傳送,但不參與數(shù)據(jù)傳送; 高速高效可靠的數(shù)據(jù)傳送方式; CPU失去對總線的控制權 ; 硬件和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出口合同范本格式
- Unit 7 Be Wise with Money Period 3 Grammar 教學設計 2024-2025學年譯林版(2024)七年級英語上冊
- 勞務發(fā)包合同范本
- 動物投放景區(qū)合同范本
- 農村菜田出租合同范本
- 出租養(yǎng)殖雞場合同范本
- 加工定制窗簾合同范本
- 保潔商場合同范本
- 包地收款合同范本
- 勞務中介代理招聘合同范本
- 2022年鄭州衛(wèi)生健康職業(yè)學院單招英語模擬試題(附答案解析)
- Q∕GDW 10354-2020 智能電能表功能規(guī)范
- 小學數(shù)學四年級下冊培優(yōu)補差記錄
- 人教版三年級下冊體育與健康教案(全冊教學設計)
- DB61∕T 5006-2021 人民防空工程標識標準
- 土壤學習題與答案
- 產品結構設計(課堂PPT)
- 第九課_靜止的生命
- 尖尖的東西我不碰(課堂PPT)
- 工程勘察和設計承攬業(yè)務的范圍
- 數(shù)字化影像與PACS教學大綱
評論
0/150
提交評論