计算机组成与系统结构课程设计
一、本课程设计的性质、目的、任务
《计算机组成与系统结构课程设计》是计算机学院各专业集中实践性环节之一,是学习完《计算机组成与系统结构》课程后进行的一次全面的综合练习。其目的是综合运用所学计算机原理知识,设计并实现一台模型计算机,以便巩固所学的知识,提高分析问题和解决问题的能力。
二、本课程设计的基本理论
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 R0
01 R1
10 R2
11 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、填写所设计的模型机微指令表(只填写有微指令的相关行):
微址 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、实现并调通三分之一的指令,并为独立完成者,成绩为及格。