8 计算机组成原理第五章 中央处理器 控制器 硬布线控制器 微程序控制器
文章目錄
- 1 控制器的功能和工作原理
- 1.1 控制器的結構和功能
- 1.2 控制單元的輸入和輸出
- 1.2.1 控制單元輸入
- 1.2.2 控制單元輸出
- 2 硬布線控制器
- 2.1 CPU的控制方式
- 2.2 安排微操作時序的原則(最短時間完成,參考)
- 2.2.1 安排微操作時序-取指周期
- 2.2.2 安排微操作時序-間址周期
- 2.2.3 安排微操作時序-執行周期
- 2.2.4 安排微操作時序-中斷周期
- 2.3 組合邏輯設計
- 2.4 硬布線控制器小結
- 3 微程序控制器
- 3.1 微程序的基本思想
- 3.2 微程序控制器的基本結構
- 3.2.1 控制寄存器
- 3.3 微指令格式
- 3.4 微指令的編碼方式(重點)
- 3.4.1 直接編碼(直接控制)方式
- 3.4.2 字段直接編碼方式(最重)
- 3.4.3 字段間接編碼方式
- 3.5 微指令的地址形成方式
- 3.5.1 微指令的地址形成方式-斷定方式
- 3.6 微程序控制的基本概念
- 3.7 微程序控制單元的設計
- 3.8 微程序設計分類
- 3.9 硬布線與微程序的比較
- 3.10 微程序控制器小結
1 控制器的功能和工作原理
1.1 控制器的結構和功能
以上過程控制器無非就是取指令、分析指令、以及產生響應的控制信號執行指令的過程
控制器是計算機系統的指揮中心,控制器的主要功能有:
1.2 控制單元的輸入和輸出
1.2.1 控制單元輸入
OP(IR)→CU
控制信號的產生與操作碼有關
一個時鐘脈沖發一個操作命令或一組需要同時執行的操作命令
如條件轉移指令,根據相應的標志位決定下一步操作
如:中斷請求信號INTR
總線請求信號HRQ
1.2.2 控制單元輸出
寄存器之間的數據傳輸、PC的修改、控制ALU進行相應的運算
到存儲器:訪存控制信號MREQ、讀命令RD、寫命令WR
到I/O設備:訪問I/O設備的控制信號IO
中斷響應信號INTA、總線響應信號HLDA
2 硬布線控制器
時鐘通過節拍發生器產生的多個有先后順序的節拍信號:
- 關于機器周期:機器周期可看做所有指令執行過程中的一個基準時間。
- 通常以存取周期作為基準時間,即機器周期。
- 在存儲字長等于指令字長的前提下,取指周期也可看做機器周期。
硬布線控制器設計步驟:
2.1 CPU的控制方式
CPU的控制方式:產生不同微操作命令序列所用的時序控制方式。
- 整個系統所有的控制信號均來自一個統一的時鐘信號。
- 通常以最長的微操作序列和最煩瑣的微操作作為標準,采取完全統一的、具有相同時間間隔和相同數目的節拍作為機器周期來運行不同的指令。
- 同步控制方式的優點是控制電路簡單,缺點是運行速度慢。
- 異步控制方式不存在基準時標信號。
- 各部件按自身固有的速度工作,通過應答方式進行聯絡。
- 異步控制方式的優點是運行速度快,缺點是控制電路比較復雜。
- 對各種不同的指令的微操作實行大部分采用同步控制、小部分采用異步控制的辦法。
現在我們假設采用同步控制方式,一個機器周期內安排3個節拍(時鐘周期)來實現設計
2.2 安排微操作時序的原則(最短時間完成,參考)
2.2.1 安排微操作時序-取指周期
(1)PC→MAR
(2)1→R 存儲器空閑即可
(3)M(MAR)→MDR 在(1)之后
(4)MDR→IR 在(3)之后
(5)OP(IR)→ID 在(4)之后
(6)(PC)+1>→PC 在(1)之后
根據三個原則,可以以下安排:
(4)(5)兩個微操作占用時間較短,根據原則三安排在一個節拍
沒有相關性的微操作,可以安排在同一個時鐘周期內完成
2.2.2 安排微操作時序-間址周期
(1)Ad(IR)→MAR
(2) 1→R
(3)M(MAR)→MDR
(4) MDR→Ad(IR)
根據三個原則,可以以下安排:
2.2.3 安排微操作時序-執行周期
2.2.4 安排微操作時序-中斷周期
(1)a→MAR
(2)1→W 存儲器空閑即可
(3)0→EINT 硬件關中斷
(4)(PC)→MDR 保存斷點內部數據通路空閑即可
(5)MDR→M(MAR) 在(4)之后
(6)向量地址→PC 在(4)之后
根據三個原則,可以以下安排:
這些操作由中斷隱指令完成
注:中斷隱指令不是一條指令,而是指一條指令的中斷周期由硬件完成的一系列操作。
中斷周期的三個任務:
2.3 組合邏輯設計
設計步驟:
取指周期操作時間表:
需要微操作命令信號的指令,填1
1→IND:表示進入間指周期(非訪存指令不需要進入間指周期)
1→EX:表示進入執行周期(所有指令都需要進入執行周期)
間址周期操作時間表:
執行周期操作時間表:
以M(MAR)→MDR為例:
2.4 硬布線控制器小結
設計步驟:
(1)列出操作時間表
(2)寫出微操作命令的最簡表達式
(3)畫出邏輯圖
3 微程序控制器
- 硬布線工作原理:微操作控制信號由組合邏輯電路根據當前的指令碼、狀態和時序,即時產生
- 微程序工作原理:事先把微操作控制信號存儲在一個專門的存儲器(控制存儲器)中,將每一條機器指令編寫成一個微程序,這些微程序可以存到一個控制存儲器中,用尋址用戶程序機器指令的辦法來尋址每個微程序中的微指令。
3.1 微程序的基本思想
一個機器指令對應一個微程序思想:每條指令取指周期的操作是相同的,所以將取指令操作的微命令統一編成一個微程序,而每條機器指令所對應的具體操作再單獨編寫一個與之對應的微程序。
微指令基本格式:
3.2 微程序控制器的基本結構
3.2.1 控制寄存器
- 取指周期微程序:默認是公共的,故如果某指令系統中有n條機器指令,則CM中微程序的個數至少是n+1個
- 間址周期微程序和中斷周期微程序:不一定是公共的。
此處做成公共的,故如果這臺計算機指令系統中有n條機器指令,則CM中微程序的個數是n+3個。
3.3 微指令格式
基本格式:
優點:微程序短,執行速度快;
缺點:微指令長,編寫微程序較麻煩。
基本格式:
優點:微指令短、簡單、規整,便于編寫微程序;
缺點:微程序長,執行速度慢,工作效率低。
微指令較短,仍便于編寫;微程序也不長,執行速度加快。
3.4 微指令的編碼方式(重點)
微指令的編碼方式又稱為微指令的控制方式,它是指如何對微指令的控制字段進行編碼,以形成控制信號。編碼的目標是在保證速度的情況下,盡量縮短微指令字長。
3.4.1 直接編碼(直接控制)方式
在微指令的操作控制字段中,每一位代表一個微操作命令
某位為“1”表示該控制信號有效
優點:簡單、直觀,執行速度快,操作并行性好。
缺點:微指令字長過長,n個微命令就要求微指令的操作字段有n位,造成控存容量極大。
3.4.2 字段直接編碼方式(最重)
將微指令的控制字段分成若干“段”,每段經譯碼后發出控制信號
微命令字段分段的原則:
(1)互斥性微命令分在同一段內,相容性微命令分在不同段內。
(2)每個小段中包含的信息位不能太多,否則將增加譯碼線路的復雜性和譯碼時間。
(3)一般每個小段還要留出一個狀態,表示本字段不發出任何微命令。因此,當某字段的長度為3位時,最多只能表示7個互斥的微命令,通常用000表示不操作。
優點:可以縮短微指令字長。
缺點:要通過譯碼電路后再發出微命令,因此比直接編碼方式慢。
例題:某計算機的控制器采用微程序控制方式,微指令中的操作控制字段采用字段直接編碼法,共有33個微命令,構成5個互斥類,分別包含7、3、12、5和6個微命令,則操作控制字段至少有多少位?
解答:第1個互斥類有7個微命令,要留出1個狀態表示不操作,所以需要表示8種不同的狀態,故需要3個二進制位。
以此類推,后面4個互斥類各需要表示4、13、6、7種不同的狀態,分別對應2、4、3、3個二進制位。
故操作控制字段的總位數為3+2+4+3+3=15位
3.4.3 字段間接編碼方式
一個字段的某些微命令需由另一個字段中的某些微命令來解釋,由于不是靠字段直接譯碼發出的微命令,故稱為字段間接編碼,又稱隱式編碼。
優點:可進一步縮短微指令字長。
缺點:削弱了微指令的并行控制能力,故通常作為字段直接編碼方式的一種輔助手段。
3.5 微指令的地址形成方式
微指令格式中設置一個下地址字段,由微指令的下地址字段直接指出后繼微指令的地址,這種方式又稱為斷定方式。
當機器指令取至指令寄存器后,微指令的地址由操作碼經微地址形成部件形成。
第一條微指令地址由專門硬件產生
中斷周期由硬件產生中斷周期微程序首地址
(1)(2)掌握,(3)(4)(5)(6)了解
3.5.1 微指令的地址形成方式-斷定方式
例題:某計算機采用微程序控制器,共有32條指令,公共的取指令微程序包含2條微指令,各指令對應的微程序平均由4條微指令組成,采用斷定法(下地址字段法)確定下條微指令地址,則微指令中下地址字段的位數至少是多少位?
解答:總共需要存儲多少條微指令?
32×4+2=130條
標注出130個不同的位置至少需要多少個二進制位?
27=128,28=256
下地址字段的位數至少是8位
3.6 微程序控制的基本概念
微命令是微操作的控制信號
微操作是微命令的執行過程。
微指令是若干微命令的集合。
微周期通常指從控制存儲器中讀取一條微指令并執行相應的微操作所需的時間。
主存儲器用于存放程序和數據,在CPU外部,用RAM實現;
控制存儲器(CM)用于存放微程序,在CPU內部,用ROM實現。
程序是指令的有序集合,用于完成特定的功能;
微程序是微指令的有序集合,一條指令的功能由一段微程序來實現。
MAR存放要訪問的存儲器的地址
CMAR在CU內部,存放控制存儲器的地址
IR在CPU內部,CU外部,存放指令
CMDR在CU內部,存放微指令
3.7 微程序控制單元的設計
設計步驟:
兩者僅僅最后一步略有差別,硬布線交給一個硬件,是指令譯碼器,具有譯碼作用;
微程序交給微地址形成部件,用來定位微程序首地址
Ad(CMDR)→CMAR
OP(IR)→微地址形成部件→CMAR
設計步驟:
(1)寫出每個周期所需要的微操作(參照硬布線)
(2)補充微程序控制器特有的微操作:
a.取指周期:
Ad(CMDR)→CMAR
OP(IR)→CMAR
b.執行周期:
Ad(CMDR)→CMAR
根據微操作個數決定采用何種編碼方式,以確定微指令的操作控制字段的位數。
由微指令數確定微指令的順序控制字段的位數。
最后按操作控制字段位數和順序控制字段位數就可確定微指令字長。
根據操作控制字段每一位代表的微操作命令,編寫每一條微指令的碼點。
3.8 微程序設計分類
- 靜態微程序無需改變,采用ROM
- 動態通過改變微指令和微程序改變機器指令有利于仿真,采用EPROM
- 微程序設計 用 微程序解釋機器指令
- 毫微程序設計 用 毫微程序解釋微程序
- 毫微指令與微指令的關系好比微指令與機器指令的關系
3.9 硬布線與微程序的比較
3.10 微程序控制器小結
總結
以上是生活随笔為你收集整理的8 计算机组成原理第五章 中央处理器 控制器 硬布线控制器 微程序控制器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 知识表示与知识图谱--介绍
- 下一篇: 18-Gm-TransH:Group-C