计算机组成与系统结构课程设计
一、本课程设计的性质、目的、任务
《计算机组成与系统结构课程设计》**计算机组成与系统结构课程设计**
一、本课程设计的性质、目的、任务
《计算机组成与系统结构课程设计》是计算机学院各专业集中实践性环节之一,是学习完《计算机组成与系统结构》课程后进行的一次全面的综合练习。其目的是综合运用所学计算机原理知识,设计并实现一台模型计算机,以便巩固所学的知识,提高分析问题和解决问题的能力。
二、本课程设计的基本理论
1、掌握算术、逻辑、移位运算实验,熟悉ALU运算控制位的运用。
2、掌握存储器组织、读写方式及与总路线组成的数据通路,掌握地址总线、数据总线的工作原理。
3、掌握指令结构和指令取指、执行工作过程。
4、掌握CPU的微程序控制原理。
三、题目
综合运用所学计算机原理知识,设计并实现具有以下16条指令的指令集结构的模型计算机:
编号
助记符
机器指令码
说明
0
SUB Rd,Rs
0000 RdRs
Rd-Rs→Rd
1
ADD Rd,Rs
0001 RdRs ?
Rd+Rs→Rd
2
AND Rd,Rs
0010 RdRs
Rd&Rs→Rd (Rd和Rs相与)
3
DEC Rd
0011 Rd00
将Rd值减1
4
CLR Rd
0100 Rd00
将Rd清零
5
RL Rd
0101 Rd00
Rd循环左移一位
6?
RR Rd
0110 Rd00
Rd循环右移一位
7
MOV Rd,Rs
0111 RdRs
Rs→Rd
8
LDI Rd,*
1000 Rd00 XXXXXXXX
将指令中的立即数(第二字节)送入Rd
9
OUT IOH,Rs
1001 00Rs
Rs→i/o(数据开关)高字节
10?
LDA Rd,M
1010 Rd00 XXXXXXXX XXXXXXXX
[M] →Rd
11?
STA M,Rs
1011 00Rs XXXXXXXX XXXXXXXX
Rs→[M]
12
JMP M
1100 0000 XXXXXXXX XXXXXXXX
[M]→PC,即跳转到M所指单元
13
JZ M
1101 0000 XXXXXXXX XXXXXXXX
当Z=1时,跳转到M所指单元
14
JC M
1110 0000 XXXXXXXX XXXXXXXX
当CY=1时,跳转到M所指单元
15
HALT
1111 0000
停机
设计提示:
1、上表中,机器指令码的高4位为指令操作码,M为16位存储器地址, Rs为源寄存器,Rd为目的寄存器,占2位,并规定:
Rs或Rd
选定的寄存器
00 01 10 11
R0 R1 R2 R3
2、在微程序中,微地址001为取指,微指令为BF FB F8。
3、各指令指行阶段微程序入口地址的确定方式:
微地址位号
10 9
8 7 6 5
4 3 2 1 0
内容
1 1
IR7~IR4
0 0 0 0 0
例如,第5条指令”RL Rd” 的指令码为0101 Rd00 则指令码的高4位IR7~IR4为0101,由上表知,微程序入口微地址为: 11 0101 00000 ,即6A0H。
4、主要步骤:
(1)按照第3点的方法,给出所有16条指令的微程序入口微地址;
(2)通过分析每条指令的功能明确其的微程序流程,可参考实验指导书图3-4-1、图3-2-2、图3-3-1;
(3)写出每条微指令的微命令,即24个微控制位信号,可参考实验指导书表3.4.1、表3.2.1、表3.3.1和“微控制器编程手册”第2章。
(4)建议采用逐条指令设计实现的方式,一条实现并用汇编语句测试通过后(指令功能、下址顺序均正确)再进行下一条的设计。
5、检查
模型计算机设计完成后,用所给的测试程序check_1.asm(测12条非转移指令)和check_2.asm(测3条转移指令)检查正确性。检查方法:在测试程序中#load s本人的.IS微指令程序,实验箱电源关闭重启并连接,装载后选择“运行”或“单步”执行。
check_1.asm运行的正确结果为:寄存器R0R1R2R3分别显示00112233,IOH显示33。
check_2.asm运行的正确结果为:寄存器R0R1R2R3分别显示00112233,如果显示EE则执行有错误。
check1.asm程序的运行结果
check2.asm程序的运行结果
四、基本要求
1、独立完成;
2、严格按上述指令集格式要求设计出模型机,实现各项功能,格式不得有任何改动;
3、运行老师指定的检测程序,检验所设计的模型机工作是否正常;
4、回答老师提问;
5、完成课程设计报告。
五、参考资料
1、无锡达爱思科教仪器厂自编.《十六位体系结构计算机组成原理实验指导书(第三版)》。重点学习“复杂模型机的设计与实现”(3.4节),参考“分段模型机的设计与实现”(3.2节)、“带移位运算的模型机的设计与实现”(3.3节)。
2、《计算机组成原理微控制器编程手册》。
3、《计算机组成与系统结构》,袁春风著。
六、课程设计报告的内容
1、报告封面
2、课程设计的性质、目的、任务
3、课程设计的基本理论
4、课程设计的题目
5、画出微程序流程图(树型图)
6、填写所设计的模型机微指令表(只填写有微指令的相关行):
微址00002)1)
M23
M22
M21
M20
M19
M18
M17
M16
代码
M15
M14
M13
M12
M11
M10
M9
M8
代码
M7
M6
M5
M4
M3
M2
M1
M0
代码
后续微址
说明
E/M
IP
MWR
R/M
o2
o1
O0
OP
M
CN
S2
S2
S0
X2
X1
X0
XP
W
ALU
Iu
IE
IR
Icz
Ids
7、列表说明检测的机器指令程序,包括每个语句的地址、指令代码、助记符(即汇编语句)、功能说明。
8、运行检测程序后的结果图片。
9、存在的问题及体会
七、考核标准
1、符合以下之一者,不论完成如何,成绩为不及格:①抄袭,②缺席两次或以上,③不交课程设计报告,④完成三分之一以下指令。
2、全部实现所有指令集,检测程序check_1和check_2均通过,为独立完成者,并能正确回答问题,成绩为优;
3、实现并调通三分之二以上的指令,检测程序check_1通过,为独立完成者,成绩为良;
4、实现并调通二分之一的指令,通过部分检测,并为独立完成者,成绩为中;
5、实现并调通三分之一的指令,并为独立完成者,成绩为及格。是计算机学院各专业集中实践性环节之一,是学习完《计算机组成与系统结构》课程后进行的一次全面的综合练习。其目的是综合运用所学计算机原理知识,设计并实现一台模型计算机,以便巩固所学的知识,提高分析问题和解决问题的能力。
二、本课程设计的基本理论
1、掌握算术、逻辑、移位运算实验,熟悉ALU运算控制位的运用。
2、掌握存储器组织、读写方式及与总路线组成的数据通路,掌握地址总线、数据总线的工作原理。
3、掌握指令结构和指令取指、执行工作过程。
4、掌握CPU的微程序控制原理。
三、题目
综合运用所学计算机原理知识,设计并实现具有以下16条指令的指令集结构的模型计算机:
编号 | 助记符 | 机器指令码 | 说明 |
0 | SUB Rd,Rs | 0000 RdRs | Rd-Rs→Rd |
1 | ADD Rd,Rs | 0001 RdRs ? | Rd+Rs→Rd |
2 | AND Rd,Rs | 0010 RdRs | Rd&Rs→Rd (Rd和Rs相与) |
3 | DEC Rd | 0011 Rd00 | 将Rd值减1 |
4 | CLR Rd | 0100 Rd00 | 将Rd清零 |
5 | RL Rd | 0101 Rd00 | Rd循环左移一位 |
6? | RR Rd | 0110 Rd00 | Rd循环右移一位 |
7 | MOV Rd,Rs | 0111 RdRs | Rs→Rd |
8 | LDI Rd,* | 1000 Rd00 XXXXXXXX | 将指令中的立即数(第二字节)送入Rd |
9 | OUT IOH,Rs | 1001 00Rs | Rs→i/o(数据开关)高字节 |
10? | LDA Rd,M | 1010 Rd00 XXXXXXXX XXXXXXXX | [M] →Rd |
11? | STA M,Rs | 1011 00Rs XXXXXXXX XXXXXXXX | Rs→[M] |
12 | JMP M | 1100 0000 XXXXXXXX XXXXXXXX | [M]→PC,即跳转到M所指单元 |
13 | JZ M | 1101 0000 XXXXXXXX XXXXXXXX | 当Z=1时,跳转到M所指单元 |
14 | JC M | 1110 0000 XXXXXXXX XXXXXXXX | 当CY=1时,跳转到M所指单元 |
15 | HALT | 1111 0000 | 停机 |
设计提示:
1、上表中,机器指令码的高4位为指令操作码,M为16位存储器地址, Rs为源寄存器,Rd为目的寄存器,占2位,并规定:
Rs或Rd | 选定的寄存器 |
00 01 10 11 | R0 R1 R2 R3 |
2、在微程序中,微地址001为取指,微指令为BF FB F8。
3、各指令指行阶段微程序入口地址的确定方式:
微地址位号 | 10 9 | 8 7 6 5 | 4 3 2 1 0 |
内容 | 1 1 | IR7~IR4 | 0 0 0 0 0 |
例如,第5条指令”RL Rd” 的指令码为0101 Rd00 则指令码的高4位IR7~IR4为0101,由上表知,微程序入口微地址为: 11 0101 00000 ,即6A0H。
4、主要步骤:
(1)按照第3点的方法,给出所有16条指令的微程序入口微地址;
(2)通过分析每条指令的功能明确其的微程序流程,可参考实验指导书图3-4-1、图3-2-2、图3-3-1;
(3)写出每条微指令的微命令,即24个微控制位信号,可参考实验指导书表3.4.1、表3.2.1、表3.3.1和“微控制器编程手册”第2章。
(4)建议采用逐条指令设计实现的方式,一条实现并用汇编语句测试通过后(指令功能、下址顺序均正确)再进行下一条的设计。
5、检查
模型计算机设计完成后,用所给的测试程序check_1.asm(测12条非转移指令)和check_2.asm(测3条转移指令)检查正确性。检查方法:在测试程序中#load s本人的.IS微指令程序,实验箱电源关闭重启并连接,装载后选择“运行”或“单步”执行。
check_1.asm运行的正确结果为:寄存器R0R1R2R3分别显示00112233,IOH显示33。
check_2.asm运行的正确结果为:寄存器R0R1R2R3分别显示00112233,如果显示EE则执行有错误。
|
|
四、基本要求
1、独立完成;
2、严格按上述指令集格式要求设计出模型机,实现各项功能,格式不得有任何改动;
3、运行老师指定的检测程序,检验所设计的模型机工作是否正常;
4、回答老师提问;
5、完成课程设计报告。
五、参考资料
1、无锡达爱思科教仪器厂自编.《十六位体系结构计算机组成原理实验指导书(第三版)》。重点学习“复杂模型机的设计与实现”(3.4节),参考“分段模型机的设计与实现”(3.2节)、“带移位运算的模型机的设计与实现”(3.3节)。
2、《计算机组成原理微控制器编程手册》。
3、《计算机组成与系统结构》,袁春风著。
六、课程设计报告的内容
1、报告封面
2、课程设计的性质、目的、任务
3、课程设计的基本理论
4、课程设计的题目
5、画出微程序流程图(树型图)
6、填写所设计的模型机微指令表(只填写有微指令的相关行):
微址00002)1) | M23 | M22 | M21 | M20 | M19 | M18 | M17 | M16 | 代码 | M15 | M14 | M13 | M12 | M11 | M10 | M9 | M8 | 代码 | M7 | M6 | M5 | M4 | M3 | M2 | M1 | M0 | 代码 | 后续微址 | 说明 |
E/M | IP | MWR | R/M | o2 | o1 | O0 | OP | M | CN | S2 | S2 | S0 | X2 | X1 | X0 | XP | W | ALU | Iu | IE | IR | Icz | Ids | ||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7、列表说明检测的机器指令程序,包括每个语句的地址、指令代码、助记符(即汇编语句)、功能说明。
8、运行检测程序后的结果图片。
9、存在的问题及体会
七、考核标准
1、符合以下之一者,不论完成如何,成绩为不及格:①抄袭,②缺席两次或以上,③不交课程设计报告,④完成三分之一以下指令。
2、全部实现所有指令集,检测程序check_1和check_2均通过,为独立完成者,并能正确回答问题,成绩为优;
3、实现并调通三分之二以上的指令,检测程序check_1通过,为独立完成者,成绩为良;
4、实现并调通二分之一的指令,通过部分检测,并为独立完成者,成绩为中;
5、实现并调通三分之一的指令,并为独立完成者,成绩为及格。