计算机组成原理课程设计——微程序设计报告书(共18页).doc

上传人:飞****2 文档编号:13563202 上传时间:2022-04-30 格式:DOC 页数:18 大小:404.50KB
返回 下载 相关 举报
计算机组成原理课程设计——微程序设计报告书(共18页).doc_第1页
第1页 / 共18页
计算机组成原理课程设计——微程序设计报告书(共18页).doc_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《计算机组成原理课程设计——微程序设计报告书(共18页).doc》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计——微程序设计报告书(共18页).doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上课程设计指导教师评定成绩表项目分值优秀(100x90)良好(90x80)中等(80x70)及格(70x60)不及格(x60)评分参考标准参考标准参考标准参考标准参考标准学习态度15学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作学习态度尚可,能遵守组织纪律,能按期完成任务学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度技术水平与实际能力25设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经

2、济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,文献引用、调查调研比较合理、可信设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、调查调研比较可信设计基本合理,理论分析与计算无大错,实验数据无大错设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题创新10有重大改进或独特见解,有一定实用价值有较大改进或新颖的见解,实用性尚可有一定改进或新的见解有一定见解观念陈旧论文(计算书、图纸)撰

3、写质量50结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰指导教师评定成绩:指导教师签名: 年 月 日重庆大学本科学生课程设计任务书课程设计题目微程序设计学院计算机学院专业计算机科

4、学与技术年级2006已知参数和设计要求:用微程序控制器实现以下指令功能调用:CALLaddr ;指令功能与80X86相同,addr是8位二进制地址 返回:RET ;存储器到存储器传送:MOV memi , memj; memi (memj), ij,memi内存单元地址带右移的加法运算:ADD Ri , Rj , N; Ri (Ri)+(Rj)N ,Rj中内容不变 N=0-7学生应完成的工作:根据模型计算机的数据路径以及微程序控制器的工作原理,设计各指令格式以及编码,并实现各机器指令微代码,根据定义的机器指令,自拟编写包含以下指令的应用程序。参考实验5.3、6.1。上机调试并输出正确结果,给出

5、完整的设计报告。目前资料收集情况(含指定参考资料):计算机组成原理实验指导书计算机组成和设计,David A.Patterson编,清华大学出版社,2003年12月计算机组织与结构,William Stallings编,高等教育出版社,2001年8月计算机组成与系统结构,李亚民编,清华大学出版社,2000年4月课程设计的工作计划: 2008-2009第一学年第14周任务下达日期 2008 年 12 月 8 日完成日期 2008年 12 月 8 日指导教师 (签名)学 生 (签名)说明:1、学院、专业、年级均填全称,如:光电工程学院、测控技术、2003。2、本表除签名外均可采用计算机打印。本表不

6、够,可另附页,但应在页脚添加页码。计算机组成原理课程设计报告书一、设计目的:综合运用所学过的计算机原理知识,设计并实现较为完整的计算机。掌握运用计算机原理知识解决问题和设计指令程序的能力。通过课程设计的综合训练,培养实际分析问题,编写程序指令和动手能力、团队协作精神,帮助学生系统掌握计算机组成原理课程的主要内容。二、设计要求:设计要求:用微程序控制器实现以下指令功能调用:CALLaddr ;指令功能与80X86相同,addr是8位二进制地址返回:RET ;存储器到存储器传送:MOV memi , memj; memi (memj), ij,memi内存单元地址带右移的加法运算:ADD Ri ,

7、 Rj , N; Ri (Ri)+(Rj)N ,Rj中内容不变 N=0-7根据模型计算机的数据路径以及微程序控制器的工作原理,设计各指令格式以及编码,并实现各机器指令微代码,根据定义的机器指令,自拟编写包含以下指令的应用程序。三、微程序控制器的原理:A. 微程序控制的基本思想:1. 若干微命令编制成一条微指令,控制实现一步操作; 2. 若干微指令组成一段微程序,解释执行一条机器指令; 3. 微程序事先存放在控制存储器中,执行机器指令时再取出。B. 基本组成:控制存储器,微指令寄存器,微地址寄存器,地址转移逻辑框图:图1 微程序控制器组成原理框图控制存储器(CM):用来存放实现全部指令系统的微程

8、序,位于CPU中。它是一种只读型存储器,要求速度快,读出周期短微指令寄存器:存放当前由控制存储器读出的一条微指令信息,分为微地址寄存器和微命令寄存器两个部分。其中微地址寄存器决定将要访问的下一条微指令的地址,微命令寄存器则保存一条微指令的操作控制字段和判别测试字段(P)的信息地址转移逻辑:自动完成修改微地址的任务。微程序控制器:微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指

9、令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器,微程序控制器原理框图如图2所示6MA5-MA02I7-I2P4-P1T4地址T16SE6SE0T2CLR6uA5ua0T2uIR微指令CM2816*324位S3A8ABCQQ D指令译码单元3-8译码器指令寄存器IR图2 微程序控制器原理框图C. 微程序控制计算机的工作过程:下面通过计算机启动、执行程序直到停机的过程,来说明微程序是如何控制计算机工作的:计算机加电以后,首先由复位信号(Reset)将开机后执行的第一条指令的地址送入PC内,同时将一条取指微指令送入微指令寄存器

10、中,并将其他一些有关的状态位或寄存器置于初始状态。当电压达到稳定值后,自动启动计算机,产生节拍电位和工作脉冲。为保证计算机正常工作,电路必须保证开机后第一个机器周期信号的完整性,在该CPU周期末,产生开机后第一个工作脉冲。然后计算机开始执行程序,不断地取出指令、执行指令。程序可以存放在固定存储器中,也可以利用固化在只读存储器(ROM)中的一小段引导程序,将要执行的程序和数据从外部设备调入主存。实现各条指令的微程序是存放在微程序控制器中的。当前正在执行的微指令从微程序控制器中取出后放在微指令寄存器中,由微指令的控制字段中的各位直接控制信息和数据的传送,并进行相应的处理。当遇到停机指令或外来停机命

11、令后,应该待当前这条指令执行完毕后再停机或至少在本机器周期结束时停机。要保证停机后,重新启动计算机能继续工作而且不出现任何错误。四、总体设计(系统构成):实现一个简单的 CPU,并且在此CPU 的基础上,继续构建一个简单的模型计算机。CPU 由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图3所示。这个CPU 在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU 必须和主存挂接后,才有实际的意义,所以还需要在该CPU 的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型

12、计算机。图3基本CPU构成原理图程序计数器PC:程序计数器PC由两片4位可预置二进制计数器构成8位的计数器。使用“可预置”是因为转移指令需要直接修改PC的值。其电路原理如下图。88LOADT4LDPCPC(74LS161)PC(74LS161)图3 程序计数器PC地址寄存器AR:地址寄存器保存访问存储器时的地址信息,由74LS273实现。其电路原理如下图。88AR(74LS273)T4LDAR图4 地址寄存器AR指令寄存器IR:指令寄存器IR存放的是正在执行的机器指令,它作为指令译码器电路的输入,实现程序跳转控制。其电路原理如下图。88IR(74LS273)T4LDIR图5 指令寄存器IR寄存

13、器堆R0:寄存器R0使用的芯片是74LS374,该芯片是8个三态D-FF。其R0电路原理如下图。R0-B88R0(74LS374)T4LDR0图6 寄存器R0数据通路如图:图8数据通路图五、详细设计微程序功能设计: (1)指令设计助记符 机器指令码 说明ADD 0000 0000 * * (data1+data2 )R0 OUT 0011 0000 R0-OUTMOV 0100 0000 (addr1)-(addr2)LDI 0110 0000 * (data)-R0CALL 0111 0000 * 调用子程序RET: 1000 0000 子程序返回 ADD 是三字节指令,后面两个* *是要进

14、行加法的数据,本指令的功能是数据一加上数据二之后左移一位,结果存在R0里;OUT是输出;MOV指令实现的是将内存地址一的数据传输到内存地址二,因为它单字节指令,所以微指令执行期间要靠IN单元输入要操作的内存地址;LDI是双字节指令,把后面的*送到R0里;CALL是调用子程序,也还是双字节指令,*是要调用子程序的入口地址;RET指令用在子程序的末尾,帮助子程序正确返回。 (2)微指令设计 根据机器指令所实现的功能,画出微程序流程图。 微程序流程图:0001PCARPC+1MAA左移1-R0PCARPC+1MBA+B-A300A090D0C0BPCARPC+1MARPNOP010330INARR0

15、MMR0INAR3408070601PCARPC+1MR0360111APCPCMPCARPC+1MAR0AR370113141516R0ARMPC380112R0 IO0133ADDOUTMOVLDICALLRET 当全部微程序设计完毕后,将每条微指令代码化,下表即为将微程序流程图按微指令格式转化而成的“二进制微代码表”。 二进制微代码表地址十六进制高五位S3-S0A字段B字段C字段MA5-MA000000000000000001006D430000000001101101010300010000011100000130006D490000000001101101010910100A0001

16、000000010000000A006D4B0000000001101101010B10200C0001000000100000000C04920D0000010010010010000D0000001110010010003400011000011000000006000100000011000000070001100001100000000800100000000001000037006D53000000000110110101130001000000010000001400000000011001000015200C160010000000001100001600000000010100

17、110136006D5100000000011011010111000100000011000000380000000001100100001200010000010100010133001010000000010000 实验准备: 按下图连接电路实验接线图:将微程序和机器程序以指定的格式写入到以TXT 为后缀的文件中联机运行。指令格式: 微指令格式: 机器指令格式: $M XX XXXXXX $P XX XX 十六进制微指令代码 十六进制机器指令代码十六进制地址十六进制地址 标志符 标志符根据流程图及指令格式,安排微指令地址的地址编码及微指令编码:; /* Start Of Main Mem

18、ory Data * /$P 00 40 ;MOV$P 01 60 ;LDI$P O2 F1 ;DATA$P 03 70 ;CALL$P 04 06 ;ADDR$P 05 30 ;0UT$P 06 00 ;ADD$P 07 11 ;DATA$P 08 22 ;DATA$P 09 30 ;OUT$P 0A 60 ;LDI$P 0B F1 ;DATA$P 0C 80 ;RET; /* End Of Main Memory Data * /; /* Start Of MicroController Data * /$M 00 ; NOP$M 01 006D43 ; PC-AR,PC 加1$M 03

19、; MEM-IR, P;ADD程序段$M 30 006D49 ;PC-AR PC+1$M 09 10100A ;M-A$M 0A 006D4B ;PC-AR PC+1$M 0B 10200C ;M-B$M 0C 04920D ;A+B-A$M 0D ;AR0;MOV程序段$M 34 ;IN-AR$M 06 ;MEM-R0$M 07 ;IN-AR$M 08 ;R0-MEM;CALL程序段$M 37 006D53 ;PC-AR PC+1$M 13 ;MEM-A$M 14 ;R0-AR$M 15 200C16 ;PC-MEM$M 16 ;A-PC;LDI程序段$M 36 006D05 ;PC-AR,

20、PC+1$M 11 ;MEM-R0;RET程序段$M 38 ;R0-AR$M 12 ;MEM-PC;OUT指令$M 33 ;R0-IO; /* End Of MicroController Data */联机:选择联机软件的“【转储】【装载】”功能,在打开文件对话框中选择上面所保存的文件,软件自动将机器程序和微程序写入指定单元。选择联机软件的“【转储】【刷新指令区】”可以读出下位机所有的机器指令和微指令,并在指令区显示,对照文件检查微程序和机器程序是否正确,如果不正确,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的指令,以修改微指令为例,先用鼠标左键单击指令区的微存TAB

21、按钮,然后再单击需修改单元的数据,此时该单元变为编辑框,输入6位数据并回车,编辑框消失,并以红色显示写入的数据。六、测试:运行:将时序与操作台单元的开关KK1 和KK3 置为运行档,进入软件界面,选择菜单命令“【实验】【简单模型机】”,打开简单模型机数据通路图。按动CON 单元的总清按钮CLR,然后通过软件运行程序,选择相应的功能命令,即可联机运行、监控、调试程序。观察微程序每一步的实现,在数据通路图和微程序流中观测指令的执行过程。对应微指令:$M 34 ;IN-AR(MOV中) 对应微指令:$M 06 ;MEM-R0(MOV中) 对应微指令:$M 11 ;MEM-R0(LDI中) 对应微指令

22、:$M 13 ;MEM-A(CALL中) 对应微指令:$M 14 ;R0-AR(CALL中) 对应微指令:$M 16 ;A-PC(CALL中) 对应微指令:$M 0B 10200C ;M-B(ADD中) 对应微指令:$M 0D ;AR0(ADD中) 对应微指令:$M 33 ;R0-IO(OUT中) 对应微指令:$M 38 ;R0-AR(RET中)实验结果: 实验结果完全符合当初的设计,各个微指令都实现了预先设计的目标,机器程序的测试也达到预期的效果。七、设计中出现的问题和解决方法(一)出现问题: (a)在设计CALL指令时,需要把当前指令的位置压栈,等到子程序调用RET指令时再将之弹出栈,方可

23、返回对应的主程序。但设计指令时并未设计PUSH,POP指令,因此保存当前指令成为一个难题。 (b)在设计MOV指令时,内存之间是不可以直接传送数据。(二) 对应的解决方法: (a)为解决此问题,设计时就多加了一条LDI(立即数送寄存器)指令,目的是使得我们自己可以指定一个内存地址,存放我们当前的指令地址。这样,在我们调用CALL指令前只需调用LDI即可指定位置一个位置存储当前指令地址(类似压栈)。当然,RET也要调用它。()解决方法,运用寄存器当中转,先把存储器一中的数据放到寄存器,在把寄存器中的数据放到存储器二。八、心得体会 这次实验增强了我们的动手能力、提高了我们发现问题、分析问题和解决问

24、题的能力、增强了我们团体合作的意识和经验。 首先,动手能力一直是我们的弱点,这次实验使我们在老师和同学的帮助下自己动手完成了这次实验,让我们知道了怎样正确按自己的思路画流程图、按原理图连接线路、根据数据通路图的控制端确定控制信号代码,装入正确微代码,正确实现此实验要求。 同时,我们平时习惯了按要求回答问题,遇到设计之类的问题总是烦恼万分,对一具体题目总是联想翩翩却无从下手。通过这次实验使我们知道了如何从最基础的知识入手逐渐深入到题目的最终实现。整个实验过程中,从连线到调试最终正确问题可谓层出不穷,怎样发现问题对我们而言是一大难题。首先,此实验线路复杂,如连错便不易检查,且线路导通与否也很难检查

25、,通过理论与问题对应分析对我们来说就尤其重要。在调试时我们发现数据流向错误时就得检查微代码和所写的流程图,并结合流程图和个功能控制信号写出正确的微程序,并得到正确的数据通路。当然,这次实验也让我们体会到了合作的好处。由于我们每个人的学习能力的大小不同,感兴趣的知识的方向不同,这就使得我们有能力完成单个人能力范围外的事或者达到更高的实验要求。九、参考资料:1.计算机组成原理实验指导书,重庆大学计算机学院编2.计算机组成和设计,David A.Patterson编,清华大学出版社,2003年12月3.计算机组织与结构,William Stallings编,高等教育出版社,2001年8月4.计算机组成与系统结构,李亚民编,清华大学出版社,2000年4月5.计算机组成和设计 ,David A.Patterson、John L.Hennessy著、郑纬民译, 清华大学出版社,2003年12月专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁