控制器是計算機系統的指揮中心,控制器的主要功能有:
1)從主存中取出一條指令,並指出下一條指令在主存中的位置。
2)對指令進行譯碼或測試,產生相應的操作控制信號,以便啟動規定的動作。
3)指揮並控制CPU、主存、輸入和輸出設備之間的數據流動方向。
控制單元的輸入與輸出:
輸入:
(1)指令寄存器:OP(IR)一>CU控制信號的產生與操作碼有關
(2)時鍾:一個時鍾脈沖發一個操作命令或一組需要同時執行的操作命令
(3)標志:如條件轉移指令,根據相應的標志位決定下一步操作
(4)外來信號:如:中斷請求信號INTR 總線請求信號HRQ
輸出:
(1)CPU內部的控制信號:寄存器之間的數據傳輸、pc的修改、控制ALU進行相應的運算
(2)到控制總線的控制信號: 到存儲器:訪存控制信號、讀命令、寫命令 到I/O設備:訪問I/O設備的控制信號 中斷響應信號INTA、總線響應信號HLDA
硬布線原理:微操作控制信號由組合邏輯電路根據當前指令碼,狀態和時序,即時產生
時序控制方式:產生不同微操作命令序列所用的時序控制方式。
1.同步控制方式:整個系統所有的控制信號均來自一個統一的時鍾信號。優點是控制電路簡單,缺點是運行速度慢。
2.異步控制方式:不存在基准時標信號,各部件按自身固有的速度工作,通過應答方式進行聯絡。優點是運行速度快,缺點是控制電路比較復雜。
3·聯合控制方式:對各種不同的指令的微操作實行大部分采用同步控制、小部分采用異步控制的辦法。
安排微操作時序的原則
原則一:微操作的先后順序不得隨意更改
原則二:被控對象不同的微操作盡量安排在一個節拍內完成
原則三:占用時間較短的微操作盡量安排在一個節拍內完成
並允許有先后順序
微程序原理:將控制器所需的微命令以代碼形式編成微指令,存入一個由ROM構成的控制存儲器(CM)中。將各種機器指令的操作分解成若干微操作序列。每條微指令包含的微命令控制實現一步操作。若干條微指令組成一小段微程序,解釋執行一條機器指令。與存儲程序相類似的方法,解決微操作命令序列的形成。
將一條機器指令編寫成一個微程序,每一個微序包含若條微指令,每一條微指令對應一個或幾個微操作命令。然后把這些微程序存到一個控制存儲器中,用尋找用戶程序機器指令的方法來尋找每個微程序中的微指令。由於這些微指令是以二進制代碼形式表示的,每位代表一個控制信號(若該位為1,表示該控制信號有效;若該位為0,表示此控制信號無效),因此,逐條執行每一條微指令,也就相應地完成了一條機器指令的全部操作。
每一條機器指令都與一個以操作性質命名的微程序對應(例如:取指周期,間址周期,中斷周期,取數,存數,加法,跳轉等)
控制程序中的微程序個數是:取指,間接尋址,中斷控制的三個微程序加上對應的機器指令數
基本概念:
微命令<微指令<微程序=一條機器指令
微命令:控制部件通過控制線向執行部件發出各種控制命令,是最小單位。(相容性微命令/互斥性微命令)
微操作:執行部件接受微命令后所執行的操作
微指令:在機器的一個CPU周期中,一組實現一定操作功能的微命令的組合(微操作碼+微地址碼 00010000)
微程序:一條機器指令的功能是由許多條微指令組成的序列來實現的。例如:取指微指令(操作相同)
微命令與微操作:微命令是微操作的控制信號,徵操作是微命令的執行過程。
微指令與微周期:微指令是若干微命令的集合,微周期指從控制存儲器中讀取一條微指令並執行相應的微操作所需的時間。
主存儲器與控制存儲器:主存儲器用於存放程序和數據,在CPU外部,用RAM實現;控制存儲器(CM)用於存放微程序,在CPU內部,用ROM實現。
程序與微程序:程序是指令的有序集合,用於完成特定的功能;微程序是微指令的有序集合,一條指令的功能由一段微程序來實現
結構:
微地址形成部件:接收操作碼字段,產生初始微地址和后續微地址,保證微指令連續執行
順序邏輯:判斷是否按照微地址取微程序(轉移)輸入與微地址形成部件,微指令的下地址字段,時鍾以及外來的標志有關
CMAR微地址寄存器:用來存放欲讀出的微指令地址,二進制編碼
地址譯碼器:將地址碼轉換為存儲單元控制信號
控制存儲器(CM):存放各指令對應的微程序
CMDR微數據寄存器:用來存放從控存讀出的微指令
微指令的基本格式:操作控制字段+順序控制字段
操作控制字段:發出各種控制信號 順序控制字段:指出下條微指令的地址(簡稱下地址),以控制微指令序列的執行順序。
編碼方式:
1.直接編碼
每一位代表一個微操作命令。某位為“1"表示控制信號有效(如打開某個控制門),某位為“0"表示控制信號無效(如不打開某個控制門)優點:簡單、直觀,執行速度快,操作並行性好。缺點:微指令字長過長,n個微命令就要求微指令的操作字段有n位,造成控存容量極大。
2.字段直接編碼方式
這種方式就是將微指令的操作控制字段分成若干段,將一組互斥的微操作命令放在一個字段內,通過對這個字段譯馮,便可對應每一個微命令。優點:可以縮短微指令字長。缺點:要通過譯碼電路后再發出微命令,比直接編碼方式慢。
3.字段間接編碼方式:
一個字段的某些微命令需由另一個字段中的某些微命令來解釋,又稱隱式編碼。優點:可進一步縮短微指令字長。缺點:削弱了微指令的並行控制能力,作為字段直接編碼方式的一種輔助手段
微命令字段分段的原則:
1.互斥性微命令分在同一段內,相容性微命令分在不同段內。
2.每個小段中包含的信息位不能太多,否則將增加譯碼線路的復雜性和譯碼時間。
3.一般每個小段還要留出一個狀態表示木字段不發出任何微命令。因此,當某字段的長度為3位時,最多只能表示7個互斥的微命令,通常用000表示不操作。
微指令的地址形成方式
1.微指令的下地址字段指出微指令格式中設置一個下地址字段,由微指令的下地址字段直接指出后繼微指令的地址,這種方式又稱為斷定方式。
2.根據機器指令的操作碼形成當機器指令取至指令寄存器后,微指令的地址由操作碼經微地址形成部件形成。