一. 课设性质
目的,任务《计算机组成与系统结构课程设计》是计算机学院各专业集中实践性环节之一,是学习完《计算机组成与系统结构》课程后进行的一次全面的综合练习。其目的是综合运用所学计算机原理知识,设计并实现一台模型计算机,以便巩固所学的知识,提高分析问题和解决问题的能力。
二. 课设基本理论
1、掌握算术、逻辑、移位运算实验,熟悉ALU运算控制位的运用。
2、掌握存储器组织、读写方式及与总路线组成的数据通路,掌握地址总线、数据总线的工作原理。
3、掌握指令结构和指令取指、执行工作过程。
4、掌握CPU的微程序控制原理。
三. 题目综合运用所学计算机原理知识,设计并实现具有以下16条指令的指令集结构的模型计算机:



设计提示:
1、上表中,机器指令码的高4位为指令操作码,M为16位存储器地址, Rs为源寄存器,Rd为目的寄存器,占2位,并规定:

2、在微程序中,微地址001为取指,微指令为BF FB F8。3、各指令指行阶段微程序入口地址的确定方式:


例如,第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则执行有错误。
四.微程序流程图(树形图)

五.机器指令程序的说明(微指令地址,指令码,助记符)指令系统:
sub r0,r0 00 1 Rd-Rs→Rd
sub r0,r1 01 1
sub r0,r2 02 1
sub r0,r3 03 1
sub r1,r1 05 1
sub r1,r2 06 1
add r0,r0 10 1 Rd+Rs→Rd
add r0,r1 11 1
add r1,r2 16 1
add r3,r1 1D 1
add r1,r0 14 1
and r0,r0 20 1 Rd&Rs→Rd (Rd和Rs相与)
and r0,r1 21 1
and r0,r2 22 1
and r0,r3 23 1
and r1,r1 25 1
and r2,r0 28 1
and r3,r1 2D 1
dec r0 30 1 将Rd值减1
dec r1 31 1
dec r2 32 1
dec r3 33 1
clr r0 40 1 将Rd清零
clr r1 41 1
clr r2 42 1
clr r3 43 1
rl r0 50 1
Rd循环左移一位rl
r1 54 1
rl r2 58 1
rl r3 5C 1
rr r0 60 1 RR循环右移一位
rr r1 64 1
rr r2 68 1
rr r3 6C 1
mov r0,r0 70 1 Rs→Rd
mov r0,r1 71 1
mov r0,r2 72 1
mov r0,r3 73 1
mov r1,r1 75 1
mov r1,r2 76 1
mov r1,r3 77 1
mov r2,r2 7A 1
mov r2,r3 7B 1
mov r3,r3 7F 1
mov r3,r2 7E 1
ldi r0,* 80 2 将指令中的立即数(第二字节)送入Rd
ldi r1,* 84 2
ldi r2,* 88 2
ldi r3,* 8C 2
out IOH,r0 90 1 Rs→i/o(数据开关)高字节out IOH,r1 91 1out IOH,r2 92 1
out IOH,r3 93 1
lda r0,* A0 3 [M] →Rdlda
r1,* A4 3lda r2,* A8 3
lda r3,* AC 3
sta *,r0 B0 3 Rs→[M]
sta *,r1 B1 3
sta *,r2 B2 3
sta *,r3 B3 3
jmp * C0 3 [M]→PC,即跳转到M所指单元
jz * D0 3 当Z=1时,跳转到M所指单元
jc * E0 3 当CY=1时,跳转到M所指单元
halt “” F0 1 停机
下表是微程序,务必注意:由于软件原因,我在这里的是1打勾,0不打勾,你们做的时候若不正确,需要将0打勾而1不打勾,同时0,1实在太多,可能建表时会按错0,1,因此,在出现错误时稍微自己检查一下



六.结果


七.存在的问题和体会
通过这些和实验,我们理解了控制器的功能和组成,理解了各类典型指令的执行流程,对指令格式、寻址方式、指令系统、指令分类有了系统的概念,还让我们学会了指令的设计以及相关技术。在这一部分,实验主要以教学机为基础来进行,通过让我们自己学习研究指令代码并进行设计来让我们对课本进行实践,让我们,看懂、理解、会写、会设计指令代码。计算机就是由运算器、存储器、控制器以及I/O组成的,接口部分有专门的课程,所以我们的计算机组成原理实验就从前三方面对我们的理论知识进行实践教学,主体重点清楚明了,实验难易结合,有单步验证也有综合设计,对我们的动手和设计能力有极大的提高。

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

  1. 数字电子钟Multisim仿真(数电课设+实验报告)

    我本次的数电课设是设计一个电子时钟,并用Multisim实现仿真 因为自己刚开始做这个实验的时候也是网上的一些资料帮助了自己,所以我也想把自己的东西分享出来,给其他人一些思路. 这个是总体的设计要求 ...

  2. dct变换编码研究课设实验报告_制作电磁铁实验报告单_相关文章专题_写写帮文库...

    时间:2019-05-13 02:04:48 作者:admin 实验题目: <制作电磁铁> 实验目的:制作电磁铁并且研究确定自制电磁铁的磁性及磁极. 实验材料:大铁钉.多股绝缘胶线.电池及 ...

  3. 拼图游戏C语言课设实验报告,C语言拼图游戏实验报告.doc

    C语言拼图游戏实验报告 课程设计实验报告 班级:光电104-2 姓名:刘云龙 学号:201058501220 一.实验题目:使用C语言编写一个小游戏(拼图游戏) 二.实验目的:C语言是每一个通信学生的 ...

  4. Python课设实验 之 公交查询系统.(文本导入 字典树 储存.)

    要求: 目录 要求: 第1题  编写一个公交查询系统 随着公交系统的庞大,人们很难得到准确的公交信息,这样给人们的出行就带来了不便.因此,急需一个方便.快捷的公交信息查询方式,本系统提供换乘询功能.路 ...

  5. Python课设实验 之 车票订购系统.(sqlite数据库 储存.)

    要求: 第2题 编写车票订购系统 (1)上网查询郑州到北京.西安.石家庄.济南.太原.武汉的距离以及票价,用数据库保存车次信息. (2)要求输入目的地,能够查询到里程和票价信息. (3)用数据库存储每 ...

  6. Python课设实验 之 爬虫应用——校园网搜索引擎(使用bs4进行数据分析.)

    题目要求: 第3题  爬虫应用--校园网搜索引擎 本题旨在使用Python建立一个适合校园网使用的Web搜索引擎系统,它能在较短时间内爬取页面信息,具有有效准确的中文分词功能,实现对校园网上新闻信息的 ...

  7. 计算机体系结构流水线相关实验报告,计算机系统结构winDLX流水线实验报告汇编.doc...

    计算机系统结构winDLX流水线实验报告汇编 计算机科学与技术学院 课程 学 号: 级:专 业: 学生姓名: 年 月 实 验 报 告 学生姓名: 学 号:时间: 地点:实验课程名称:计算机体系结构一. ...

  8. webservice-UML课内实验报告实验三

    1.webservice 现将网上关于webservice的讲解提炼出来,通过一个最简单使用并且方便的例子,告诉大家什么是webservice. 简单来说,webservice就是远程调用技术,也叫X ...

  9. 会计业务计算机处理实验报告,计算机在会计中的应用实验报告

    <计算机在会计中的应用实验报告>由会员分享,可在线阅读,更多相关<计算机在会计中的应用实验报告(130页珍藏版)>请在人人文库网上搜索. 1.实验报告课程实验名称: 计算机在会 ...

  10. 计算机系统结构结构相关实验报告,计算机系统结构实验报告(中南民族大学).doc...

    计算机系统结构实验报告(中南民族大学).doc 院 系 专 业 年 级 课程名称 计算机系统结构 学 号 姓 名 指导教师 年 月 日年级班级学号专业计算机科学与技术姓名题目名称矩阵相乘题目内容1. ...

最新文章

  1. python【Matlibplot绘图库】多图合并显示(真の能看懂~!)
  2. PHP CURL 中文说明
  3. python3的 time库的使用
  4. Django(part12)--模板的标签
  5. 相似邻里算法_纽约市-邻里之战
  6. C++ 力扣剑指Offer16-数值的整数次方
  7. 转:Redis使用认证密码登录
  8. asp判断ajax请求 -asp.net,一个asp注册验证用户名是否重复的Ajax实例
  9. 八皇后问题(经典回溯算法)
  10. vbs比较两个数组里的数的大小_BAT 高频面试题:寻找两个有序数组的中位数
  11. 【Python】实例3:天天向上的力量与微实例:星期转换、恺撒密码
  12. 总结之使用lowagie.text添加PDF水印
  13. 计算机二级真题期刊论文模板,标准期刊论文格式模板_优秀论文范文3000字
  14. 如何更改html的默认应用,win10如何修改默认应用
  15. # [Contrastive Learning] Contrastive Coherence Preserving Loss for Versatile Style Transfer
  16. maya python window_安装了Anaconda之后,Maya运行报错,Python 找不到 Maya 的 Python 模块...
  17. ICCV21 - 无监督语义分割《Unsupervised Semantic Segmentation by Contrasting Object Mask Proposals》
  18. 计算机想ping一下网络,Ping命令以检测Windows7下的计算机网络速度
  19. 游戏CG音效制作技巧
  20. 深入浅出聊机器学习西瓜书

热门文章

  1. 深入理解设计模式-设计模式分类与关系
  2. Hadoop学习整理
  3. 尚硅谷大数据hadoop教程
  4. android 集成x5内核时 本地没有,腾讯X5内核集成一些建议和爬坑记录
  5. AOF -- Redis 设计与实现
  6. 独奏骑士服务器维护,独奏骑士新手天赋怎么选?新手天赋选择攻略
  7. github视频教程-02 建立项目仓库以及代码上传
  8. 中国城市经纬度表(精确到县区)Google地图用
  9. 司空见惯 - 会议室名称
  10. Java面试题总结(附答案)