控制器檢視原始碼討論檢視歷史
控制器( controller ),分組合邏輯控制器和微程序控制器,兩種控制器各有長處和短處。組合邏輯控制器設計麻煩,結構複雜,一旦設計完成,就不能再修改或擴充,但它的速度快。微程序控制器設計方便,結構簡單,修改或擴充都方便,修改一條機器指令的功能,只需重編所對應的微程序;要增加一條機器指令,只需在控制存儲器中增加一段微程序,但是,它是通過執行一段微程。具體對比如下:組合邏輯控制器又稱硬布線控制器,由邏輯電路構成,完全靠硬件來實現指令的功能[1]。
基本功能
數據交換:
這是指實現CPU與控制器之間、控制器與設備之間的數據交換。對於前者,是通過數據總線,由CPU並行地把數據寫入控制器,或從控制器中並行地讀出數據;對於後者,是設備將數據輸入到控制器,或從控制器傳送給設備。為此,在控制器中須設置數據寄存器。
數據緩衝:
由於I/O設備的速率較低而CPU和內存的速率卻很高,故在控制器中必須設置一緩衝器。在輸出時,用此緩衝器暫存由主機高速傳來的數據,然後才以I/O設備所具有的速率將緩衝器中的數據傳送給I/O設備;在輸入時,緩衝器則用於暫存從I/O設備送來的數據,待接收到一批數據後,再將緩衝器中的數據高速地傳送給主機。
地址識別:
就像內存中的每一個單元都有一個地址一樣,系統中的每一個設備也都有一個地址,而設備控制器又必須能夠識別它所控制的每個設備的地址。此外,為使CPU能向(或從)寄存器中寫入(或讀出)數據,這些寄存器都應具有唯一的地址。
狀態說明:
標識和報告設備的狀態控制器應記下設備的狀態供CPU了解。例如,僅當該設備處於發送就緒狀態時,CPU才能啟動控制器從設備中讀出數據。為此,在控制器中應設置一狀態寄存器,用其中的每一位來反映設備的某一種狀態。當CPU將該寄存器的內容讀入後,便可了解該設備的狀態。
差錯控制:
設備控制器還兼管對由I/O設備傳送來的數據進行差錯檢測。若發現傳送中出現了錯誤,通常是將差錯檢測碼置位,並向 CPU報告,於是CPU將本次傳送來的數據作廢,並重新進行一次傳送。這樣便可保證數據輸入的正確性。
接收和識別命令:
CPU可以向控制器發送多種不同的命令,設備控制器應能接收並識別這些命令。為此,在控制器中應具有相應的控制寄存器,用來存放接收的命令和參數,並對所接收的命令進行譯碼。例如,磁盤控制器可以接收CPU發來的Read、Write、Format等15條不同的命令,而且有些命令還帶有參數;相應地,在磁盤控制器中有多個寄存器和命令譯碼器等[2]。
視頻
控制器 相關視頻
參考文獻
- ↑ 組合邏輯控制器和微程序控制器各有長處和短處,天涯社區,2011-3-14
- ↑ 設備控制器基本功能,電子說,2018-11-24