7 计算机组成原理第五章 中央处理器 数据通路
文章目錄
- 1 數據通路的功能和基本結構單總線
- 1.1 數據通路的功能
- 1.2 數據通路-基本結構單總線
- 2 數據通路-CPU內部單總線方式
- 2.1 三種結構之間數據傳送方式
- 2.2 CPU內部單總線方式-例題
- 3 專用通路
- 3.1 專用數據通路方式
- 3.2 專用數據通路方式-例題
1 數據通路的功能和基本結構單總線
1.1 數據通路的功能
數據通路:數據在功能部件之間傳送的路徑。
我們關心的是:信息從哪里開始,中間經過哪些部件,最后傳到哪里
由控制部件產生的控制信號建立數據通路
數據通路的基本結構:
1.2 數據通路-基本結構單總線
每個部件都直接跟總線相連,部件之間無相應的連線
以in結尾的控制信號決定通路能否由外向部件內傳遞信息
以out結尾的控制信號決定通路能否向外傳遞信息
內部總線與系統總線:
- 內部總線是指同一部件,如CPU內部連接各寄存器及運算部件之間的總線;
- 系統總線是指同一臺計算機系統的各部件,如CPU、內存、通道和各類I/0接口間互相連接的總線。
2 數據通路-CPU內部單總線方式
2.1 三種結構之間數據傳送方式
比如把PC內容送至MAR,實現傳送操作的流程及控制信號為:
- (PC)→Bus PCout有效,PC內容送總線
- Bus→MAR MARin有效,總線內容送MAR
比如CPU從主存讀取指令,實現傳送操作的流程及控制信號為:
- (PC)→Bus→MAR PCout和MARin有效,現行指令地址→MAR
- 1→R CU發讀命令(通過控制總線發出,圖中未畫出)
- MEM(MAR)→MDR MDRin有效
- (MDR)→Bus→IR MDRout和IRin有效,現行指令→IR
比如一條加法指令,微操作序列及控制信號為:
- Ad(IR)→Bus→MAR MDRout和MARin有效
- 1→R CU發讀命令
- MEM(MAR)→數據線→MDR MDRin有效
- (MDR)→Bus→Y MDRout和Yin有效,操作數→Y
- (ACC)+(Y)→Z ACCout和ALUin有效,CU向ALU發送加命令
- Z→ACC Zout和ACCin有效,結果→ACC
2.2 CPU內部單總線方式-例題
設有如圖所示的單總線結構,分析指令ADD(R0),R1的指令流程和控制信號。
R0目的操作數,R1源操作數,R1表示操作數放此寄存器中,(R0)表示操作數地址放在寄存器中,存放的是主存的地址,最終目標存回主存
分析取指周期、間址周期、執行周期
取指周期:公共操作
| 1 | (PC)→MAR | PCout,MARin |
| 2 | M(MAR)→MDR (PC)+1→PC | MemR,MARout,MDRinE |
| 3 | (MDR)→IR | MDRout,IRin |
| 4 | 指令譯碼 | - |
間址周期:完成取數操作,被加數在主存中,加數已經放在寄存器R1中。
| 1 | (R0)→MAR | R0out,MARin |
| 2 | M(MAR)→MDR | MemR,MARout,MDRinE |
| 3 | (MDR)→Y | MDRout,Yin |
執行周期:完成取數操作,被加數在主存中,加數已經放在寄存器R1中。
| 1 | (R1)+(Y)→Z | R1out,ALUin ,CU向ALU發ADD控制信號 |
| 2 | (Z)→MDR | Zout,MDRinE |
| 3 | (MDR)→M(MAR) | MemW,MDRoutE,MARout |
說明:
數據放在Z里面,最后要放在(R0)指示的位置,而(R0)指示的位置是主存中的一個單元,(R0)寄存器間接尋址,存的是主存的地址,最終需要放回主存
要放回主存,先得把Z中數據放MDR(第2步),再放回主存(第3步)
3 專用通路
3.1 專用數據通路方式
專用數據通路方式→取指周期
3.2 專用數據通路方式-例題
下圖是一個簡化了的CPU與主存連接結構示意圖(圖中省略了所有的多路選擇器)。其中有一個累加寄存器(ACC)、一個狀態數據寄存器和其他4個寄存器:主存地址寄存器(MAR)、主存數據寄存器(MDR)、程序寄存器(PC)和指令寄存器(IR),各部件及其之間的連線表示數據通路,箭頭表示信息傳遞方向。
要求:
(1)請寫出圖中a、b、c、d 4個寄存器的名稱。
(2)簡述圖中取指令的數據通路。
(3)簡述數據在運算器和主存之間進行存/取訪問的數據通路。
(4)簡述完成指令LDA X的數據通路(X為主存地址,LDA的功能為(X)→ACC)。
(5)簡述完成指令ADD Y的數據通路(Y為主存地址,ADD的功能為(ACC)+(Y)→ACC)。
(6)簡述完成指令STA Z的數據通路(Z為主存地址,STA的功能為(ACC)→Z)。
(1)請寫出圖中a、b、c、d 4個寄存器的名稱。
(1)
- d能自動“+1”,是PC
- PC內容是地址,只會送MAR,故c是MAR
- b與微操作信號發生器相連,是IR(指令寄存器IR的操作碼是要送微操作信號發生器)
- 與主存相連的寄存器是MAR和MDR,c是MAR,則a是MDR
(2)簡述圖中取指令的數據通路。
(2)
- (PC)→MAR
- M(MAR)→MDR
- (MDR)→IR
(3)簡述數據在運算器和主存之間進行存/取訪問的數據通路。
存/取的數據放到ACC中
設數據地址已放入MAR
- 取:
M(MAR)→MDR
(MDR)→ALU→ACC(MDR和ACC之間沒有專門的寫到ACC的數據通路,要經過ALU到ACC) - 存:ACC中的數據存到主存
(ACC)→MDR
(MDR)→M(MAR)
(4)簡述完成指令LDA X的數據通路(X為主存地址,LDA的功能為(X)→ACC)。
X→MAR
M(MAR)→MDR
(MDR)→ALU→ACC
(5)簡述完成指令ADD Y的數據通路(Y為主存地址,ADD的功能為(ACC)+(Y)→ACC)。
一般隱含一些東西時候,隱含的位置都是ACC
Y→MAR (主存地址放MAR)
M(MAR)→MDR (MAR定位主存中地址,把數據取出放到MDR)
(MDR)→ALU,(ACC)→ALU
ALU→ACC
(6)簡述完成指令STA Z的數據通路(Z為主存地址,STA的功能為(ACC)→Z)。
Z→MAR (先把主存地址放MAR)
(ACC)→MDR (把ACC中數據移到MDR)
(MDR)→M(MAR) (MDR中數據存到指定的主存位置)
總結
以上是生活随笔為你收集整理的7 计算机组成原理第五章 中央处理器 数据通路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android UI之困 横跨四个屏幕的
- 下一篇: Maven:导入Oracle的jar包时