105-计算机执行指令的过程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MDR 00000010
R0 00000011

Rn-1

Y 00000010

X 00000011
线
B
ALU
F Z 00000101
第四步
取指 译码 执行 回写
将运算结果写入通用寄存器或存储器
第四步:回写
存储器
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
0010 01010101
0111 01010101
… ……..
控制电路 指令译码
IR
PC
0001
MAR
0001
MDR
R0 00000011
Hale Waihona Puke Baidu
Rn-1 Y
X
B
ALU
CPU
内 部 总 线
FZ
第一步:取指(5)
存储器
Read
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
0010 01010101
0011 01010101

Rn-1

Y 00000010

X 00000011
线
B
ALU
F Z 00000101
第四步:回写
存储器
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
0010 01010101
0011 01010101 MAR
0100 01010101
MDR
0101 01010101
0010 01010101
0011 01010101 MAR
0100 01010101
MDR
0101 01010101
0110 00000010
0111 01010101
… ……..
注:执行阶段到此完成
ADD R0 , [6]
控制电路 指令译码 CPU
IR 10101010
PC
0010
MAR
0110
0110 00000010
0111 01010101
… ……..
注:回写阶段到此完成
ADD R0 , [6]
控制电路 指令译码 CPU
IR 10101010
PC
0010
MAR
0110
MDR 00000010
R0 00000101

Rn-1

Y 00000010

X 00000011
线
B
ALU
F Z 00000101
MDR
0101 01010101
0110 00000010
0111 01010101
… ……..
控制电路 指令译码
IR 10101010
PC
0001
MAR
0001
MDR 10101010
R0 00000011
Rn-1 Y
X
B
ALU
CPU
内 部 总 线
FZ
第一步:取指(8)
存储器
控制
逻辑
0000 01010101 地址
ALU
CPU
内 部 总 线
FZ
第二步:译码(2)
存储器
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
0010 01010101
0011 01010101 MAR
0100 01010101
MDR
0101 01010101
0110 00000010
0111 01010101
下一步
取指
存储器
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
0010 01010101
0011 01010101 MAR
0100 01010101
MDR
0101 01010101
0110 00000010
0111 01010101
… ……..
注:继续执行下一条指令
译码 执行 回写
第三步:执行(1)
存储器
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
0010 01010101
0011 01010101 MAR
0100 01010101
MDR
0101 01010101
0110 00000010
0111 01010101
… ……..
ADD R0 , [6]
MAR
0100 01010101
MDR
0101 01010101 00000010
0110 00000010
0111 01010101
… ……..
注:类似取指阶段的操作
F
ADD R0 , [6]
控制电路 指令译码 CPU
IR 10101010
PC
0010
MAR
0110
MDR 00000010
R0 00000011
本节主题
计算机执行指令 的过程
北京大学 · 慕课 计算机组成
制作人:陆俊林
计算机结构的简化模型(模型机)
存储器
0000 0001 0010 0011 0100 0101 0110 0111

xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
… ……..
ADD R0 , [6]
控制电路 指令译码 CPU
IR 10101010
PC
0010
MAR
0110
MDR 00000010
R0 00000011

Rn-1

Y 00000010

X 00000011
线
B
ALU
FZ
第三步:执行(4)
存储器
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
① 控制器将指令的地址送往存储器 ② 存储器按给定的地址读出指令内容,送回控制器
第一步:取指(1)
存储器
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
0010 01010101
0011 01010101 MAR
0100 01010101
MDR
0101 01010101
0110 00000010
… ……..
注:译码阶段到此完成
ADD R0, [6] 10101010
控制电路 指令译码
CPU
IR 10101010
PC
0010
MAR
0001
MDR 10101010
R0 00000011

Rn-1

Y

X
线
B
ALU
FZ
第三步
取指 译码 执行 回写
控制器从通用寄存器或存储器取出操作数 控制器命令运算器对操作数进行指令规定的运算
Rn-1 Y
X
B
ALU
CPU
内 部 总 线
FZ
第一步:取指(4)
存储器
Read
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
0010 01010101
0011 01010101
0001
MAR
0100 01010101
MDR
0101 01010101 10101010
0110 00000010
0001
MAR
0100 01010101
MDR
0101 01010101 10101010
0110 00000010
0111 01010101
… ……..
控制电路 指令译码
IR
PC
0001
MAR
0001
MDR
R0 00000011
Rn-1 Y
X
B
ALU
CPU
内 部 总 线
FZ
第一步:取指(6)
存储器
0001 10101010 译码器
0010 01010101
0011 01010101 MAR
0100 01010101
MDR
0101 01010101
0110 00000010
0111 01010101
… ……..
注:取指阶段到此完成
控制电路 指令译码
IR 10101010
PC
0010
MAR
0001
0011 01010101 MAR
0100 01010101
MDR
0101 01010101
0110 00000010
0111 01010101
… ……..
ADD R0 , [6]
控制电路 指令译码 CPU
IR 10101010
PC
0010
MAR
0110
MDR 00000010
R0 00000011
MDR 10101010
R0 00000011
Rn-1 Y
X
B
ALU
CPU
内 部 总 线
FZ
第二步
取指 译码 执行 回写
控制器分析指令的操作性质 控制器向有关部件发出指令所需的控制信号
第二步:译码(1)
存储器
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
0010 01010101
0011 01010101 MAR
0100 01010101
MDR
0101 01010101
0110 00000010
0111 01010101
… ……..
10101010
控制电路 指令译码
IR 10101010
PC
0010
MAR
0001
MDR 10101010
R0 00000011
Rn-1 Y
X
B
Read
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
0010 01010101
0011 01010101
0001
MAR
0100 01010101
MDR
0101 01010101 10101010
0110 00000010
0111 01010101
… ……..
控制电路 指令译码
0100 01010101
MDR
0101 01010101
0110 00000010
0111 01010101
… ……..
控制电路 指令译码
IR
PC
0001
MAR
0001
MDR
R0 00000011
Rn-1 Y
X
B
ALU
CPU
内 部 总 线
FZ
第一步:取指(3)
存储器
Read
控制
逻辑
0000 01010101 地址
执行指令的示例
指令格式:ADD R0 , [6]
指令功能:
通用寄存器R0 的内容
地址为6的 存储单元的内容
更新
运算结果
假设的模型机当前状态
存储器
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
0010 01010101
0011 01010101 MAR
0100 01010101
控制电路 指令译码 CPU
IR 10101010
PC
0010
MAR
0110
MDR
R0 00000011

Rn-1

Y

X
线
B
ALU
FZ
第三步:执行(2)
存储器
Read
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
0010 01010101
0011 01010101
0110
控制电路 指令译码 CPU
IR 10101010
PC
0010
MAR
0010
MDR 00000010
R0 00000101

Rn-1

Y 00000010

X 00000011
线
B
ALU
F Z 00000101
本节小结
计算机执行指令 的过程
北京大学 · 慕课 计算机组成
制作人:陆俊林
……..
控制 逻辑 地址 译码器
MAR
MDR
控制电路 指令译码
IR PC MAR MDR R0
Rn-1 Y X
B
ALU
CPU
内 部 总 线
F
Z
计算机执行一条指令的主要步骤
第一步:取指(Fetch) 第二步:译码(Decode) 第三步:执行(Execute) 第四步:回写(Write-back)
取指 译码 执行 回写
MDR
0101 01010101
0110 00000010
0111 01010101
… ……..
控制电路 指令译码
IR
PC
0001
MAR
MDR
R0 00000011
Rn-1 Y
X
B
ALU
CPU
内 部 总 线
注1: 本例中的数值均为二进制表示
FZ
注2:“10101010”指代示例中的指令编码
第一步
取指 译码 执行 回写
IR
PC
0001
MAR
0001
MDR 10101010
R0 00000011
Rn-1 Y
X
B
ALU
CPU
内 部 总 线
FZ
第一步:取指(7)
存储器
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
0010 01010101
0011 01010101 MAR
0100 01010101
0111 01010101
… ……..
控制电路 指令译码
IR
PC
0001
MAR
0001
MDR
R0 00000011
Rn-1 Y
X
B
ALU
CPU
内 部 总 线
FZ
第一步:取指(2)
存储器
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
0010 01010101
0011 01010101 MAR

Rn-1

Y

X
线
B
ALU
Z
第三步:执行(3)
存储器
控制
逻辑
0000 01010101 地址
0001 10101010 译码器
0010 01010101
0011 01010101 MAR
0100 01010101
MDR
0101 01010101
0110 00000010
0111 01010101
0001 10101010 译码器
0010 01010101 0011 01010101 0100 01010101 0101 01010101
0001
MAR
MDR
0110 00000010
0111 01010101
… ……..
控制电路 指令译码
IR
PC
0001
MAR
0001
MDR
R0 00000011
相关文档
最新文档