版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机组成原理课程设计报告课程设计题目:计算机组成原理专 业 名 称: 计算机科学与技术班 级: 关 童:7张一轮:8孙吉阳:9张 旭:0老 师 姓 名:单博炜 2015年12月31日第一章 课程设计概述1.1 课程设计的教学目的本课程设计的教学目的是在掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握数据信息流和控制信息流的流动过程,进一步加深计算机系统各模块间相互关系的认识和整机的概念,培养开发和调试计算机的技能。在设计实践中提高应用所学专业知识分析问题和解决问题的能力。1.2 课程设计任务和基本要求本课程设计以TDN-CM+计算机组成原理教学实验系统为平台设
2、计完成。1 按给定的数据格式和指令系统,理解微程序控制器的设计原理。2 设计给定及其指令系统以及微程序流程图,按微指令格式写出微程序的微指令代码。3 链接逻辑电路,完成启动、测试、编程、校验和运行,并观测运行过程及结果。4 将微程序控制器模块与运算器模块、存储器模块联机,组成一台模型计算机。5 用微程序控制器控制模型机的数据通路。6 通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机的整机概念,掌握计算机的控制机制。7 按指定应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序。在PC机上编辑机器指令和微程
3、序,装载代码到TDN-CM+实验系统并运行,实现应用要求。第二章 规定应用项目的验证实现2.1 设计原理在部件实验中,我们是人为用二进制开关来模拟一些控制信号来完成数据通路的控制。而在本课程设计中,数据通路的控制将由微程序控制器来完成。计算机从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。本设计的规定项目采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如表1(前4位是操作码):表1:指令助记符操作码地址码功能说明IN0000 0000数据开关的状态R0ADD A
4、0001 0000XXXX XXXXR0+AR0STA A 0010 0000XXXX XXXXR0AOUT A 0011 0000XXXX XXXXALEDJMP A0100 0000XXXX XXXXAPCIN为单字长(8位),含义是将数据开关8位数据输入到R0寄存器;ADD为双字长指令,第一字为操作码,第二字为操作数地址,其含义是将R0寄存器的内容与内存中以A为地址单元的数相加,结果放在R0;STA为双字长指令,含义是将R0中的内容存储到以第二字A为地址内存单元中;OUT为双字长指令,含义是将内存中以第二字为地址的数据读到数据总线上,由数码管进行显示;JMP是双字长指令,执行该指令时,程
5、序无条件转移到第二字所指定的内存单元地址。为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还设计了三个控制台操作微程序:存储器读操作”(KRD):拨动总清开关CLR后,当控制台开关SWB、SWA置为“00”时,按START微动开关,可对RAM进行连续手动读操作;存储器写操作(KWE):拨动总清开关CLR后,当控制台开关SWB、SWA置为“01”时,按START微动开关,可对RAM进行连续手动写入;启动程序:拨动总清开关CLR后,当控制台开关SWB、SWA置为“11”时,按START微动开关,即可转入第01号“取指”微指令,启动程序运行。这三条控制台指令用两个开关SWB、SWA
6、的状态来设置,其定义如表2:表2:SWASWB控制台指令00读内存(KRD)01写内存(KWE)11 启动程序(RP)根据以上要求设计数据通路框图如附页中图1所示。微指令格式如表3所示,当微指令格式确定之后,下一步就是确定后续微指令地址,通常的方法是先确定微程序分支处的微地址,因为微程序分支处需要进行判断测试,这些微地址确定以后,就可以在一个“微地址表”中将分支微地址填入相应的分支微地址单元,避免以后的设计中因重复使用而造成错误,对于其他位置就可以按一条微指令对应一个微地址随意填写。表3: 微指令格式24232221201918171615 14 1312 11 109 8 7654321S3
7、S2S1S0MCnWEA9A8ABCuA5uA4uA3uA2uA1uA0 A字段 B字段151413选择 000001LDRi010LDDR1011LDDR2100LDIR101LOAD110LDAR121110选择000001RS-B010011100101ALU-B110PC-B111C字段:987选择000001P(1)010011100P(4)101110LDPC按照数据通路可画出机器指令的微程序流程图如图2所示,当拟定“取值”微指令时,该微指令的判别测试字段为P(1)测试,由于取值指令是所有微程序都是用的公用微程序,因此P(1)测试结果出现多路分支,本机使用指令寄存器的前四位(IR7
8、-IR4)作为测试条件,出现5路分支,占用5个固定的微地址单元。控制台操作作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定的微地址单元,当分支地址单元固定后,其余每条微指令各占用控存一个微地址单元,随意填写即可,注意:微程序流程图上的单元地址为八进制。指令寄存器(IR)用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到缓存,然后在传送到指令寄存器中。图2 微程序流程图当全部微程序设计完毕后,应将每条微指令代码化,表4即为将图2微程序流程图按微指令格式转化得到的“二进制微代码表”。下图为表4:微地址S3 S2 S1 S0 M Cn WE
9、A9 A8A BCA5.A0000 0 0 0 0 0 0 1 1000000100011 0 0 0 0 0 0 1 1110110110020 0 0 0 0 0 0 0 1100000001030 0 0 0 0 0 0 0 1110000000040 0 0 0 0 0 0 0 1011000000050 0 0 0 0 0 0 1 1010001000061 0 0 1 0 1 0 1 1001101000070 0 0 0 0 0 0 0 1110000000100 0 0 0 0 0 0 0 0001000000110 0 0 0 0 0 0 1 1110110110120 0
10、0 0 0 0 0 1 1110110110130 0 0 0 0 0 0 1 1110110110140 0 0 0 0 0 0 1 1110110110150 0 0 0 0 0 1 0 1000001000160 0 0 0 0 0 0 0 1110000000170 0 0 0 0 0 0 0 1010000000200 0 0 0 0 0 0 1 1110110110210 0 0 0 0 0 0 1 1110110110220 0 0 0 0 0 0 0 1010000000230 0 0 0 0 0 0 1 1000000000240 0 0 0 0 0 0 0 00100000
11、00250 0 0 0 0 1 1 1 0000101000260 0 0 0 0 0 0 0 1101000110270 0 0 0 0 1 1 1 0000101000300 0 0 0 0 1 1 0 1000101000本系统使用两种外部设备,一种是二进制代码开关,它作为输入设备(INPUT DEVICE);另一种是数码管,它作为输出设备(OUTPUT DEVICE).例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到数据总线BUS上,当写信号(W/R)有效时,将数据打入输出锁存器,驱动数码管显示。本设计的机器指令程序及相应
12、的汇编程序如下:地址(二进制)内容(二进制)助记符注释0000 00000000 0000IN R0INPUT DEVICER00000 00010001 0000ADD0AH,R0R0+0AHR00000 00100000 10100000 00110010 0000STA R0,0BHR00BH0000 01000000 10110000 01010011 0000OUT0BH0BHLED0000 01100000 10110000 01110100 0000JMP 00H00HPC0000 10000000 00000000 10010000 10100000 0001自定0000 10
13、11求和结果2.2 操作步骤1 按附页中图3进行连线。2 测试:在联机软件CMPP中打开复杂模型机的数据通路图,在测试菜单中点击“开始”,按照提示进行测试。3 写程序:采用联机读/写程序按下面规定格式,用联机软件在CMPP中建立将机器指令及微指令的二进制代码编辑成十六进制的*.TXT文档,并用联机软件的转储功能将该格式文件装载到实验系统中。程序:$P0000 微程序:$M $P0110 $M0101ED82 $P020A $M0200C048 $P0320 $M0300E004 $P040B $M0400B005 $P0530 $M0501A206 $P060B $M06959A01 $P07
14、40 $M0700E00D $P0800 $M $P0A01 $M0901ED83 $M0A01ED87 $M0B01ED8E $M00C01ED96 $M0D $M0E00E00F $M0F00A015 $M1001ED92 $M1101ED94 $M1200A017 $M $M $M15070A01 $M1600D181 $M17070A10 $M18068A114 运行程序联机运行:联机运行程序时,进入软件界面,装在机器指令及微指令后,选择【运行】【通路图】【复杂模型机】功能菜单打开相应动态数据通路图,按相应功能键即可联机运行、监控、调试程序。第三章 指定应用项目的设计实现3.1 设计任
15、务:将指令中所带数据X与以R0内容K为地址的内存单元内容Y执行X减Y的反的运算,结果送入Y的上一个内存单元。3.2 任务分析及解决方案:对该任务而言,可以看出,该任务中涉及到了减法运算和逻辑非运算。根据题目,X存于R0寄存器中,Y存在于以K为直接地址的 R1寄存器中,然后将Y取反,存入R1,将R0与R1中内容相减存入R0,最后将结果存入R1寄存器中以60位地址的单元中。3.3 设计原理:整体设计原理与第二章规定项目设计原理相似,其中,数据通路框图如附页图1所示。本任务采用的的五条机器指令为:IN(输入),SUB(二进制减法),AND(逻辑非运算后求逻辑与),STA(存数),OUT(输出),其功
16、能和格式见表5。表5:指令助记符操作码地址码功能说明LDI R0 010110 0000将01存入R0LAD M R1 031100 0001XXXX XXXX将02存入R1STA M 61 R11100 0001XXXX XXXX地址60存入R1NOT Y0100 0101XXXX XXXX对R1取反SUB R0 R11000 0100XXXX XXXXR0减R1STA M 60 R11101 0000XXXX XXXX将R0内容给地址60而该微程序流程图如下:图4:微程序流程图 全部微程序设计完毕后,每条代码微指令化,表5即为将图4微程序流程图按微指令格式转化得到的该任务的“二进制代码表”
17、:表5:二进制代码表微地址16进制表示高5位S3-S0A字段B字段C字段UA5-UA00000 00 010000000000000000000100 6D 430000000001101101010310 70 700001000001110000010600 24 0700000000001001000000701 32 010000000100110010000810 60 090001000001100000000918 30 010001100000110000000A10 60 100001000001100000000C10 30 010001000000110000000D20
18、 06 010010000000000110001028 04 010010100000000100001500 24 160000000000100100001601 B2 010000000110110010001C10 10 1D0001000000010000001D10 60 8C0001000001100000101E10 60 1F0001000001100000001F10 10 200001000000010000002010 60 8C0001000001100000102102 32 010000001000110010003000 16 0600000000000101
19、10003100 16 06 0000000000010110003200 6D 480000000001101101013300 6D 4A0000000001101101013700 16 213900 16 150000000000010110003C00 6D 5C0000000001101101013D00 6D 5E000000000110110101 将该为该任务设计的程序做成*.TXT文档,其内容如下:$P0060$P0101$P02C1$P0361$P0445 ;R1寄存器内容取反$P0584 ;R0-R1-R0 $P06D0$P0760$P08C1$P0960$P0A50;
20、停机;数据$P6102;微程序$M00$M01006D43$M03$M04$M0504B201$M08$M09$M0A$M0B$M0C$M0D$M0E$M0F0000CB$M10$M11$M1206B201$M13$M1405B201$M15$M1601B201$M17$M1802B201$M1B$M1C10101D$M1D10608C$M1E10601F$M1F$M2010608C$M28$M2900282A$M2A04E22B$M2B04928C$M2C10102D$M2D002C2E$M2E04E22F$M2F04928C$M30;$M31$M32006D48$M33006D4A$M34
21、$M35$M36006D51$M37$M38$M39$M3A$M3B$M3C006D5C$M3D006D5E$M3E006D68$M3F006D6C$M34$M06 3.4 程序运行分析及讨论3.4.1 上机调试、运行程序状态结果分析及结果讨论: 按附页中图3进行连线,将制成的TXT文档装载到CMPP联机实验系统中,在程序运行过程中,CMPP实验系统清楚地显示出了在程序执行过程中的数据流向,同时在程序的执行过程中,每个过程产生的结果都详细显示在了CMPP实验系统中的数据通路原理框图的RAM及寄存器中,同时还更加明了地展现出了任务中所出现的操作数寻址方式的执行过程。X=1,Y=2,执行Y取反,然后相减。3.4.2 问题探讨:在此次课程设计过程中,也出现了一些值得以后借鉴学习的问题,下面就几个问题展开讨论。(1) 在对微程序流程图进行设计过程中,可以充分利用每个部件中间相连接的数据通路,例如在本设计中最后的OUT(输出)这一分支过程,是将数据直接从DR1直接送到LED上进行显示,虽然单一的这样一个动作似乎看不出来明显的作用效果,但是如果在一个很庞大的项目中,如果在可以使用这种数据传输方式的地方都使用这种方式,那么会节省很大的时间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 链家房产顾问面试技巧
- 离退休职工待遇发放流程及规范
- 零售行业市场拓展的招聘分析报告
- 连锁零售店财务审查岗位面试及技巧
- 旅游景区管理人员招聘与培训全流程解析
- 旅游公司导游部经理面试要点
- 护理安全创新:智能化护理系统的应用
- 威海安全管理培训手册
- 亚运保障应急预案
- 全国安全培训系统
- 国家能源集团笔试试题及答案
- 2025年医保政策培训试题及答案
- 昏迷患者急救措施
- 汽车电子技术发展
- 渣土车挂靠协议合同范本
- 女童保护家长版课件
- 月子中心消防管理制度
- 人工智能导论第五版课件
- 概念验证项目协议书
- DB11-T 893-2021 地质灾害危险性评估技术规范
- 2025人教鄂教版(2024)小学科学一年级下册教学计划、教学设计及教学反思(附目录)
评论
0/150
提交评论