微指令或微代碼
微碼,也稱爲微指令或微代碼,是計算機體系結構中的一箇概念。它主要用於CISC(複雜指令集計算機)結構的處理器中,用於實現一些功能複雜的指令。這些複雜的指令被分解爲一系列相對簡單的指令,這些簡單的指令由處理器執行以完成原始複雜指令的功能。微碼通常駐留在高速存儲器中,如FLASH ROM,並且可以被更新以支持新硬件或修補bug。
微碼是計算機或處理器對硬件結構的一層抽象,它爲實現複雜機器指令的一種數據結構。它有助於將機器指令和底層電子器件分開,使得指令的設計和更改更加自由。微碼作爲機器指令和計算機初等變換之間的轉換層,控制着諸如門電路開關等專門動作,和組成一條指令的微操作的序列。
微碼與彙編語言不同,它比彙編語言更底層,與硬件有着更緊密的聯繫。對於同一產品系列的不同代產品,彙編語言可能完全相同,而微代碼可能有着巨大的區別,因爲微代碼完全依賴於芯片內部的硬件連接。微碼和彙編語言的關係類似於C語言與彙編語言的關係,即一條彙編語言可能生成一條或多條微代碼。
微碼的使用可以追溯到1951年,由英國的M.V.Wilkes引入,它是計算機工程學上的重大創新。它將計算機分爲兩個概念層:體系結構和實現。微碼的出現使得CPU的設計者可以通過寫一箇微程序的方式來實現一條機器指令,而不是設計電路來實現它,從而簡化了設計過程並降低了研發和調試的困難。