Upload
nevada-brown
View
221
Download
0
Embed Size (px)
DESCRIPTION
以动画形式看几条指令的执行过程: 2200: ADD R2, R3 ; 3 条指令的地址为 2200 、 2201 、 2202 2201: JRNC 2200 ; 若 C=0 转去执行第 1 条,否则顺序执行 2202: STRR [R2], R3 ; 把 R3 的内容写入内存地址为 [R2] 的单元 程序运行的初始状态: 程序已读入内存,第 1 条指令地址已经在 PC 中, - PowerPoint PPT Presentation
Citation preview
以动画形式看几条指令的执行过程:2200: ADD R2, R3 ; 3 条指令的地址为 2200 、 2201 、 2202
2201: JRNC 2200 ;若 C=0 转去执行第 1 条,否则顺序执行2202: STRR [R2], R3 ; 把 R3 的内容写入内存地址为 [R2] 的单元
程序运行的初始状态:程序已读入内存,第 1 条指令地址已经在 PC 中, 假定 R2 的初值为 1234 , R3 的初值为 2345 。
ADD 指令的二进制代码为 00000000 0011 0010 ,已在内存中JRNC 指令的二进制代码为 01000101 1111 1110 ,已在内存中STRR 指令的二进制代码为 10000011 0010 0011 ,已在内存中
3 条指令都要在取指周期执行读取指令的操作,ADD 指令要在 执行周期完成数据运算与写回功能; 结束JRNC 指令要在 执行周期完成指令地址计算并保存功能; 结束STRR 指令要在 执行周期完成数据地址计算并保存功能, 还要在 存储周期完成存储器的写入功能。 结束
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
取指操作 : 在取指周期,以 PC 作地址读内存,读出指令送 IR ,计算下条指令地址
假设 PC 的内容为 2200 ,内存 2200 单元的内容为 0023 , IR 的内容未定
实现功能: pc→AB , mem[AB]→ir , pc+1→pc
控制信号: addr_sel=01, gate_en=1, mio=1, ir_wt=1, pc_wt=1
2 2 0 0
0 0 3 20 0 3 211
2 2 0 02 2 0 1
4 5 F E
B 寄 存 器A 堆 REGs
AR
S
A L U R
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
三态门
运算器部件
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
b_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
reg_wt
y_ib
ar_wt4
alu_out
reg_input
1
0
1
三态门 sr_ib
0
flag_func
Y1 二 选 0 一
0001 四10 选11 一
动画演示REGs(3) + REGs(2) → REG(3)假设 R2 的内容为 1234 R3 的内容为 2345
控制信号: b_sel 选 00
a_sel 选 00
s_sel 选 00
r_sel 选 00
alu_func 选 000
reg_src 选 00
reg_wt 选 1
flag_func 选 001
2
3
1234
2345
1234
23453579
2
3
+
00000000 0010 0011
ADD R2 , R3
0
0
在执行周期,完成在取指周期读出来的加法指令的具体运算过程
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
2 2 0 1
0 0 2 34 5 F
E1
4 5 F E
2 2 0 22 2 0 1
0 0
取指操作 : 在取指周期,以 PC 作地址读内存,读出指令送 IR ,计算下条指令地址
此时 PC 的内容为 2201 ,内存 2201 单元的内容为 45FE , IR 的原有内容 0023
实现功能: pc→AB , mem[AB]→ir , pc+1→pc
控制信号: addr_sel=01, gate_en=1, mio=1, ir_wt=1, pc_wt=10 0 2 3
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
相对转移指令:标志位 C 为 0 时,转移到 2200 地址,否则顺序执行
在执行周期,由控制器部件计算转移指令地址,若 C=0 则把转移地址送入 PC
实现功能: if nc then pc+offset→pc
控制信号: add_sel=1, pc_wt=1
0 0 2 34 5 F
E
2 2 0 02 2 0 2
4 5 F
E F E
0 0
01000101 11111110
JRNC 2200
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
取指操作 : 在取指周期,以 PC 作地址读内存,读出指令送 IR ,计算下条指令地址
此时 PC 的内容为 2202 , IR 的原内容 45FE ,假设内存 2203 单元的内容为 8323
实现功能: pc→AB , mem[AB]→ir , pc+1→pc
控制信号: addr_sel=01, gate_en=1, mio=1, ir_wt=1, pc_wt=1
2 2 0 2
0 0 3 28 3 2 311
2 2 0 22 2 0 3
8 3 2 3
4 5 F E
B 寄 存 器A 堆 REGs
AR
S
A L U R
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
三态门
运算器部件
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
b_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
reg_wt
y_ib
ar_wt4
alu_out
reg_input
1
0
1
三态门 sr_ib
0
flag_func
Y1 二 选 0 一
0001 四10 选11 一
动画演示
在执行周期,在运算器部件中完成把 R2的内容送地址寄存器AR 的操作
R2 的内容为 1234 R3 的内容为 3579
请注意,此步骤中是计算数据在内存中的单元地址,通过 R2+ 0→AR 实现,不影响C 、 Z 等标志位;不使用 R3 。
2
3
12341234
35791234
2
3
+
10000001 0010 0011
STRR [R2] , R3
00
在执行周期,完成读内存指令的数据地址计算与传送操作
00001234
写内存指令,在存储器读写周期,完成把寄存器 R3 的内容写入存储器的选定单元
实现功能: Reg[R3] → Mem[AR] ,运算器中通过 R3+0 执行数据计算 控制信号: addr_sel=00,s_sel=01,r_sel=00, gate_en=1,gate_dir=1,mio=1,we=1
B 寄 存 器A 堆 REGs
A D 存储器
AR
S
A L U R
数据总线DB
地址总线AB
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
串行接口
MAX202
运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
b_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
1
0
1
三态门 sr_ib
0
flag_funrc
Y00三10选01一
addr_sel
1 二 选 0 一
0001 四10 选11 一
io_port
10000001 0010 0011
STRR [R2] , R3动画演示
在存储器读写周期 ,
完成把寄存器堆中的一个寄存器 (R
3) 的内容写入存储器的由 AR 指定地址的一个存储单元
2
338132
1234
3579
00003579
00
35793579
+
12341234
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
取指操作
实现功能: pc→AB , mem[AB]→ir , pc+1→pc
控制信号: addr_sel=01, gate_en=1, mio=1, ir_wt=1, pc_wt=1
1 2 0 1
0 0 2 34 5 F
E1
4 5 F E
1 2 0 21 2 0 1
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
双寄存器指令
实现功能: Regs[dr] op Regs[sr] → Regs[dr]
控制信号: b_src=00, a_sel=0, s_sel=00, r_sel=00,
alu_func= OP 码 , reg_wt=1 (cmp 、 test 除外 ), flag_func=001
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
单寄存器指令( INC 、 DEC )
实现功能: Regs[dr] +1 ( 或 -1) → Regs[dr]
控制信号: b_src=00, s_sel=00, r_sel=11,
alu_func= 000 或 001, reg_wt=1, flag_func=001
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
单寄存器指令( SHL 、 SHR )
实现功能: Regs[dr] << 1 ( 或 >> 1) → Regs[dr]
控制信号: b_src=00, s_sel=00, r_sel=01,
alu_func= 000, reg_wt=1, flag_func=011 ( 或 100)
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
MVRD 指令 实现功能: pc→AB , mem[AB]→dr , pc+1→pc
控制信号: s_sel=01, r_sel=10, reg_wt=1, pc_wt=1
addr_sel=01, gate_en=1, mio=1
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
相对转移指令( JR 、 JRC 、 JRNC 、 JRZ 、 JRNZ )
实现功能: pc + offset → pc ( 如果转移条件成立 )
控制信号: add_src=1, pc_wt=1 ( 如果转移条件成立 )
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
JMPA 指令 实现功能: pc→AB , mem[AB]→pc
控制信号: pc_src=10, pc_wt=1
addr_sel=01, gate_en=1, mio=1
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
读内存指令 LDRR_1
实现功能: sr → ar
控制信号: s_sel=01, ar_wt=1
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
读内存指令 LDRR_2
实现功能: Mem[ar] → dr
控制信号: s_sel=01, r_sel=10, reg_wt=1
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
CALA 指令 -1
实现功能: pc→AB , mem[AB]→pc , pc+1→npc, sp-1→sp,ar
控制信号: gate_en=1, mio=1, addr_sel=1, pc_src=10, pc_wt=1, npc_wt=1
b_src=01, r_sel=11, alu_func=001, reg_wt=1, ar_wt=1
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
CALA 指令 -2
实现功能: ar→AB , npc→mem[AB]
控制信号: npc_ib=1, gate_en=1, gate_dir=1, mio=1, we=1
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
RET 指令 _1
实现功能: sp→AB , sp+1→sp
控制信号: a_sel=1, y_sel=1, ar_wt=1
b_sel=01, r_sel=11, reg_wt=1
PC
B 寄 存 器A 堆 REGs
控制信号产生线路
CU
A D 存储器
AR
S
A L U R
指令内容加法器
数据总线DB
地址总线AB
IR
0001 四10 选11 一
缓冲器
缓冲器
0 二 选1 一
三选一10 00 01
双向三态门
三态门
offset
1
串行接口
MAX202
控制器部件 运算器部件 存储器部件和接口电路
输入输出接口部件
串行设备
内部总线 IB
00 01 三 选10 一
0
dr
sr
Flag
C Z V S
1 0
二选一
NPCb_sel
a_sel y_sel
r_sel
s_selalu_func
Cy Over Sign Zero
reg_src
add_src
pc_wt ir_rt
pc_src
reg_wt
y_ib
ar_wt
gate_en
gate_dir
4
alu_out
reg_input
三态门
1
0
1
ncp_ib
npc_wt
三态门 sr_ib
0
add_out
flag_funrc
clock
reset
Y00三10选01一
addr_sel
二 0选 一 1
1 二 选 0 一
0001 四10 选11 一
io_port
RET 指令 _2
实现功能: ar→AB , mem[AB]→pc
控制信号: pc_src=10, pc_wt=1
gate_en=1, mio=1