接續前一章節,我們繼續討論剩餘未講的硬體單元。
CPU
CPU,或是我們稱為微處理機,內部須包含控制單元、算術邏輯單元、與許多的暫存器,才能達成執行指令與控制整個系統的功能。

算數邏輯單元
可以據指令的要求對暫存器的資料進行算術運算(加、減、乘、除)、邏輯運算(AND、OR、XOR、NOT等)、移位運算(左移、又移)和比較運算(大於、小於、等於)控制單元
負責指令的解碼和整體電路的控制。
暫存器
主要作為暫存電腦的指令、資料、位址。
以下是一些暫存器的介紹:
- 旗標暫存器:用來存放算數邏輯單元運算後的狀態,所以也可以說是顯示CPU的狀態,例如運算結果是否為0、是否溢位、是否進位等。
- 程式計數器(簡稱PC): 用來存放下一個要執行指令所在的記憶體位址,CPU會依據PC所指的記憶體位址提取指令、並準備一連串動作進行執行指令的工作。
- 位址暫存器(簡稱MAR): 存放程式計數器即將要送至外部記憶體解碼電路的位址,另外,執行指令時,如果要處理的資料位於記憶體中,其所在位址會存放到位址暫存器,當然,若是有時運算結果需要寫入記憶體中,會將目的位址送至MAR, 並有待後續寫入訊號觸發,配合資料暫存器寫入或回存結果。
- 資料暫存器(簡稱MDR): 存放MAR所指位置的指令內容,再放入指令暫存器中等待解碼。另外,有時指令會需要提取運算元,透過配合MAR所指的位址,等待控制信號去讀取MAR所指位址的運算元至MDR中,當然,若是有時運算結果需要寫入記憶體中,會將目的位址送至MAR, 並有待後續寫入訊號觸發,將資料暫存器裡的內容寫入或回存結果。
- 指令暫存器(簡稱IR): 由記憶體提取的指令通常會暫放到指令序列,並經由指令序列放到IR,指令序列的結構是佇列,遵循先進先出的特性,也就是說,先放進指令序列的指令,優先放到IR。最終送到指令解碼器(簡稱ID)解碼,解碼出數個微碼,再送至控制信號電路產生控制信號控制外部電路,依序執行完這些微運算就可以完成指令的動作。
舉個例子,在8086微處理機中,以BIU和EU兩個單元,將提取工作與執行工作以兩個獨立單元分開處理,兩個單元同時處理,當在執行第一道指令,可同時提取第二道指令。也就是說,當EU在執行指令時,BIU並沒有閒置,兩個單元同時動作,達到(管線式)重疊指令週期的效果,這樣就高了CPU的運作速度。
下面圖片舉80286微處理機指令執行程序:

匯流排
透過匯流排對外界電路做控制或是溝通,匯流排可分為三種:
- 資料匯流排: 用來與記憶體、暫存器或輸出入單元(I/0)之間傳送資料的雙向匯流排。總歸來說,是CPU用來傳送資料的通路,通常我們所謂的(N位元處理器)就是以CPU擁有(N條資料匯流排)來定義的。
- 位址匯流排: 是從CPU輸出的單向匯流排,通常輸出至記憶體的解碼電路,其線路的多寡也會配合資料線數決定可以定址記憶體空間大小。若CPU有n條位址線、N條資料線,則最大可定址的記憶體空間大小為:

- 控制匯流排: CPU使用它來與其他裝置溝通。當中央處理器正與位址匯流排上搭載資訊所指的裝置溝通,而數據匯流排搭載著要被處理的數據,控制匯流排則是搭載著中央處理器發出的命令和裝置所回應的狀態信號,舉例來說,假如數據想要被讀取或寫入裝置,相對應的訊號線(讀取或寫入)將被致能。也就是說,所溝通的裝置對象會接受由CPU送來的控制信號。進而觸發相對應的動作
本章節先介紹到這邊,本章節較多文字敘述,不過卻都是必須要知道的知識。
本頻道持續更新中(內容涵蓋前端程式設計入門、大學必備程式設計入門、電子系專業課程入門、數學微積分題解)如果身旁有相關科系的學生,不妨推薦一下喔~
相信這裡會是家教或線上課程之外,高中、大學生系統性綜合學習的好選擇。
最後感謝您的觀看!