9.2-控制单元CU的功能(学习笔记)
【README】
本文總結自bilibili《計算機組成原理(哈工大劉宏偉)》的視頻講解,非常棒,墻裂推薦;
【1】CU功能(CPU內部不采用總線方式)
控制單元的功能: CU發出各種控制命令或微指令,控制整個計算機系統,包括cpu內部的各個部件,能夠協調、穩定、正確、連續的運行;
【1.1】CU輸入與輸出信號
1)控制單元CU的輸入信號
- 指令寄存器IR的操作碼部分,送入CU,以便譯碼;
- 時鐘信號:CU微操作命令在時鐘信號的控制下,在指定的時間點被發出;
一個時鐘脈沖,發一個操作命令或一組需要同時執行的操作命令; - 各種標志;如上一條指令運行結果的標志,就是本條指令是否發生跳轉的依據;
- 來自系統總線的控制信號:CPu外部的控制信號可以進入控制單元;
2)控制單元CU的輸出信號
2.1 )CPU內部的控制信號
- 如 寄存器間進行數據傳輸;
- 如 下一條指令地址進行修改; pc+1 –> pc ;
- 如 運算器的算術運算和邏輯運算,相應的控制信號也是由 cu發出的;
2.2)送到控制總線的信號
- 如存儲器讀寫命令 ;
【1.2】控制信號舉例
在不采用cpu內部總線的方式下的執行過程,其中各寄存器含義:
【寫在前面】ADD @X 指令介紹
這條指令完成的是一個加法操作;
這個加法是把內存單元X中的數據和AC寄存器中的數據在控制信號的作用下做加法操作,加法操作由ALU來完成,并且加法結果保存到AC寄存器(ACC寄存器或累加器)中;
1)以 ADD @X 命令的取指周期(注意是取指周期)為例:操作發起從pc發起;
- 步驟1:控制電路C0 把pc的內容送入MAR;
- 步驟2:MAR 經過控制電路C1把地址送入主存;通知CU向主存發送讀控制命令;
- 步驟3:從主存讀取的命令通過控制電路C2送入MDR;
- 步驟4: 再由MDR經過控制電路c3送入IR寄存器;至此取指操作結束;
- 步驟5:IR指令的操作碼部分通過c4控制電路送入CU進行譯碼,;
- 步驟6:PC加1,以便于下一次執行指令;
小結:以上5個控制信號c0~c5都是CU產生的;
2)下面看下間址周期,執行周期中的控制信號
指令執行周期的控制信號的控制過程:
起始狀態:操作數的地址在MDR;
- 步驟1:把MDR(操作數地址)通過C5控制信號送入到MAR;
- 步驟2:MAR中的地址通過c1控制信號(控制門)送入到地址線,地址線送入存儲器;
- 步驟3:CU發出讀操作命令;
- 步驟4:從主存讀入的數據,通過C2控制門送入MDR;至此,兩個操作數都在cpu的寄存器中了;被加數保存在AC,加數在MDR中;
- 步驟5:C6和C7兩個控制門打開,把操作數送入ALU;
- 步驟6:CU發出加法控制信號;并把運算結果通過C8控制門送入到AC寄存器;至此,執行過程就結束了;
注意: 以上方式,是cpu內部不采用內部總線的方式;
【2】控制單元的功能(CPU內部采用總線的方式)
注意:cpu內部總線不同于系統總線;
- cpu內部總線是CPU(包括ALU,CU)連接內部組件(如寄存器)用的;
- 而系統總線包括 地址總線,數據總線,控制總線,是cpu連接cpu外部設備用的,如主存,磁盤等;
(為了對比,上圖是不采用CPU內部總線方式)
(上圖是采用CPU內部總線方式)
?【背景介紹】
Cpu中,由 PC,MAR,IR,進行取指令操作,并放入MDR中;
在控制單元的作用下,我們可以進行操作;
時鐘信號作為控制單元CU的輸入,經過控制單元CU譯碼后,產生各種類型的控制信號,來控制cpu內部與外部的操作;
AC寄存器(ACC寄存器);
ALU運算器:運算器要有多種類型的控制信號;控制它做相應的算術運算或邏輯運算;
ALU:是一個組合電路,為了能夠保存兩個操作數和計算結果,在alu的兩個輸入端需要加上寄存器,在輸出端也要加上寄存器;輸入時,ac可以作為其中一個寄存器,另一個輸入寄存器是Y;在控制信號的作用下,把ac和y寄存器的操作數送入ALU進行相加,并把結果送入Z寄存器;
以上部件,都是離散的部件;在剛剛cpu內部不采用總線的結構下,分別有線路進行連接;
0)引入CPU內部總線目的:為了簡化cpu結構,簡化設計,假設cpu內部采用總線方式,這些離散部件是連接到CPU內部總線上的;
1)下面在cpu內部采用總線結構下,間址加法指令(ADD @X)的取指步驟:
- 步驟1:pc寄存器的值被送入cpu內部總線;
- 步驟2:通過mar輸入控制信號把pc的值送給mar;這時mar保存的就是下一條要執行指令的地址(即加法指令的地址);
- 步驟3:MAR把指令地址送入地址線;
- 步驟4:CU發出讀命令到控制總線,控制總線送給存儲器;
- 步驟5:從主存讀出來的指令被送入到數據線,進而送入到MDR寄存器中;(這時,MDR存儲了間接尋址的加法指令)
- 步驟6:MDR存儲的加法指令,通過控制信號送入cpu內部總線,接著送入到IR寄存器;(這時,IR指令寄存器就保存了要執行的加法指令)
- 步驟7:IR中的操作碼部分送入CU進行譯碼;
- 步驟8:PC加1(以指出下一條要執行指令的地址);
以上控制信號(IRi,PCo, MARi, MDRo, PCo),都是由CU在時鐘信號的控制下產生的控制信號(i輸入,o輸出); 這些控制信號間,是有先后關系的;
2)ADD @X 間址周期:
指令中的操作數形式地址,送入MAR;從內存中讀出該形式地址內存單元對應的操作數有效地址,并送入IR寄存器的操作數地址部分(真實地址);
3)CPU采用內部總線方式下的ADD @X 執行周期步驟:
- 步驟1:MDR把操作數有效地址(真實地址)送入cpu內部總線;進而送入到MAR;
- 步驟2:MAR把操作數地址送入地址線;
- 步驟3:CU發出讀信號到控制線,進而送入存儲器;
- 步驟4:讀出來的操作數通過數據總線送入MDR;(參加加法運算的另一個操作數保存在MDR中)
- 步驟5: MDR通過MDRo輸出控制信號,把操作數送入cpu內部總線;CPU內部總線通過寄存器Y的輸入信號,把操作數送入到Y寄存器;
- 步驟6:寄存器Y的數據送入ALU;
- 步驟7:寄存器AC通過ACo輸出控制信號,把另一個操作數送入CPU內部總線,進而送入到ALU中;
- 步驟8:在各種控制信號下,ALU做加法操作;(AC)+(Y)的結果存入Z寄存器中;
- 步驟9:AC控制器在ACo控制信號下,把結果送入cpu內部總線,進而通過ACi控制信號送入AC寄存器:(至此,加法操作完成)
小結:以上藍色部分都是控制信號,這些控制信號都是由CU發出的,控制信號間是有順序的;
【3】多級時序系統
為了解釋指令的執行,它的解釋所花的時間,我們叫做指令周期;
指令周期分為: 取指周期,間址周期,執行周期,中斷周期;
【3.1】機器周期
1)定義:完成一個基本操作所需要的時間,如取指令,存儲器讀,存儲器寫;通常以訪存時間為基準;因為指令最耗時的操作就是訪存操作;
2)取指周期的過程(微操作)包括:
| 1,Pc值送入MAR; 2,MAR送入主存; 3,CU發出讀控制信號給主存; 4,從主存讀取指令到MDR,進而送入IR; 5,IR送入到CU進行譯碼; 6,PC加1; 以上操作都是有先后順序的;以上這些操作都是微操作,有先后順序的; |
?在機器周期內部,也需要有多個時鐘周期,由時鐘來控制微操作的先后順序;
【3.2】時鐘周期(節拍,狀態)
1)定義:控制計算機操作的最小單位時間(注意是控制);1個時鐘周期,可以做1個或若干個微操作(若微操作可以并行執行);
?2)機器周期和時鐘周期關系:
把一個機器周期分為若干個時間相等的時間段(時鐘周期,或節拍,或狀態);
由這些時鐘周期控制在一個機器周期內部的這些微操作,它們在時間上的先后順序;
3)小結:
【3.3】多級時序系統
多級時序系統:包括了指令周期,機器周期、節拍(時鐘周期)3個部分;
一個指令周期包含若干個機器周期;
一個機器周期包含若干個時鐘周期;
【3.4】機器速度與主頻間的關系
補充:
在不采用指令流水線技術前提下,且一個指令周期包含多個機器周期且一個機器周期包含多個時鐘周期,則機器速度和主頻成正比關系;
在采用流水線技術前提下,即便上述條件相等,但速度就不一定了
【4】控制方式
控制方式定義:產生不同微操作命令序列所用的時序控制方式;
【4.1】同步控制方式
1)同步控制方式:每一個微操作都是在定寬,定距(統一基準時標)的時鐘信號的控制之下;
?
【4.2】 異步控制方式(沒有定寬定距的基準時鐘)
總結
以上是生活随笔為你收集整理的9.2-控制单元CU的功能(学习笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国产肉鸽游戏《暖雪》10 月 20 日上
- 下一篇: “开源 Windows”ReactOS