什麼是微程式控制器操作?


微程式控制器也被設計為有限狀態機。考慮圖中所示的通用微程式控制器。暫存器儲存一個值,該值對應於CPU狀態圖中的一個狀態。它用作微程式碼儲存器的輸入地址。該儲存器輸出微指令,即該地址的儲存位置的內容。

微指令由多個位欄位組成,可以將其分解為兩組。第一組是微操作。這些訊號從微程式控制器輸出到CPU的其餘部分。微指令的第二組位用於生成要儲存在暫存器中的下一個地址(微程式控制器的順序部分)。

這些位以及指令操作碼和標誌值作為輸入提供給組合邏輯,組合邏輯生成下一條微指令的地址。這類似於在狀態圖中從一個狀態轉換到另一個狀態。微程式控制器根據其當前狀態及其輸入值進行此轉換。

微程式控制器可以遵循設計人員希望使用的任何地址序列,但生成這些地址只有幾種標準方法。微程式控制器的“生成下一個地址”塊通常生成所有可能的下一個地址,然後選擇正確的下一個地址傳遞給暫存器。

下一個地址的一個可能值是微程式碼儲存器中的下一個地址,即當前地址加1。典型的高階語言計算機程式具有按順序執行的語句塊。微程式碼例程通常也佔用微程式碼儲存器中的連續位置。這提高了可讀性,並使微程式的除錯更容易。在許多CPU中,構成獲取例程和每個單獨執行例程的微指令都儲存在連續的位置。

微程式控制器通常使用並行加法器來生成當前地址加1的值作為可能的下一個地址。例如,在每個執行例程結束時,微程式控制器必須跳轉回獲取例程的開頭。跳轉還可以用於更有效地利用微程式碼儲存器。

每個微程式控制器都必須能夠訪問正確的執行例程。微程式控制器使用對映邏輯來執行此功能。獲取指令的操作碼作為輸入提供給對映硬體,該硬體將此操作碼轉換為指令執行例程的第一條微指令的地址。

透過將其地址載入到其暫存器中,微程式控制器分支到正確的執行例程。對映硬體僅在CPU的獲取週期結束時使用一次。

當幾個指令必須執行相同的微操作序列作為其執行的一部分時,該序列可以實現為微子程式。呼叫微子程式時,地址由微程式碼儲存器指定為絕對地址,就像跳轉一樣。返回地址(當前地址加1)儲存在微子程式暫存器或硬體堆疊中。

更新於:2021年7月27日

390 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.