计算机组成与系统结构课程设计

一、 本课程设计的性质、目的、任务

《计算机组成与系统结构课程设计》是计算机学院各专业集中实践性环节之一,是学习完《计算机组成与系统结构》课程后进行的一次全面的综合练习。其目的是综合运用所学计算机原理知识,设计并实现一台模型计算机,以便巩固所学的知识,提高分析问题和解决问题的能力。

二、本课程设计的基本理论

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 停机

四、微程序流程图

五、模型机微指令表

微址
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 1 1 70 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 DF +1
0600 1 1 1 1 1 F8 1 1 1 1 1 1 F9 1 1 1 1 1 1 5F +1
0601 1 1 1 1 1 1 FA 1 1 1 1 1 1 F9 1 1 1 1 1 1 1 DF +1
0602 1 1 1 1 F0 1 1 1 1 1 6E 1 1 1 1 4D 0001
0620 1 1 1 1 1 F8 1 1 1 1 1 1 F9 1 1 1 1 1 1 5F +1
0621 1 1 1 1 1 1 FA 1 1 1 1 1 1 F9 1 1 1 1 1 1 1 DF +1
0622 1 1 1 1 F0 1 1 1 1 66 1 1 1 1 4D 0001
0640 1 1 1 1 1 F8 1 1 1 1 1 1 F9 1 1 1 1 1 1 5F +1
0641 1 1 1 1 1 1 FA 1 1 1 1 1 1 F9 1 1 1 1 1 1 1 DF +1
0642 1 1 1 1 F0 1 1 1 1 1 1 EE 1 1 1 1 4D 0001
0660 1 1 1 1 1 F8 1 1 1 1 1 1 F9 1 1 1 1 1 1 5F +1
0661 1 1 1 1 F0 1 1 1 1 1 D6 1 1 1 1 4D 0001
0680 1 1 1 1 1 F8 1 1 1 1 1 1 F9 1 1 1 1 1 1 5F +1
0681 1 1 1 1 DE 1 1 1 1 1 1 DE 1 1 1 1 4D 0001
06A0 1 1 1 1 1 F8 1 1 1 1 1 1 F9 1 1 1 1 1 1 5F +1
06A1 1 1 1 1 F0 1 1 1 1 1 76 1 1 1 1 4D 0001
06C0 1 1 1 1 1 F8 1 1 1 1 1 1 F9 1 1 1 1 1 1 1 FF +1
06C1 1 1 1 1 1 F1 1 1 1 1 1 5E 1 1 1 1 1 6D 0001
06E0 1 1 1 1 1 F8 1 1 1 1 1 1 F9 1 1 1 1 1 1 DF +1
06E1 1 1 1 1 F0 1 1 1 1 1 1 1 FE 1 1 1 1 4D 0001
0700 1 1 1 1 F0 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 DF +1
0701 1 1 1 1 1 1 1 BF 1 1 1 1 1 1 1 1 FF 1 1 1 1 1 E5 0001
0720 1 1 1 1 1 1 F5 1 1 1 1 1 1 F9 1 1 1 1 1 1 1 1 FF +1
0721 1 1 1 1 1 1 1 BF 1 1 1 1 1 1 1 1 FF 1 1 1 1 1 1 ED 0001
0740 1 1 1 1 1 F8 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 1 FF +1
0741 1 1 1 1 1 B9 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 1 FF +1
0742 1 1 1 1 1 BC 1 1 1 1 1 1 1 FE 1 1 1 1 1 1 3F +1
0743 1 1 50 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 ED 0001
0760 1 1 1 1 1 F8 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 1 FF +1
0761 1 1 1 1 1 B9 1 1 1 1 1 1 1 FB 1 1 1 1 1 1 1 1 FF +1
0762 1 1 1 1 1 BC 1 1 1 1 1 1 1 FE 1 1 1 1 1 1 3F +1
0763 1 1 1 1 1 1 5F 1 1 1 1 1 1 1 F9 1 1 1 1 1 1 FF +1
0764 1 1 1 1 1 1 1 1 FF 1 1 1 1 1 1 1 1 FF 1 1 1 1 1 1 ED 0001
0780 1 1 1 1 1 1 3F 1 1 1 1 C6 1 1 1 0D 0001
07A0 1 1 1 1 1 1 1 1 FF 1 1 1 1 1 1 1 1 FF 1 1 1 1 1 1 FC 07A3
07A2 1 1 1 1 1 1 1 BF 1 1 1 1 1 1 1 1 FF 1 1 1 1 1 1 1 EF 07A4
07A3 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 EF 0780
07A4 1 1 1 1 1 1 1 BF 1 1 1 1 1 1 1 1 FF 1 1 1 1 1 1 ED 0001
07C0 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 FD 07C3
07C2 1 1 1 1 1 1 1 BF 1 1 1 1 1 1 1 1 FF 1 1 1 1 1 1 1 EF 07C4
07C3 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 EF 07C0
07C4 1 1 1 1 1 1 1 BF 1 1 1 1 1 1 1 1 FF 1 1 1 1 1 1 ED 0001
07E0 1 1 1 1 1 F8 1 1 1 1 1 F8 1 1 1 1 1 1 3F +1
07E1 1 1 1 1 1 1 3F 1 1 1 1 1 D6 1 1 1 1 2D 0001

五、机器指令程序与运行结果

start:
LDI r0,12h 0000-0001-0001-0700-0701
sta 100h,r0 0001-0760-0761-0762-0763
lda r1,100h 0001-0740-0741-0742-0743
dec r1 0001-0660-0661
rl r0 0001-06A0-06A1
add r0,r1 0001-0620-0621-0622
rr r0 0001-06C0-06C1
add r0,r1 0001-0620-0621-0622
ldi r2,76h 0001-0700-0701
and r2,r0 0001-0640-0641-0642
mov r3,r2 0001-06E0-06E1
add r3,r1 0001-0620-0621-0622
clr r0 0001-0680-0681
out ioh,r3 0001-0720
halt 0001-07E0-07E1
end

SUB R0,R1 01 1 ;R0-R1->R0
ADD R0,R1 11 1 ;R0+R1->R0
ADD R3,R1 1D 1 ;R3+R1->R1
AND R2,R0 28 1 ;R0&R2->R2
DEC R1 34 1 ;R0-1
CLR R0 40 1 ;R0=0
RL R0 50 1 ;1<<R0
RR R0 60 1 ;R0>>1
MOV R3,R2 7E 1 ;R2->R3
LDI R0,* 80 2 ;将立即数(第二字节)送入R0
LDI R2,* 88 2 ;将立即数(第二字节)送入R2
OUT IOH,R3 93 1 ;R0->I/0高字节
LDA R1,* A4 3 ;[M]->R1
STA *,R0 B0 3 ;R0->[M]
JMP * C0 3 ;[M]->PC
JZ * D0 3 ;Z=1时,[M]->PC
JC * E0 3 ;CY=1时,[M]->PC
HALT * F0 1 ;停机

六、实验思考与心得

指令系统和脱机软件(CMstudio,非循环左移需要在实验箱环境下进行,其它功能正常):https://download.csdn.net/download/weixin_44353970/11438469

计算机组成与系统结构课程设计报告相关推荐

  1. 计算机组成与系统结构课程设计

    计算机组成与系统结构课程设计   一.本课程设计的性质.目的.任务 <计算机组成与系统结构课程设计>**计算机组成与系统结构课程设计** 一.本课程设计的性质.目的.任务 <计算机组 ...

  2. 计算机组成原理乘法器组成图,计算机组成原理阵列乘法器课程设计报告

    <计算机组成原理阵列乘法器课程设计报告>由会员分享,可在线阅读,更多相关<计算机组成原理阵列乘法器课程设计报告(20页珍藏版)>请在人人文库网上搜索. 1.课 程 设 计;.教 ...

  3. 计算机专业课程设计报告c语言,计算机程序设计(C语言)课程设计报告.doc

    计算机程序设计(C语言)课程设计报告.doc 计算机程序设计C语言课程设计报告题目电子动画时钟 学院 机电工程学院专业 班级090109班学号 姓名 指导教师 设计日期 一.概述选题背景 随着社会的进 ...

  4. 计算机组成原理带符号的阵列乘法器,计算机组成原理阵列乘法器课程设计报告精选.doc...

    计算机组成原理阵列乘法器课程设计报告精选 编 号: 学 号: XXX 课 程 设 计 教 学 院计算机学院课程名称计算机组成原理题 目阵列乘法器专 业计算机科学与技术班 级2011级计科(X)班姓 名 ...

  5. 用英文给嵌入式计算机下定义,嵌入式课程设计报告--嵌入式系统项目设计.doc

    河海大学计算机与信息学院(常州) 课程设计报告 题 目 嵌入式系统项目设计 专业.学号 授课班号 277704 学生姓名 同组学生 指导教师 完成时间 2011年6月 课程设计(报告)任务书 (理 工 ...

  6. 计算机组装与维护 游戏设计,《计算机组装与维护课程设计报告.doc

    <计算机组装与维护课程设计报告 <Java程序设计> 课程设计报告 设计题目: 设计打地鼠游戏程序 专 业: 软 件 设 计 班 级: 10软件(2)班 姓 名: 欧 阳 星 指导教 ...

  7. 扬州大学大一计算机课,扬州大学计算机硬件课程设计报告

    扬州大学计算机硬件课程设计报告 (11页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 计算机硬件技术基础课程设计课程名称:计算机硬件技术基础 ...

  8. c语言电子计算器课程设计报告,计算机程序设计课程设计报告.doc

    计算机程序设计课程设计报告.doc PAGE 1 计算机程序设计(C语言) 课程设计报告 题目:学生信息管理系统 学院: 计算机科学与工程学院 专业: 电子信息工程 班级:110406 姓名: 黄伟强 ...

  9. c语言电子时钟课程设计报告,电子时钟嵌入式课程设计报告

    <电子时钟嵌入式课程设计报告>由会员分享,可在线阅读,更多相关<电子时钟嵌入式课程设计报告(19页珍藏版)>请在人人文库网上搜索. 1.合海大学计算机信息工程学院(常州)课程设 ...

最新文章

  1. 语言中什么时候加大括号_日本留学语言学校申请季你知道是几月吗?从什么时候开始准备...
  2. python去除中间空格只留一个_汇总初学Python的21个操作难点,看完别再去踩坑了...
  3. 第四周项目一-求两个数的最大公约数
  4. 计算机应用基础电大答案2015,2015电大形考计算机应用基础_Windows7操作系统_客观题(答案).doc...
  5. 分配大小为0的内存和0值进行比较
  6. php eval 二进制,PHP eval函数使用介绍
  7. JAVA 垃圾收集监控
  8. 《精通Wireshark》—第1章1.5节抓取信息的方式
  9. C++ ofstream/ifstream读写文件demo
  10. 6.2GPT意境级讲解
  11. 初识 Node.js
  12. python连续写入数据之间用什么隔开_elasticsearch之使用Python批量写入数据
  13. 金蝶云星空之表单插件的开发
  14. 百度、360、搜狗、神马的SEO搜索结果php爬取排名。
  15. Enhancement spot 的实现
  16. 百分六用计算机该怎么算,24975000的百分之五是多少,用计算器怎么算?
  17. Bloc入门之Cubit详解
  18. 外置网卡 Mac os 11.0 Big Sur 驱动解决方案
  19. pyhton写一个抓狐狸游戏
  20. html空白字符显示效果,什么是空白字符?空白符有哪些?

热门文章

  1. 【毕业设计】基于红外热释电的房间人数计数系统 - 单片机 物联网嵌入式
  2. java.lang.UnsupportedOperationException解决方法【转】
  3. 护眼灯真能保护眼睛吗?2022双十二买什么样的护眼灯对眼睛好
  4. linux查pcsd服务端口,Pacemaker管理工具中 pcs/pcsd 的关系
  5. 戴尔笔记本win10+ubuntu18.04双系统,强力卸载ubuntu并重装ubuntu18.04+取消自动更新
  6. Excel - 将 TXT 数据导入到 Excel 中(自动将数据拆分成多列)
  7. mtk 按键中断驱动
  8. 计算机组成原理华侨大学,现代计算机组成原理 - 华侨大学.pdf
  9. xenserver通过xencenter登陆后,虚拟机console页面空白问题解决
  10. html小时分钟秒选择器,HTMLbootstrap时间选择器控件精确到秒 datetimepicker控件怎么精确到秒?...