1. 程式人生 > >微程式控制器的組成及原理總結

微程式控制器的組成及原理總結

基本概念

這一部分像是微觀版本的計算機部件之間的關係縮影。在我們可見的模組關係中,主存,CPU之間的資料流,控制訊號的傳輸,指令的執行過程等都比較熟悉了。而在微程式控制這邊,很多設計思路是一脈相承的,在外部是儲存程式,在這裡是儲存邏輯,之所以叫邏輯,只是表達微程式更多是對控制訊號的作用。與硬佈線控制組合邏輯也形成對應。

核心思想是:把每條機器指令轉化為一段微程式,並把這段微程式存入控制儲存器(Control Memory)中,其中微操作訊號由微指令產生。

概念辨析

這裡有必要解釋一下幾個概念之間的關係:微程式,微指令,微操作,微命令。

首先,最大的是微程式這個概念,它是總的包工頭,承包的活是解釋一條機器指令。活拿到以後,將其分解為多個微指令,讓手下人去執行。每一條微指令呢,又可以分為一條或者多條微操作命令。

這裡可能又會有歧義,為什麼說微操作命令,這不是把概念融合了嗎?OK,這裡需要更加強調微命令與微操作的區別了。

微命令給人的第一直覺是不是靜態的,表達下達命令者的話語。而微操作是下面人根據命令做的具體的操作?
對的,就是這樣:微命令是微操作的控制訊號,微操作是微命令的執行過程

設計原則

另外在組合微命令的時候有一個設計原則:相容性的微命令放在不同組,互斥性的命令放在一組。相容性的微命令可以併發,你總不能讓一組的命令同時併發吧,這該引起多大的衝突!所以一組一次執行一個,不同組的可以並行執行。

微指令與微週期

微指令包含的資訊分為兩大部分:

  • 操作控制欄位:也叫微操作碼欄位,產生當前步需要的各種操作訊號
  • 順序控制欄位:也叫微地址碼欄位控制產生下一條要執行的微指令地址
    這裡的名字似乎可以對應到外部機器指令的構成,但是注意,這裡的核心任務是:控制!
    至於微週期:從CM中讀取一條微指令並執行相應微操作所需的時間。

辨析主存M和控存CM

主存用於儲存的是程式和資料,是在CPU外面的獨立的大部件,實現的材料是DRAM;而控存呢,是在CPU內部的,負責的是CPU內部指揮部的工作,實現的材料是ROM。

區分M和CM用到的暫存器

MAR:左護法,存放的是主存的讀/寫地址(指令或者資料);
CMAR:用於存放的是控存的讀/寫微指令的地址;
IR:用於存放從主存中讀取的指令;
CMDR/uIR:存放從控存中取出的微指令。

也就是CMDR和uIR不必兩個都有,只要一個就行了。

以上。