??微操作命令的分析
假設(shè)完成一條指令分為4個工作周期:取指周期、間址周期、執(zhí)行周期、中斷周期
??取指周期
- ①現(xiàn)行指令地址送至存儲器地址寄存器,記作
PC → MAR
- ②向主存發(fā)送讀命令,啟動主存做讀操作,記作
1 → R
- ③將MAR(通過地址總線)所指的主存單元中的內(nèi)容(指令)經(jīng)數(shù)據(jù)總線讀至MDR內(nèi),記作
M(MAR) → MDR
- ④將MDR的內(nèi)容送至IR,記作
MDR → IR
- ⑤指令的操作碼送至CU(控制單元)譯碼,記作
OP(IR) → CU
- ⑥形成下一條指令的地址,記作
(PC)+1 → PC
??間址周期
- ①將指令的地址碼部分(形式地址)送至存儲器地址寄存器,記作
Ad(IR) → MAR
- ②向主存發(fā)送讀命令,啟動主存做讀操作,記作
1 → R
- ③將MAR(通過地址總線)所指的主存單元中的內(nèi)容(有效地址)經(jīng)數(shù)據(jù)總線讀至MDR內(nèi),記作
M(MAR) → MDR
- ④將有效地址送至指令寄存器的地址字段,記作
MDR → Ad(IR)
。此操作在有些機(jī)器中可省略。
??執(zhí)行周期
不同指令執(zhí)行周期的微操作是不同的,下面分別討論非訪存指令、訪存指令和轉(zhuǎn)移類指令的微操作,附不同指令的指令周期
??非訪存指令
??訪存指令??
-
??加法指令(該指令在執(zhí)行階段需要完成累加器內(nèi)容與對應(yīng)X地址單元的內(nèi)容相加,結(jié)果送累加器的操作)
- 將指令的地址碼部分送至存儲器地址寄存器,記作
Ad(IR) → MAR
- 向主存發(fā)讀命令,啟動主存做讀操作,記作
1 → R
- 將MAR(通過地址總線)所指的主存單元中的內(nèi)容(操作數(shù))經(jīng)數(shù)據(jù)總線讀至MDR內(nèi),記作
M(MAR) → MDR
- 給ALU發(fā)送加命令,將ACC的內(nèi)容和MDR的內(nèi)容相加,結(jié)果存于ACC,記作
(ACC) + (MDR) → ACC
- 將指令的地址碼部分送至存儲器地址寄存器,記作
-
??存數(shù)指令(該指令在執(zhí)行階段需將累加器ACC的內(nèi)容存于主存的X地址單元中)
- 將指令的地址碼部分送至存儲器地址寄存器,記作
Ad(IR) → MAR
- 向主存發(fā)寫命令,啟動主存做寫操作,記作
1 → W
- 將累加器內(nèi)容送至MDR,記作
ACC → MDR
- 將MDR的內(nèi)容(通過數(shù)據(jù)總線)寫入MAR(通過地址總線)所指的內(nèi)存單元中,記作
MDR → M(MAR)
- 將指令的地址碼部分送至存儲器地址寄存器,記作
-
??取數(shù)指令(該指令在執(zhí)行階段需將主存X地址單元的內(nèi)容取至累加器ACC中)
- 將指令的地址碼部分送至存儲器地址寄存器,記作
Ad(IR) → MAR
- 向主存發(fā)讀命令,啟動主存做讀操作,記作
1 → R
- 將MAR(通過地址總線)所指的主存單元中的內(nèi)容(操作數(shù))經(jīng)數(shù)據(jù)總線讀至MDR內(nèi),記作
M(MAR) → MDR
- 將MDR的內(nèi)容送至ACC,記作
MDR → ACC
- 將指令的地址碼部分送至存儲器地址寄存器,記作
??轉(zhuǎn)移指令
??中斷周期
- ①將特定地址“0”送至存儲器地址寄存器,記作
0 → MAR
(如果程序斷點(diǎn)存入堆棧,而且進(jìn)棧操作是先修改棧指針,后存入數(shù)據(jù),則記作(SP)-1 → MAR
) - ②向主存發(fā)寫命令,啟動存儲器作寫操作,記作
1 → W
- ③將PC的內(nèi)容(程序斷點(diǎn))送至MDR,記作
PC → MDR
- ④將MDR的內(nèi)容(程序斷點(diǎn))通過數(shù)據(jù)總線寫入MAR(通過地址總線)所指示的主存單元(0地址單元)中,記作
MDR → M(MAR)
- ⑤將向量地址形成部件的輸出送至PC,記作
向量地址 → PC
,為下一條指令的取值周期做準(zhǔn)備 - ⑥關(guān)中斷,將允許中斷觸發(fā)器清零,記作
0 → EINT
??上述所有操作都是在控制單元發(fā)出的控制信號(即微操作命令)控制下完成的
??控制單元的功能
??控制單元的外特性
??輸入信號
-
時鐘
- 為了使控制單元按一定的先后順序、一定的節(jié)奏發(fā)出各種控制信號,控制單元必須受時鐘控制
- 每一個時鐘脈沖使控制單元發(fā)送一個操作命令,或發(fā)送一組需要同時執(zhí)行的操作命令
-
指令寄存器
- OP(IR)→ CU
- 現(xiàn)行指令的操作碼決定了不同指令在執(zhí)行周期所需完成的不同操作,故指令的操作碼字段是控制單元的輸入信號,它與時鐘配合可產(chǎn)生不同的控制信號(控制信號與操作碼有關(guān))
-
標(biāo)志
- 控制單元有時需依賴CPU當(dāng)前所處的狀態(tài)產(chǎn)生控制信號,即CU受標(biāo)志控制
-
外來信號
- 如中斷請求、DMA請求
??輸出信號
-
CPU內(nèi)的控制信號:主要用于CPU內(nèi)的寄存器之間的傳送和控制ALU實(shí)現(xiàn)不同的操作
-
送至系統(tǒng)總線(控制總線)的信號
??控制信號舉例
??不采用 CPU 內(nèi)部總線的方式
圖中未畫出每個寄存器的輸入或輸出控制門,但標(biāo)出了這些門電路的控制信號 C i C_i Ci?
-
取指周期
-
間址周期
-
執(zhí)行周期
??采用CPU內(nèi)部總線方式??
- 以下圖中每個小圈處都有一個控制信號,它控制著寄存器到總線或總線到寄存器之間的傳送
- I R i IR_i IRi?表示控制從內(nèi)部總線到指令寄存器的輸入控制門
- P C o PC_o PCo?表示控制從程序計(jì)數(shù)器到內(nèi)部總線的輸出控制門
- 下標(biāo)為i表示輸入(in)控制
- 下標(biāo)為o表示輸出(out)控制
![]()
- 與不采用CPU內(nèi)部總線的方式相比,上圖中多了兩個寄存器Y和Z ?
- 因?yàn)?strong>ALU是一個組合邏輯電路,在其運(yùn)算過程中必須保持兩個輸入端不變,其中一個輸入端可以從Y寄存器中獲得,另一個可以從內(nèi)部總線上獲得。當(dāng)CPU內(nèi)有多個通用寄存器時,由于設(shè)置了寄存器Y,可實(shí)現(xiàn)任意兩個寄存器之間的算邏運(yùn)算。
- 此外,ALU的輸入不能直接與內(nèi)部總線相連,因?yàn)槠漭敵鲇謺ㄟ^總線反饋到ALU的輸入,影響運(yùn)算的正確性,故用寄存器Z暫存運(yùn)算結(jié)果,再根據(jù)需要送至指定的目標(biāo)。
-
取指周期
-
間址周期
-
執(zhí)行周期
??微操作例題??
-
非總線方式
- 總線方式
第七章知識回顧
??微操作模板集合
微操作指令解題可依據(jù)以下模板,再綜合題目要求(1 → R/W
一般不寫)
-
取指周期
-
間址周期
-
ADD
執(zhí)行周期Z是鎖存器
-
STA
執(zhí)行周期 -
LDA
執(zhí)行周期
??多級時序系統(tǒng)
??機(jī)器周期
- 機(jī)器周期的概念:所有指令執(zhí)行過程中的一個基準(zhǔn)時間
- 確定機(jī)器周期需考慮的因素:每條指令的執(zhí)行步驟;每一步驟所需的時間
-
基準(zhǔn)時間的確定
- 以完成最復(fù)雜指令功能的時間為準(zhǔn)
- 以訪問一次存儲器的時間為準(zhǔn)
若指令字長 = 存儲字長,取指周期 = 機(jī)器周期
??時鐘周期(節(jié)拍)
- 一個機(jī)器周期內(nèi)可完成若干個微操作,每個微操作需要一定的時間
- 將一個機(jī)器周期分成若干時間相等的時間段,即為時鐘周期(節(jié)拍)
- 時鐘周期是控制計(jì)算機(jī)操作的最小單位時間
- 用時鐘周期控制產(chǎn)生一個或幾個微操作命令
指令周期、機(jī)器周期和時鐘周期小結(jié)?
- CPU每取出并執(zhí)行一條指令所需的全部時間叫指令周期
-
所有指令執(zhí)行過程中的一個基準(zhǔn)時間叫機(jī)器周期
- 機(jī)器周期是在同步控制的機(jī)器中,執(zhí)行指令周期中一步相對完整的操作所需時間,通常安排機(jī)器周期長度等于主存周期
- 將一個機(jī)器周期分成若干時間相等的時間段,即為時鐘周期(節(jié)拍)
- 時鐘周期是指計(jì)算機(jī)主時鐘的周期時間,它是計(jì)算機(jī)運(yùn)行時最基本的時序單位,對應(yīng)一個微操作所需時間
-
三者之間關(guān)系是:(套娃??)
- 時鐘周期是基本動作單位
- 一個機(jī)器周期通常由多個時鐘周期組成
- 而一個指令周期可能包含有一個或多個機(jī)器周期
??多級時序系統(tǒng)
- 機(jī)器周期、節(jié)拍組成多級時序系統(tǒng)
- 一個指令周期包含若干個機(jī)器周期
- 一個機(jī)器周期包含若干個時鐘周期
??機(jī)器速度與機(jī)器主頻的關(guān)系
??相關(guān)計(jì)算
??控制方式
產(chǎn)生不同微操作命令序列所用的時序控制方式
??同步控制方式
文章來源:http://www.zghlxwxcb.cn/news/detail-537599.html
-
采用定長的機(jī)器周期
- 以最長的微操作序列和最繁的微操作作為標(biāo)準(zhǔn)
- 機(jī)器周期內(nèi)節(jié)拍數(shù)相同
-
采用不定長的機(jī)器周期
- 機(jī)器周期內(nèi)節(jié)拍數(shù)不等
- 機(jī)器周期內(nèi)節(jié)拍數(shù)不等
-
采用中央控制和局部控制相結(jié)合的方法
??異步控制方式
- 無基準(zhǔn)時標(biāo)信號
- 無固定的周期節(jié)拍和嚴(yán)格的時鐘同步
- 采用應(yīng)答方式
??聯(lián)合控制方式
- 同步與異步相結(jié)合
- 大部分統(tǒng)一、小部分區(qū)別對待
??人工控制方式
- Reset
- 連續(xù)和單條指令執(zhí)行轉(zhuǎn)換開關(guān)
- 符合停機(jī)開關(guān)
??小結(jié)
??劃個重點(diǎn)??
文章來源地址http://www.zghlxwxcb.cn/news/detail-537599.html
到了這里,關(guān)于計(jì)算機(jī)組成原理 | 第九章:控制單元的功能 | 微操作命令 | 時鐘周期的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!