控制器是指按照預(yù)定順序改變主電路或控制電路的接線和改變電路中電阻值來(lái)控制電動(dòng)機(jī)的啟動(dòng)、調(diào)速、制動(dòng)和反向的主令裝置。由程序計(jì)數(shù)器、指令寄存器、指令譯碼器、時(shí)序產(chǎn)生器和操作控制器組成,它是發(fā)布命令的“決策機(jī)構(gòu)”,即完成協(xié)調(diào)和指揮整個(gè)計(jì)算機(jī)系統(tǒng)的操作。 控制器基本功能
數(shù)據(jù)緩沖:由于I/O設(shè)備的速率較低而CPU和內(nèi)存的速率卻很高,故在控制器中必須設(shè)置一緩沖器。在輸出時(shí),用此緩沖器暫存由主機(jī)高速傳來(lái)的數(shù)據(jù),然后才以I/O設(shè)備所具有的速率將緩沖器中的數(shù)據(jù)傳送給I/O設(shè)備;在輸入時(shí),緩沖器則用于暫存從I/O設(shè)備送來(lái)的數(shù)據(jù),待接收到一批數(shù)據(jù)后,再將緩沖器中的數(shù)據(jù)高速地傳送給主機(jī)。
狀態(tài)說(shuō)明:標(biāo)識(shí)和報(bào)告設(shè)備的狀態(tài)控制器應(yīng)記下設(shè)備的狀態(tài)供CPU了解。例如,僅當(dāng)該設(shè)備處于發(fā)送就緒狀態(tài)時(shí),CPU才能啟動(dòng)控制器從設(shè)備中讀出數(shù)據(jù)。為此,在控制器中應(yīng)設(shè)置一狀態(tài)寄存器,用其中的每一位來(lái)反映設(shè)備的某一種狀態(tài)。當(dāng)CPU將該寄存器的內(nèi)容讀入后,便可了解該設(shè)備的狀態(tài)。
接收和識(shí)別命令:CPU可以向控制器發(fā)送多種不同的命令,設(shè)備控制器應(yīng)能接收并識(shí)別這些命令。為此,在控制器中應(yīng)具有相應(yīng)的控制寄存器,用來(lái)存放接收的命令和參數(shù),并對(duì)所接收的命令進(jìn)行譯碼。例如,磁盤(pán)控制器可以接收CPU發(fā)來(lái)的Read、Write、Format等15條不同的命令,而且有些命令還帶有參數(shù);相應(yīng)地,在磁盤(pán)控制器中有多個(gè)寄存器和命令譯碼器等。
差錯(cuò)控制:設(shè)備控制器還兼管對(duì)由I/O設(shè)備傳送來(lái)的數(shù)據(jù)進(jìn)行差錯(cuò)檢測(cè)。若發(fā)現(xiàn)傳送中出現(xiàn)了錯(cuò)誤,通常是將差錯(cuò)檢測(cè)碼置位,并向 CPU報(bào)告,于是CPU將本次傳送來(lái)的數(shù)據(jù)作廢,并重新進(jìn)行一次傳送。這樣便可保證數(shù)據(jù)輸入的正確性。
數(shù)據(jù)交換:這是指實(shí)現(xiàn)CPU與控制器之間、控制器與設(shè)備之間的數(shù)據(jù)交換。對(duì)于前者,是通過(guò)數(shù)據(jù)總線,由CPU并行地把數(shù)據(jù)寫(xiě)入控制器,或從控制器中并行地讀出數(shù)據(jù);對(duì)于后者,是設(shè)備將數(shù)據(jù)輸入到控制器,或從控制器傳送給設(shè)備。為此,在控制器中須設(shè)置數(shù)據(jù)寄存器。
地址識(shí)別:就像內(nèi)存中的每一個(gè)單元都有一個(gè)地址一樣,系統(tǒng)中的每一個(gè)設(shè)備也都有一個(gè)地址,而設(shè)備控制器又必須能夠識(shí)別它所控制的每個(gè)設(shè)備的地址。此外,為使CPU能向(或從)寄存器中寫(xiě)入(或讀出)數(shù)據(jù),這些寄存器都應(yīng)具有weiyi的地址。