【研究生入學考試】計原IO系統(tǒng)組織模版課件_第1頁
【研究生入學考試】計原IO系統(tǒng)組織模版課件_第2頁
【研究生入學考試】計原IO系統(tǒng)組織模版課件_第3頁
【研究生入學考試】計原IO系統(tǒng)組織模版課件_第4頁
【研究生入學考試】計原IO系統(tǒng)組織模版課件_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第9章 I/O組織9.1 I/O系統(tǒng)概述9.1.1 I/O系統(tǒng)需要解決的主要問題 計算機系統(tǒng)中的I/O系統(tǒng)主要解決主機與外部設備問的數(shù)據(jù)交換的問題,使外圍設備與主機能夠協(xié)調(diào)一致地工作。這里所謂“協(xié)調(diào)一致有兩層含義: 一是實現(xiàn)處理機與外部設備在數(shù)據(jù)處理的速度上能夠相互匹配; 二是實現(xiàn)處理機與外部設備并行工作,以提高整個計算機系統(tǒng)的工作效率。 如何實現(xiàn)它們之間的速度匹配呢?主要是靠緩沖技術。 如何實現(xiàn)處理機與外部設備并行工作呢?關鍵是減少處理機對外部設備的直接控制,甚至處理機干脆不再干預外部設備的控制,而交由專門的硬件裝置去實現(xiàn)對外部設備的管理與監(jiān)督。9.1.2 I/O系統(tǒng)的組成 在現(xiàn)代計算機系統(tǒng)

2、中,I/O系統(tǒng)由四局部組成:擴展總線、I/O設備接口控制器、I/O設備以及相關控制軟件。計算機I/O系統(tǒng)典型結構如圖9-1所示。 1 I/O接口控制器的功能之一就是要負責利用適當?shù)氖侄?,譯碼處理機送來的用于控制外設的命令字,進而向它所控制的外設提供外設所需要的控制信號; 除此之外接口控制器也需要接收外設返回的狀態(tài),并以此為依據(jù)進一步將其組織成設備狀態(tài)字,提供給處理機查詢; 同時l/O接口還要在一定程度上負責數(shù)據(jù)的緩沖,從而實現(xiàn)處理機與外設之問的速度匹配。 9.1.3 主機與外圍設備間的連接方式與組織管理 在現(xiàn)代計算機中,主機與外圍設備的連接方式大致可分為:總線方式、通道方式和I/O處理機(IO

3、P)方式。2 總線型連接方式 CPU通過系統(tǒng)總線與內(nèi)存儲器、I/O接口控制器相連接,通過I/O接口控制器實現(xiàn)對外圍設備的控制,如圖9-1所示。 這種連接方式是目前大多數(shù)中、小型計算機包括微型計算機所采用的連接模式。 優(yōu)點是系統(tǒng)模塊化程度較高,I/O接口擴充方便。 缺點是系統(tǒng)中部件之間的信息交換均依賴于總線,總線容易成為系統(tǒng)中的瓶頸,因而不適于系統(tǒng)需要配備大量外圍設備的場合。 通道控制連接方式 其控制連接方式如圖9-2所示。3 從連接角度看,通道控制器的一端與系統(tǒng)總線相連,另一端那么控制一條I/O總線。 設備控制器及其所控制的設備那么連接到I/O總線上,構成了主機、通道、I/O接口(設備控制器)

4、和外設的四級連接方式。 I/O 處理機控制連接方式 I/O處理機(I/O processor,IOP)與通道相比,有更強的獨立性,它與主機中CPU所采用的體系結構無關,可視為一種專用的CPU。9.1.4 I/O信息傳送的控制方式 由程序控制的數(shù)據(jù)傳送。 由處理機執(zhí)行所謂的I/O程序,實現(xiàn)對整個I/O數(shù)據(jù)傳送過程的全程監(jiān)督與管理,一般在總線型連接方式中采用。 由程序控制的數(shù)據(jù)傳送可進一步分為直接程序控制方式(programmed direct control,PDC)和程序中斷傳送方式(program interrupt transfer,PIT)。 由專有硬件控制的數(shù)據(jù)傳送。 49.2 I/O

5、接口 不同功能部件之間的交界面稱為接口 接口與端口是兩個不同的概念: 端口:是指能被CPU直接訪問的存放器。 接口:由假設干個端口加上相應的控制邏輯電路組成。 一個接口通常包括數(shù)據(jù)端口、命令端口和狀態(tài)端口。 主機與外設的主要差異: 工作速度相差幾個數(shù)量級。 數(shù)據(jù)格式不同,主機內(nèi)部采用二進制編碼;而外設種類繁多,編碼各異,另外還有串并數(shù)據(jù)之分。 主機和外設之間需要交換的信息: 數(shù)據(jù)信息 控制信息 狀態(tài)信息 聯(lián)絡信息 外設識別信息9.2.1 I/O接口的功能 一個I/O接口的典型結構如圖9-3所示。5 接口的根本功能有: 數(shù)據(jù)傳送與數(shù)據(jù)緩沖、隔離和鎖存 錯誤或狀態(tài)的檢測 控制和定時 數(shù)據(jù)格式轉換

6、與主機和設備通信 上述功能都有必須通過I/O接口與主機或設備之間的通信來完成。例如,I/O接口與主機側進行通信: 對主機通過SB送來的地址信息進行譯碼,以確定是否選中本設備。 接受SB送來的控制信息,以確定數(shù)據(jù)傳送的方向。6 將接口中數(shù)據(jù)緩沖存放器或狀態(tài)存放器的信息送到SB,或接收SB送來的數(shù)據(jù)或命令信息,將其送到接口中的數(shù)據(jù)緩沖存放器或控制存放器。 又如,I/O接口與設備進行通信: 將控制存放器中的命令譯碼輸出外部接口的控制線上。 發(fā)送數(shù)據(jù)緩沖存放器的數(shù)據(jù)外部接口的數(shù)據(jù)線上。 接受外設的狀態(tài)或數(shù)據(jù)信息, 接口中的狀態(tài)存放器或數(shù)據(jù)緩沖存放器中。 數(shù)據(jù)在外設和主機之間進行傳送的過程如下圖:7 I

7、/O端口的編址 端口:是指能被CPU直接訪問的存放器。 一個I/O端口可能是輸入端口,也可能是輸出端口或是雙向端口 端口地址的編址方式一般有以下兩種:獨立編址和統(tǒng)一編址。 獨立編址 例如在IBM PC微型計算機系統(tǒng)中就采用了此種方式。如圖9-4所示。 在IBM PC中局部I/O端口地址分配如表9-1所示。8表9-1 IBM PC中I/O地址分配 輸入輸出設備 占用地址數(shù) 地址(十六進制)硬盤控制器1632032F軟盤控制器832032F彩色圖形顯示適配器163D03DF異步通信控制器83F83FF 獨立編址方法的優(yōu)點是:I/O端口與存儲器單元都有各自獨立的地址空間,各自的地址譯碼與控制電路會相

8、對簡單一些,同時由于設置了I/O指令,使機器語言或匯編語言源程序中的I/O局部較為明顯,程序的結構比較清晰,便于閱讀、修改程序。 缺點是通常為I/O指令設計的尋址方式與存儲單元訪問指令中的尋址方式相比要單調(diào)一些,同時增加了指令系統(tǒng)的復雜性。但一般不會給程序的編制帶來不便。 存儲器映射(統(tǒng)一編址)方式是從主存儲器地址空間中分出一局部地址作為I/O端口地址,即存儲單元與I/O端口存放器處在一個統(tǒng)一9的地址空間中,如圖9-5所示I/O端口存儲器圖9-5 存儲器映射的I/O設備編址方式 統(tǒng)一編址方法的優(yōu)點是:簡化了CPU控制器的設計、實現(xiàn)。當訪問存儲器的指令中出現(xiàn)被I/O映射的地址碼時,表示當前訪問的

9、對象不是存儲單元而是I/O端口。由于通常對訪問存儲單元的指令會設計較多的尋址方式,因而I/O程序編制較為方便、靈活。 缺點也很明顯,其一是存儲器的空間被占用;二是機器語言或匯編語言源程序中的I/O局部難以閱讀、修改及維護。 9.2.2 I/O接口的分類 按數(shù)據(jù)傳送方式分類: 串行接口和并行接口。10 按功能選擇的靈活性分類: 可編程接口和不可編程接口。 按通用性分: 通用接口和專用接口。 按主機訪問I/O設備的控制方式分類: 程序查詢接口 中斷接口 DMA接口 按連接方式來分: 有點對點的接口和多點接口。 輸入和輸出的信號分類: 數(shù)字接口和模擬接口 按應用來分: 運行輔助接口 用戶交互接口 傳

10、感接口 控制接口119.3 程序控制方式9.3.1 I/O控制方式類型 程序查詢方式 程序中斷方式 DMA方式 Channel方式 I/O處理機方式9.3.2 程序直接控制方式 直接通過程序來控制主機和外設的數(shù)據(jù)交換。通常有兩種類型的程序直接控制數(shù)據(jù)傳送方式:無條件傳送方式和有條件傳送方式。 無條件傳送方式 也稱同步傳送方式。其實質(zhì)是用程序來定時同步地傳送數(shù)據(jù)。適合于各類巡回檢測或過程控制。見圖。12 有條件傳送方式 也稱異步傳送方式或程序查詢方式。見圖。 程序查詢方式的優(yōu)點是:簡單、易控制、外圍接口控制邏輯少。 缺點是:外設完全串行工作,效率低、速度慢。 13 查詢可采用多種不同的方式進行,

11、主要取決于I/O設備本身以及該I/O設備是否能夠獨立啟動I/O。例: 鼠標是慢速設備,所以常用查詢方式。用戶可以移動鼠標或單擊鼠標按鈕就能夠獨立啟動I/O完成輸入操作。 軟盤或打印機只能在OS控制下才能啟動,這樣的設備只有OS知道它被激活后才能進行查詢,但這種查詢的開銷很大。下面舉例說明對于不同I/O速率的設備,I/O的程序查詢開銷是不同的。 例:設查詢操作所需的周期數(shù)是400個,PE按500MHz的速度執(zhí)行,即PE每秒產(chǎn)生500106個PE周期。假定查詢速度足夠快,能保證數(shù)據(jù)沒有任何數(shù)據(jù)喪失,并設設備總是忙,考察以下三種情況下所消耗的CPU時間百分比。 鼠標必須每秒鐘被查詢30次,以保證不錯

12、過用戶的任何一次移動。 那么每秒用于查詢的時鐘周期為30400=12000周期,花費PE時鐘周期的百分比為12000/(500106)= 0.0024%。14 軟盤按16位(2B)為單位將數(shù)據(jù)傳送到PE,傳輸速率為 50KB/s,且沒有任何數(shù)據(jù)傳送被錯過,查詢速率需到達50KB/2B=25K次才能保證沒有任何數(shù)據(jù)喪失。因此,每秒用于查詢的時鐘周期數(shù)為25K400=10M,這占整個PE時鐘周期數(shù)為10M /(500106)=2%。 硬盤以4字塊(=16B)進行傳輸,速率為4MB/s,同樣沒有任何數(shù)據(jù)傳送被錯過。查詢速率應為4MB/16B=250K次才能保證沒有任何數(shù)據(jù)喪失。因此,每秒用于查詢的時

13、鐘周期數(shù)為250K400=100M,這占整個PE時鐘周期數(shù)為100M /(500106)=20%。也就是說處理器中1/5的時間用于查詢硬盤,顯然這是不可取的。9.3.2 程序中斷傳送方式 中斷的根本概念 中斷問題的提出 程序查詢方式雖然簡單,但存在以下明顯的缺點: 在查詢過程中,CPU長期于等待狀態(tài),系統(tǒng)效率低; CPU在一段時間內(nèi)只能與一臺外設交換信息,其他設備不能并行工作; 不能發(fā)現(xiàn)和處理預先未估計到的錯誤和異常情況。15 中斷方式在一定程度上實現(xiàn)了CPU和外設的并行工作,提高了CPU的工作效率?,F(xiàn)在中斷已從提高計算機效率變?yōu)樘岣咝堋?中斷系統(tǒng)是計算機實現(xiàn)中斷功能的軟、硬件總稱。 中斷處

14、理過程實際上是程序切換過程。因此,CPU每次執(zhí)行效勞程序前總要保護被中止的程序的斷點、和現(xiàn)場。返回時,要恢復被中止的程序的斷點、和現(xiàn)場。 中斷:由于意外事件,迫使CPU中止運行現(xiàn)行程序,轉向去執(zhí)行處理意外事件的效勞程序,處理完畢后,CPU再返回被中止運行的程序的斷點繼續(xù)執(zhí)行的這一過程。 16 中斷機構的建立 設計、實現(xiàn)一個計算機系統(tǒng)的中斷機構主要涉及以下一些要素: 中斷源的設置。 中斷的分類與分級。 中斷信號的建立與傳送。 實現(xiàn)優(yōu)先級比較的方式和方法。 CPU響應中斷的條件和時機,以及CPU在響應中斷時要做的工作。 CPU識別各個中斷的方法,以及如何找到處理相應中斷的中斷處理程序。程序中斷與調(diào)

15、子的區(qū)別 子程序的執(zhí)行是由程序員事先安排好的(即由事先安排的調(diào)子程序轉入),而中斷效勞子程序的執(zhí)行那么是隨機的。 子程序的執(zhí)行受上層子程序或主程序的控制,而中斷效勞程序與被中斷的現(xiàn)行程序無關。 不存在同時調(diào)用多個子程序的情況,而可能發(fā)生多個 中斷源同時請求CPU為自己效勞的情況。17 是否允許正在執(zhí)行的中斷處理程序被其他高級別的中斷請求打斷,即系統(tǒng)是否允許中斷嵌套。 中斷系統(tǒng)的設計及實現(xiàn)要求 在一個成功的中斷系統(tǒng)的設計、實現(xiàn)中,中斷系統(tǒng)應滿足以下要求: 保證中斷請求信號的建立及保持其準確性,保證中斷在未被響應時,中斷請求信號不能被隨便喪失。 保證中斷響應的及時性,各類中斷都能及時得到響應,不應

16、出現(xiàn)某些中斷由于某種原因長時間得不到響應。 必須防止在處理某個中斷過程中,又去響應同樣的中斷。 保證中斷處理過程的正確性,在中斷處理過程結束后能夠正確返回被中斷的程序,使之繼續(xù)執(zhí)行。 高級中斷能打斷低級中斷的處理過程,允許中斷嵌套。 中斷優(yōu)先級的設置應具備方便性及靈活性,允許動態(tài)改變一個中斷的優(yōu)先級別。 中斷源的設置 中斷源是指能引起中斷事件的原因。 18 中斷還能幫助我們解決在計算機系統(tǒng)中許多看似難以解決的問題,這些問題歸納如下: 實現(xiàn)人機聯(lián)系。 單步調(diào)試程序。 實時處理。 提高機器的可靠性。 應用程序和操作系統(tǒng)的聯(lián)系。 實現(xiàn)多道程序。 實現(xiàn)多處理機系統(tǒng)中各處理機之間的聯(lián)系。 19 中斷的分

17、類 不同的系統(tǒng)有自己的分類方法,比方分為硬件中斷(設備中斷)和軟件中斷(trap或int指令中斷),也可分為外部中斷和內(nèi)部中斷等。 內(nèi)中斷: 由PE的異常事件引起的中斷。 根據(jù)發(fā)生的原因,又分為硬件故障中斷和程序例外引起的中斷。 硬件故障中斷:由硬聯(lián)線路出現(xiàn)異常引起的。如掉電,存儲線路錯等。 程序例外中斷(也稱軟中斷)。由CPU執(zhí)行某個指令而引起的發(fā)生在PE內(nèi)部的異常事件,也稱為例外(Exception)。如單步中斷、溢出中斷、缺頁、除數(shù)為0等。 按發(fā)生異常的報告方式和返回方式的不同,程序性中斷又分為失效(Fault)、自陷(Trap)、終止(Abort)三種。 失效:是在引起失效的指令后、執(zhí)

18、行前被檢測到的一類例外事件。在相應的中斷處理程序完成后,應回到該指令,重新啟動并執(zhí)行。例:“缺頁中斷。20 自陷:是產(chǎn)生在自陷指令執(zhí)行完后才被報告的一類例外事件,中斷處理完成后,回到主程序中該條指令的下一條指令繼續(xù)執(zhí)行。 例:80 x86 CPU中的INT n指令。 終止:是對引起異常的指令確實切位置無法確定的一類例外事件,出現(xiàn)這類嚴重錯誤,原程序無法繼續(xù)執(zhí)行,只好終止,而由中斷效勞程序重新啟動OS。例如,硬件錯誤、系統(tǒng)表中的非法數(shù)值、非法操作碼等造成的異常。 外中斷: 指CPU以外的部件引起的中斷。例如,任務完成、打印機缺紙、鍵盤輸入、采樣計時到等。它又分可屏蔽中斷和非可屏蔽中斷。 可屏蔽中

19、斷:打印機準備好、任務完成等。 非可屏蔽中斷:DMA中斷等。中斷也可用另外分類方法 自愿中斷和強迫中斷 自愿中斷又稱自中斷,它不是隨機產(chǎn)生的中斷,而是在程序中安排的有關指令,使機器進入中斷處理的過程,如8086中的軟中斷指令INT n。 21 強迫中斷是隨機產(chǎn)生的中斷,不是程序中事先安排的。當這種中斷產(chǎn)生以后,由中斷系統(tǒng)迫使計算機中止現(xiàn)行程序并轉入中斷效勞程序。 程序中斷和簡單中斷 程序中斷就是上面所提到的中斷,主機響應中斷請求后,通過執(zhí)行一段中斷效勞子程序來處理更緊迫的任務。它須要占用一定的CPU時間。 簡單中斷指外設與主存間直接進行交換的方法,即DMA方式。這種中斷不去執(zhí)行中斷效勞程序,而

20、主要是靠硬件來處理。 內(nèi)中斷和外中斷 內(nèi)中斷由CPU內(nèi)部硬件或軟件原因引起的中斷,如單步中斷、溢出中斷等。 外中斷指CPU以外的部件引起的中斷。它又分可屏蔽中斷和非可屏蔽中斷。 向量中斷和非向量中斷 向量中斷:指能自己提供中斷效勞程序入口地址的中斷。 22 非向量中斷是不能自己提供中斷效勞程序入口地址的中斷。 單重中斷和多重中斷 單重中斷在CPU執(zhí)行中斷效勞程序過程中不能再被打斷的中斷。 多重中斷在CPU執(zhí)行中斷效勞程序過程中可以響應優(yōu)先級更高的中斷請求。又稱為中斷嵌套。 例:80 x86 PE中斷系統(tǒng)把中斷分成以下兩大類: 外中斷(硬中斷):通過PE的INTR和NMI兩根引線實現(xiàn)請求的中斷。

21、 由外設中斷源引起的中斷通過INTR線向CPU申請中斷,它是可屏蔽中斷。 由外設中斷源引起的重要或緊急的硬件故障中斷,通過NMI線向CPU申請中斷,它是不可屏蔽中斷。 內(nèi)中斷(軟中斷):也稱為異常或例外。由處理器內(nèi)部產(chǎn)生而不通過中斷線請示的中斷,為不可屏蔽中斷。23 由外設引起的I/O的中斷和前面看到的異常在本質(zhì)上是一樣的,但是有兩個重要的不同點: 一個I/O中斷相對于指令的執(zhí)行是異步,即I/O中斷不和任何指令相關,也不阻止指令的執(zhí)行完成,它與“缺頁例外和“溢出例外等有很大的不同 ,I/O中斷控制邏輯僅需要在開始一個新指令之前檢測是否有I/O中斷請求。 異常是由PE自身發(fā)現(xiàn)的,不必通過外部的某

22、個信號通知CPU,也不要識別是哪種異常。而對中斷,PE除了被通知一個“I/O中斷已發(fā)生外,還必須進一步檢查是哪些設備發(fā)生了中斷,它們設備標識號是多少?還要進一步根據(jù)不同的緊急程度選擇其中一個響應 中斷請求信號的建立與傳送 中斷請求信號的建立與中斷屏蔽 中斷請求存放器:記錄各外設的中斷請求,每個中斷請求對應中斷存放器中一位。 中斷屏蔽存放器:每個中斷有自己的中斷屏蔽字(所有中斷源此時的屏蔽位的值),在相應的中斷處理之前送往中斷屏蔽存放器。24公共請求獨立請求25 中斷請求信號的傳送 通常有四種傳送模式,如圖9-9所示。 各中斷源單獨設置自己的中斷請求線,每條中斷請求線都直接送往CPU,即CPU一

23、端需要設置多條中斷請求信號線,如圖9-9(a)所示。 各中斷源的中斷請求信號通過三態(tài)門電路聚集到一根公共中斷請求線,如圖9-9(b)所示。 也可在CPU外部設置一個中斷控制電路,該電路負責將所有中斷源所發(fā)出的中斷請求聚集起來,通過或門向CPU請求中斷,如圖9-9(c)所示。 另一種方案是兼有公共請求線與獨立請求線,如圖9-9(d)所示。對要求快速響應的12個中斷請求,采取獨立請求線方式,以便快速識別。將其余響應速度允許相對低些的中斷請求聚集為一根公共請求線。 中斷判優(yōu) CPU目前執(zhí)行程序的優(yōu)先級與中斷請求優(yōu)先級間的判優(yōu) 首先,可在CPU內(nèi)部設置一個允許中斷觸發(fā)器,如圖9-10所示。26 指令系

24、統(tǒng)提供具有開中斷與關中斷功能的指令。 如果允許中斷觸發(fā)器處于關中斷狀態(tài),那么CPU不響應外部中斷請求。換句話說,所有外部中斷請求所要求的效勞都沒有現(xiàn)行程序的任務重要。 如果開中斷,那么CPU可響應外部請求,發(fā)出中斷應答(INTA)信號。在早期的微型計算機系統(tǒng)中,只安排了這一級控制。 27 中斷請求之間的判優(yōu) 首先按中斷請求性質(zhì)來劃分優(yōu)先級。 一般來說CPU內(nèi)部引發(fā)的中斷優(yōu)先級最高,然后才是外部中斷。 對外部中斷而言,不可屏蔽中斷的優(yōu)先級要高于可屏蔽中斷,前者往往要求CPU處理故障,后者要求CPU處理一般的I/O中斷。 對于一般的I/O中斷,按中斷請求要求的數(shù)據(jù)傳送方向,通常的原那么是讓輸入操作

25、的請求優(yōu)于輸出操作的請求。 下面介紹幾種優(yōu)先級排隊方法。 軟件查詢 圖9-11 軟件查詢中斷的中斷請求邏輯和查詢流程28 開仃優(yōu)先級排隊邏輯 如果各中斷源都能提供獨立的中斷請求信號線送往CPU,那么可以采取并行優(yōu)先級排隊邏輯,也稱具有獨立請求線的硬件優(yōu)先級排隊邏輯,如圖9-12所示 圖9-12 具有獨立請求線的硬件優(yōu)先級排隊邏輯0110129 鏈式優(yōu)先排隊邏輯 如果中斷請求信號的傳遞模式采用公共請求線方式,那么優(yōu)先級排隊結果可以用形成紫設備編碼或中斷識別編碼來表示,相應地可采用鏈式優(yōu)先級排隊邏輯,該邏輯也稱為優(yōu)先鏈邏輯。各個中斷源提出的中斷請求都送到公共中斷請求信號線上,形成公用的中斷請求信號

26、INT送往CPU。 圖9-13 鏈式優(yōu)先級排隊邏輯 在采取這種連接方式時,所有可能作為中斷源的設備被連接成一條鏈,其連接順序表達了優(yōu)先級順序,在邏輯上離CPU最近的設備,優(yōu)先級最高。這種優(yōu)先鏈結構在許多文獻中也被稱為菊花鏈,是應用很廣泛的一種邏輯結構。3230 串行鏈式優(yōu)先級排隊邏輯是由硬件實現(xiàn)的采用公共請求線的優(yōu)先級排隊方式,其邏輯線路如圖9-14所示。圖9-14 串行優(yōu)先級排隊電路01110101001131 在圖9-13(b)所示結構中,批準信號同時送往所有接口;但中斷優(yōu)先級排隊電路保證只有在申請者中優(yōu)先級最高的一個中斷源可以通過系統(tǒng)總線向CPU送出自己的識別編碼。根據(jù)編碼,CPU可以識

27、別出中斷源,從而轉向?qū)闹袛嘈诔绦颉?二維結構的優(yōu)先排隊 如果中斷請求信號的傳送采取二維結構,那么優(yōu)先排隊邏輯結構如圖9-15所示。 32 采用中斷控制器集成芯片的優(yōu)先邏輯 Intel 8259A芯片內(nèi)部大致的邏輯結構如圖9-16所示。Intel 8259A芯片主要包含下述組件。 圖9-1 6 可編程中斷控制器Intel 8259A33 在中斷優(yōu)先級排隊問題的各種方法中,有些方法可以綜合運用,從而在實際應用中派生出許多具體方式。例如中斷控制器8259A,可編程指定多種優(yōu)先級排隊方法,如固定優(yōu)先級方式、循環(huán)優(yōu)先級方式、特殊屏蔽方式等。 當中斷源較多時,它可以多級串聯(lián),將一片8259A的INT

28、作為上一級的IR0-7的中斷請求信號來使用,以擴展中斷請求的數(shù)量。 34 中斷響應和中斷處理(中斷效勞) 中斷響應 CPU接到中斷請求信號后,如果滿足響應中斷的條件,CPU就會暫停現(xiàn)行程序的執(zhí)行,而轉入中斷處理,將這一過程稱為中斷響應 CPU響應外部中斷一般應具備如下條件: 有中斷源請求中斷。 允許響應中斷,即處于開中斷狀態(tài)。 一條指令執(zhí)行結束。 CPU響應中斷后進入中斷響應周期,在中斷響應周期內(nèi),完成下面操作。 關中斷:以便在保存現(xiàn)場的過程中不允許響應新的中斷請求,確?,F(xiàn)場保存的正確性。 保存斷點地址(即返回地址)和程序狀態(tài)字:一般將它們壓入堆棧中。 轉入中斷效勞程序入口:以便執(zhí)行相應的中斷

29、效勞程序,完成中斷處理任務。 35 中斷處理(中斷效勞) 中斷效勞程序一般由三局部組成,即起始局部、主體局部和結尾局部。 中斷效勞程序的起始局部的主要功能按執(zhí)行次序如下: 判明中斷原因,識別中斷源,對于不同中斷源轉入不同的效勞程序。 36 對于向量中斷,直接由硬件查明中斷源并給出中斷向量地址,轉入相應中斷效勞程序。 對于非向量中斷那么需通過執(zhí)行一段查詢程序,查明中斷源后轉入相應的中斷效勞程序。 設置屏蔽字,封鎖同級中斷與低級中斷。 保存中斷現(xiàn)場。 開中斷,以便在本次中斷處理過程中能夠響應更高級的中斷請求。 中斷效勞程序的主體局部是執(zhí)行處理具體中斷的程序。如控制設備進行輸入輸出操作。 中斷效勞程

30、序的結尾局部按執(zhí)行次序主要完成以下功能: 關中斷。以便在恢復現(xiàn)場的過程中不允許響應新的中斷。 恢復中斷現(xiàn)場,將起始局部保存的存放器內(nèi)容送回到原存放器中。 清中斷請求或中斷效勞信號,表示本次中斷處理結束。 清屏蔽字,開放同級中斷和低級中斷。 開中斷,以便響應新的中斷請求。 恢復PSW、PC,返回被中斷的程序。 37 中斷效勞程序入口地址的獲取方法 向量中斷 首先說明五個有關的概念。 中斷向量:通常將中斷效勞程序的入口地址及其程序狀態(tài)字合稱為中斷向量。有些計算機系統(tǒng)(例如早期的微型計算機)沒有完整的程序狀態(tài)字,此時中斷向量僅指中斷效勞程序的入口地址。 中斷向量表:存放中斷向量的表格。如圖9-18所

31、示。 PSWnPCnPSW2PC2PSW1PC1圖9-18 中斷向量表38 向量地址:訪問中斷向量表中的一個表項的地址碼,即讀取中斷向量所需的內(nèi)存地址,也稱為中斷指針。 中斷類型碼:中斷源提供的標識中斷類型的編碼,CPU一般據(jù)此編碼計算得到向量地址。 8086中斷向量表存放的形式是:4n+3, 4n+2兩個單元存放CS內(nèi)容4n+1, 4n兩個單元存放IP內(nèi)容 不必經(jīng)過程序查詢中斷源,由被響應的中斷源自己提供其中斷處理程序的起始地址的功能稱為向量中斷。 向量中斷是指這樣一種中斷響應方式: 將各個中斷效勞程序的中斷向量組織成中斷向量表;響應中斷時,由中斷源提供中斷類型編碼; CPU計算得到對應于該

32、中斷的向量地址;39 根據(jù)向量地址訪問中斷向量表,從中讀取相應的中斷效勞程序的人口地址及PSW編碼字,將入口地址裝到程序計數(shù)器(PC)中,將PSW編碼字裝入到程序狀態(tài)字存放器中; CPU就轉向執(zhí)行中斷效勞程序。 上述工作一般安排在中斷響應周期中,由CPU執(zhí)行中斷響應隱指令實現(xiàn)。 中斷隱指令 CPU響應中斷之后,經(jīng)過某些操作,才能轉去執(zhí)行中斷效勞子程序。這些操作是由硬件直接實現(xiàn)的,稱之為中斷隱指令。 對于中斷向量的含義,不同的計算機的定義是不同的。 例如: 80 x86定義中斷向量是中斷類型號。 40 非向量中斷 非向量中斷是指這樣一種中斷響應方式: CPU在響應中斷時只產(chǎn)生一個固定的地址,該地

33、址是中斷查詢程序的人口地址,這樣CPU可以轉去執(zhí)行查詢程序,通過軟件查詢確定被優(yōu)先批準的中斷源,然后執(zhí)行相應的中斷效勞程序。 查詢程序是為所有中斷請求效勞的,又稱為中斷總效勞程序。它的任務僅僅是判定提出中斷請求的中斷源,進而轉去執(zhí)行處理中斷的效勞程序。 非向量中斷方式是通過軟件方式確定中斷效勞程序入口地址的。 優(yōu)點是可以簡化硬件邏輯,靈活地修改優(yōu)先順序; 缺點是相對來說中斷的響應速度較慢。 中斷嵌套(多重中斷) 如果CPU在處理某一級中斷的過程中,又遇到了新的中斷請求,CPU暫停原中斷的處理,而轉去處理新的中斷,待處理完畢,再恢復原來中斷的處理,把這種中斷行為稱為多重中斷,也稱中斷嵌套,如圖9

34、-19所示。41對于多重中斷處理是:中斷哪段程序返回哪段程序。 簡而言之,中斷誰返回誰。 中斷屏蔽還有一個用處就是中斷升級。還以前面所舉的五級中斷為例,各中斷源的優(yōu)先級為12345 ,每個中斷源對應一個屏蔽碼,屏蔽碼為1表示中斷被屏蔽。根據(jù)多重中斷的處理原那么,屏蔽碼的設置如表9-2所示。 設先有中斷請求是1、2、4級。在執(zhí)行4級中斷效勞程序時,又有3級中斷請求。在執(zhí)行3級中斷效勞程序時,又有1、5級中斷請求。那么處理過程見圖所示。42表9-2 程序級別與屏蔽碼 程序級別屏蔽碼 1級 2級 3級 4級5級第一級 1 1 1 1 1第二級011 1 1第三級001 1 1第四級000 1 1第五

35、級0000 1 43 如優(yōu)先級為14325,那么對上述請求順序見表9-3所示。 表9-3 修改中斷處理次序屏蔽碼 程序級別屏蔽碼 1級 2級 3級 4級5級第一級 1 1 1 1 1第二級0100 1第三級011 0 1第四級01 1 1 1第五級0000 1 還是剛剛的中斷順序。那么處理過程見以下圖所示。44 補充二維中斷判優(yōu)結構,見以下圖所示。 CPU在執(zhí)行主程序時發(fā)生中斷請求是設備2,2。接著又有設備1,n,設備3,1同時發(fā)請求,在執(zhí)行設備3,1中斷效勞程序時,又發(fā)生設備2,3中斷請求,那么處理過程 45 9中斷響應的及時性 影響延遲時間的因素有以下四點: 一是指令的執(zhí)行時間。一般外部中

36、斷是在指令之間響應,如果指令系統(tǒng)中有執(zhí)行時間較長的指令,如x86平臺的MOVS指令,那么需要考慮提供在指令執(zhí)行過程中也可以對外部中斷請求予以響應的能力。 二是程序執(zhí)行環(huán)境的轉換的開銷,即保護斷點、現(xiàn)場和恢復斷點、46現(xiàn)場時CPU的開銷。 三是中斷效勞程序入口地址確實定方式。 四是中斷處理程序最好也安排在cache中,以便加快中斷處理。 總結:中斷過程大體上分為五個階段: 中斷請求 中斷判優(yōu) 中斷響應 中斷處理 中斷返回 設硬盤以4字塊(=16B)進行傳輸,速率為4MB/s,同樣沒有任何數(shù)據(jù)傳送被錯過。查詢速率應為4MB/16B=250K次才能保證沒有任何數(shù)據(jù)喪失。因此,每秒用于查詢的時鐘周期數(shù)

37、為250K400=100M,這占整個PE時鐘周期數(shù)為 100M /(500106)=20%。 假設使用中斷驅(qū)動I/O,傳送速率應到達4MB/16B=250K次中斷的速度,才能保證沒有任何數(shù)據(jù)喪失。設每次開銷(包括中斷響應和中斷處理的時間)為500個時鐘周期。如果硬盤僅占用PE5%的時間進行傳送,那么,PE用在數(shù)據(jù)傳送上所花的時間百分比是多少?47 每秒用于中斷的周期數(shù)為250K500=125106,在一次傳輸中所消耗的PE時間的百分比為125106 /(500106)= 25%。假定硬盤僅用其中5%的時間來傳送數(shù)據(jù),那么PE消耗的平均占用率為25%5%=1.25%。 由上面計算可知,在硬盤傳送

38、數(shù)據(jù)時,PE仍要花費多達25%的時間為硬盤效勞,使PE效率下降至75%。 例:下面是采用程序控制I/O方式從磁盤上輸出一組數(shù)據(jù)的控制程序,設主機執(zhí)行傳送、 測試、轉移及輸入/輸出指令的平均速度為100萬條/秒,問:從磁盤上讀出相鄰兩 個數(shù)據(jù)的最短允許時間間隔為多少?如果太短會發(fā)生什么問題? LOOP: INC STR ;啟動所選設備。 Wait: TSTB STR ;測試狀態(tài)存放器。 BPL Wait ;沒準備好那么繼續(xù)測試。 MOV (R1)+,DBR ;準備好,那么主存緩沖區(qū)數(shù)據(jù) 送接口,而后地址增值。 DEC R0 ;傳送數(shù)據(jù)個數(shù)計數(shù)器減1。 BNE LOOP ;結果0,那么準備下一個數(shù)

39、 據(jù)繼續(xù)傳送。48解: 由100萬條/秒指令知每條指令執(zhí)行時間為1s,該項循環(huán)為6條 指令,因此讀相鄰兩個數(shù)據(jù)的間隔最少為6 s,否那么讀盤時將會 喪失數(shù)據(jù)。499.5 DMA方式及其接口 無論程序查詢方式還是程序中斷方式,其主要工作都是CPU執(zhí)行程序完成的,這須要花費時間,因此不適應高速外設與主機的信息交換。 DMA方式是在外設和MM之間開辟一條“直接數(shù)據(jù)通道,在不需要CPU干預也不需要軟件介入的情況下在外設和MM之間進行高速數(shù)據(jù)傳送方式。在DMA傳送方式中,對數(shù)據(jù)傳送過程進行控制的硬件稱為DMAC。 當外設須要進行數(shù)據(jù)傳送時,通過DMAC向CPU發(fā)DMA傳送請求,CPU響應之后將讓出系統(tǒng)B

40、US,由DMAC接管BUS進行數(shù)據(jù)傳送。 用DMA方式進行高速設備的I/O操作中,有些環(huán)節(jié)是用程序查詢和中斷方式完成的。9.4.1 DMA方式的特點與應用場合: 它使MM與CPU的固定聯(lián)系脫鉤, MM既可被CPU訪問,也可被外設訪問。 50 在數(shù)據(jù)塊傳送時,MM地址確實定、傳送數(shù)據(jù)的計數(shù)等都由硬件電路直接實現(xiàn)。 在MM中要開辟專用緩沖區(qū),用時供給和接收外設的數(shù)據(jù)。 DMA傳送速度快,CPU和外設并行工作,提高了工作效率。 DMA在傳送開始前要通過程序進行預處理,結束后要通過中斷方式后處理。 DMA和中斷的區(qū)別: 中斷方式是程序切換,需要保護和恢復現(xiàn)場;而DMA除了開始和結束時,不占用CPU的任

41、何資源。 中斷請求的響應只能發(fā)生在每一條指令的完成時;對DMA請求響應可以發(fā)生在每個機器周期結束時。51 中斷傳送過程需要CPU干預;而DMA傳送過程不需要CPU干預,傳送速率非常高,適合于高速外設的成組數(shù)據(jù)傳送。 DMA請求BUS的優(yōu)級高于CPU;除斷電等特殊情況外,一般中斷優(yōu)先級低于CPU。 中斷具有對異常事件的處理能力;而DMA方式僅局限于完成傳送信息塊的I/O操作。9.4.2 DMA傳送方式 CPU停止法(成組傳送) CPU交出BUS控制權,停止訪問MM,直到DMA傳送一塊數(shù)據(jù)結束。 周期挪用(竊取,單字傳送) 由DMAC挪用一個MM 周期來訪問MM,傳送一個數(shù)據(jù)后立即釋放BUS。 交

42、替分時訪問 以上三種方式見圖。52圖9-21 DMA傳送方式 53 圖9.21(a)中,DMA訪存時,CPU根本上處于停止狀態(tài),使CPU工作受影響,MM周期沒有得到充分利用。但這種方法控制簡單,在傳輸率很高的外設實現(xiàn)成組傳送時比較適用。彌補CPU停止法的缺點的做法有兩個: 在DMA接口中引入緩沖器 在DMA接口中采用一個小容量的半導存儲器,使I/O設備先和小容量存儲器交換數(shù)據(jù),然后再使用BUS由小容量存儲器與MM進行交換數(shù)據(jù),以減少DMA傳送數(shù)據(jù)時占用BUS的時間,也就減少了CPU的等待時間。 采用周期挪用法 I/O設備要求進行DMA傳送時可能會遇到以下三種情況: CPU不需要訪問MM 例CP

43、U正在執(zhí)行乘法運算時,不訪問MM,可以進行DMA傳送不會與CPU發(fā)生沖突。 CPU正在訪問MM 必須等到存儲周期結束。 CPU也同時訪問MM DMA的BUS優(yōu)先權比CPU高。549.4.3 DMA接口的結構和功能 DMA傳送數(shù)據(jù)過程是由DMA接口的控制邏輯完成,一般把DMA接口中控制傳送的硬件邏輯稱為DMA控制器 (DMAC)。當CPU需要讀寫I/O時,它就把要把傳送的數(shù)據(jù)的個數(shù)、數(shù)據(jù)塊在MM的首址、數(shù)據(jù)傳送的方向(是讀還是寫)、設備的地址等參數(shù)送DMAC,然后發(fā)送一個命令給DMA接口,啟動外設進行數(shù)據(jù)傳送準備工作。在這些工作完成后,CPU繼續(xù)進行其他工作,而I/O設備和MM交換數(shù)據(jù)的事情就交

44、給了DMAC。圖給出了 DMA 接口的典型結構。9.4.4 DMAC的組成 存放器 MAR: 設備地址存放器(DAR) :該存放器用于存放I/O設備的設備碼,或者表示設備接口控制器上數(shù)據(jù)緩沖器的地址信息。 傳輸量計數(shù)器(WC): 控制與狀態(tài)存放器(CSR): 數(shù)據(jù)緩沖存放器(DBR):55 DMA控制邏輯 DMA控制邏輯負責完成DMA的預處理(初始化各類存放器)、接收設備控制器送來的DMA請求信號、向設備控制器答復DMA允許(應答)信號、向系統(tǒng)申請總線以及控制總線實現(xiàn)DMA傳輸控制等工作。 中斷控制邏輯 數(shù)據(jù)線、地址線和控制信號線圖9-22 DMAC框圖569.4.5 DMA控制方式的數(shù)據(jù)傳送

45、過程 DMA控制方式下的數(shù)據(jù)傳送過程可分為三個階段:圖9-23所示。 DMA傳送前的預處理 數(shù)據(jù)傳送 假設為輸入數(shù)據(jù) 從輸入設備接口控制器的數(shù)據(jù)緩沖存放器中讀入一個字到DMAC的數(shù)據(jù)緩沖存放器(DBR)中。如I/O設備是面向字符的,也就是一次讀入的數(shù)據(jù)為一個字節(jié),那么需將兩個字節(jié)的數(shù)據(jù)組成一個字。 DMAC將主存地址存放器(MAR)中的主存地址送入主存的地址存放器。 DMAC將數(shù)據(jù)緩沖存放器(DBR)中的數(shù)據(jù)送入主存的數(shù)據(jù)存放器中,并發(fā)出存儲器寫操作信號,將數(shù)據(jù)寫入主存單元。 將主存地址存放器(MAR)中的內(nèi)容加1或減1,以確定下一次交換數(shù)據(jù)的內(nèi)存單元的地址。將傳輸量計數(shù)器(WC)的內(nèi)容加1。

46、 判斷傳輸量計數(shù)器(WC)是否為溢出(高位有進位)狀態(tài),假設不是,說明還有數(shù)據(jù)需要傳送,準備下一字的輸入。假設傳輸量計數(shù)器57(WC)為溢出狀態(tài),說明一組數(shù)據(jù)已傳送完畢,置DMA操作結束標志并向CPU發(fā)中斷請求。 假設為輸出數(shù)據(jù) DMAC將MAR的地址送入MAR。 DMAC發(fā)出存儲器讀操作信號,以啟動主存的讀操作,將對應單元的內(nèi)容讀入主存的數(shù)據(jù)存放器中。 將主存數(shù)據(jù)存放器的內(nèi)容送到DMAC的數(shù)據(jù)緩沖存放器(DBR)中。 將數(shù)據(jù)緩沖存放器(DBR)的內(nèi)容送到輸出設備控制器的DBR中,假設為字符設備,那么需將DBR內(nèi)存放的字分解成字符后再輸出。 將MAR中的內(nèi)容+1或-1,以確定下一次交換數(shù)據(jù)的內(nèi)

47、存單元的地址。將傳輸量計數(shù)器(WC)的內(nèi)容+1。 判斷傳輸計數(shù)器(WC)是否為溢出(高位有進位)狀態(tài),假設不是,說明還有數(shù)據(jù)需要傳送,準備下一字的輸出。假設傳輸計數(shù)器(WC)為溢出狀態(tài),說明一組數(shù)據(jù)已傳送完畢,置DMA操作結束標志并向CPU發(fā)中斷請求。 DMA結束處理58圖9-23 DMA控制方式下的數(shù)據(jù)傳送過程5759(STB)(HEQ)(HLDA)(DACK)(DRQ) DMAC的功能 接受外設的DMA請求,并向CPU發(fā)BUS請求。 當CPU響應此BUS請求,發(fā)出BUS響應信號后,接管對BUS的控制,進入DMA操作周期; 確定傳送數(shù)據(jù)的MM單元地址及傳送長度,并能自動修改MM地址計數(shù)值和傳

48、送數(shù)據(jù)計數(shù)值; 規(guī)定數(shù)據(jù)MM與外設之間的傳送方向,發(fā)出R/W或其他控制信號,并執(zhí)行數(shù)據(jù)傳送的操作; 能確定傳送數(shù)據(jù)的字節(jié)個數(shù)。 60 向CPU報告DMA操作結束,引起一次DMA中斷,進行數(shù)據(jù)校驗等一些后處理。 例:設PE周期為500MHz,硬盤以4字塊傳輸,速率為 4MB/s,假定沒有任何數(shù)據(jù)傳輸被錯過。DMA初始化時花費了1000個時鐘周期,DMA中斷完成后的中斷處理需要花費500個時鐘周期。 如果從硬盤發(fā)出的平均每次傳輸量是8KB,硬盤進行傳送時間占100%(即硬盤一直在進行讀寫,并傳輸數(shù)據(jù)),那么具有500MHz的PE在硬盤I/O操作上的花銷是多少? 解:每個DMA傳送耗時=8KB/(4

49、MB/s)=2ms,硬盤一直在進行讀寫數(shù)據(jù)的話,PE每秒鐘將有103次DMA傳送。 因此,一秒鐘內(nèi)CPU花在DMA傳送上的開銷 = 103 (1000+500) =750 103 個周期來為硬盤初始化和DMA結束后的操作。所以,在硬盤I/O操作上PE花費的時間占 =750103 /(500106)=0.15%619.6 Channel和I/O處理器方式 概念 通道控制方式與DMA方式的區(qū)別 兩者主要區(qū)別如下: DMAC是通過專門設計的硬件控制邏輯來實現(xiàn)對數(shù)據(jù)傳送的控制;而通道那么是一個具有特殊功能的處理器,它具有獨立指令和程序,通過執(zhí)行通道程序來實現(xiàn)對數(shù)據(jù)傳送的控制,故通道具有更強的獨立處理數(shù)

50、據(jù)I/O的功能。 DMAC只能控制一臺或少數(shù)幾臺的同類的設備;而一個通道那么可以同時控制多臺同類或不同類的設備。 通道的功能 具有通道的計算機,從邏輯結構上講具有四級連接: 主機通道設備控制器外設。62 CPU對CH的控制通過 以下兩個途徑: 執(zhí)行I/O指令(這時管態(tài)指令)。當需要進行I/O操作時,CPU按約定的格式準備好指令和數(shù)據(jù),編制好CH程序,然后通過執(zhí)行I/O指令啟動CH。 處理來自CH的中斷請求。 通道大致應有以下幾個方面的功能: 接受CPU的I/O指令,按指令要求與指定的外設進行聯(lián)系。 從主存取出屬于該通道程序的通道指令,經(jīng)譯碼向設備控制器和設備發(fā)各種命令。 實施主存與各外設間的數(shù)

51、據(jù)傳送,如為主存或外設裝配和折卸信息,提供數(shù)據(jù)中間緩存以及指示數(shù)據(jù)在主存地址和傳送的數(shù)據(jù)量。 從外設獲取設備的狀態(tài)信息,形成并保存通道本身的狀態(tài)信息,根據(jù)要求將這些信息送到主存的指定單元,供CPU使用。 將外設的中斷請求和通道本身的中斷請求(屬于I/O請求)及時報告給CPU。 設備控制器的功能 Channel通過通道程序控制設備控制器進行數(shù)據(jù)傳送操作,并以63通道狀態(tài)字(CSW)來接收設備控制器反響的外設狀態(tài)。因此,設備控制器就是通道對外部設備實現(xiàn)傳送控制的執(zhí)行機構。 設備控制器的具體任務如下: 從通道接收控制信號,控制外設完成所要求的操作。 向通道反響外部設備的狀態(tài)。 將外部設備的各種不同信

52、號轉換成通道能識別的標準信號。 通道類型 按照通道獨立于主機的程度,可分為結合型通道和獨立型通道。 按照I/O信息傳送方式分三種類型: 字節(jié)多路通道 以字節(jié)交叉方式傳送信息。一個字節(jié)多路通道包括多個按字節(jié)方式傳送信息的子通道。每個子通道效勞于一個設備控制器,每個子通道都可以并行工作。但是,所有子通道的控制局部是公共的,各個子通道分時使用。其傳送方式見以下圖。64 選擇通道 又稱高速通道,在一段時間內(nèi),只能選擇一臺設備進行數(shù)據(jù)傳送,此時該設備獨占整個通道。因此,該通道一次只能執(zhí)行一個通道程序,只有當它與主存交換完信息后,才能再選擇另一臺外設并執(zhí)行該設備的通道程序。其傳送方式見右圖。子通道1子通道

53、2子通道365 數(shù)組多路通道 是將字節(jié)多路通道和選擇通道的特點結合起來的一種通道,根本思想是:當某個設備進行數(shù)據(jù)傳送時,通道只為這個設備效勞,當該設備在執(zhí)行輔助操作時,通道暫時斷開與這個設備的連接,掛起該通道程序,去為其他設備效勞。 數(shù)組多路通道有多個子通道,既可以像字節(jié)多路通道那樣執(zhí)行多路通道程序,實現(xiàn)所有子通道分時共享,又可以用選擇通道那樣的方式成組地傳送數(shù)據(jù);既有并行操作的能力,又具有很高的數(shù)據(jù)傳送速率,使得通道效率充分得到發(fā)揮。通過把多臺高速設備的輔助操作時間重疊起來,輪流為它們傳送定長的數(shù)據(jù)塊,實現(xiàn)多臺高速外設并行工作。 三種通道組織在一起,可配置假設干臺不同種類、不同速度的I/O設

54、備,使計算機的I/O組織更合理、功能更完善、管理更方便。以下圖為IBM4300的通道組織結構。6667圖9-26 通道的邏輯框圖68 通道程序 通道結構計算機中的I/O指令 CPU是通過執(zhí)行I/O指令以及來自通道的中斷,來實現(xiàn)對通道的管理的。 CPU運行操作系統(tǒng)管理程序時的狀態(tài)稱為管態(tài),具有通道結構的計算機中,I/O指令都是管態(tài)指令。在采用通道結構的計算機系統(tǒng)中,與輸入/輸出有關的指令分為兩級: CPU執(zhí)行的I/O指令 采用通道結構的計算機系統(tǒng)中,這種I/O指令比較簡單,它并不直接控制具體的I/O操作,只是負責通道的啟動和停止,查詢通道和設備的狀態(tài),控制通道去完成I/O操作。 如IBM4300

55、中主要有以下幾條I/O指令,用于對通道和設備進行管理: SIO:啟動I/O指令。 HIO:停止I/O指令。 TIO:測試I/O指令。 TCH:測試通道狀態(tài)指令。 69 通道執(zhí)行的通道指令 通道指令也就是CCW,用它來編制通道程序,并由管理程序存放在主存的任何地方。在主CPU啟動指定通道以后,通道將執(zhí)行通道程序來實現(xiàn)具體的I/O操作,直到組成程序的全部CCW執(zhí)行完畢時,這次I/O傳送就算完成了。 通道指令格式簡單,功能專一,一般帶有很強的面向外設的特征。 通道指令格式 以IBM4300的通道指令格式為例,見以下圖。 這是一個雙字長(64位)的指令,共分5個字段。 命令碼70 數(shù)據(jù)地址 通道指令字中的831位給出本次I/O傳送操作(讀、寫、反讀)時主存緩沖區(qū)的首地址。傳送過程中,每傳送一個字或字節(jié),數(shù)據(jù)地址修改一次。 傳送字節(jié)數(shù) 通道指令字中的4863位給出本次I/O傳送數(shù)據(jù)塊的長度,通常以字節(jié)為單位。傳送過程中,每傳送一個字節(jié),計數(shù)值減“1,或是計數(shù)值的補碼加“1,直到計數(shù)值全為“0時為止。 標志碼通道指令

溫馨提示

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

評論

0/150

提交評論