网站建设整个流程,建站公司建的网站能改动吗,网络游戏管理暂行办法,太原建高铁站计算机组成与系统结构课程设计实验报告 学院#xff1a; 计算机学科与网络工程学院
专业班级#xff1a; 计算机科学与技术172
姓名#xff1a;
学号#xff1a; 2019.06.…
计算机组成与系统结构课程设计实验报告 学院 计算机学科与网络工程学院
专业班级 计算机科学与技术172
姓名
学号 2019.06.20 广州大学学生实验报告
开课学院及实验室计算机科学与工程实验室 2019年 6 月20日 学院 计算机科学与教育软件学院 年级/专业/班 计科172 姓名 学号 实验课程名称 计算机组成与系统结构实验课 成绩 实验项目名称 计算机组成与系统结构课程设计 指导老师
2、课程设计的性质、目的、任务
《计算机组成与系统结构课程设计》是计算机学院各专业集中实践性环节之一是学习完《计算机组成与系统结构》课程后进行的一次全面的综合练习。其目的是综合运用所学计算机原理知识设计并实现一台模型计算机以便巩固所学的知识提高分析问题和解决问题的能力。
课程设计的基本理论
1、掌握算术、逻辑、移位运算实验熟悉ALU运算控制位的运用。
2、掌握存储器组织、读写方式及与总路线组成的数据通路掌握地址总线、数据总线的工作原理。
3、掌握指令结构和指令取指、执行工作过程。
4、掌握CPU的微程序控制原理。
4、课程设计的题目
综合运用所学计算机原理知识设计并实现具有以下16条指令的指令集结构的模型计算机 编号 助记符 机器指令码 说明 0 SUB Rd,Rs 0000 RdRs Rd-Rs→Rd 1 ADD Rd,Rs 0001 RdRs RdRs→Rd 2 AND Rd,Rs 0010 RdRs RdRs→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 当Z1时跳转到M所指单元 14 JC M 1110 0000 XXXXXXXX XXXXXXXX 当CY1时跳转到M所指单元 15 HALT 1111 0000 停机 check_1
;课程设计检查程序1,含除跳转指令外的12条指令
add,and,dec,ldi,clr,rl,rr,ldr,sta,mov,out,hlt
#LOAD lcy.IS ;预调入指令系统/微程序,用自己的微程序文件名称 org 0 start:LDI r0,12h
sta 100h,r0
lda r1,100h
dec r1
rl r0
add r0,r1
rr r0
add r0,r1
ldi r2,76h
and r2,r0
mov r3,r2
add r3,r1
clr r0
out ioh,r3
hlt end
check_2
;课程设计检查程序2,含3条跳转指令jz,jc,jmp
#LOAD lcy.IS ;预调入指令系统/微程序用自己的微程序文件名称 org 0
start: LDI r0,12h
sub r0,r0
jz tag1
ldi r3,0eeh
jmp tag2
tag1:ldi r3,33h
tag2:ldi r0,88h
add r0,r0
jc tag3
ldi r2,0eeh
jmp tag4
tag3:ldi r2,22h
tag4:ldi r1,11h
ldi r0,0
add r1,r0
jz tag5
jmp tag6
tag5:ldi r1,0eeh
tag6:jc tag7
ldi r0,0h
jmp tag8
tag7:ldi r0,0eeh
tag8:hlt end 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 0000 1 1 1 1 1 1 1 1 FF 1 1 1 1 1 1 1 1 FF 1 1 1 1 1 1 1 1 FF 1 0001 1 0 1 1 1 1 1 1 BF 1 1 1 1 1 0 1 1 FB 1 1 1 1 1 0 0 0 F8 1 0600 1 1 1 1 1 0 1 0 FA 1 1 1 1 1 0 0 1 F9 1 1 0 1 1 1 1 1 DF 1 SUB 0601 1 1 1 1 1 0 0 0 F8 1 1 1 1 1 0 0 1 F9 0 0 1 1 1 1 1 1 5F 1 0602 1 1 1 1 0 0 0 0 F0 0 1 1 0 1 1 1 0 6E 0 1 0 0 1 1 1 1 4F 0001 0620 1 1 1 1 1 0 0 0 F8 1 1 1 1 1 0 0 1 F9 1 1 1 1 1 1 1 1 FF 1 ADD 0621 1 1 1 1 1 0 1 0 FA 1 1 1 1 1 0 0 1 F9 0 1 1 1 1 1 1 1 7F 1 0622 1 1 1 1 0 0 0 0 F0 0 1 1 0 0 1 1 0 66 0 1 1 0 1 1 0 1 6D 0001 0640 1 1 1 1 1 0 1 0 FA 1 1 1 1 1 0 0 1 F9 1 1 0 1 1 1 1 1 DF 1 AND 0641 1 1 1 1 1 0 0 0 F8 1 1 1 1 1 0 0 1 F9 0 1 0 1 1 1 1 1 5F 1 0642 1 1 1 1 0 0 0 0 F0 1 1 1 0 1 1 1 0 EE 0 1 0 0 1 1 1 1 4F 0001 0660 1 1 1 1 1 0 0 0 F8 1 1 1 1 1 0 0 1 F9 0 1 0 1 1 1 1 1 5F 1 DEC 0661 1 1 1 1 0 0 0 0 F0 1 1 0 1 0 1 1 0 D6 0 1 0 0 1 1 0 1 4D 0001 0680 1 1 1 1 1 0 0 0 F8 1 1 1 1 1 0 0 1 F9 0 1 0 1 1 1 1 1 5F 1 CLR 0681 1 1 1 1 0 0 0 0 F0 1 1 0 1 1 1 1 0 DE 0 1 0 0 1 1 0 1 4D 0001 06A0 1 1 1 1 1 0 0 0 F8 1 1 1 1 1 0 0 1 F9 0 1 0 1 1 1 1 1 5F 1 RL 06A1 1 1 1 1 0 0 0 0 F0 0 1 1 1 0 1 1 0 76 0 1 0 0 1 1 0 1 4D 0001 06C0 1 1 1 1 1 0 0 0 F8 1 1 1 1 1 0 0 1 F9 0 1 1 1 1 1 1 1 7F 1 RR 06C1 1 1 1 1 0 0 0 0 F0 0 1 0 1 1 1 1 0 5E 0 1 1 0 1 1 0 1 6D 0001 06E0 1 1 1 1 0 0 0 0 F0 1 1 1 1 1 0 0 1 F9 1 1 1 0 1 1 0 1 ED 0001 MOV 0700 1 1 1 1 0 0 0 0 F0 1 1 1 1 1 0 1 1 FB 1 1 0 1 1 1 1 1 DF 1 LDI 0701 1 0 1 1 1 1 1 1 BF 1 1 1 1 1 1 1 1 FF 1 1 1 0 1 1 0 1 ED 0001 0720 1 1 1 1 0 1 0 1 F5 1 1 1 1 1 0 0 1 F9 1 1 1 0 1 1 0 1 ED 0001 OUT 0740 1 1 1 1 1 0 0 0 F8 1 1 1 1 1 0 1 1 FB 1 1 0 1 1 1 1 1 DF 1 LDA 0741 1 0 1 1 1 0 0 1 B9 1 1 1 1 1 0 1 1 FB 1 1 0 1 1 1 1 1 DF 1 0742 1 0 1 1 1 1 0 0 BC 1 1 1 1 1 1 1 0 FE 0 0 0 1 1 1 1 1 1F 1 0743 0 1 1 1 0 0 0 0 70 1 1 1 1 1 0 1 1 FB 1 1 1 0 1 1 0 1 ED 0001 0760 1 1 1 1 1 0 1 0 FA 1 1 1 1 1 0 1 1 FB 1 1 0 1 1 1 1 1 DF 1 STA 0761 1 1 1 1 1 0 1 0 BB 1 1 1 1 1 0 1 1 FB 1 1 0 1 1 1 1 1 DF 1 0762 1 0 1 1 1 1 0 0 BC 1 1 0 0 0 1 1 0 C6 0 0 0 0 1 1 1 1 0F 0763 0763 0 1 0 1 1 1 1 1 5F 1 1 1 1 1 0 0 1 F9 1 1 1 0 1 1 0 1 ED 0001 0780 1 1 1 1 1 0 1 0 FA 1 1 1 1 1 0 1 1 FB 1 1 1 1 1 1 1 1 FF 1 JMP 0781 1 1 1 1 1 0 1 0 BB 1 1 1 1 1 0 1 1 FB 1 1 1 1 1 1 1 1 FF 1 0782 0 0 1 1 1 1 1 1 3F 1 1 0 0 0 1 1 0 C6 0 0 1 0 1 1 0 1 2D 0001 07A0 1 1 1 1 1 0 1 0 FA 1 1 1 1 1 0 1 1 FB 1 1 1 1 1 1 1 1 FF 1 JZ 07A1 1 1 1 1 1 0 1 0 BB 1 1 1 1 1 0 1 1 FB 1 1 1 1 1 1 1 1 FF 1 07A2 1 0 1 1 1 1 0 0 BC 1 1 0 0 0 1 1 0 C6 0 0 1 1 1 1 1 1 3F 1 07A3 1 1 1 1 1 1 1 1 FF 1 1 0 0 0 1 1 0 C6 1 1 1 1 1 1 0 0 FC 07A4 07A4 1 1 1 1 1 1 1 1 FF 1 1 1 1 1 1 1 1 FF 1 1 1 0 1 1 0 1 ED 0001 07A5 0 0 1 1 1 1 1 1 3F 1 1 0 0 0 1 1 0 C6 0 0 1 0 1 1 0 1 2D 0001 07C0 1 1 1 1 1 0 1 0 FA 1 1 1 1 1 0 1 1 FB 1 1 1 1 1 1 1 1 FF 1 JC 07C1 1 1 1 1 1 0 1 0 BB 1 1 1 1 1 0 1 1 FB 1 1 1 1 1 1 1 1 FF 1 07C2 1 0 1 1 1 1 0 0 BC 1 1 0 0 0 1 1 0 C6 0 0 1 1 1 1 0 1 3D 07C4 07C4 1 1 1 1 1 1 1 1 FF 1 1 1 1 1 1 1 1 FF 1 1 1 0 1 1 0 1 ED 0001 07C5 0 0 1 1 1 1 1 1 3F 1 1 0 0 0 1 1 0 C6 0 0 1 0 1 1 0 1 2D 0001 07E0 1 1 1 1 1 0 0 0 F8 1 1 1 1 1 0 0 0 F8 0 0 1 1 1 1 1 1 3F 1 HLT 07E1 0 0 1 1 1 1 1 1 3F 1 1 0 1 0 1 1 0 D6 0 0 1 0 1 1 0 1 2D 0001
列表说明检测的机器指令程序包括每个语句的地址、指令代码、助记符即汇编语句、功能说明。
;分段/RISC模型机指令系统 ;助记符 操作数 指令码 长度
;-----------------------------------------------------
LDI R0,* 80 2 ;将指令中的立即数第二字节送入R0
LDI R1,* 84 2 ;将指令中的立即数第二字节送入R0
LDI R2,* 88 2 ;将指令中的立即数第二字节送入R2
LDI R3,* 8C 2 ;将指令中的立即数第二字节送入R3
STA *,R0 B0 3 ;Rs(R0)→[M]
STA *,R3 B3 3 ;Rs(R0)→[M]
LDA R1,* A4 3 ;[M] →R1
DEC R1 34 1 ;将R1值减1
RL R0 50 1 ;R0循环左移一位
SUB R0,R1 01 1 ;R0-R1→R1
RR R0 60 1 ;R0循环右移一位
ADD R0,R0 10 1 ;R0R0→R0
ADD R0,R1 11 1 ;R0R1→R0
ADD R1,R0 14 1 ;R0R1→R1
ADD R2,R3 1B 1 ;R2R3→R2
ADD R3,R2 1E 1 ;R2R3→R3
ADD R3,R1 1D 1 ;R1R3→R3
SUB R0,R0 00 1 ;R0-R0-R0
AND R0,R1 21 1 ;RdRs→Rd R2和R0相与
AND R2,R0 28 1 ;RdRs→Rd R2和R0相与
MOV R3,R2 7E 1 ;R2→R3
MOV R0,R1 71 1 ;R1→R0
CLR R0 40 1 ;将R0清零
OUT IOH,R0 90 1 ;R0→I/O(数据开关)高字节
OUT IOH,R1 91 1 ;R1→I/O(数据开关)高字节
OUT IOH,R2 92 1 ;R1→I/O(数据开关)高字节
OUT IOH,R3 93 1 ;R3→I/O(数据开关)高字节
JMP * C0 3 ;[M]-PC,即跳到M所指单元
JZ * D0 3 ;当Z1时跳转到M所指单元
JC * E0 3 ;当CY1时跳转到M所指单元
HLT F0 1 ;停机 运行检测程序后的结果图片。
Check.1程序跑完的结果 Check.2程序跑完的结果 9、存在的问题及体会 计算机组成是计算机专业课程对计算机组成的了解深入与否很大程度决定一个的程序员水平的高低。我对计算机组成原理这门课程是非常感兴趣的。特别是计算机组成实验课。课堂上的知识碍于时间限制老师不可能面面俱到而且对于新手来说这门课程显得生涩难懂需要学生投入足够的时间硬啃。老实说上了一学期的课我还是对很多知识感到陌生。在接下来的暑假我打算自己再学一遍。这学期感谢老师的循循善诱 诲人不倦。