计算机设计与实践给定指令系统的 处理器设计实验报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机设计与实践给定指令系统的 处理器设计实验报告
学院:计算机科学与技术 姓名:王帆
学号:1140310602 指导老师:黄庆成
2016 年 7 月 26 日
1
目录 实验目的 ....................................................................... 4 实验环境 ....................................................................... 4 设计思想 ....................................................................... 4
5
回写周期: LDA:RTemp→Reg(A) ADD,SUB,MVI,MOV:ALUOUT→Reg(A) JMP:Addr→PC JZ:if A=0 then Addr→PC
指令格式的设计 ................................................................ 4 微操作的定义 .................................................................. 4 节拍的划分 .................................................................... 5 处理器结构设计框图及功能描述 ................................................. 6 各功能模块结构设计框图及功能描述 .............................................. 6
2
Reset 测试 ................................................................. 15 SUB 测试 ................................................................... 15 ADD 测试 ................................................................... 15 STA 和 LDA 测试 ............................................................. 16 MVI 测试 ................................................................... 16 MOV 测试 ................................................................... 17 IN 和 OUT 测试 .............................................................. 17 JMP 测试 ................................................................... 18 JZ 测试 .................................................................... 18 管脚定义与测试程序 ............................................................ 18 实验感悟与思考 ................................................................ 24 关于 PC 更新的问题 ............................................................ 24 关于数据总线与传输数据长度不匹配的问题 ....................................... 24 实验感悟 ..................................................................... 24
时钟管理模块 ................................................................ 6 取指模块 .................................................................... 7 运算管理模块 ................................................................ 7 存储管理模块 ................................................................ 7 回写模块 .................................................................... 8 访存控制模块 ................................................................ 8 各模块接口信号定义 ............................................................ 8 时钟管理模块 ................................................................ 8 取指模块 .................................................................... 8 运算管理模块 ................................................................ 9 存储管理模块 ................................................................ 9 回写模块 .................................................................... 9 访存控制模块 ............................................................... 10 控制器 ..................................................................... 10 实验测试与结果分析 ............................................................ 11 时钟管理模块 ................................................................. 11 取指模块 ..................................................................... 11 运算管理模块 ................................................................. 11 存储管理模块 ................................................................. 13 回写模块 ..................................................................... 13 访存控制模块 ................................................................. 14 综合测试 ..................................................................... 14
4
寄存器传送指令 MOV Ri, Rj Reg(Ad2(IR)) → Reg(Ad1(IR))
立即数传送指令 MVI Ri, X X → Reg(Ad1(IR))
2) 访存指令 存数指令 STA Ri, X Reg(R7)//Ad(IR)→MAR;1→W; Reg(Ad1(IR))→MDR; MDR→M(MAR) 取数指令 LDA Ri, X Reg(R7)//Ad(IR)→MAR;1→R; M(MAR)→MDR; MDR→Reg(Ad1(IR))
3
一、 实验目的
1. 掌握 Xilinx ISE 集成开发环境使用方法 2. 掌握 VHDL 语言 3. 掌握 FPGA 编程方法及硬件调试手段 4. 深刻理解处理器结构和计算机系统的整体工作原理
二、 实验环境
Xilinx ISE 集成开发环境,ISim 仿真工具,SD2100 实验平台
三、 设计思想
3) 转移类指令 条件转移(零则转)指令 JZ Ri, X [Zero(Reg(Ad1(IR)))·Reg(R7)//Ad(IR) +Nzero(Reg(Ad1(IR)))]+PC→PC 无条件转移指令 JMP X Reg(R7)//Ad(IR)+PC→PC
4) I/O 指令 输入指令 IN Ri,PORT [PORT] → Reg(Ad1(IR)) 输出指令 OUT Ri,PORT Reg(Ad1(IR)) → [PORT]
3. 节拍划分 每个指令周期包含 4 个机器周期:取指周期,运算周期,访存周期,回写周期,每个机
器周期包含一个节拍。 取指周期:M(PC) → IR 1→R PC+1→ PC 运算周期: T1:操作数的准备 Reg(Ad1(IR)) → A, Reg(Ad1(IR)) → B Reg(R7)//Ad(IR) → Addr T2: 运算 ADD:A+B→ALUOUT SUB:A-B→ALUOUT MVI:Ad(IR) →ALUOUT MOV:A→ALUOUT JZ:A→ALUOUT STA:A→ALUOUT 访存周期: 取数:M(Addr) →Rtemp,1→R 存数:ALUOUT→M(Addr),1→W
访存指
0)]
令
LDA 取数指令
01110 XXX XXXXXXXX [R7//IR(7 downto 0)]
→Ri
IN 输入指令
10000 XXX 000000 XX [PORT] → Ri
I/O 指令 OUT 输出指令
10010 XXX 000000 XX Ri → [PORT]
2. 微操作的定义 取指阶段 PC→MAR;1→R; M(MAR)→MDR; MDR→IR; PC+1→PC; 执行阶段 1) 非访存指令 加法指令 ADD Ri, Rj Reg(Ad1(IR)) + Reg(Ad2(IR)) → Reg(Ad1(IR)) 减法指令 SUB Ri, Rj Reg(Ad1(IR)) - Reg(Ad2(IR)) → Reg(Ad1(IR))
1. 指令格式的设计
JMP 无条件跳转指 00000 XXX XXXXXXXX [R7//IR(7 downto 0]→
转移类
令
PC
指令
JZ 零条件跳转指 00010 XXX XXXXXXXX if Ri=0 then
令
[R7//IR(7 downto 0]→
PC
SUB 减法指令
00100 XXX 00000 XXX Ri - Rj → Ri
非 访 存 ADD 加法指令
00110 XXX 00000 XXX Ri + Rj → Ri
指令
MVI 立即数传送指 01000 XXX XXXXXXXX X → Ri
令
MOV 寄存器传送指 01010 XXX 00000 XXX Rj → Ri
令
wenku.baidu.com
STA 存数指令
01100 XXX XXXXXXXX Ri →[R7//IR(7 downto
学院:计算机科学与技术 姓名:王帆
学号:1140310602 指导老师:黄庆成
2016 年 7 月 26 日
1
目录 实验目的 ....................................................................... 4 实验环境 ....................................................................... 4 设计思想 ....................................................................... 4
5
回写周期: LDA:RTemp→Reg(A) ADD,SUB,MVI,MOV:ALUOUT→Reg(A) JMP:Addr→PC JZ:if A=0 then Addr→PC
指令格式的设计 ................................................................ 4 微操作的定义 .................................................................. 4 节拍的划分 .................................................................... 5 处理器结构设计框图及功能描述 ................................................. 6 各功能模块结构设计框图及功能描述 .............................................. 6
2
Reset 测试 ................................................................. 15 SUB 测试 ................................................................... 15 ADD 测试 ................................................................... 15 STA 和 LDA 测试 ............................................................. 16 MVI 测试 ................................................................... 16 MOV 测试 ................................................................... 17 IN 和 OUT 测试 .............................................................. 17 JMP 测试 ................................................................... 18 JZ 测试 .................................................................... 18 管脚定义与测试程序 ............................................................ 18 实验感悟与思考 ................................................................ 24 关于 PC 更新的问题 ............................................................ 24 关于数据总线与传输数据长度不匹配的问题 ....................................... 24 实验感悟 ..................................................................... 24
时钟管理模块 ................................................................ 6 取指模块 .................................................................... 7 运算管理模块 ................................................................ 7 存储管理模块 ................................................................ 7 回写模块 .................................................................... 8 访存控制模块 ................................................................ 8 各模块接口信号定义 ............................................................ 8 时钟管理模块 ................................................................ 8 取指模块 .................................................................... 8 运算管理模块 ................................................................ 9 存储管理模块 ................................................................ 9 回写模块 .................................................................... 9 访存控制模块 ............................................................... 10 控制器 ..................................................................... 10 实验测试与结果分析 ............................................................ 11 时钟管理模块 ................................................................. 11 取指模块 ..................................................................... 11 运算管理模块 ................................................................. 11 存储管理模块 ................................................................. 13 回写模块 ..................................................................... 13 访存控制模块 ................................................................. 14 综合测试 ..................................................................... 14
4
寄存器传送指令 MOV Ri, Rj Reg(Ad2(IR)) → Reg(Ad1(IR))
立即数传送指令 MVI Ri, X X → Reg(Ad1(IR))
2) 访存指令 存数指令 STA Ri, X Reg(R7)//Ad(IR)→MAR;1→W; Reg(Ad1(IR))→MDR; MDR→M(MAR) 取数指令 LDA Ri, X Reg(R7)//Ad(IR)→MAR;1→R; M(MAR)→MDR; MDR→Reg(Ad1(IR))
3
一、 实验目的
1. 掌握 Xilinx ISE 集成开发环境使用方法 2. 掌握 VHDL 语言 3. 掌握 FPGA 编程方法及硬件调试手段 4. 深刻理解处理器结构和计算机系统的整体工作原理
二、 实验环境
Xilinx ISE 集成开发环境,ISim 仿真工具,SD2100 实验平台
三、 设计思想
3) 转移类指令 条件转移(零则转)指令 JZ Ri, X [Zero(Reg(Ad1(IR)))·Reg(R7)//Ad(IR) +Nzero(Reg(Ad1(IR)))]+PC→PC 无条件转移指令 JMP X Reg(R7)//Ad(IR)+PC→PC
4) I/O 指令 输入指令 IN Ri,PORT [PORT] → Reg(Ad1(IR)) 输出指令 OUT Ri,PORT Reg(Ad1(IR)) → [PORT]
3. 节拍划分 每个指令周期包含 4 个机器周期:取指周期,运算周期,访存周期,回写周期,每个机
器周期包含一个节拍。 取指周期:M(PC) → IR 1→R PC+1→ PC 运算周期: T1:操作数的准备 Reg(Ad1(IR)) → A, Reg(Ad1(IR)) → B Reg(R7)//Ad(IR) → Addr T2: 运算 ADD:A+B→ALUOUT SUB:A-B→ALUOUT MVI:Ad(IR) →ALUOUT MOV:A→ALUOUT JZ:A→ALUOUT STA:A→ALUOUT 访存周期: 取数:M(Addr) →Rtemp,1→R 存数:ALUOUT→M(Addr),1→W
访存指
0)]
令
LDA 取数指令
01110 XXX XXXXXXXX [R7//IR(7 downto 0)]
→Ri
IN 输入指令
10000 XXX 000000 XX [PORT] → Ri
I/O 指令 OUT 输出指令
10010 XXX 000000 XX Ri → [PORT]
2. 微操作的定义 取指阶段 PC→MAR;1→R; M(MAR)→MDR; MDR→IR; PC+1→PC; 执行阶段 1) 非访存指令 加法指令 ADD Ri, Rj Reg(Ad1(IR)) + Reg(Ad2(IR)) → Reg(Ad1(IR)) 减法指令 SUB Ri, Rj Reg(Ad1(IR)) - Reg(Ad2(IR)) → Reg(Ad1(IR))
1. 指令格式的设计
JMP 无条件跳转指 00000 XXX XXXXXXXX [R7//IR(7 downto 0]→
转移类
令
PC
指令
JZ 零条件跳转指 00010 XXX XXXXXXXX if Ri=0 then
令
[R7//IR(7 downto 0]→
PC
SUB 减法指令
00100 XXX 00000 XXX Ri - Rj → Ri
非 访 存 ADD 加法指令
00110 XXX 00000 XXX Ri + Rj → Ri
指令
MVI 立即数传送指 01000 XXX XXXXXXXX X → Ri
令
MOV 寄存器传送指 01010 XXX 00000 XXX Rj → Ri
令
wenku.baidu.com
STA 存数指令
01100 XXX XXXXXXXX Ri →[R7//IR(7 downto