




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 报 告课程设计名称:计算机组成原理课程设计 系 别 : 学 生 姓 名: 班 级: 学 号: 成 绩: 指 导 教 师: 开 课 时 间: 学年 学期一、课程设计的目的1、了解计算机的组成2、了解计算机中指令机器的设计3、了解机器指令的执行过程4、了解微程序流程以及工作原理5、了解微指令格式设计原则二、课程设计的要求 1、通过使用作者开发的微程序分析和设计仿真软件,熟悉本文介绍的为基本模型机而设计的微程序的执行过程。必须充分理解并正确解释下列问题:微程序中的微指令的各个字段的作用。哪些字段是不译码的,哪些字段是直接译码的,哪些字段又可以看成是字段间接编码的。答:不译码:s3-b0,直接译码:c字段,间接译码:a,b字段,当c字段进行p(1)或ldpc时ua6-ual也是间接。 微程序中的微指令是否是顺序执行的,如果不是,那么次地址是如何产生的。什么情况下,次地址字段才是将要执行的微指令的地址。答:微程序中的微指令不是顺序执行的,如果遇到p(1)p(4)测试时,则根据机械指令,ua5ua其他有关部件的内容,产生下一条微指令在空存中的微地址,是微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行等。例如遇到p(1)测试,则下一条微指令在空存中的微地址的41位是用次地址字段na(41位)或指令寄存器ir(85位)所产生,下一条微指令的微地址仍为na字段的65位。如果没有遇到p(1)p(4)测试的话,那么次地址即为该微指令地址字段所指向的微地址。 在微程序中如何根据机器指令中的相关位实现分支,据此,在设计机器指令时应如何避免和解释其它指令的微指令的微地址冲突。 答:微程序中是根据测试程序的机器指令中的85位和微程序中后六位进行“或”运算来实现分支的。避免和解决与其它指令的微指令的微地址冲突的方法就是不用已经被其它微指令用过的微地址。 哪些微指令是执行所有指令都要用到的。 答:00:000001011110110110000001 01:000001001100000001010000 解释一条机器指令的微程序的各条微指令的微地址是否连续?这些微指令的微地址的安排的严重原则是什么? 答:不连续。严重原则是将各条机器指令的入口微地址置于地址连续的地址单元中,避免其它微指令乱用这一段地址。 为什么 读写一次内存总要用两条微指令完成? 答:因为w/r只有两种状态,即要么是读,要么是写,所以,要完成一次读写总要用两条微指令完成。机器程序中的用到的寄存器是r0,是由机器指令中哪些位决定的?如果要用r1或r2,是否要改写微程序或改写机器指令?如果要,应如何改写? 答:是由机器指令中的21位决定。如果要用到r1或r2,那么不需要改写微程序,但得改写机器指令的低两位,即21位,若要用到r1,则将其改为01,若要用r2,则将其改为10。 2、在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。新增加的机器指令的功能是: 异或指令xor (addr1),(addr2):(addr1)异或(addr2)(rd) 数据传送指令mov rd,(addr):(addr)(rd) 减法指令sub rd,rs:(rs)减(rd)(rd) 求反指令 not rd:/(rd) (rd)与指令and rd,(addr):(rd)与(addr)(rd)三、微程序控制器原理1、微程序控制器的基本组成1.1、控制存储器:它是微程序控制器的核心部件,用于存放各指令对应的微程序,控制存储器可用只读存储器rom构成1.2、微指令寄存器:用于存放从cm中取出的微指令,它的位数同微指令字长相等1.3、微地址形成部件:用于产生初始微地址和后继微地址,以保证微指令的连续执行1.4、微地址寄存器:接受微地址形成部件送来的微地址,为在cm中读取微指令作准备2、微程序控制器的工作过程1.1执行取微指令公共操作。具体的执行是:在机器开始运行时,自动将取指微程序的入口地址送入cmar,并从cm中读出相应的微指令送入cmdr。取指微程序的入口地址一般为cm的0号单元,当取指微程序执行完成后,从主存中取出的机器指令就已存入指令寄存器中了。1.2、由机器指令的操作码字段通过微地址形成部件产生该机器指令所对应的微程序的入口地址,并送入cmdr。1.3从cm中逐条取出对应的微指令并执行。1.4、执行完对应于一条机器指令的一个微程序后又回到取指微程序的入口地址,继续第一步,以完成取下一条机器指令的公共操作。3、微程序控制器的工作原理 根据ir(指令寄存器)中的操作码,找到与之对应的控存中的一段微程序的入口地址,并按指令功能所确定的次序,逐条从控制存储器中读出微指令,以驱动计算机各部件正确运行。 根据基本模型机的硬件设计五条机器指令:外设输入指令in、二进制加法指令add、存数指令sta、无条件转移指令jmp。指令格式如下:助记符 机器指令码说明in 0000 0000 ; 置数开关sw(kd0kd7)的状态r0add addr 0001 0000 ; (r0)+(addr)(r0)sta addr 0010 0000 ; (r0)(addr)jmp addr 0100 0000 ; addrpc说明: 指令in为单字节指令,其余均为双字节指令, 为要读写的主存储器单元的二进制地址码。四、指令微流程设计用数据流表示的微程序流程五、详细设计in : 01:00000101111011011000001002:00000100110000000100100008:000001000001000000000001add: 01:00000101111011011000001002:00000100110000000100100003:00000100111000000000010004:00000100101100000000010105:00000101101000100000011006:10010101100110100000000109:000001011110110110000011sta: 01:00000101111011011000001002:00000100110000000100100007:0000010011100000000011010a:0000010111101101100001110d:000001101000001000000001jmp: 01:00000101111011011000001002:0000010011000000010010000b:0000010111101101100011000c:000001001101000110000001六、仿真测试微指令000001011110110110000010执行的操作是:pcb,ldar,允许pc加1(ldpc=1),转微地址:02微指令000001001100000001001000执行的操作是:存储器ce有效,存储器读,ldir,p(1)测试:na(30)或(ir7ir4),转微地址:08微指令000001000001000000000001执行的操作是:输入开关swb有效,ldr0,转微地址:01微指令000001011110110110000010执行的操作是:pcb,ldar,允许pc加1(ldpc=1),转微地址:02微指令000001001100000001001000执行的操作是:存储器ce有效,存储器读,ldir,p(1)测试:na(30)或(ir7ir4),转微地址:09微指令000001011110110110000011执行的操作是:pcb,ldar,允许pc加1(ldpc=1),转微地址:03微指令000001001110000000000100执行的操作是:存储器ce有效,存储器读,ldar,转微地址:04微指令000001001011000000000101执行的操作是:存储器ce有效,存储器读,lddr2,转微地址:05微指令000001011010001000000110执行的操作是:r0b,lddr1,转微地址:06微指令100101011001101000000001执行的操作是:算术:a加b,alub,ldr0,转微地址:01微指令000001011110110110000010执行的操作是:pcb,ldar,允许pc加1(ldpc=1),转微地址:02微指令000001001100000001001000执行的操作是:存储器ce有效,存储器读,ldir,p(1)测试:na(30)或(ir7ir4),转微地址:0a微指令000001011110110110000111执行的操作是:pcb,ldar,允许pc加1(ldpc=1),转微地址:07微指令000001001110000000001101执行的操作是:存储器ce有效,存储器读,ldar,转微地址:0d微指令000001101000001000000001执行的操作是:存储器ce有效,写存储器,r0b,转微地址:01微指令000001011110110110000010执行的操作是:pcb,ldar,允许pc加1(ldpc=1),转微地址:02微指令000001001100000001001000执行的操作是:存储器ce有效,存储器读,ldir,p(1)测试:na(30)或(ir7ir4),转微地址:0b微指令000001011110110110001100执行的操作是:pcb,ldar,允许pc加1(ldpc=1),转微地址:0c微指令000001001101000110000001执行的操作是:存储器ce有效,存储器读,pcload,允许pc加1(ldpc=1),转微地址:017、 课程设计中出现的问题以及解决方法在本次课程设计中,我对仿真一条减法指令这方面掌握的不够好,经过后来几天的认真研究,终于解决了这个问题。假设从程序计数器pc开始,将数据送入地址寄存器,所以要想方设法1)把这两个减数传到运算器的寄存器中,2)在运算器中相减,3)将结果输出到内存单元。以下分别进行分析。1)取每个减数要访问两次内存,第一次是取得减数所在的内存地址的值, 第二次是取得减数本身并保存在地址寄存器中。注意,取第二个减数的时候,第一次仍是放入ar,而第二次的同时也把减法给完成了,请见接下来的分析。2)相减的操作是a-b地址寄存器。a是从内存中取得的第二个减数的值,左边的b是刚才取得的第一个减数的值。他俩相减的值传给地址寄存器,覆盖掉了指令寄存器刚才保存的值(第一个减数)。3)现在地址寄存器中存有减法的运算结果,最后的工作是把这个结果写到内存单元addr1中去。如果ar或者pc指向addr1的话就好办了,难点在于现在ar已经到了addr2处,pc已经到了addr2+1处,而且又不知道如何让寄存器的值减一。后来问同学,得到了解决办法:利用指令寄存器。指令正好还呆在addr1-1。显然,让指令+1就得到了addr1。微指令是指令+1ar以及aar,这时ar的值为第一个加数所在的单元addr1。现在地址寄存器的值是运算结果,ar的值是运算结果要传给的内存地址。显而易见,最后一步就是“存储器写”操作。其它要注意的地方:1)微程序中有两处pc+1pc,第一处是为了取得第二个加数所在的内存地址,第二处是为了把pc指向下一句,在这里是ret,才能使程序正常结束。2)使用q寄存器的好处有:第一,不修改通用寄存器r0,r1等,因为别的程序可能用到它们。第二,程序易读、风格优美。8、 心得体会这次课程设计是在已学计算机组成原理基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。因此,要求学生能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。通过对这一次机器指令的设计,使我对计算机组成原理的基本知识的使用更加熟练,同时也增加了我对计算机组成原理的一些认识,培养从资料文献、科学实验中获得知识的能力,在作业完成过程中通过和同学的交流,也增加了合作的技巧,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。通过查阅以下资料也学到了一些课本上没有的东西,很多知识从模糊概念到具体的了解,从毫无所知到具体的应用,拓宽了自己的知识面,增加了学好汇编语言的信心。当然,在本次设计中,遇到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数学课程标准考试及答案
- 2025年贵州省安顺市公需课培训(专业技术人员继续教育)试题及答案
- 2025年贵州二级建造师考试试题库(答案+解析)
- 职业培训考试题目及答案
- 安全教务培训课件
- 高一开学考试试题及答案
- 商业合同履行守信承诺书(6篇)
- 语文高二月考试卷及答案
- 大学三级考试a卷真题及答案
- 软件开发笔试题目及答案
- 机关健康知识讲座
- 独角抱杆立杆施工方案
- 利用AI技术提升初中语文写作教学效果的实践课题申报书
- 2025年教育督导责任督学培训心得体会与收获
- 《FABE销售法则》课件
- 卫星网络管理与运维-深度研究
- 高纯石英砂提纯研究以及项目可行性分析报告
- 2025年临床医师定期考核必考复习题库及答案(1060题)
- 小学生防校园欺凌课件
- 《SPC基本知识培训》课件
- 工程居间合同范本电子版可打印
评论
0/150
提交评论