计算机组成原理 关于CPU中的LDAC和STAC指令
很多人不理解stac指令和ldac指令的執(zhí)行過程 梳理一下
LDAC指令的作用是:AC<—M[T] 即把rom中的內(nèi)容送AC
STAC指令 同理 M[T]<—AC 把AC中的內(nèi)容送T
首先需要明確的是各寄存器的功能 為了方便碼字 CPU的圖在最下
AR?地址寄存器 輸出要執(zhí)行的下一指令地址
TR 數(shù)據(jù)暫存器 處理雙字節(jié)指令時使用 用來存儲低八位的地址或數(shù)值
IR? 指令寄存器 存儲要執(zhí)行的指令
AC 通用寄存器 存儲第一個操作數(shù)
R? ?通用寄存器 用來存放第二個操作數(shù)
PC 程序計數(shù)器?輸出當(dāng)前執(zhí)行的指令地址
DR 數(shù)據(jù)寄存器 存放雙指令中低8位指向地址的存放值
其中LDAC指令包括三個部分 操作碼 低位地址 高位地址
執(zhí)行時必須從主存中取出地址然后再從相應(yīng)的地址取數(shù)據(jù)到AC中
即1.取地址 2.根據(jù)相應(yīng)地址取數(shù)據(jù)
其中取指令的周期即Fetch1 Fetch2 Fetch3:
Fetch 1.PC里存的地址送AR
Fetch2 ROM里的要執(zhí)行指令的低八位送DR? PC自動加一
Fetch3 DR里的指令送IR PC里指令的裝載到AR
| Fetch1 | AR<—PC |
| Fetch2 | DR<—M,PC<—PC+1 |
| Fetch3 | IR<—DR,AR<—PC |
在取指周期的Fetch2中?存儲地址T的低8位已經(jīng)放入PC中?并在Fetch3的時候load到AR中
所以此時CPU要做的事情是:
即LDAC1 DR<—M PC<—PC+1 AR<—AR+1
接下來CPU可以取T的高8位地址了 同時它必須用數(shù)據(jù)暫存器TR暫存低8位地址 并且PC+1
即LDAC2 TR<—DR DR<—M PC<—PC+1
這時CPU得到了T的地址 可以進(jìn)行從存儲器讀取數(shù)據(jù)的操作了 首先把地址復(fù)制到AR,然后把要去的數(shù)載入到DR 最后復(fù)制數(shù)據(jù)到AC中
LDAC3:AR<—DR,TR
LDAC4:DR<—M
LDAC5:AC<—DR
總的來說可以這么理解
Fetch2:T的低八位已經(jīng)在PC
Fetch3:T的低八位load到AR中
LDAC1:DR<-M //取高八位 PC = PC+1 取下一條指令? AR = AR+1 取高八位地址
LDAC2: TR<-DR;? //T的高八位地址得到 DR<-M? PC<-PC+1? //取下一條指令
LDAC3:? AR<—DR,TR?//dr和tr把指令送ar ar得到十六位地址
LDAC4:DR<-M,DR<-AC
?
? LDAC指令執(zhí)行周期的數(shù)據(jù)流和控制流
| 節(jié)拍 | 狀態(tài) | 微操作序列(數(shù)據(jù)流) | 控制信號(控制流) |
| T3 | LDAC1 | DR<—M,PC<—PC+1, AR<—AR+1 | read、membus、drload、pcinc、arinc |
| T4 | LDAC2 | TR<—DR,DR<—M, PC<—PC+1 | trload、read、membus、drload、pcinc |
| T5 | LDAC3 | AR<—DR,TR | drhbus、trbus、arload |
| T6 | LDAC4 | DR<—M | read、membus、drload |
| T7 | LDAC5 | AC<—DR | drlbus、acload、alus |
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? STAC指令執(zhí)行周期的數(shù)據(jù)流和控制流
| 節(jié)拍 | 狀態(tài) | 微操作序列(數(shù)據(jù)流) | 控制信號(控制流) |
| T3 | STAC1 | DR<—AC,AR<—AR+1, PC<—PC+1 | drload、read、membus、arinc、pcinc |
| T4 | STAC2 | TR<—DR,DR<—M, PC<—PC+1 | read、membus、drload、trload、pcinc |
| T5 | STAC3 | AR<—DR,TR | drhbus、trbus、arload |
| T6 | STAC4 | DR<—AC | acbus、drload |
| T7 | STAC5 | M<—DR | drlbus、busmem、clr、wirte |
總結(jié)
以上是生活随笔為你收集整理的计算机组成原理 关于CPU中的LDAC和STAC指令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu 开机自动运行命令
- 下一篇: 安卓应用程序开发培训!整理几个重要的An