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