設備控制器

設備控制器是計算機中的一個實體,其主要職責是控制一個或多個I/O設備,以實現I/O設備和計算機之間的數據交換。它是CPU與I/O設備之間的接口,它接收從CPU發來的命令,並去控制I/O設備工作,以使處理機從繁雜的設備控制事務中解脫出來。 設備控制器是一個可編址的設備,當它僅控制一個設備時,它只有一個唯一的設備地址;若控制可連線多個設備時,則應含有多個設備地址,並使每一個設備地址對應一個設備。 設備控制器的複雜性因不同設備而異,相差甚大,於是可把設備控制器分成兩類:一類是用於控制字元設備的控制器,另一類是用於控制塊設備的控制器。在微型機和小型機中的控制器,常做成印刷電路卡形式,因而也常稱為接口卡,可將它插入計算機。有些控制器還可以處理兩個、四個或八個同類設備。

設備控制器的基本功能

控制器的作用是控制和協調整個計算機的動作控制通常需要程式計數器(PC)、指令暫存器(IR)、指令解碼器(ID)、定時與控制電路以及脈衝源、中斷等共同完成。控制器由:指令暫存器Instruction Register、指令解碼器Instruction Decoder、定時與控制電路Programmable Logic Array、程式計數器Program Counter、標誌暫存器Flags Register、堆疊和堆疊指針Stack Pointer、暫存器組等構成。

接收和識別命令

設備控制器的組成 設備控制器的組成

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將本次傳送來的數據作廢,並重新進行一次傳送。這樣便可保證數據輸入的正確性。

設備控制器的組成

設備控制器與處理機的接口

該接口用於實現CPU與設備控制器之間的通信。共有三類信號線: 數據線、地址線和控制線。數據線通常與兩類暫存器相連線,第一類是數據暫存器(在控制器中可以有一個或多個數據暫存器,用於存放從設備送來的數據(輸入)或從CPU送來的數據(輸出));第二類是控制/狀態暫存器(在控制器中可以有一個或多個這類暫存器,用於存放從CPU送來的控制信息或設備的狀態信息)。

設備控制器與設備的接口

在一個設備控制器上,可以連線一個或多個設備。相應地,在控制器中便有一個或多個設備接口,一個接口連線一台設備。在每個接口中都存在數據、控制和狀態三種類型的信號。控制器中的I/O邏輯根據處理機發來的地址信號去選擇一個設備接口。

I/O邏輯

在設備控制器中的I/O邏輯用於實現對設備的控制。它通過一組控制線與處理機互動,處理機利用該邏輯向控制器傳送I/O命令;I/O邏輯對收到的命令進行解碼。每當CPU要啟動一個設備時,一方面將啟動命令傳送給控制器;另一方面又同時通過地址線把地址傳送給控制器,由控制器的I/O邏輯對收到的地址進行解碼,再根據所譯出的命令對所選設備進行控制。

相關詞條

相關搜尋

熱門詞條

聯絡我們