基礎:計算機是什麼

控制單元(control unit)

在我們那間單人工坊裡,控制單元就是那個讀著指令單、發號施令的老闆:打開這個抽屜、拿起那個零件、用這個工具、把結果放這裡。控制單元本身不做任何實際運算——它是指揮,不是樂團。它讀每一條指令,並一步一步、依正確順序決定處理器其他每個部件該做什麼。

機制上,控制單元提取當前指令(用程式計數器,它存著下一條指令的位址),解碼它以弄清楚意義,然後升起正確的控制訊號——告訴資料路徑要做哪種運算、讀哪個暫存器、要不要寫入記憶體、接下來去哪裡的開關線。對一條 add 指令,它告訴算術邏輯單元做加法,並把結果寫進暫存器;對一條分支,它可能改變程式計數器,讓下一條指令來自別處。

控制單元是處理器的兩半之一,另一半是它所指揮的資料路徑。它怎麼打造是個經典的設計抉擇:硬接線控制用固定邏輯,快但僵硬;微程式控制把步驟存在一塊微小的內部記憶體裡,較有彈性但較慢。無論哪種,它的工作都一樣——把每條指令變成讓機器其餘部分動起來的那串精確訊號。

對於「從記憶體載入一個值到暫存器」,控制單元發出訊號:在 ALU 算出位址、讀取那個記憶體位置、再把值寫進指名的暫存器——一條指令化成三道協調好的命令。

控制單元負責指揮,不負責運算。

控制單元發出訊號,但本身不做算術——那是資料路徑的工作。硬接線與微程式是打造它的兩種經典方式,在速度與彈性間取捨。

又称
CU控制器