計算機組成原理課件第8章_第1頁
計算機組成原理課件第8章_第2頁
計算機組成原理課件第8章_第3頁
計算機組成原理課件第8章_第4頁
計算機組成原理課件第8章_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第八章輸入輸出系統(tǒng)主講教師莊春興

計算機的輸入輸出系統(tǒng)簡稱為I/O系統(tǒng),它包括第八章輸入輸出系統(tǒng)本章內容:

外圍設備的定時方式和信息交換方式重點介紹程序中斷方式、DMA方式、通道方式介紹通用并行I/O標準接口SCSI

I/O接口I/O管理部件有關軟件一個計算機系統(tǒng)的綜合處理能力,系統(tǒng)的可擴展性、兼容性和性能價格比,都和I/O系統(tǒng)有密切關系。8.1外圍設備的定時方式與信息交換方式8.1.1外圍設備的定時方式外圍設備的種類很多;其輸入信號,可以是數字式的電壓,也可以是

模擬式的電壓和電流。數據傳輸速率來講,相差也很懸殊。首先遇到的一個問題,就是如何保證主機與外圍設備在時間上同步8.1外圍設備的定時方式與信息交換方式輸入/輸出設備同CPU交換數據的過程輸入過程三個步驟;(1)CPU把一個地址放在地址總線上,選擇某一輸入設備;(2)CPU等候輸入設備的數據成為有效;(3)CPU從數據總線讀入數據,并放在一個相應的寄存器中。輸出過程三個步驟:(1)CPU把一個地址值放在地址總線上,選擇輸出設備;(2)CPU把數據放在數據總線上;(3)輸出設備認為數據有效,從而把數據取走。

對這類設備,如機械開關、顯示二極管等等,CPU總是能足夠快地作出響應。由于輸入/輸出設備本身的速度差異很大,因此,對于不同速度的外圍設備,需要有不同的定時方式。CPU與外圍設備之間的定時,有以下三種情況。從輸入/輸出過程看,問題的關鍵就在于;究竟什么時候數據才成為有效?1.速度極慢或簡單的外圍設備由于這類設備的速度和CPU的速度并不在一個數量級,或者由于設備(如鍵盤)本身是在不規(guī)則時間間隔下操作的,因此,CPU與這類設備之間的數據交換通常采用:異步定時方式其定時過程如下:2.慢速或中速的外圍設備

◆通常,把這種在CPU和外設間用問答信號進行定時的方式叫應答式數據交換外設先發(fā)出請求輸出信號,CPU詢問外設是否準備就緒。如果外設已準備就緒,CPU便發(fā)出準備就緒信號,并送出數據外設接收數據以后,將向CPU發(fā)出‘數據已經取走’的通知◆◆◆◆一旦CPU和外設發(fā)生同步,它們之間的數據交換便靠時鐘脈沖控制來進行。3.高速的外圍設備由于這類外設是以相等的時間間隔操作的,而CPU也是以等間隔的速率執(zhí)行輸入/輸出指令的,因此。更快的同步傳送要采用直接內存訪問(DMA)方式這種方式叫做同步同步定時方式8.1.2信息交換方式CPU管理外圍設備的方式。1.程序查詢方式2.程序中斷方式3.直接內存訪問(DMA)方式4.通道方式

5.外圍處理機方式數據在CPU和外圍設備之間的傳送完全靠計算機程序控制。中斷是外圍設備用來‘主動’通知CPU,準備送出輸入數據或接收輸出數據的一種方法。優(yōu)點:CPU的操作和外圍設備的操作能夠同步,而且硬件結構比較簡單問題:外圍設備動作很慢,程序進入查詢循環(huán)時將白白浪費掉CPU很多時間。同程序查詢方式相比,硬件結構相對復雜一些,服務開銷時間較大。1.程序查詢方式2.程序中斷方式中斷方式一般適用于隨機出現(xiàn)的服務。優(yōu)點:它節(jié)省了CPU寶貴的時間,是管理I/O操作的一個比較有效的方法。優(yōu)點:數據傳送速度很高,傳送速率僅受到內存訪問時間的限制。3.直接內存訪問(DMA)方式通道的出現(xiàn)則進一步提高了CPU的效率。這是因為,CPU將部分權力下放給通道。4.通道方式直接內存訪問(DMA)方式是一種完全由硬件執(zhí)行I/O交換的工作方式。與中斷方式相比,需要更多的硬件。此時,DMA控制器從CPU完全接管對總線的控制,數據交換直接在內存和外圍設備之間進行,以高速傳送數據。通道是一個具有特殊功能的處理器,它可以實現(xiàn)對外圍設備的統(tǒng)一管理和外圍設備與內存之間的數據傳送。然而這種提高CPU效率的辦法是以花費更多硬件為代價的。PPU基本上獨立于主機工作,它的結構更接近一般處理機,甚至就是微小型計算機。從某種意義上說,這種系統(tǒng)已變成分布式的多機系統(tǒng)。

5.外圍處理機方式外圍處理機[PPU]方式是通道方式的進一步發(fā)展。主要程序實現(xiàn)主要由附加硬件實現(xiàn)I/O控制方式程序查詢方式程序中斷方式DMA方式通道方式PPU方式外圍設備的輸入/輸出方式總結

程序查詢方式和程序中斷方式適用于數據傳輸率比較低的外圍設備。

DMA方式、通道方式和PPU方式適用于數據傳輸率比較高的設備。通道方式和PPU方式大都用在中、大型計算機中。目前,單片機和微型機中多采用程序查詢方式、程序中斷方式和DMA方式。8.2程序中斷方式主程序A中斷請求主程序A中斷服務子程序B中斷請求C中斷請求B中斷服務子程序C中斷服務子程序中斷處理示意圖在程序中斷方式中,某一外設的數據準備就緒后,它“主動”向CPU發(fā)出請求中斷的信號,請求CPU暫時中斷目前正在執(zhí)行的程序而進行數據交換。當CPU響應這個中斷時,便暫停運行主程序,并自動轉移到該設備的中斷服務程序。當中斷服務程序結束以后,CPU又回到原來的主程序。這種原理和調用子程序相仿,不過,這里要求轉移到中斷服務程序的請求是由外部設備發(fā)出的。中斷方式特別適合于隨機出現(xiàn)的服務。8.2.1中斷的基本概念實際的中斷過程還要復雜一些

第一個問題

CPU只有在當前一條指令執(zhí)行完畢后,即轉入公操作時才受理設備的中斷請求,這樣才不致于使當前指令的執(zhí)行受到于擾。

第二個問題

必須把程序計數器PC的內容,以及當前指令執(zhí)行結束后CPU的狀態(tài)都保存到堆棧中去。這些操作叫做保存現(xiàn)場。第三個問題

當CPU響應中斷后,正要去執(zhí)行中斷服務程序時,可能有另一個新的中斷源向它發(fā)出中斷請求。為了不致造成混亂,在CPU的中斷管理部件中必須有一個‘中斷屏蔽’觸發(fā)器第四個問題

中斷處理過程是由硬件和軟件結合來完成的?!袛嘀芷凇捎布崿F(xiàn),中斷服務程序由機器指令序列實現(xiàn)。取指令中斷轉到中斷子程序執(zhí)行指令響應中斷關中斷,即‘中斷屏蔽’置位找出中斷源,并保存(PC0保存CPU現(xiàn)場設備服務恢復CPU現(xiàn)場開中斷,即‘中斷屏蔽’復位中斷周期中斷服務子程序8.2.8程序中斷方式的基本接口接口電路中有一個工作標志觸發(fā)器BS,就緒標志觸發(fā)器RD,還有一個控制觸發(fā)器,它叫允許中斷觸發(fā)器(EI)。動作開始動作結束傳送數據數據緩沖寄存器中斷向量邏輯設備選擇公用寄存器PCIR控制01BS01RD01EI01IM01IR①②③④⑧⑨⑩⑦⑥⑧⑤IR請求數據總線中斷SCCPU接口設備INTA8.2.3單級中斷1.單級中斷的概念所有的中斷源都屬于同一級,所有中斷源觸發(fā)器排成一行,其優(yōu)先次序是離CPU近的優(yōu)先權高。當響應某一中斷請求時,不允許其他中斷源再打斷中斷服務程序,即使優(yōu)先權比它高的中斷源也不能再打斷。只有該中斷服務程序執(zhí)行完畢之后,才能響應其他中斷。圖中所有的I/O設備通過一條線向CPU發(fā)出中斷請求信號。CPU響應中斷請求后,發(fā)出中斷響應信號INTA,以鏈式查詢方式識別中斷源。01IM中斷接口CPU中斷接口中斷接口01IRIRS地址線數據線…中斷主程序單級中斷服務程序INTA單級中斷示意圖單級中斷結構圖2.單級中斷源的識別如何確定中斷源,并轉入被響應的中斷服務程序入口地址,是中斷處理首先要解決的問題。在單級個斷中,采用串行排隊鏈法來實現(xiàn)具有公共請求線的中斷源判優(yōu)識別。789IR1123456IR2IR3IR1IS1IR2IS2IR3IS3INTIINTA編碼器001010001011001000數據總線INTO串行排隊鏈判優(yōu)識別邏輯及中斷向量產生3.中斷向量的產生開關理論中把若干個布爾量排成的序列定義為布爾向量。由于存儲器的地址碼是一串布爾量的序列,因此常常把地址碼稱為向量地址。當CPU響應中斷時,由硬件直接產生一個固定的地址(即向量地址),由向量地址指出每個中斷源設備的中斷。顯然,每個中斷源分別有一個中斷服務程序,而每個中斷服務程序又有自己的向量地址。當CPU識別出某中斷源時,由硬件直接產生一個與該中斷源對應的向量地址,很快便引入中斷服務程序。向量中斷要求在硬件設計時考慮所有中斷源的向量地址,而實際中斷時只能產生一個向量地址。圖8.6中上面部分即為中斷向量產生邏輯,它是由編碼電路實現(xiàn)的。有些計算機中由硬件產生的向量地址不是直接地址,而是一個“位移量”,這個位移量加上CPU某寄存器里存放的基地址,最后得到中斷處理程序的入口地址。還有一種采用向量地址轉移的方法。假設有8個中斷源,由優(yōu)先級編碼電路產生8個對應的固定地址碼(例如o,1,2,…,7),這8個單元中存放的是轉移指令,通過轉移指令可轉入設備各自的中斷服務程序入口。這種方法允許中斷處理程序放在內存中任何地方,非常靈活。8.2.4多級中斷1.多級中斷的概念多級中斷系統(tǒng)是計算機系統(tǒng)中有相當多的中斷源,根據各中斷時間的輕重緩急程度不同而分成若干級別,每一中斷級分配給一個優(yōu)先權。一維多級中斷是指每一級中斷里只有一個中斷源二維多級中斷是指每一級中斷里又有多個中斷源后圖中虛線左邊結構為一維多級中斷,如果去掉虛線則成為二維多級中斷結構。根據系統(tǒng)的配置不同,多級中斷又可分為一維多級中斷二維多級中斷,設備G設備H設備I設備D設備E設備F設備A設備B設備C01IM001IR001IM101IR101IM201IR2中斷優(yōu)先級排隊電路與中斷控制邏輯高優(yōu)先權低高優(yōu)先權低CPU01IM10級IR1級IR2級IR一級中斷服務程序二級中斷服務程序三級中斷服務程序主程序多級中斷對多級中斷,我們著重說明如下幾點:第一,一個系統(tǒng)若有n級中斷,在CPU中就有n個中斷請求觸發(fā)器,總稱為中斷請求寄存器,與之對應的有1個中斷屏蔽觸發(fā)器,總稱為中斷屏蔽寄存器。第四,和單級中斷情況類似,在多級中斷中也使用中斷堆棧保存現(xiàn)場信息。使用堆棧保存現(xiàn)場的好處是:(1)控制邏輯簡單,保存和恢復現(xiàn)場的過程按先進后出順序進行。(2)每一級中斷不必單獨設置現(xiàn)場保護區(qū),各級中斷現(xiàn)場可按其順序放在同一個棧里。第三,設置多級中斷的系統(tǒng)一般都希望有較快的中斷響應時間,因此首先響應哪一級中斷和哪一個中斷源,都是由硬件邏輯實現(xiàn),而不是用程序實現(xiàn)。另外,在二維中斷結構中,除了有中斷優(yōu)先級排隊電路確定優(yōu)先響應中斷級外,還要確定優(yōu)先響應的中斷源,一般通過鏈式查詢的硬件邏輯來實現(xiàn)。顯然,這里采用了獨立請求方式與鏈式查詢方式相結合的方法決定首先響應哪個中斷源。第二,多級中斷中的每一級可以只有一個中斷源,也可以有多個中斷源。2.多級中斷源的識別

在多級中斷中,每一級均有一根中斷請求線送往CPU的中斷優(yōu)先級排隊電路,對每一級賦予了不同的優(yōu)先級。顯然這種結構就是獨立請求方式的邏輯結構。

圖示出了獨立請求方式的中斷優(yōu)先級排隊與中斷向量產生的邏輯結構。每個中斷請求信號保存在“中斷請求”觸發(fā)器中,經“中斷屏蔽”觸發(fā)器控制后,可能有若干個中斷請求情號IR'進入虛線框所示的排隊電路。8.2.58259中斷控制器8.2.6奔騰中斷機制1.中斷類型

pentiMm有兩類中斷源。即中斷和異常。中斷通常稱為外部中斷,它是由CPU的外部硬件信號引發(fā)的。有兩種情況:(1)可屏蔽中斷:如果CPU中標志寄存器IF=l時,可引發(fā)中斷;IF=O時,中斷請求信號在CPU內部被禁止。(2)非屏蔽中斷:這類中斷不能被禁止。異常通常稱為異常中斷,它是由指令執(zhí)行引發(fā)的。有兩種情況①執(zhí)行異常:CPU執(zhí)行一條指令過程中出現(xiàn)錯誤、故障等不正常條件引發(fā)的中斷;②執(zhí)行軟件中斷指令:如執(zhí)行INT0,INT3,INTn等指令,執(zhí)行時產生異常中斷。詳細分類的話,pentium共有256種中斷和異常。每種中斷給予一個編號,稱為中斷向量號(0一255),以便發(fā)生中斷時,程序轉向相應的中斷服務子程序入口地址。2,中斷服務子程序進入過程中斷服務子程序的入口地址信息存于中斷向量號檢索表內。實模式為中斷向量表IVT,保護模式為中斷描述符表IDT。CPU識別中斷類型取得中斷向量號的途徑有三種:(1)指令給出,如軟件中斷指令INTn中的”即為中斷向量號。(2)外部提供:可屏蔽中斷是在CPU接收到INTR信號時產生一個中斷識別周期,接收外部中斷控制器由數據總線送來的中斷向量號;非屏蔽中斷是在接收到NMI信號時中斷向量號固定為2。(3)CPU識別錯誤、故障現(xiàn)象,根據異常和中斷產生的條件自動指定向量號。

CPU依據中斷向量號獲取中斷服務子程序入口地址,但在實模式下和保護模式下采用不同的途徑。3.中斷處理過程(1)當中斷處理的CPU控制權轉移涉及到特權級改變時,必須把當前的SS和ESP兩個寄存器的內容壓入系統(tǒng)堆棧予以保存。(2)標志寄存器EFLAGS的內容也壓入堆棧。(3)清除標志觸發(fā)器TF和IF。(4)當前的代碼段寄存器CS和指令指針EIP也壓入此堆棧。(5)如果中斷發(fā)生伴隨有錯誤碼,則錯誤碼也壓入此堆棧。(6)完成上述中斷現(xiàn)場保護后,從中斷向量號獲取的中斷服務子程序入口地址(段:偏移)分別裝入CS和EIP,開始執(zhí)行中斷服務子程序。(7)中斷服務子程序最后的IRET指令使中斷返回。保存在堆棧中的中斷現(xiàn)場信息被恢復,并由中斷點繼續(xù)執(zhí)行原程序。8.3DMA方式DMA的傳輸過程內存爭用DMA方式進行數據傳送時,CPU仍執(zhí)行主程序,此時DMA控制邏輯與CPU可能同時要訪問主存,引起主存使用權的沖突。如何處理這種沖突呢?停止CPU使用主存DMA與CPU交替使用主存周期挪用法停止CPU使用主存當DMA傳送數據時,CPU停止工作,把主存使用權交給DMA控制邏輯。在這批數據傳送結束后,DMA再交還主存使用權優(yōu)點:控制簡單,適合高速設備成組傳送數據; 缺點:DMA控制器訪問內存的時間里,內存的效能沒有充分發(fā)揮。周期挪用法CPU讓出一兩個周期的總線控制權,由I/O設備挪用,進行一次數據傳送;然后,DMA控制器把總線控制權交還CPU,CPU繼續(xù)工作。重復,直到數據塊傳送完。CPU不需要訪存時,I/O設備挪用一兩個內存周期對CPU執(zhí)行程序沒有影響;I/O設備和CPU同時要求訪存時,I/O設備訪存優(yōu)先,因I/O設備有時間要求,不能錯過收發(fā)數據的機會。這種方法使用較多。含申請、建立、傳送、歸還過程DMA與CPU交替訪問內存這種方法是把一個存取周期一分為二,一半給DMA使用,一半給CPU使用。其原理示意圖如下。這種方式不需要總線使用權的申請、建立和歸還過程,總線使用權是分時控制的。CPU和DMA控制器各有自己訪問內存的地址寄存器、數據寄存器、讀寫信號等控制寄存器??偩€控制權的轉移幾乎不需要時間,DMA傳送效率很高。但硬件控制邏輯也就更加復雜,而且在沒有DMA數據傳送情況下,時間片被浪費。4、基本的DMA控制器DMA各部件的功能內存地址計數器:用來存放要交換數據的內存地址。傳送長度計數器:用來記錄傳送數據塊的長度。數據緩沖寄存器:暫存?zhèn)魉偷臄祿?。DMA請求觸發(fā)器:外設準備好一個數據后就給出一個控制信號,使DMA請求觸發(fā)器置1。該標志引發(fā)DMA請求,即“控制/狀態(tài)邏輯”向CPU發(fā)出總線使用權的請求(HRQ),CPU以HLDA響應,“控制/狀態(tài)邏輯”接收此信號后發(fā)出DMA響應信號,使DMA請求觸發(fā)器復位??刂?狀態(tài)邏輯:用于修改內存地址計數器和字計數器、指定傳送方向、并對DMA請求信號和CPU響應信號協(xié)調和同步。中斷機構:當一數據塊傳送完成,溢出信號觸發(fā)中斷機構,向CPU提出中斷請求,報告數據傳送結束。CPU將進行DMA傳送的收尾處理。5、DMA數據傳送過程 可分為三個階段:準備階段、傳送階段、結束階段。準備階段: 在DMA傳送前必須做好準備工作,主機向DMA接口傳送以下信息:讀/寫命令。向DMA控制器的主存地址計數器送數據塊在內存中的首地址。向DMA控制器的設備地址寄存器送設備號。向傳送長度計數器送數據字個數。啟動DMA。這些工作做完之后,CPU繼續(xù)原來的工作。DMA數據傳送過程(續(xù))傳送階段外設準備好收發(fā)數據時,向主機發(fā)DMA請求。CPU在本機器周期結束后,響應該請求、并使CPU的總線驅動器處于高阻狀態(tài),讓出主存使用權。DMA控制器發(fā)送內存地址、讀/寫命令。挪用一個存儲周期,傳送一個數據,主存地址計數器加1,字計數器減1,如果用補碼表示則加1。判斷數據是否傳送完畢,即計數器是否等于0。若不為0,則撤銷DMA請求,繼續(xù)第一步的動作;若字計數器為0,進入結束階段。DMA的傳送流程DMA請求DMA響應傳送一個字DMA結束NY傳送完?修改地址指針和字計數器發(fā)送內存地址DMA數據傳送過程(續(xù))結束階段

DMA控制器向主機發(fā)出中斷請求,報告數據傳送結束。CPU停止主程序執(zhí)行,轉向中斷服務程序進行DMA操作的后處理,包括校驗送入內存的數據、決定是否繼續(xù)DMA數據傳送、測試是否發(fā)生錯誤等。

6、DMA方式與中斷控制方式比較中斷方式通過程序實現(xiàn)數據傳送,而DMA直接用硬件來實現(xiàn)數據傳送。CPU在執(zhí)行完一條指令后響應中斷,而在一個機器周期結束后響應DMA請求。中斷方式不僅具有傳送數據的能力,還能處理異常事件;而DMA只能進行數據傳送。中斷方式需要切換程序、保護現(xiàn)場和恢復現(xiàn)場;而DMA僅挪用一個存儲周期,不改變CPU現(xiàn)場。DMA請求比中斷請求優(yōu)先級高。之所以優(yōu)先響應DMA請求,是為了防止丟失DMA高速傳送的數據。選擇型和多路型DMA控制器選擇型DMA控制器選擇型和多路型DMA控制器多路型DMA控制器8.4通道方式具有通道的計算機系統(tǒng)結構圖通道的功能接受CPU的I/O指令,按指令要求與外設進行聯(lián)系。從內存取出屬于自己的通道指令,經譯碼后向設備控制器發(fā)送各種命令。在外設和內存之間進行數據傳送,并根據需要提供數據緩沖空間、以及數據存放的主存地址和傳送的數據量。根據要求把從外設得到狀態(tài)信息、以及通道自身的狀態(tài)信息送給CPU,供其使用。將外設的中斷請求和通道請求按次序及時報告CPU。

CPU對通道的管理

在具有通道結構的計算機中,CPU是通過處理來自通道的中斷以及執(zhí)行I/O指令實現(xiàn)對通道的管理的。來自通道的中斷有兩種:數據傳送結束中斷故障中斷CPU對通道的管理(續(xù))通常把CPU運行操作系統(tǒng)管理程序的狀態(tài)稱為管態(tài),而把CPU執(zhí)行用戶程序的狀態(tài)稱為目態(tài)。大、中型計算機的I/O指令都屬于管態(tài)指令,只有當CPU處于管態(tài)時,才能運行I/O指令。這是因為大、中型計算機的軟硬件資源為多個用戶共享,而不是分給某個用戶專用的,需要統(tǒng)一管理。CPU

通道設備控制器

外設通道對設備控制器的管理

通道通過使用通道指令指揮設備控制器進行數據傳送操作。設備控制器是通道對I/O設備實現(xiàn)傳輸控制的執(zhí)行機構。設備控制器的具體任務如下:從通道接收通道命令,控制外設完成所

溫馨提示

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

評論

0/150

提交評論