通道公用性

通道公用性

I/O通道是一種特殊的處理機,它具有執行 I/O 指令的能力,並通過執行通道(I/O)程式來控制 I/O 操作。由於通道價格昂貴,致使機器中所設定的通道數量必較少。通道公用性是指通道是指通道連線多個外部設備,每個設備可以分時或同時使用通道。主要與通道的類型有關。

簡介

在 I/O 控制方式的整個發展過程中,始終貫穿著這樣一條宗旨,即儘量減少主機對 I/O 控制的干預,把主機從繁雜的 I/O 控制事務中解脫出來,以便更多地去完成數據處理任務。通道的引入,使對 I/O 操作的組織和數據的傳送都能獨立地進行而無需 CPU 干預。通道公用性即I/O通道連線多個設備,通過設備控制器來選擇當前選擇哪一個設備進行I/O操作。通道具有公用性的理由有通道價格昂貴、為了提高I/O通道的利用率、和方便管理。

通道分類

根據信息交換方式,通道可分成位元組多路通道、選擇通道、成組多路通道3種類型。

位元組多路通道

位元組多路通道適用於連線印表機、終端等低速或中速的I/O設備。每個通道可以連線8、16、32個甚至更多的子通道。子通道所連線的I/O設備以位元組為單位經通道與記憶體交換數據。在一個子通道傳送一個位元組後,立即讓位於另一個子通道傳送下一個位元組。

選擇通道

位元組多路通道不適於連線高速設備,這推動了按成組方式進行數據傳送的選擇通道的形成。選擇通道適用於連線高速I/O設備,如磁帶、磁碟。選擇通道每次傳送一批數據,傳送速率很高。由於選擇通道只有一個分配型子通道,雖然這個子通道可以連線多台設備,但每次只能把子通道分配給一台設備使用。一旦分配給某台設備,子通道就被它獨占,即使暫時出現空閒.也不允許其他設備利用該子通道。直到它被釋放,再選擇另一台設備為其服務。所以這種通道的利用率並不高。

成組多路通道

成組多路通道綜合了位元組多路通道分時工作和選擇通道傳輸速率高的特點。它具有多個非分配型子通道,每個子通道連線一台中、高速I/O設備,因而通道所連線的幾個設備可並行工作,而且每台設備的數據傳送都是按成組方式進行的。因此,這種通道既具有很高的數據傳輸速率,又能獲得令人滿意的通道利用率。利用成組多路通道傳輸數據時,首先讓某台設備執行一條通道命令,傳送一批數據,然後再選擇另一台設備執行另一條通道命令,即幾台設備的通道程式都在同時執行中。但任何時刻,通道只能為一台設備的數據傳輸提供服務。因此成組多路通道技術相當於通道程式的多道程式設計技術 。

通道對設備控制器的管理

通道通過使用設備控制器進行數據傳送操作,並以通道狀態字接收設備控制器反映外圍設備的狀態。出此,設備控制器是通道對I/O設備實現傳輸控制的執行機構。設備控制器的具體任務如下:

(1)從通道接收通道指令,控制外圍設備完成所要求的操作。

(2)向通道反映外圍設備的狀態。

(3)將各種外圍設備的不向信號轉換成通道能夠識別的標準信號。

設備控制器

設備控制器是計算機中的一個實體, 其主要職責是控制一個或多個 I/O 設備, 以實現 I/O設備和計算機之間的數據交換。它是 CPU 與 I/O 設備之間的接口,它接收從 CPU 發來的命令,並去控制 I/O 設備工作,以使處理機從繁雜的設備控制事務中解脫出來。設備控制器是一個可編址的設備,當它僅控制一個設備時,它只有一個唯一的設備地址;若控制器可連線多個設備時,則應含有多個設備地址,並使每一個設備地址對應一個設備。設備控制器的基本功能如下:

接收和識別命令

CPU 可以向控制器傳送多種不同的命令,設備控制器應能接收並識別這些命令。為此,在控制器中應具有相應的控制暫存器,用來存放接收的命令和參數,並對所接收的命令進行解碼。例如,磁碟控制器可以接收 CPU 發來的 Read、Write、Format 等 15 條不同的命令,而且有些命令還帶有參數;相應地,在磁碟控制器中有多個暫存器和命令解碼器等。

數據交換

這是指實現 CPU 與控制器之間、控制器與設備之間的數據交換。對於前者,是通過數據匯流排,由 CPU 並行地把數據寫入控制器,或從控制器中並行地讀出數據;對於後者,是設備將數據輸入到控制器,或從控制器傳送給設備。為此,在控制器中須設定數據暫存器。

標識和報告設備的狀態

控制器應記下設備的狀態供 CPU 了解。例如,僅當該設備處於傳送就緒狀態時,CPU才能啟動控制器從設備中讀出數據。為此,在控制器中應設定一狀態暫存器,用其中的每一位來反映設備的某一種狀態。當 CPU 將該暫存器的內容讀入後,便可了解該設備的狀態。

地址識別

就像記憶體中的每一個單元都有一個地址一樣,系統中的每一個設備也都有一個地址,而設備控制器又必須能夠識別它所控制的每個設備的地址。此外,為使 CPU 能向(或從)暫存器中寫入(或讀出)數據,這些暫存器都應具有唯一的地址。例如,在 IB-MPC 機中規定,硬碟控制器中各暫存器的地址分別為 320~32F 之一。 控制器應能正確識別這些地址, 為此,在控制器中應配置地址解碼器。

數據緩衝

由於 I/O 設備的速率較低而 CPU 和記憶體的速率卻很高,故在控制器中必須設定一緩衝器。在輸出時,用此緩衝器暫存由主機高速傳來的數據,然後才以 I/O 設備所具有的速率將緩衝器中的數據傳送給 I/O 設備;在輸入時,緩衝器則用於暫存從 I/O 設備送來的數據,待接收到一批數據後,再將緩衝器中的數據高速地傳送給主機。

差錯控制

設備控制器還兼管對由 I/O 設備傳送來的數據進行差錯檢測。若發現傳送中出現了錯誤,通常是將差錯檢測碼置位,並向 CPU 報告,於是 CPU 將本次傳送來的數據作廢,並重新進行一次傳送。這樣便可保證數據輸入的正確性。

相關詞條

熱門詞條

聯絡我們