指令执行步骤示例剖析
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
串行 设备 MAX 202 串行 接口
Flag
flag_funrc b_sel reg_wt
npc_wt NPC add_out
输入输出接口部件
ncp_ib
三态门
加法器
指 令 内 容
add_src
dr 4 0
1 二 选 0 一 00 01 三 选 10 一
s_sel
00 01 四 10 选 11 一 00 01 四 10 选 11 一
二选一
二 0 选 一 1
1
1
B 寄 存 器 A 堆 REGs
缓 冲 器 缓 冲 器
0 1 0 1
S A L U R
ar_wt
地址 总线 AB
00三 10选 01一
Y
AR
数 据 总 线 DB A D 存储器
offset
sr
a_sel reg_src
10
reg_input
三选一
00 01
y_sel r_sel
offset
sr
a_sel reg_src
10
reg_input
三选一
00 01
y_sel r_sel
addr_sel
PC
IR 三态门 io_port
y_ib gate_en gate_dir
双向 三态门
pc_wt
ir_rt
控制器部件
内部总线 IB
运算器部件
存储器部件和接口电路
指令执行步骤
取指 周期 000 复位状态 100
addr_sel
PC
IR 三态门 io_port
y_ib gate_en gate_dir
双向 三态门
pc_wt
ir_rt
控制器部件
内部总线 IB
运算器部件
存储器部件和接口电路
指令执行步骤 这个系统由控制器、运算器、存储器和接口电路3个部分组成。 控制器由PC、IR、Timing、CU四个子部件组成,还有一个专用于计 取指 周期 000 执行 周期 001 存储 周期 011 算指令地址的加法器 Adder,使计算指令地址不再通过运算器中的ALU完 成。 暂存器NPC 用于为 CALA 指令暂存主调用程序的返回地址。 复位状态 100 PC+1 全部指令都经 取指 和执行周期,仅读写内存指令经存储周期 PC 可以接受 ,PC+offset ,从存储器中读出来的指令地址。
输入输出接口部件
ncp_ib
三态门
加法器
指 令 内 容
add_src
dr 4 0
1 二 选 0 一 00 01 三 选 10 一
s_sel
00 01 四 10 选 11 一 00 01 四 10 选 11 一
alu_func Cy Over Sign Zero alu_out
0二 选 1一
1
0Biblioteka Baidu
pc_src
取指周期占用控制器和存储器, 实 现读取指令与计算下条相邻指令地址。 执行周期占用运算器完成数据或内 存地址计算,用控制器计算指令地址。 存储周期占用运算器、控制器和存 储器完成数据读写或指令地址的读写。
指令格式
8位 4位 4位
操
作
码
目的寄存器 源寄存器
I/O 端 口 地 址
相对转移指令的偏移量 立即数 / 直接地址 / 变址偏移量 指令执行步骤
s_sel
00 01 四 10 选 11 一 00 01 四 10 选 11 一
alu_func Cy Over Sign Zero alu_out
0二 选 1一
1
0
pc_src
二选一
二 0 选 一 1
1
1
B 寄 存 器 A 堆 REGs
缓 冲 器 缓 冲 器
0 1 0 1
S A L U R
ar_wt
取指 周期 000 复位状态 100 执行 周期 001 存储 周期 011
所有指令都经过取指和执行周期, 仅有读写内存操作的7条指令要增加存储周期
strr, ldrr, push, pop, ret, cala, calr
clock reset
节拍发生器 Timing 控制信号 产生线路 CU
CZVS
地址 总线 AB
00三 10选 01一
Y
AR
数 据 总 线 DB A D 存储器
offset
sr
a_sel reg_src
10
reg_input
三选一
00 01
y_sel r_sel
addr_sel
PC
IR 三态门 io_port
y_ib gate_en gate_dir
双向 三态门
pc_wt
ir_rt
clock reset
节拍发生器 Timing 控制信号 产生线路 CU
CZVS
串行 设备 MAX 202 串行 接口
Flag
flag_funrc b_sel reg_wt
npc_wt NPC add_out
输入输出接口部件
ncp_ib
三态门
加法器
指 令 内 容
add_src
dr 4 0
1 二 选 0 一 00 01 三 选 10 一
计算机硬件系统组成
执行 周期 001 存储 周期 011
全部指令都经取指和执行周期,仅读写内存指令经存储周期
clock reset
节拍发生器 Timing 控制信号 产生线路 CU
CZVS
串行 设备 MAX 202 串行 接口
Flag
flag_funrc b_sel reg_wt
npc_wt NPC add_out
取指 周期 000 复位状态 100 执行 周期 001 存储 周期 011
strr, ldrr, push, pop, ret, cala, calr
需要向各部件提供的控制信号取 决于部件本身的运行控制需求,由控 制器的控制单元CU提供,其VHDL程 序由两层嵌套的 CASE语句组成,外 层区分指令执行周期,内层区分每条 指令,CU将依据不同指令及其所处 的周期,向计算机各个部件提供它们 运行所需要的控制信号。设计实现控 制单元 CU 的逻辑实现是控制器教学 中的难点之一。
控制器部件
内部总线 IB
运算器部件
CPU设计 和 VHDL语言程序
1、按照指令系统的功能要求,设计计算机各部件的组成及其连接关系 , 2、划分指令执行步骤,设计各步骤完成的功能,分配功能到各个部件 , 3、确定要为每个执行步骤中各个部件提供哪些控制信号,设计这些控 制信号的当前值。 指令用 2 – 3 步完成,都必经取指和执行周期,仅读写内存用到存储周期。
alu_func Cy Over Sign Zero alu_out
0二 选 1一
1
0
pc_src
二选一
二 0 选 一 1
1
1
B 寄 存 器 A 堆 REGs
缓 冲 器 缓 冲 器
0 1 0 1
S A L U R
ar_wt
地址 总线 AB
00三 10选 01一
Y
AR
数 据 总 线 DB A D 存储器