微處理器設計/微程式碼
外觀
< 微處理器設計
RISC單元通常比CISC單元更快、更高效。 出於這個原因,許多CISC處理器擁有複雜的指令解碼器,實際上將CISC機器碼轉換為稱為微程式碼的類似RISC的內部指令集。 然後,這些微程式碼被饋送到基於RISC設計的處理器的內部核心。
實現記憶體-記憶體體系結構CPU[需要引文] 的最常見方法(即使是單晶片微處理器,不僅僅是 線繞機)是使用一個小的“控制儲存器”ROM。 控制儲存器的輸出資料位被鎖存在微指令暫存器[1][2][3][4][5] 中(類似於從RAM獲取的指令被鎖存在指令暫存器中的方式)。 決定系統迴圈時間的時鐘訊號主要對微指令暫存器進行時鐘控制。 儲存在微指令暫存器中的位直接控制著CPU中發生的一切。(在一些處理器中,微指令暫存器是唯一與時鐘訊號相連的東西。 稍後我們將討論“流水線”,這是一種涉及與時鐘訊號相連的流水線暫存器的技術)。
微指令暫存器中的一些位僅僅驅動控制儲存器的一些地址位。 這些位——流水線暫存器的那個子欄位——有時被稱為“微程式計數器”,即使它僅僅是一個鎖存器——通常對控制儲存器進行程式設計,使得這些位在每個時鐘週期遞增,並在新的指令被載入到指令暫存器時復位為零。 指令暫存器直接驅動控制儲存器ROM的一些地址線。 控制儲存器ROM的另外一些地址線由狀態位驅動,如Z標誌位和C標誌位。
一些CPU,如ECOMIPS[6]、英特爾酷睿2和英特爾至強[7],使用“可寫微程式碼”——而不是將微程式碼儲存在ROM或硬連線邏輯中,而是將微程式碼儲存在一個稱為可寫控制儲存器或WCS的RAM中。
- "Viktor's Amazing 4-bit Processor" 的微程式碼,據他說,*可能*可以用傳統二極體矩陣中的大約90個二極體來實現; 但是他用一個Flash儲存器晶片實現了微程式碼,他可以使用手動開關在電路中重新程式設計。
- Dieter Mueller 的 MT15 使用電晶體而不是二極體在一個大的AND-OR PLA(可程式設計邏輯陣列)矩陣中實現微程式碼。
- ↑ 美國專利5050073。 "用於減少計算微指令執行時間的微指令執行系統"。 1987年。
- ↑ Jonathan G. Campbell。 "中央處理單元(CPU)" 2000年。
- ↑ Patrick R. Schaumont。 "硬體/軟體協同設計的實踐介紹"。 2010年。
- ↑ Govindarajalu。 "計算機體系結構與組織:設計原理與應用"。 2004年。
- ↑ B. Govindarajalu。 "計算機體系結構與組織,第2版" 2010年。
- ↑ "ECOMIPS:FPGA上的經濟型MIPS CPU設計",由李希芝和李鐵財撰寫。
- ↑ 維基百科:微程式碼#可寫控制儲存器