ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:301.30KB ,
资源ID:5878139      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5878139.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机组成原理课程设计报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机组成原理课程设计报告.docx

1、计算机组成原理课程设计报告南通大学计算机科学与技术学院计算机组成原理课程设计报 告 书课 题 名 模型计算机的设计与实现 班 级 计123班 姓 名 流星雪雨 学 号 1213022073 指导教师 顾辉 日 期 2014.6.23 2014。6。27 1 设计目的1融会贯通教材各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间-空间概念的理解,从而清晰地建立计算机的整机概念。2学习设计和调试计算机的基本步骤和方法,培养科学研究的独立工作能力,取得工程设计和调试的实践和经验.2 设计内容1根据给定的数据格式和指令系统,设计一台微程序控制的模

2、型计算机。2根据设计图,在QUARTUS II环境下仿真调试成功。3在调试成功的基础上,整理出设计图纸和相关文件,包括:(1)总框图(数据通路图);(2)微程序控制器逻辑图;(3)微程序流程图;(4)微程序代码表;(5)设计说明书及工作小结。3 设计要求(1)对指令系统中的各条指令进行分析,得出所需要的占领周期与操作序列,以便确定各器件的类型和数量;(2)设计总框图草图,进行各逻辑部件之间的互相连接,即初步确定数据通路,使得由指令系统所要求的数据通路都能实现,并满足技术指标的要求;(3)检查全部指令周期的操作序列,确定所需要的控制点和控制信号;(4)检查所设计的数据通路,尽可能降低成本,简化线

3、路,优化性能。 以上过程可以反复进行,以便得到一个较好的方案。4 数据格式与指令系统4.1 数据格式数据字规定采用定点整数补码表示法,字长8位,其中最高位为符号位,其格式如下:76 5 4 3 2 1符号位尾 数4.2 指令系统本实验设计使用5条机器指令,其格式与功能说明如下:7 6543210IN0 0100000ADD01000000ASTA01100000AOUT10000000AJMP10100000A IN指令为单字长(字长为8bits)指令,其功能是将数据开关的8位数据输入到R0寄存器。 ADD指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器的内容与内

4、存中地址为A的数相加,结果存放在R0寄存器中。 STA指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器中的内容存储到以第二个字为地址的内存单元中。 OUT指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将内存中以第二个字为地址的内存单元中的数据读出到数据总线,显示之. JMP指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是程序无条件转移到第二个字指定的内存单元地址.5 设计原理与电路图(包括总框图、微程序控制器的逻辑图、电路图和封装图)5。1 总的逻辑框图:通过这个逻辑框图,可以看出整个模型机的设计主要是微程序控制器,PC计数器

5、,时序产生器三个部分,然后再结合前面的设计好的控制器和存储器的部分,就可以设计好这个模型机的逻辑图。微控制信号说明:nROM_BUS:ROM数据输出到总线控制信号,低电平有效。nRAM_BUS:RAM数据输出到总线控制信号,低电平有效.m:加、减法选择控制信号,为1做加法,为0做减法。nSW_BUS:数据输入到总线控制信号,低电平有效。LDN:PC置数控制信号,低电平有效。nCS:RAM片选信号.(此信号的有效值根据所用RAM器件特性来定)WE:RAM写信号,高电平时做写操作。LDR0:数据打入R0锁存控制信号,脉冲上升沿有效。LDDR1:数据打入R1锁存控制信号,脉冲上升沿有效。LDDR2:

6、数据打入R2锁存控制信号,脉冲上升沿有效。LDIR:数据打入IR锁存控制信号,脉冲上升沿有效。LDPC:数据打入PC锁存控制信号,脉冲上升沿有效。LDAR:数据打入AR控制信号,脉冲上升沿有效。nALU_BUS:运算器ALU结果输出到总线控制信号,低电平有效。nPC_BUS,低电平有效。nR0_BUS,低电平有效。以下封装成的芯片的信号不再赘述。5.2 微程序控制器:5。2.1 地址转移逻辑图封装成芯片:对其生成波形文件如下:由波形文件可以总结看出clr是总的清零端,当其为零时输出始终为0,当其为1时,逻辑地址转移器正常工作,T2,T4为脉冲控制端,上升沿有效。当PRN的控制端为1时,输入等于

7、输出,当PRN的控制端为0时,输出始终为1,p1端则是指令的译码端,当其为1时,指令产生译码,根据指令的操作码来确定指令执行的第一条微指令的地址.当p1端为0时不译码,直接指向下一条微指令的地址。5.2.2 微程序控制器逻辑图封装成芯片:对该图进行波形文件测试:分析波形文件可以得出:通过给定指令操作码,可以看出我设计的微指令的微命令信号的情况。之后的总得电路图不再显示每条指令的微命令信号。5.3 PC计数器封装成芯片:对其产生波形文件:分析该波形文件可以得出:LDPC是计数端,默认从00开始计数,每次经过CLK的上升沿脉冲计数器进行+1操作.LDN为置数控制端,当其为1时,计数器将从设置的数据

8、值开始进行+1计数。5.4 时序产生器封装成芯片:对其产生波形文件:分析波形文件可以得出:当控制端startup为0时,stop为0或者1时都会产生正确的时序电路,产生时序信号对通路的部件加以控制,以避免单总线上各个部件之间数据传输产生冲突,一个CPU周期包含4个时钟脉冲,四个时钟脉冲依次产生.一条微指令如果需要同时使用两个或以上的脉冲信号时,一定要注意脉冲信号的产生的先后顺序。当控制端startup为1时,stop为0时,则会停止脉冲信号的产生。5.5 总的逻辑组成图(运算器和存储器不再说明):5.5。1 逻辑图及波形文件对其产生波形文件:5.5。2 初始化数据微指令的储存情况(十六进制表示

9、):ROM的初始化数据(存放指令操作码):RAM的初始化数据(存放操作数地址以及操作数):5。5.3 指令的具体分析IN指令:PC计数器+1,此时为01,执行第01条微指令,从ROM中取出操作码20H通过P字段译码转到第09条微指令,将输入的数据送到R0中,执行公操作.ADD指令:PC为02H,从ROM的02单元取出操作码40H通过译码转移到第10条微指令从RAM的02H单元取出操作数的地址08H送到AR寄存器,接着第3条微指令从RAM的08单元取出操作数13H送到DR1,执行第四条微指令将R0寄存器中的数送到DR2,执行第5条微指令将和数送到R0,执行公操作.STA指令:PC为03H,从RO

10、M的03单元取出操作码60H通过译码转移到第11条微指令,从RAM的03H单元中取出操作数地址09H,送到寄存器AR,执行第6条微指令将R0中的数据存放到RAM的09H地址单元中,执行公操作。OUT指令:PC为04H,从ROM的04单元取出操作码80H通过译码转移到第12条微指令,从RAM的04H单元中取出操作数地址09H,送到寄存器AR,执行第7条微指令将RAM的09H地址单元的数输出到总线上去,执行公操作。JMP指令:PC为05H,从ROM的05单元取出操作码A0H通过译码转移到第13条微指令,从RAM的05H单元中取出操作数地址0AH,送到寄存器AR,执行第8条微指令将PC计数器的值置数

11、为0AH单元的数值01,执行公操作。6 微程序流程图、代码表6。1 微程序流程图:6。2代码表:微指令地址nROM_BUSnRAM_BUSmnSW_BUS LDNnCSWELDR0LDDR1LDDR2LDIRLDPCLDARnALU_BUSnPC_BUSnR0_BUSP1ad4ad3ad2ad1ad021201918171615141312111098765432100000000000001000000000110000000000011010000010210000000001000001010003010001001000000000010040000000001000001000101

12、5000000010000010000000160000011000000001000001701000100000000000000018010011000001000000000190001000100000000000001100100010000001000000011110100010000001000000110120000010000001000000111130000010000001000000100微指令分析:其中00微指令是默认开始的,从储存器中取出第一条微指令。0102表示的是公操作指令,就是从ROM中取出每条指令的操作码,P1字段为1,进行译码操作,找到对应的微指令的

13、地址。每次都是让其跳转到第八条指令的后面去寻找正确的微指令地址。第9条表示的是IN指令的微指令,第10,3,4,5表示的是ADD指令的微指令,第11,6表示的是STA指令的微指令,第12,7表示的是OUT指令的微指令,第13,8表示的是JMP指令的微指令,其中JMP指令对PC计数器进行置数,使其模型机转移到IN指令如此循环的执行。每一条微指令的后5位通过P1字段的控制用来指示下一条微指令的地址,其他各个数据位相应的各个器件的控制信号。7系统调试情况(1)一开始并没有对D触发器有很深刻的认识,所以对其的控制端的作用不是很了解,以致对整个地址逻辑转移图没有完全理解。然后我通过对单独的一个D触发器进

14、行波形测试调试,通过结果分析出D触发器各控制端的作用,并完全理解逻辑地址转移的情况.我通过译码端P字段让指令操作码与普通逻辑地址0100B进行译码得出新的逻辑地址,方便微指令的执行。(2)对于在画逻辑电路图时,一定要注意,如果要用总线对相同类型的控制端进行集合,总线的命名一定要和集合中的相同,而且属于同一个总线的命名一定要一致,不同的总线的命名一定不能相同。在这一方面我也有栽过很大的跟头。(3)在设计微指令的时候,如果一条微指令使用了不同的时钟脉冲,一定有注意时钟脉冲的先后关系.(4)在创建MIF文件时一定要注意地址单元和数据单元的进制位,不能搞混,要在正确的地址单元中写入正确的数据值.(5)

15、每次在进行波形文件的调试的时候,要首先更新一下更改过的的MIF文件才能有作用,否则是在以前的MIF文件下的生成的波形文件。(6)在PC计数器中要注意每次计数和置数的条件,以及时钟脉冲的设置。在这里我还是弄得不太明白,还需要进一步的了解和研究。8 设计总结与体会在这短短的一周时间内,我通过自己的不断学习和在老师的指导与同学的帮助下,终于成功的完成了这个课程设计,虽然时间很紧张,但是在这个过程中我还是学习到了很多的东西。在设计的过程中我深深地体会到看起来不难的东西其实设计起来是相当复杂的,万万不能眼高手低,而且必须要有足够的耐心才能做得好做得完美。由于时间有限,我只是按照课程设计的要求设计出了5条

16、指令。而且指令设计的浅显易懂,在之后有兴趣的话我会设计出多的指令出来,从而进一步发现问题解决问题,对计算机组成原理做更深的了解和研究.我在设计的过程中将指令的操作码放到了ROM的存储器中,将指令的操作数地址和数据值放到了RAM的存储器中,这样可以方便分析和各项操作的正确进行,可是不利于计算机的存储工作。在后续的工作中,可以考虑把他们放在一起,这样就更加结合实际需要。在老师的指导和交流中,发现我的指令的储存方式不对,在计算机中无法将指令的操作码和操作数的地址放到不同的存储器中,计算机无法实现,必须把他们放到同一个存储器中并且指令的操作码和操作数要在相邻的地址单元中。在后续的工作中我会加以改正和优化的。在整个课程设计中,与同学互帮互助,团队合作能力也是至关重要的,当然最主要的还是自己要肯下功夫,肯花时间在这上面。9 参考文献1 白中英。计算机组成原理(第五版)M。科学出版社,2013.1 1391832 康华光。电子技术基础(第五版)M。高等教育出版社,2006.1 127318

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1