跳轉到內容

微處理器設計/微程式碼

來自華夏公益教科書,開放書籍,開放世界
(重定向自 微處理器設計/微程式碼)

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中。


進一步閱讀

[編輯 | 編輯原始碼]


  • "維克托的驚人4位處理器"具有微程式碼,他說這些微程式碼 *可以* 用傳統二極體矩陣中的大約90個二極體來實現;但他使用一個快閃記憶體晶片來實現微程式碼,他可以用手動開關在電路中重新程式設計。
  • Dieter Mueller 的 MT15 使用電晶體而不是二極體在一個大的 AND-OR PLA(可程式設計邏輯陣列)矩陣中實現微程式碼。

參考文獻

[編輯 | 編輯原始碼]
  1. 美國專利 5050073. "用於減少計算微指令執行時間的微指令執行系統". 1987.
  2. Jonathan G. Campbell. "中央處理器 (CPU)" 2000.
  3. Patrick R. Schaumont. "硬體/軟體協同設計的實踐介紹". 2010.
  4. Govindarajalu. "計算機體系結構與組織:設計原理與應用". 2004.
  5. B. Govindarajalu. "計算機體系結構與組織,第二版" 2010.
  6. "ECOMIPS:FPGA上經濟的MIPS CPU設計",由 Xizhi Li 和 Tiecai Li 撰寫
  7. 維基百科:微程式碼#可寫入控制儲存器
華夏公益教科書