寫在前面的話:此系列文章為筆者學習計算機組成原理時的個人筆記,分享出來與大家學習交流。使用教材為唐朔飛第3版,筆記目錄大體與教材相同。
網(wǎng)課
計算機組成原理(哈工大劉宏偉)135講(全)高清_嗶哩嗶哩_bilibili
筆記
《計算機組成原理》唐朔飛 第5章 輸入輸出系統(tǒng) - 學習筆記_友人帳_的博客-CSDN博客
《計算機組成原理》唐朔飛 第7章 指令系統(tǒng) - 學習筆記_友人帳_的博客-CSDN博客
《計算機組成原理》唐朔飛 第8章 CPU的結(jié)構(gòu)和功能 - 學習筆記_友人帳_的博客-CSDN博客
《計算機組成原理》唐朔飛 第9章 控制單元的功能 - 學習筆記_友人帳_的博客-CSDN博客
《計算機組成原理》唐朔飛 第10章 控制單元的設計 - 學習筆記_友人帳_的博客-CSDN博客
課后習題答案
計算機組成原理(第三版)唐朔飛-課后習題(完整版)_計算機組成原理唐朔飛第三版答案_藍凈云的博客-CSDN博客
哈爾濱工業(yè)大學計組實驗
計算機組成原理實驗一 運算器 預習報告_基本運算器實驗_旅僧的博客-CSDN博客
計算機組成原理實驗二 存儲系統(tǒng) 預習報告_旅僧的博客-CSDN博客
計算機組成原理實驗三 系統(tǒng)總線和具有基本輸入輸出功能的總線接口 預習報告_旅僧的博客-CSDN博客
計算機組成原理實驗四 微程序控制器 實驗報告_旅僧的博客-CSDN博客
第九章 控制單元的功能
9.1 微操作命令的分析
控制單元具有發(fā)出各種微操作命令(即控制信號)序列的功能。
完成一條指令分為4個周期:取指周期、間址周期、執(zhí)行周期、中斷周期。
MAR存放欲訪問的存儲單元地址;MDR存放欲寫入存儲器的信息或最近從存儲器中讀出的信息;PC存放現(xiàn)行指令的地址,有計數(shù)功能;IR存放現(xiàn)行指令。
9.1.1 取指周期
取指操作:
①現(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
9.1.2 間址周期
完成取操作數(shù)有效地址的任務:
①將指令的地址碼部分(形式地址)送至存儲器地址寄存器,記作Ad(IR)->MAR
②向主存發(fā)送讀命令,啟動主存做讀操作,記作1->R
③將MAR(通過地址總線)所指的主存單元中的內(nèi)容(有效地址)經(jīng)數(shù)據(jù)總線讀至MDR內(nèi),記作 M(MAR)->MDR
④將有效地址送至指令寄存器的地址字段,記作MDR->Ad(IR) 。此操作在有些機器中可省略
9.1.3 執(zhí)行周期
(1)非訪存指令
這類指令在執(zhí)行周期不訪問存儲器。
-
ACC累加器清零指令CLA:0->ACC
-
ACC按位取反指令COM: A C C  ̄ → A C C \overline{ACC}\rightarrow ACC ACC→ACC
-
ACC算術(shù)右移一位指令SHR: L ( A C C ) → R ( A C C ) , A C C 0 → A C C 0 L(ACC)\rightarrow R(ACC), ACC_0\rightarrow ACC_0 L(ACC)→R(ACC),ACC0?→ACC0?
-
ACC循環(huán)左移一位指令CSL: R ( A C C ) → L ( A C C ) , A C C 0 → A C C n R(ACC)\rightarrow L(ACC), ACC_0\rightarrow ACC_n R(ACC)→L(ACC),ACC0?→ACCn?
-
停機指令STP:計算機中有一個運行標志觸發(fā)器,當G=1時,表示機器運行;當G=O時,表示停機。STP指令在執(zhí)行階段只需將運行標志觸發(fā)器置“0",記作 0->G
(2)訪存指令
只考慮直接尋址
- 加法指令 ADD X:ACC+(X)->ACC
- 存數(shù)指令STA X:ACC->(X)
- 取數(shù)指令LDA X:(X)->ACC
(3)轉(zhuǎn)移類指令
不訪問存儲器
- 無條件跳轉(zhuǎn)JMP X:該指令在執(zhí)行階段完成將指令的地址碼部分送至PC的操作,記作Ad(IR)->PC
- 條件跳轉(zhuǎn)
9.1.4 中斷周期
在執(zhí)行周期結(jié)束時刻,CPU要查詢是否有請求中斷的事件發(fā)生,如果有則進入中斷周期。假設程序斷點存至主存的"0"地址單元,且采用硬件向量法尋找入口地址,則在中斷周期需完成如下操作:
(不是絕對的0地址,是某個給定地址)
①0→MAR,將特定地址“0”送至存儲器地址寄存器。
②1→W。
③PC→MDR,保存斷點。
④MDR→M(MAR)。
⑤向量地址→PC。
⑥0→EINT關(guān)中斷。
如果程序斷點存入堆棧,而且進棧操作是先修改棧指針,后存人數(shù)據(jù),只需將上述①改為(SP)-1→SP,且SP→MAR。
9.2 控制單元的功能
9.2.1 控制單元的外特性
- 輸入信號
(1)時鐘
為了使控制單元按一定的先后順序、一定的節(jié)奏發(fā)出各個控制信號,控制單元必須受時鐘控制,即每一個時鐘脈沖使控制單元發(fā)送一個操作命令,或發(fā)送一組并行執(zhí)行的操作命令。
(2)指令寄存器
現(xiàn)行指令的操作碼決定了不同指令在執(zhí)行周期所需完成的不同操作,故指令的操作碼字段是控制單元的輸入信號,它與時鐘配合可產(chǎn)生不同的控制信號。
(3)標志
控制單元有時需依賴CPU當前所處的狀態(tài)(如ALU操作的結(jié)果)產(chǎn)生控制信號。
(4)來自系統(tǒng)總線(控制總線)的控制信號
例如中斷請求、DMA請求等。
- 輸出信號
(1)CPU內(nèi)的控制信號
主要用于CPU內(nèi)的寄存器之間的傳送和控制ALU實現(xiàn)不同的操作。
(2)送至系統(tǒng)總線(控制總線)的信號
如命令主存或I/O讀寫、中斷響應等。
9.2.3 多級時序系統(tǒng)
(1)機器周期
機器周期可看作所有指令執(zhí)行過程中的一個基準時間,機器周期取決于指令的功能及器件的速度。
機器內(nèi)的各種操作大致可歸屬為對CPU內(nèi)部的操作和對主存的操作兩大類,由于CPU訪存的操作時間較長,因此通常以訪問一次存儲器的時間定為基準時間較為合理,這個基準時間就是機器周期。(在存儲字長等于指令字長的前提下,取指周期也可看作機器周期。)
(2)時鐘周期
在一個機器周期里可完成若干個微操作,每個微操作都需要一定的時間,可用時鐘信號來控制產(chǎn)生每一個微操作命令。
用時鐘信號控制節(jié)拍發(fā)生器,就可產(chǎn)生節(jié)拍。每個節(jié)拍的寬度正好對應一個時鐘周期。在每個節(jié)拍內(nèi)機器可完成一個或幾個需同時執(zhí)行的操作,它是控制計算機操作的最小時間單位。
(時鐘信號的頻率即為CPU主頻)
(3)多級時序系統(tǒng)
一個指令周期包含若干個機器周期,一個機器周期又包含若干個時鐘周期(節(jié)拍)。機器周期、節(jié)拍組成多級時序系統(tǒng)。
主頻: M H z MHz MHz
時鐘周期: 1 主頻 M h z = μ s \frac{1}{主頻Mhz}=\mu s 主頻Mhz1?=μs 最小單位
機器周期: μ s \mu s μs n n n倍時鐘周期
指令周期: μ s \mu s μs n n n倍機器周期
平均指令執(zhí)行速度: 1 指令周期 μ s = M I P S \frac{1}{指令周期\mu s}=MIPS 指令周期μs1?=MIPS
衡量機器速度的指標:
-
MIPS(執(zhí)行百萬條指令數(shù)每秒)
-
CPI(執(zhí)行一條指令所需的時鐘周期數(shù))
9.2.4 控制方式
產(chǎn)生不同微操作命令序列所用的時序控制方式。
(1)同步控制方式
以一個統(tǒng)一的定寬定距的時鐘(統(tǒng)一基準時標)作為標準,每一個微操作都是在這個時鐘的控制下在指定的節(jié)拍產(chǎn)生。
- 采用定長的機器周期
每個機器周期中采用完全統(tǒng)一的、具有相同時間間隔和相同數(shù)目的節(jié)拍。
此時以最長的微操作序列和最復雜的微操作作為機器周期的標準。
對于較短的指令會造成時間上的浪費。
- 采用不定長的機器周期
每個機器周期內(nèi)的節(jié)拍數(shù)可以不等。
對某些復雜的微操作,采用延長機器周期或增加節(jié)拍的辦法來解決。
- 采用中央控制和局部控制相結(jié)合的方法
將機器的大部分指令安排在統(tǒng)一的、較短的機器周期內(nèi)完成,稱為中央控制,而將少數(shù)操作復雜的指令中的某些操作(如乘除法和浮點運算等)采用局部控制方式來完成。
-
局部控制的節(jié)拍寬度與中央控制的節(jié)拍寬度一致。
-
將局部控制節(jié)拍作為中央控制中機器節(jié)拍的延續(xù),插入中央控制的執(zhí)行周期內(nèi),使機器以同樣的節(jié)奏工作,保證局部控制和中央控制的同步。
與不定長的機器周期的區(qū)別(個人理解):
不定長中,每個機器周期長度都不是確定的。
而在中央控制和局部控制相結(jié)合的方法中,具有一個統(tǒng)一的定長的較短的機器周期,可以在一個周期內(nèi)完成大部分指令;而對于較長的指令,先在中央控制節(jié)拍控制下完成部分指令,若不能在一個周期內(nèi)完成,則增加局部控制節(jié)拍,插入中央控制的執(zhí)行周期,作為中央控制的延續(xù),再單獨為其運算幾個局部控制節(jié)拍,局部節(jié)拍數(shù)可能是提前確定的(乘法),也可能不能提前確定(浮點對階)
(2)異步控制方式
不存在定寬定距的基準時鐘,使用應答方式來控制。
CU發(fā)出執(zhí)行某一微操作的控制信號后,等待執(zhí)行部件完成該操作后發(fā)回“回答”(或“結(jié)束”),信號,再開始新的微操作,使 CPU 沒有空閑狀態(tài),但因需要采用各種應答電路,故其結(jié)構(gòu)比同步控制方式復雜。
(3)聯(lián)合控制方式
同步控制和異步控制相結(jié)合。
對各種不同指令的微操作實行大部分統(tǒng)一(如取指操作)、小部分區(qū)別對待(難以確定結(jié)束時間,如I/O操作)的辦法。
(4)人工控制方式
為了調(diào)機和軟件開發(fā)的需要,在機器面板或內(nèi)部設置一些開關(guān)或按鍵,來達到人工控制的目的。
-
Reset(復位)鍵:使計算機處于初始狀態(tài)
-
連續(xù)或單條執(zhí)行轉(zhuǎn)換開關(guān)文章來源:http://www.zghlxwxcb.cn/news/detail-466498.html
-
符合停機開關(guān):有一個寄存器保存了停機條件,是一個內(nèi)存單元地址,當程序運行到與開關(guān)指示的地址相符時,機器便停止運行,稱為符合停機。文章來源地址http://www.zghlxwxcb.cn/news/detail-466498.html
到了這里,關(guān)于《計算機組成原理》唐朔飛 第9章 控制單元的功能 - 學習筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!