設計步驟:
1.設計機器的指令系統:指定指令類型,指令數量以及每條指令的格式和功能;
2.初步總體設計:如寄存器設置,總線配置,計算器設計,組件之間的連接關系等;
3.繪制指令流程圖:標出每個指令和每個組件的時間和操作;
4.安排操作時間表:即按照指令流程圖將每個操作分解為微操作,并按時間段列出機器應執行的微操作;
5.列出微操作信號表達式,簡化并實現電路。
基本組成:
1.指令寄存器用于存儲正在執行的指令。 該指令分為兩部分:操作碼和地址碼。 操作碼用于指示指令操作的性質,例如加減法; 地址碼給出指令的操作數地址或有關操作數地址形成的信息(此時,地址形成電路形成操作數地址)。 有一條稱為分支指令的指令,用于更改指令的正常執行順序。 該指令的地址代碼部分給出了要執行的指令的地址。
2.操作碼解碼器:用于解碼指令的操作碼,生成相應的控制級別,并完成分析指令的功能。
3.時序電路:用于產生時間標記信號。 在微型計算機中,時間標記信號通常為三個電平:指令周期,總線周期和時鐘周期。 微操作命令產生電路產生各種微操作命令,以完成指令指定的操作。 這些命令的主要依據是時間戳和指令的操作性質。 該電路實際上是每個微操作控制信號表達式的電路實現,并且是組合邏輯控制器中復雜的部分。
4.指令計數器:用于形成要執行的下一條指令的地址。 通常,指令被順序執行,并且指令被順序存儲在存儲器中。 因此,通常,要執行的下一條指令的地址可以通過在當前地址上加1來形成,并且微操作命令“ 1”用于此目的。 如果執行了一條分支指令,則下一條要執行的指令的地址就是該分支要轉移到的地址。 該地址位于分支指令的地址代碼字段中,并將其直接發送到指令計數器。
之所以提出微程序控制器,是因為組合邏輯設計具有設計不便,不靈活,修改和擴展的缺點。