簡介
通道選擇器即選擇哪一個設備和哪一個通道進行I/O操作的設備控制器。由於通道價格昂貴,致使機器中所設定的通道數量勢必較少,這造成了I/O 的瓶頸。解決“瓶頸”問題的最有效的方法,便是增加設備到主機間的通路而不增加通道,換言之,就是把一個設備連線到多個控制器上,而一個控制器又連線到多個通道上。通道選擇器主要作用如下:1、提高系統吞吐量;提高了系統的可靠性,因為個別通道或控制器的故障不會使設備和存儲器之間沒有通路。
設備控制器
概述
設備控制器是計算機中的一個實體, 其主要職責是控制一個或多個 I/O 設備, 以實現 I/O設備和計算機之間的數據交換。它是 CPU 與 I/O 設備之間的接口,它接收從 CPU 發來的命令,並去控制 I/O 設備工作,以使處理機從繁雜的設備控制事務中解脫出來。
設備控制器是一個可編址的設備,當它僅控制一個設備時,它只有一個唯一的設備地址;若控制器可連線多個設備時,則應含有多個設備地址,並使每一個設備地址對應一個設備。
設備控制器的複雜性因不同設備而異,相差甚大,於是可把設備控制器分成兩類: 一類是用於控制字元設備的控制器,另一類是用於控制塊設備的控制器。在微型機和小型機中的控制器,常做成印刷電路卡形式,因而也常稱為接口卡,可將它插入計算機。有些控制器還可以處理兩個、四個或八個同類設備。
組成
現有的大多數控制器都是由以下三部分組成的。
1) 設備控制器與處理機的接口
該接口用於實現 CPU 與設備控制器之間的通信。共有三類信號線: 數據線、地址線和控制線。數據線通常與兩類暫存器相連線,第一類是數據暫存器(在控制器中可以有一個或多個數據暫存器,用於存放從設備送來的數據(輸入)或從 CPU 送來的數據(輸出));第二類是控制/狀態暫存器(在控制器中可以有一個或多個這類暫存器,用於存放從 CPU 送來的控制信息或設備的狀態信息)。
2) 設備控制器與設備的接口
在一個設備控制器上,可以連線一個或多個設備。相應地,在控制器中便有一個或多個設備接口,一個接口連線一台設備。在每個接口中都存在數據、控制和狀態三種類型的信號。控制器中的 I/O 邏輯根據處理機發來的地址信號去選擇一個設備接口。
3) I/O 邏輯
在設備控制器中的 I/O 邏輯用於實現對設備的控制。它通過一組控制線與處理機互動,處理機利用該邏輯向控制器傳送 I/O 命令; I/O 邏輯對收到的命令進行解碼。 每當 CPU 要啟動一個設備時,一方面將啟動命令傳送給控制器;另一方面又同時通過地址線把地址傳送給控制器, 由控制器的 I/O 邏輯對收到的地址進行解碼, 再根據所譯出的命令對所選設備進行控制。設備控制器的組成示於圖中
通道類型
通道是用於控制外圍設備(包括字元設備和塊設備)的。由於外圍設備的類型較多,且其傳輸速率相差甚大,因而使通道具有多種類型。這裡,根據信息交換方式的不同,可把通道分成以下三種類型:
位元組多路通道(Byte Multiplexor Channel)
這是一種按位元組交叉方式工作的通道。它通常都含有許多非分配型子通道,其數量可從幾十到數百個,每一個子通道連線一台 I/O 設備,並控制該設備的 I/O 操作。這些子通道按時間片輪轉方式共享主通道。 當第一個子通道控制其 I/O 設備完成一個位元組的交換後, 便立即騰出主通道,讓給第二個子通道使用;當第二個子通道也完成一個位元組的交換後,同樣也把主通道讓給第三個子通道;依此類推。當所有子通道輪轉一周后,重又返回來由第一個子通道去使用位元組多路主通道。這樣,只要位元組多路通道掃描每個子通道的速率足夠快,而連線到子通道上的設備的速率不是太高時,便不致丟失信息。
數組選擇通道(Block Selector Channel)
位元組多路通道不適於連線高速設備,這推動了按數組方式進行數據傳送的數組選擇通道的形成。這種通道雖然可以連線多台高速設備,但由於它只含有一個分配型子通道,在一段時間內只能執行一道通道程式,控制一台設備進行數據傳送,致使當某台設備占用了該通道後,便一直由它獨占,即使是它無數據傳送,通道被閒置,也不允許其它設備使用該通道,直至該設備傳送完畢釋放該通道。可見,這種通道的利用率很低。
數組多路通道(Block Multiplexor Channel)
數組選擇通道雖有很高的傳輸速率,但它卻每次只允許一個設備傳輸數據。數組多路通道是將數組選擇通道傳輸速率高和位元組多路通道能使各子通道(設備)分時並行操作的優點相結合而形成的一種新通道。它含有多個非分配型子通道,因而這種通道既具有很高的數據傳輸速率,又能獲得令人滿意的通道利用率。也正因此,才使該通道能被廣泛地用於連線多台高、中速的外圍設備,其數據傳送是按數組方式進行的。