通道數據選擇器

通道數據選擇器

數據選擇器(data selector) 根據給定的輸入地址代碼,從一組輸入信號中選出指定的一個送至輸出端的組合邏輯電路。通道數據選擇器是指數據選擇器在通道所連線的設備中選擇一個設備進行I/O操作。數據選擇器屬於一種設備控制器。

簡介

通道數據選擇器是指數據選擇器在通道所連線的設備中選擇一個設備進行I/O操作。因為通道價格昂貴,致使機器中所設定的通道數量勢必較少,因此為了提高整個系統吞吐量和通道的利用率,一個通道通常連線多個外部設備。例如在 數組多路通道(Block Multiplexor Channel),通道數據選擇器就是根據地址代碼選擇一個設備進行數據傳送操作。

I/O 通道

I/O 通道是一種特殊的處理機,它具有執行 I/O 指令的能力,並通過執行通道(I/O)程式來控制 I/O 操作。 但 I/O 通道又與一般的處理機不同, 主要表現在以下兩個方面: 一是其指令類型單一, 這是由於通道硬體比較簡單, 其所能執行的命令主要局限於與 I/O 操作有關的指令;二是通道沒有自己的記憶體,通道所執行的通道程式是放在主機的記憶體中的,換言之,是通道與 CPU 共享記憶體。常見的通道有數組選擇通道(Block Selector Channel),數組多路通道(Block Multiplexor Channel),位元組多路通道(Byte Multiplexor Channel),這些通道中都有通道數據選擇器。

位元組多路通道

這是一種按位元組交叉方式工作的通道。它通常都含有許多非分配型子通道,其數量可從幾十到數百個,每一個子通道連線一台 I/O 設備,並控制該設備的 I/O 操作。這些子通道按時間片輪轉方式共享主通道。 當第一個子通道控制其 I/O 設備完成一個位元組的交換後, 便立即騰出主通道,讓給第二個子通道使用;當第二個子通道也完成一個位元組的交換後,同樣也把主通道讓給第三個子通道;依此類推。當所有子通道輪轉一周后,重又返回來由第一個子通道去使用位元組多路主通道。這樣,只要位元組多路通道掃描每個子通道的速率足夠快,而連線到子通道上的設

數組選擇通道

位元組多路通道不適於連線高速設備,這推動了按數組方式進行數據傳送的數組選擇通道的形成。這種通道雖然可以連線多台高速設備,但由於它只含有一個分配型子通道,在一段時間內只能執行一道通道程式,控制一台設備進行數據傳送,致使當某台設備占用了該通道後,便一直由它獨占,即使是它無數據傳送,通道被閒置,也不允許其它設備使用該通道,直至該設備傳送完畢釋放該通道。可見,這種通道的利用率很低。備的速率不是太高時,便不致丟失信息。

數組多路通道

數組選擇通道雖有很高的傳輸速率,但它卻每次只允許一個設備傳輸數據。數組多路通道是將數組選擇通道傳輸速率高和位元組多路通道能使各子通道(設備)分時並行操作的優點相結合而形成的一種新通道。它含有多個非分配型子通道,因而這種通道既具有很高的數據傳輸速率,又能獲得令人滿意的通道利用率。也正因此,才使該通道能被廣泛地用於連線多台高、中速的外圍設備,其數據傳送是按數組方式進行的。

設備控制器

設備控制器是計算機中的一個實體, 其主要職責是控制一個或多個 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 將本次傳送來的數據作廢,並重新進行一次傳送。這樣便可保證數據輸入的正確性。

相關詞條

熱門詞條

聯絡我們