id

指令解碼器

指令解碼器(Instruction Decoder,ID)是控制器中的主要部件之一。計算機能且只能執行“指令”。指令由操作碼和地址碼組成。操作碼表示要執行的操作性質,即執行什麼操作,或做什麼;地址碼是操作碼執行時的操作對象的地址。計算機執行一條指定的指令時,必須首先分析這條指令的操作碼是什麼,以決定操作的性質和方法,然後才能控制計算機其他各部件協同完成指令表達的功能。這個分析工作由指令解碼器來完成。指令執行通過控制部件進行指令解碼,標量指令由標量處理機執行向量指令各Cache控制器監聽匯流排所有操作,並對操作做相應處理(修改或作廢),如MESI協議。

指令


計算機指令通常由 操作碼和 地址碼兩部分組成:
操作碼:指明計算機執行的某種操作的性質和功能;
地址碼:指出被操作的數據(簡稱操作數)存放在何處,即指明操作數地址,有的指令格式允許其他地址碼部分就是操作數本身。

解碼器


解碼器是組合邏輯電路的一個重要的器件,其可以分為:變數解碼和顯示解碼兩類。
變數解碼:一般是一種較少輸入變為較多輸出的器件,一般分為2n解碼和8421BCD碼解碼兩類。
顯示解碼:主要解決二進位數顯示成對應的十、或十六進位數的轉換功能,一般其可分為驅動LED和驅動LCD兩類。
解碼是編碼的逆過程,在編碼時,每一種二進位代碼,都賦予了特定的含義,即都表示了一個確定的信號或者對象。把代碼狀態的特定含義“翻譯”出來的過程叫做解碼,實現解碼操作的電路稱為解碼器。或者說,解碼器是可以將輸入二進位代碼的狀態翻譯成輸出信號,以表示其原來含義的電路。
根據需要,輸出信號可以是脈衝,也可以是高電平或者低電平。

過程


計算機執行指令時,從內存中取出的一條指令經數據匯流排送往指令寄存器中。指令的操作碼被送到指令解碼器中解碼,地址碼則送到地址形成部件。地址形成部件根據指令特徵將地址碼形成有效地址,送往主存的地址寄存器。對於轉移指令,要將形成的有效轉移地址送往程序計數器中,實現程序的轉移。操作控制器根據指令解碼器對於指令操作碼的解碼,產生出實現指令功能所需要的全部動作的控制信號。這些控制信號按照一定的時間順序發往各個部件,控制各部件的動作。