在我們進入執行一個指令的實際流程示範前,我們還必須了解微處理機的指令格式與記憶體位址解碼的原理。
微處理的指令
基本上一個微處理機的指令是由(運算碼)和(運算元)所組成,如下圖所示:


例如一個我設計的微處理機系統,若定義其指令格式如下:

現在舉一個實際例子,假設我執行以下指令:

- 上面我定義運算碼110是執行LOAD的動作。
記憶體位址解碼
好,接下來,何謂記憶體位址解碼? 記憶體位址就像是電腦記憶體中特定位置的唯一識別碼。這就像是數據的街道地址。當您想要儲存或檢索資訊時,您需要知道它位於電腦記憶體中的位置。記憶體位址以十六進位格式表示,CPU 在其操作過程中使用記憶體位址來取得和儲存記憶體中的資料。
我們以下圖來做說明:

- 將CPU的控制信號線連接到各個RAM,控制是執行Read(高態動作)或是Write(低態動作)。
- A9~A0共10位元的位址線,表示應有210 = 1024(bits)的位址空間,也就是1K的位址空間。
- 資料接腳D7 ~ D0也是並接到各記憶體RAM0 ~ 3。所以單顆RAM容量為1K(Byte)。4個就是4K(Byte)。
- 若要選擇對應的RAM,A11和A10透過解碼器,致能相關的RAM。
- CS' 接腳若為 1 表示記憶體不可動作,相對的,0 表示被致能,也就是可以動作。
- 例如CPU要將資料寫入記憶體RAM1中,必須致能RAM1的
CS' = 0
,而其餘RAM0、RAM2、RAM3的CS'
都為1。
- 例如CPU要將資料寫入記憶體RAM1中,必須致能RAM1的
解碼器的選擇動作如下:

解碼位址分配如下圖所示:

好,以上是一些"執行一個指令的實際流程"前該了解的相關知識,下一章節我們會進入主題。
本頻道持續更新中(內容涵蓋前端程式設計入門、大學必備程式設計入門、電子系專業課程入門、數學微積分題解)如果身旁有相關科系的學生,不妨推薦一下喔~
相信這裡會是家教或線上課程之外,高中、大學生系統性綜合學習的好選擇。
最後感謝您的觀看!