計算機組成原理-第八章-輸入輸出系統(tǒng)復(fù)習進程_第1頁
計算機組成原理-第八章-輸入輸出系統(tǒng)復(fù)習進程_第2頁
計算機組成原理-第八章-輸入輸出系統(tǒng)復(fù)習進程_第3頁
計算機組成原理-第八章-輸入輸出系統(tǒng)復(fù)習進程_第4頁
計算機組成原理-第八章-輸入輸出系統(tǒng)復(fù)習進程_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

計算機組成原理-第八章---輸入輸出系統(tǒng)8.1外圍設(shè)備的定時方式和信息交換方式高速的CPU與速度參差不齊的外設(shè)怎樣在時間上同步呢?解決辦法時在CPU和外設(shè)之間數(shù)據(jù)傳送時加以定時。速度極慢或簡單的外設(shè)如機械開關(guān)、顯示二極管等,CPU總能很快做出反應(yīng),對機械開關(guān)來說,CPU可以認為輸出數(shù)據(jù)總是有效,因為機械開關(guān)的動作時間對CPU來說是很慢的。對顯示二極管來說,CPU可以認為輸出一定準備就緒,因為只要給出數(shù)據(jù),顯示二極管就能顯示。所以在這些情況下,CPU只需要接受或者發(fā)送數(shù)據(jù)即可慢速或者中速的設(shè)備由于此類設(shè)備的速度與CPU的速度不在一個數(shù)量級,或者由于設(shè)備本身在不規(guī)則時間間隔下操作(如鍵盤),可以采用異步定時的方式8.1外圍設(shè)備的定時方式和信息交換方式如果CPU從外設(shè)接收一個字,首先詢問外設(shè)的狀態(tài),如果外設(shè)的狀態(tài)是”準備就緒”,則CPU從總線上接收數(shù)據(jù),接收完畢之后,發(fā)出輸入響應(yīng)信號,告訴外設(shè)已經(jīng)把數(shù)據(jù)總線上的數(shù)據(jù)取走。然后外設(shè)把”準備就緒”狀態(tài)復(fù)位,并準備下一個字的交換。如果外設(shè)發(fā)出“忙”標記,CPU進入循環(huán)程序中等待,并在循環(huán)中詢問外設(shè)的狀態(tài),直到外設(shè)發(fā)出“準備就緒”信號后才從外設(shè)接收數(shù)據(jù)。CPU發(fā)送數(shù)據(jù)到外設(shè),外設(shè)首先發(fā)出請求輸出信號,然后CPU詢問外設(shè)是否準備就緒。如果外設(shè)準備就緒,CPU便送出數(shù)據(jù)。外設(shè)接收數(shù)據(jù)后,將向CPU發(fā)出“數(shù)據(jù)已取走”的信號。通常把CPU和外設(shè)詢問用回答信號進行定時的方式叫做應(yīng)答式數(shù)據(jù)交換。高速的外圍設(shè)備高速的外圍設(shè)備一般以相等的時間間隔操作,CPU也是以等間隔的速率執(zhí)行輸入輸出指令,因此采用同步定時方式。一旦CPU和外設(shè)同步,他們之間的數(shù)據(jù)交換便通過時鐘脈沖控制來進行。8.1外圍設(shè)備的定時方式和信息交換方式二、信息交換方式程序查詢方式程序中斷方式DMA方式通道方式舉例:上課遲到CAI48.2程序查詢方式又叫程序控制I/O方式,數(shù)據(jù)在CPU與外設(shè)之間的傳送靠計算機程序控制,在CPU主動參與下進行,當需要進行輸入輸出時,CPU暫停執(zhí)行主程序,轉(zhuǎn)入執(zhí)行設(shè)備輸入輸出的驅(qū)動服務(wù)程序,根據(jù)服務(wù)程序的I/O指令進行數(shù)據(jù)傳送,最簡單最經(jīng)濟的輸入輸出方式,只需要很少的硬件。1、設(shè)備編址統(tǒng)一編址:輸入輸出設(shè)備中的控制寄存器、數(shù)據(jù)寄存器、狀態(tài)寄存器和內(nèi)存單元一樣對待,他們和內(nèi)存單元聯(lián)合在一起編排地址,可以利用訪問內(nèi)存的指令(讀寫內(nèi)存)訪問I/O設(shè)備的某個寄存器,不需專門的I/O指令組。獨立編址:內(nèi)存地址和I/O設(shè)備地址分開,訪問內(nèi)存和訪問I/O設(shè)備使用不同操作碼的指令。CAI58.2程序查詢方式2、輸入輸出指令功能(1)置“1”或置“0”I/O接口的某些控制寄存器,用于控制設(shè)備的動作,如啟動、關(guān)閉設(shè)備。(2)測試設(shè)備的狀態(tài)。“忙”,“準備就緒”(3)傳送數(shù)據(jù)。當輸入數(shù)據(jù)時,將I/O接口數(shù)據(jù)寄存器中的內(nèi)容送到CPU某一寄存器。當輸出數(shù)據(jù)時,將CPU某一寄存器的內(nèi)容送到I/O接口的數(shù)據(jù)寄存器。例如某I/O指令01R0~R7OP控制DM012345678910-1501表示I/O指令R0~R7CPU中8個通用寄存器OP操作碼

89表示控制功能,01啟動設(shè)備,10關(guān)閉設(shè)備10~15表示64個外圍設(shè)備地址8.2程序查詢方式3、程序查詢接口接口是總線與外設(shè)之間的一個邏輯部件,作為一個轉(zhuǎn)換器,保證外設(shè)用計算機系統(tǒng)所要求的形式發(fā)送接收數(shù)據(jù)。設(shè)備選擇電路:接到總線上的每個設(shè)備都預(yù)先給定了設(shè)備地址碼,CPU執(zhí)行I/O指令時需要把指令中的設(shè)備地址送到地址總線,用于指示CPU要選擇的設(shè)備。每個設(shè)備接口電路中都有一個設(shè)備選擇電路,用他判別地址總線上指示的設(shè)備是不是本設(shè)備,如果是,則本設(shè)備進入工作狀態(tài),否則不予理睬。數(shù)據(jù)緩沖寄存器:輸入時存放從外設(shè)讀出的數(shù)據(jù),然后送到CPU,輸出時存放CPU送來的數(shù)據(jù)然后從外設(shè)輸出。設(shè)備狀態(tài)寄存器。接口中的狀態(tài)寄存器?!懊Α薄皽蕚渚途w”“錯誤”等。接口監(jiān)視外設(shè)的狀態(tài),一旦CPU用程序詢問外設(shè)時,將狀態(tài)標識信息取至CPU進行分析。8.2程序查詢方式(1)先向I/O設(shè)備發(fā)出命令字,請求進行數(shù)據(jù)傳送;(2)從I/O接口讀入狀態(tài)字;(3)檢查狀態(tài)字中的標志,看看數(shù)據(jù)交換是否可以進行;(4)假如這個設(shè)備沒有準備就緒,則第(2)、第(3)步重復(fù)進行,一直到這個設(shè)備準備好交換數(shù)據(jù),發(fā)出準備就緒信號“Ready”為止;(5)CPU從I/O接口的數(shù)據(jù)緩沖寄存器輸入數(shù)據(jù),或者將數(shù)據(jù)從CPU輸出至接口的數(shù)據(jù)緩沖寄存器。與此同時,CPU將接口中的狀態(tài)標志復(fù)位。(6)數(shù)據(jù)傳送8.2程序查詢方式程序查詢I/O設(shè)備流程圖CAI功能:1.數(shù)據(jù)傳送,輸入時,由I/O指令將設(shè)備數(shù)據(jù)送至CPU某寄存器,再由訪存指令把寄存器的數(shù)據(jù)寫入內(nèi)存。輸出時剛好相反。2.修改內(nèi)存地址,為下次數(shù)據(jù)傳送做準備3.修改傳送字節(jié)數(shù)4.進行狀態(tài)分析或其他控制功能圖中以1234為查詢順序,也可以通過程序改變詢問次序,一般先詢問數(shù)據(jù)傳輸速度較快的設(shè)備,后詢問數(shù)據(jù)傳輸速度慢的設(shè)備98.2程序查詢方式例1在程序查詢方式的輸入輸系統(tǒng)中,假設(shè)不考慮處理時間,每次查詢需要100個時鐘周期,CPU的時鐘頻率是50MHz?,F(xiàn)有鼠標和鍵盤兩個設(shè)備,CPU必須每秒都鼠標進行30次查詢,硬盤以32位字長為單為傳輸數(shù)據(jù),即每32位被CPU查詢一次,傳輸率為2MBps。求CPU對這兩個設(shè)備查詢所花費的時間比率,由此可得出什么結(jié)論?解:CPU每秒對鼠標查詢30次,所需時鐘周期100*30=3000CPU時鐘頻率50MHz,即每秒50*106個時鐘周期,鼠標查詢占用CPU時間比率3000/(50*106)=0.006%對于硬盤每秒查詢2MB/4B=512K次每秒查詢的時鐘周期是100*512*1024=52.4*106硬盤查詢占用CPU時間比率是52.4*106/50*106=105%可見即使CPU將全部時間用于對硬盤的查詢也不能滿足磁盤傳輸?shù)囊螅虼薈PU與硬盤交換信息不采用程序查詢方式8.3程序中斷方式8.3.1中斷的基本概念8.3.2程序中斷方式的基本I/O接口8.3.3單級中斷8.3.4多級中斷8.3.5中斷控制器8.3.6Pentium中斷機制118.3.1中斷的基本概念

中斷(Interrupt):當外設(shè)的數(shù)據(jù)準備就緒后,它“主動”向CPU發(fā)出中斷請求信號,請求CPU暫?,F(xiàn)在正在執(zhí)行的程序而進行數(shù)據(jù)交換。CPU響應(yīng)中斷時,暫時中止現(xiàn)行程序,轉(zhuǎn)移到改設(shè)備的中斷服務(wù)程序,轉(zhuǎn)去處理隨機發(fā)生的緊急事件,處理完后自動返回原程序。和調(diào)用子程序類似,但是要求轉(zhuǎn)移到中斷服務(wù)程序的請求是由外設(shè)發(fā)出。中斷系統(tǒng)是計算機實現(xiàn)中斷功能的軟硬件總稱。一般在CPU中設(shè)置中斷機構(gòu),在外設(shè)接口中設(shè)置中斷控制器,在軟件上設(shè)置相應(yīng)的中斷服務(wù)程序。CAI128.3.1中斷的基本概念CAI138.3.1中斷的基本概念中斷處理過程注意幾個問題:響應(yīng)中斷時機:外界中斷請求時隨機的,但CPU只有在當前指令執(zhí)行完畢后,才轉(zhuǎn)至公操作,這樣才不會使當前指令收到干擾。公操作指一條指令執(zhí)行結(jié)束后CPU執(zhí)行的操作,如中斷處理,直接內(nèi)存?zhèn)魉停∠聴l指令等。外界中斷請求信號通常放在接口的中斷源鎖存器中,并通過中斷請求線連接CPU,當一條指令執(zhí)行到末尾CPU便檢查中斷請求信號,若中斷請求信號為“1”,則進入中斷中期。斷點保護問題(為了在中斷服務(wù)程序執(zhí)行結(jié)束后,能正確返回到原來主程序,必須保存PC,CPU中寄存器內(nèi)容和狀態(tài),也叫保護現(xiàn)場)148.3.1中斷的基本概念原子操作:開中斷和關(guān)中斷問題。當CPU響應(yīng)中斷后,可能有另一個中斷源發(fā)出中斷請求,為了不造成混亂,在CPU的中斷管理部件必須有“中斷屏蔽”觸發(fā)器,它可以在程序的控制下置“1”(設(shè)置屏蔽)或者置“0”(取消屏蔽),只有在中斷屏蔽為0時CPU才受理中斷。當CPU接收中斷請求并作出中斷響應(yīng)時,它一方面發(fā)出中斷響應(yīng)信號INTA,另一方面把中斷屏蔽標志置1,不受理另外的中斷源發(fā)出的中斷請求。只有當CPU把中斷服務(wù)程序執(zhí)行完畢后,才能使中斷屏蔽標志置0,即開中斷,并返回主程序。因此中斷服務(wù)程序的最后必須有兩條指令:開中斷,返回主程序指令。中斷是由軟硬件結(jié)合起來實現(xiàn)的。中斷周期硬件實現(xiàn),中斷服務(wù)程序由機器指令序列實現(xiàn)。中斷分為內(nèi)部中段和外中斷。機器內(nèi)部原因?qū)е鲁鲥e引起的中斷叫內(nèi)中斷,如除數(shù)為0.外設(shè)請求服務(wù)的中斷時外中斷8.3.2程序中斷方式的基本I/O接口CAI168.3.2程序中斷方式的基本I/O接口設(shè)備選擇器。設(shè)備選擇器用來判別總線上送出的地址(或稱呼叫的設(shè)備)是否為本設(shè)備,它實際上是設(shè)備地址的譯碼比較電路。BS外設(shè)接口忙(BuSy)標志RD外設(shè)準備就緒(ReaDy)標志EI(EnableInterrupt中斷允許觸發(fā)器)IR(InterruptRequest)中斷請求觸發(fā)器IM(InterruptMask)中斷屏蔽觸發(fā)器178.3.2程序中斷方式的基本I/O接口①表示由程序啟動外設(shè),將該外設(shè)接口的“忙”標志BS置“1”,“準備就緒”標志RD清“0”;②表示接口向外設(shè)發(fā)出啟動信號;③表示數(shù)據(jù)由外設(shè)傳送到接口的緩沖寄存器;④表示當設(shè)備動作結(jié)束或緩沖寄存器數(shù)據(jù)填滿時,設(shè)備向接口送出一控制信號,將數(shù)據(jù)“準備就緒”標志RD置“1”;⑤表示允許中斷標志EI為“1”時,接口向CPU發(fā)出中斷請求信號;⑥表示在一條指令執(zhí)行末尾CPU檢查中斷請求線,將中斷請求線的請求信號接收到“中斷請求”標志IR;⑦表示如果“中斷屏蔽”標志IM為“0”時,CPU在一條指令執(zhí)行結(jié)束后受理外設(shè)的中斷請求,向外設(shè)發(fā)出響應(yīng)中斷信號并關(guān)閉中斷;⑧表示轉(zhuǎn)向該設(shè)備的中斷服務(wù)程序入口;⑨表示在中斷服務(wù)程序通過輸入指令把接口中數(shù)據(jù)緩沖寄存器的數(shù)據(jù)讀至CPU中的寄存器;(10)表示CPU發(fā)出控制信號C將接口中的BS和RD標志復(fù)位。8.3.3單級中斷單級中斷的概念:所有中斷源屬于同一級,離CPU越近,優(yōu)先級越高。在中斷響應(yīng)時不允許其他中斷源打斷該中斷服務(wù)程序,即使優(yōu)先權(quán)比它高的也不能打斷,只有中斷服務(wù)程序執(zhí)行完畢后,才能響應(yīng)其他中斷。中斷源的識別:串行排隊鏈法IR1,IR2,IR3為中斷請求信號IS1,IS2,IS3為中斷選中信號INTI為中斷排隊輸入INTO為中斷排隊輸出198.3.3單級中斷所有中斷源屬于同一級,離CPU越近,優(yōu)先級越高,圖8.7類似于第六章的鏈式查詢方式。中斷源的識別:串行排隊鏈法IR1,IR2,IR3為中斷請求信號IS1,IS2,IS3為中斷選中信號INTI為中斷排隊輸入INTO為中斷排隊輸出中斷向量的產(chǎn)生向量地址轉(zhuǎn)移法CAI208.3.3單級中斷CAI218.3.3單級中斷中斷向量:當CPU響應(yīng)中斷時,由硬件直接產(chǎn)生一個固定的地址(即向量地址),是設(shè)備編碼器產(chǎn)生的中斷源的內(nèi)存地址編號,由向量地址指出每個中斷源設(shè)備的中斷服務(wù)程序入口,這種方法通常稱為向量中斷。入口地址是中斷服務(wù)程序的首地址。通過中斷向量地址訪問主存可獲得中斷服務(wù)程序的入口地址。主存向量地址12HJMP20013HJMP30014HJMP400入口地址200打印機服務(wù)程序

......

300顯示器服務(wù)程序228.3.4多級中斷計算機系統(tǒng)中有多個中斷源,根據(jù)各中斷事件的輕重緩急程度不同分級,每級有一個中斷優(yōu)先權(quán)。優(yōu)先權(quán)高的可以打斷優(yōu)先級的中斷服務(wù)程序,以程序嵌套的方式工作。一維多級中斷:每一級中斷中只有一個中斷源二維多級中斷:每一級中斷中可以有多個中斷源對于多級中斷:一個系統(tǒng)有n級中斷,則CPU中有n個IR,n個IM,某級中斷被響應(yīng)后,則關(guān)閉本級和低于本級的IM(置1),開放更高級的IM(置0)。多級中斷可以嵌套,但同一級的中斷不允許嵌套,必須處理完一個中斷后再處理同一級的其他中斷。中斷響應(yīng)時希望有較快的響應(yīng)時間,確定哪一級中斷和中斷源采用硬件實現(xiàn)。在二維中斷中,除了有中斷優(yōu)先級排隊電路外,還要確定優(yōu)先響應(yīng)的中斷源。采用了獨立請求方式和鏈式查詢方式相結(jié)合的方式。在多級中斷中,使用多級堆棧保存現(xiàn)場(包括IM)。優(yōu)點:1.控制邏輯簡單保存和恢復(fù)現(xiàn)場的過程按先進后出順序進行。2.每一級中斷不必單獨設(shè)置現(xiàn)場保護區(qū),各級中斷現(xiàn)場可按順序放在同一個棧里CAI238.3.4多級中斷8.3.4多級中斷多級中斷源的識別中斷優(yōu)先排隊電路中斷向量產(chǎn)生電路CAI258.3.4多級中斷例1、參見圖8.9所示的二維中斷系統(tǒng)。請問:(1)在中斷情況下,CPU和設(shè)備的優(yōu)先級如何考慮?請按降序排列各設(shè)備的中斷優(yōu)先級。(2)若CPU現(xiàn)執(zhí)行設(shè)備B的中斷服務(wù)程序,IM2,IM1,IM0的狀態(tài)是什么?如果CPU執(zhí)行設(shè)備D的中斷服務(wù)程序,IM2,IM1,IM0的狀態(tài)又是什么?(3)每一級的IM能否對某個優(yōu)先級的個別設(shè)備單獨進行屏蔽?如果不能,采取什么辦法可達到目的?(4)假如設(shè)備C一提出中斷請求,CPU立即進行響應(yīng),如何調(diào)整才能滿足此要求?268.3.4多級中斷[例1]解:(1)在中斷情況下,CPU的優(yōu)先級最低。各設(shè)備的優(yōu)先次序是:A→B→C→D→E→F→G→H→I→CPU。(2)執(zhí)行設(shè)備B的中斷服務(wù)程序時IM2IM1IM0=111;執(zhí)行設(shè)備D的中斷服務(wù)程序時,IM2IM1IM0=011。(3)每一級的IM標志不能對某個優(yōu)先級的個別設(shè)備進行單獨屏蔽??蓪⒔涌谥械腅I(中斷允許)標志清“0”,它禁止設(shè)備發(fā)出中斷請求。(4)要使設(shè)備C的中斷請求及時得到響應(yīng),可將設(shè)備C從第2級取出來,單獨放在第3級上,使第3級的優(yōu)先級最高,即令I(lǐng)M3=0即可。278.3.4多級中斷[例2]參見例1所示的系統(tǒng),只考慮A,B,C三個設(shè)備組成的單級中斷結(jié)構(gòu),它要求CPU在執(zhí)行完當前指令時對中斷請求進行服務(wù)。假設(shè):(1)CPU“中斷批準”機構(gòu)在響應(yīng)一個新的中斷之前,先要讓被中斷的程序的一條指令一定要執(zhí)行完畢;(2)TDC為查詢鏈中每個設(shè)備的延遲時間;(3)TA,TB,TC分別為設(shè)備A,B,C的服務(wù)程序所需的執(zhí)行時間;(4)TS,TR為保存現(xiàn)場和恢復(fù)現(xiàn)場所需的時間;(5)主存工作周期為TM。試問:就這個中斷請求環(huán)境來說,系統(tǒng)在什么情況下達到中斷飽和?28

[例2]解:中斷處理流程,并假設(shè)執(zhí)行一條指令的時間也為TM。如果三個設(shè)備同時發(fā)出中斷請求,那么依次分別處理設(shè)備A、設(shè)備B、設(shè)備C的時間如下:tA=2TM+TDC+TS+TA+TRtB=2TM+2TDC+TS+TB+TRtC=2TM+3TDC+TS+TC+TR處理三個設(shè)備所需的總時間為:T=tA+tB+tCT是達到中斷飽和的最小時間,即中斷極限頻率為:f=1/T8.3.4多級中斷298.3.5中斷控制器8259中斷控制器是一個集成電路芯片,它將中斷接口與優(yōu)先級判斷等功能匯集于一身,常用于微型機系統(tǒng)。其內(nèi)部結(jié)構(gòu)如圖8.11所示。8位中斷請求寄存器(IR)接受8個外部設(shè)備送來的中斷請求,每一位對應(yīng)一個設(shè)備。中斷請求寄存器的各位送入優(yōu)先權(quán)判斷器,根據(jù)中斷屏蔽寄存器(IM)各位的狀態(tài)來決定最高優(yōu)先級的中斷請求,并將各位的狀態(tài)送入中斷狀態(tài)寄存器IS。IS保存著判優(yōu)結(jié)果。由控制邏輯向CPU發(fā)出中斷請求信號INT,并接受CPU的中斷響應(yīng)信號INTA。數(shù)據(jù)緩沖器用于保存CPU內(nèi)部總線與系統(tǒng)數(shù)據(jù)總線之間進行傳送的數(shù)據(jù)。讀/寫邏輯決定數(shù)據(jù)傳送的方向,其中IOR為讀控制,IOW為寫控制,CS為設(shè)備選擇,A0為I/O端口識別。CAI308.3.5中斷控制器多個8259進行級聯(lián)以處理多達64個中斷請求。在這種情況下允許有一個主中斷控制器和多個從中斷控制器,稱為主從系統(tǒng)。優(yōu)先級選擇方式有四種:①完全嵌套方式:是一種固定優(yōu)先級方式,連至IR0的設(shè)備優(yōu)先級最高,IR7的優(yōu)先級最低。這種固定優(yōu)先級方式對級別低的中斷不利,在有些情況下最低級別的中斷請求可能一直不能被處理。②輪換優(yōu)先級方式A:每個級別的中斷保證有機會被處理,將給定的中斷級別處理完后,立即把它放到最低級別的位置上去。③輪換優(yōu)先級方式B:要求CPU可在任何時間規(guī)定最優(yōu)優(yōu)先級,然后順序地規(guī)定其他IR線上的優(yōu)先級。④查詢方式:由CPU訪問8259的中斷狀態(tài)寄存器,一個狀態(tài)字能表示出正在請求中斷的最高優(yōu)先級IR線,并能表示出中斷請求是否有效。318.3.5中斷控制器8259提供了兩種屏蔽方式:①簡單屏蔽方式,提供8位屏蔽字,每位對應(yīng)著各自的IR線。被置位的任一位則禁止了對應(yīng)IR線上的中斷。②特殊屏蔽方式,允許CPU讓來自低優(yōu)先級的外設(shè)中斷請求去中斷高優(yōu)先級的服務(wù)程序。當8位屏蔽位的某位置“0”時,例如屏蔽字為11001111,說明IR4和IR5線上的中斷請求可中斷任何高級別的中斷服務(wù)程序。8259中斷控制器的不同工作方式是通過編程來實現(xiàn)的。CPU送出一系列的初始化控制字和操作控制字來執(zhí)行選定的操作。328.3.5Pentium中斷機制Pentium中斷機制中斷類型中斷服務(wù)子程序進入過程中斷處理過程CAI338.4DMA方式8.4.1DMA的基本概念8.4.2DMA傳送方式8.4.3基本的DMA原理8.4.4選擇型和多路型DMA控制器

348.4.1

DMA的基本概念直接存儲器訪問(DirectMemoryAddress)DMA方式是為了在主存儲器與I/O設(shè)備間高速交換批量數(shù)據(jù)而設(shè)置的?;舅枷胧牵和ㄟ^硬件控制實現(xiàn)主存與I/O設(shè)備間的直接數(shù)據(jù)傳送,在傳送過程中無需CPU的干預(yù)。數(shù)據(jù)傳送是在DMA控制器控制下進行的,一般用于高速傳送成組數(shù)據(jù),DMA控制器向內(nèi)存發(fā)出地址和控制信號,修改地址,對傳送字的個數(shù)計數(shù),并以中斷方式向CPU報告?zhèn)魉筒僮鞯慕Y(jié)束。優(yōu)點:速度快。CPU不參與傳送操作,省去了CPU取指令,取數(shù),送數(shù)等操作。在數(shù)據(jù)傳送過程中,沒有保存現(xiàn)場,恢復(fù)現(xiàn)場的工作。內(nèi)存地址修改,字個數(shù)的計數(shù)也不是由軟件實現(xiàn),而是由硬件線路直接實現(xiàn)。所以DMA能滿足高速I/O要求,有利于發(fā)揮CPU的效率。358.4.2DMA傳送方式1、停止CPU訪問內(nèi)存主機響應(yīng)DMA請求后,讓出存儲總線,直到一組數(shù)據(jù)傳送完畢后,DMA控制器才把總線控制權(quán)交還給CPU,采用這種工作方式的I/O設(shè)備,在其接口中一般設(shè)置有小容量存儲器,I/O設(shè)備先與小容量存儲器交換數(shù)據(jù),然后由小容量存儲器與主機交換數(shù)據(jù),這樣可減少DMA傳送占用存儲總線的時間,也即減少了CPU暫停工作的時間。361、停止CPU訪問內(nèi)存優(yōu)點:控制簡單,它適用于數(shù)據(jù)傳輸率很高的設(shè)備進行成組傳送。缺點:在DMA控制器訪內(nèi)階段,內(nèi)存的效能沒有充分發(fā)揮,相當一部分內(nèi)存工作周期是空閑的。這是因為,外圍設(shè)備傳送兩個數(shù)據(jù)之間的間隔一般總是大于內(nèi)存存儲周期,即使高速I/O設(shè)備也是如此。8.4.2DMA傳送方式378.4.2DMA傳送方式2、周期挪用方式DMA控制器與主存儲器之間傳送一個數(shù)據(jù),占用(竊?。┮粋€內(nèi)存周期,即CPU暫停工作一個周期,然后繼續(xù)執(zhí)行程序。388.4.2DMA傳送方式3、DMA與CPU交替訪內(nèi)如果CPU的工作周期比內(nèi)存存取周期長很多,可以采用該種方法總線控制權(quán)的轉(zhuǎn)移速度快,DMA效率高。398.4.3基本的DMA原理1、DMA基本構(gòu)成(1)內(nèi)存地址計數(shù)器(2)字計數(shù)器(3)數(shù)據(jù)緩沖寄存器(4)“DMA請求”標志(5)“控制/狀態(tài)”邏輯(6)中斷機構(gòu)CAI408.4.3基本的DMA原理2、DMA數(shù)據(jù)傳送過程當外設(shè)有DMA請求時,通常CPU在本機器周期結(jié)束后,響應(yīng)DMA請求。CAI418.4.4選擇型和多路型DMA控制器選擇型多路型CAICAI428.4.4選擇型和多路型DMA控制器典型DMA芯片CAI43

例3下圖中假設(shè)有磁盤、磁帶、打印機三個設(shè)備同時工作。磁盤以30μs的間隔向控制器發(fā)DMA請求,磁帶以45μs的間隔發(fā)DMA請求,打印機以150μs間隔發(fā)DMA請求。根據(jù)傳輸速率,磁盤優(yōu)先權(quán)最高,磁帶次之,打印機最低,圖中假設(shè)DMA控制器每完成一次DMA傳送所需的時間是5μs。若采用多路型DMA控制器,請畫出DMA控制器服務(wù)三個設(shè)備的工作時間圖。CAI44

[例3]解:

由圖看出,T1間隔中控制器首先為打印機服務(wù),因為此時只有打印機有請求。T2間隔前沿磁盤、磁帶同時有請求,首先為優(yōu)先權(quán)高的磁盤服務(wù),然后為磁帶服務(wù),每次服務(wù)傳送一個字節(jié)。在120μs時間階段中,為打印機服務(wù)只有一次(T1),為磁盤服務(wù)四次(T2,T4,T6,T7),為磁帶服務(wù)三次(T3,T5,T8)。從圖上看到,在這種情況下DMA尚有空閑時間,說明控制器還可以容納更多設(shè)備。8.4.4選擇型和多路型DMA控制器458.5通道方式8.5.1通道的功能8.5.2通道的類型8.5.3通道結(jié)構(gòu)的發(fā)展

468.5.1通道的功能執(zhí)行通道指令,組織外圍設(shè)備和內(nèi)存進行數(shù)據(jù)傳輸,按I/O指令要求啟動外圍設(shè)備,向CPU報告中斷等,具體有以下五項任務(wù):(1)接受CPU的I/O指令,按指令要求與指定的外圍設(shè)備進行通信。(2)從內(nèi)存選取屬于該通道程序的通道指令,經(jīng)譯碼后向設(shè)備控制器和設(shè)備發(fā)送各種命令。

(3)組織外圍設(shè)備和內(nèi)存之間進行數(shù)據(jù)傳送,并根據(jù)需要提供數(shù)據(jù)緩存的空間,以及提供數(shù)據(jù)存入內(nèi)存的地址和傳送的數(shù)據(jù)量。

(4)從外圍設(shè)備得到設(shè)備的狀態(tài)信息,形成并保存通道本身的狀態(tài)信息,根據(jù)要求將這些狀態(tài)信息送到內(nèi)存的指定單元,供CPU使用。(5)將外圍設(shè)備的中斷請求和通道本身的中斷請求,按次序及時報告CPU。

478.5.1通道的功能通道結(jié)構(gòu)在一般用戶程序中,通過調(diào)用通道來完成一次數(shù)據(jù)輸入輸出的過程如圖1所示CPU執(zhí)行用戶程序和管理程序,通道處理機執(zhí)行通道程序的時間關(guān)系如圖所示。CAI488.5.2通道的類型選擇通道

選擇通道每次只能從所連接的設(shè)備中選擇一臺I/O設(shè)備的通道程序,此刻該通道程序獨占了整個通道。連接在選擇通道上的若干設(shè)備,只能依次使用通道與主存?zhèn)魉蛿?shù)據(jù)數(shù)據(jù)傳送以成組(數(shù)據(jù)塊)方式進行,每次傳送一個數(shù)據(jù)塊,因此,傳送速率很高。選擇通道多適合于快速設(shè)備(磁盤),這些設(shè)備相鄰字之間的傳送空閑時間極短。498.5.2通道的類型字節(jié)多路通道

(ByteMultiplexorChannel)

是一種簡單的共享通道,在時間分割的基礎(chǔ)上,服務(wù)于多臺低速和中速面向字符的外圍設(shè)備。字節(jié)多路通道包括多個子通道,每個子通道服務(wù)于一個設(shè)備控制器,可以獨立地執(zhí)行通道指令。每個子通道都需要有字符緩沖寄存器、I/O請求標志/控制寄存器、主存地址寄存器和字節(jié)計數(shù)寄存器。而所有于通道的控制部分是公共的,由所有子通道所共享。通常,每個通道的有關(guān)指令和參量存放在主存固定單元中。當通道在邏輯上與某一設(shè)備連通時,將這些指令和參量取出來,送入公共控制部分的寄存器中使用。字節(jié)多路通道要求每種設(shè)備分時占用一個很短的時間片,不同的設(shè)備在各自分得的時間片內(nèi)與通道建立傳輸連接,實現(xiàn)數(shù)據(jù)的傳送。508.5.2通道的種類數(shù)組多路通道(BlockMultiplexorChannel)數(shù)組多路通道把字節(jié)多路通道和選擇通道的特點結(jié)合起來。它有多個子通道,既可以執(zhí)行多路通道程序,象字節(jié)多路通道那樣,所有子通道分時共享總通道;又可以用選擇通道那樣的方式傳送數(shù)據(jù)。數(shù)組多路通道和字節(jié)多路通道的比較518.5.3通道結(jié)構(gòu)的發(fā)展輸入輸出處理機(IOP)

輸入輸出處理機(IOP)不是一臺獨立的計算機,而是計算機系統(tǒng)中的一個部件。IOP可以和CPU并行工作,提供高速的DMA處理能力,實現(xiàn)數(shù)據(jù)的高速傳送。此外,有些IOP還提供數(shù)據(jù)的變換、搜索和字裝配/分拆能力。8位和16位微機中使用的Intel8089I/O處理器就是這種通道型I/O處理器528.5.2通道結(jié)構(gòu)的發(fā)展外圍處理機

外圍處理機結(jié)構(gòu)更接近于一般處理機,或者就是選用已有的通用機。外圍機基本上是獨立于主處理機工作的,應(yīng)用于大型高效率的計算機系統(tǒng)中。538.6通用I/O接口標準8.6.1并行I/O標準接口SCSI8.6.2串行I/O標準接口IEEE1394

548.6.1并行I/O標準接口SCSI小型計算機系統(tǒng)接口的簡稱,它是一個高速智能接口,可以混接各種磁盤、光盤、磁帶機、打印機、掃描儀、條碼閱讀器以及通信設(shè)備

558.6.2串行I/O標準接口IEEE1394IEEE1394是一種高速串行I/O標準接口。各被連接裝置的關(guān)系是平等

溫馨提示

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

評論

0/150

提交評論