简单模型机的微程序设计_第1页
简单模型机的微程序设计_第2页
简单模型机的微程序设计_第3页
简单模型机的微程序设计_第4页
简单模型机的微程序设计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一设计题目计算机组成原理课程设计简单模型机的微程序设计2 主要内容一般地讲,编写微程序可以分成以下几步: 1、设计机器的指令格式。 2、对所设计的指令进行分析,画出各指令的用微命令表示的微流程图。不仅要画出每个对应一条微指令的功能框内的微命令,而且要初步确定该条微指令在控存中的微地址,以便于在设计微程序时确定前一条指令的次地址NA字段和C字段的编码。在这个过程中,一定要注意P(1)测试的规则以及指令高四位的编码。 3、根据微流程图的顺序,一个功能框一个功能框地确定各字段的编码,将这些字段组合即可形成一条条的微指令编码。这些微指令的集合就是可以完成所设计的指令功能的微程序。当然这样设计的微程序有

2、可能不完全正确,还需要进一步检查修改。 以上几步可以用脑、手、纸、笔即可完成。 4、对设计的微程序进行检查修改。本模型机可以手动地用开关将微程序输入机器的控存。为了能将要执行的指令输入主存,在微程序中必须安排一端相应的微程序;为了能检查输入的指令是否正确,也要设计一段微程序。3. 具体要求 1.通过使用作者开发的微程序分析和设计仿真软件,熟悉介绍的为基本模型机而设计的微程序的执行过程。必须充分理解并正确解释下些问题:(1)微程序中的微指令的各个字段的作用。哪些字段是不译码的,哪些字段是直接译码的,哪些字段又可以看成是字段间接编码的。 答:不译码的是S3B0字段;直接译码的是A、B、C字段;间接

3、编码的是uA6uA1。(2)微程序中的微指令是否是顺序执行的,如果不是,那么次地址是如何产生的。什么情况下,次地址字段才是将要执行的微指令的地址。 答:微程序中的微指令不是顺序执行的。如果遇到P(1)测试时,则在每一条功能指令执行完后,进行一次P(1)测试,根据P(1)测试跳到下一条机器指令的微地址。P(1)测试就是根据测试程序的机器指令中的85位和微程序的后六位进行或运算来实现分支,此次课程设计的微程序后六位设计为,则根据下面各功能的指令设计,IN、ADD、STA、OUT、JMP、MOV、NADD、AND、OR、XOR的入口地址分别为10H、11H、12H、13H、14H、15H、16H、1

4、7H、18H、19H。如果没有遇到P(1)测试的话,那么次地址即为该微指令地址字段所指向的微地址。(3)在微程序中如何根据机器指令中的相关位实现分支,据此,在设计机器指令时应如何避免和解决与其它指令的微指令的微地址冲突。答:微程序中是根据测试程序的机器指令中的85位和微程序中后六位进行“或”运算来实现分支的。避免和解决与其它指令的微指令的微地址冲突的方法就是使用不同没有被其他微指令用过的微地址。(4)哪些微指令是执行所有指令都要用到的。答:01:10 02:00(5)解释一条机器指令的微程序的各条微指令的微地址是否连续?这些微指令的微地址的安排的严重原则是什么?答:不连续。严重原则是将各条机器

5、指令的入口微地址置于地址连续的地址单元中,避免其它微指令乱用这一段地址。(6)为什么读写一次内存总要用两条微指令完成?答:因为W/R只有两种状态,即要么是读,要么是写,所以,要完成一次读写总要用两条微指令完成。(7)机器程序中用到的寄存器是R0,是由机器指令中哪些位决定的?如果要用R1或R2,是否要改写微程序或改写机器指令?如果要,应如何改写?答:是由机器指令中的21位决定。如果要用到R1或R2,那么不需要改写微程序,但得改写机器指令的低两位,即21位,若要用到R1,则将其改为01,若要用R2,则将其改为10。 2.根据基本模型机的硬件设计五条机器指令:外设输入指令IN、二进制加法指令ADD、

6、存数指令STA、输出到外设指令OUT、无条件转移指令JMP。并且增添下列五条指令:新加法指令 NADD RD,RS:(RS)加(RS)(RD)或指令OR RD,RS:(RS)或(RD)(RD)异或指令XOR RD,RS:(RS)异或(RD)(RD) 与指令AND RD,RS:(RS)与(RD)(RD)数据传送指令MOV RD,RS:(RS)(RD)四进度安排共1.5周11天的时间,具体安排如下:12天:对整个课程设计内容作详细的讲解,并辅导学生完成课程设计指导书的学习,使其掌握和理解课程设计的核心内容。35天:学生在机房学习熟悉课程设计所使用的仿真软件,并深入了解该仿真软件所实现的模型机的指令

7、系统和微程序的设计方法。69天:在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。1011天:根据自己设计的微程序系统写出相应的课程设计报告。五成绩评定正文一. 课程设计的目的1. 计算机的硬件基本组成2. 计算机中机器指令的设计3. 计算机中机器指令的执行过程4. 微程序控制器的工作原理5. 微指令的格式设计原则在此基础上设计可以运行一些基本机器指令的微程序的设计二. 课程设计的内容1. 编写基本模型机的指令基本模型机的指令设计: 助记符 机器指令码说明IN 0000 0000 ; 置数开关SW(KD0KD7)的状

8、态R0ADD addr 0001 0000 ; (R0)+(addr)(R0)STA addr 0010 0000 ; (R0)(addr)OUT addr 0011 0000 ; (addr)输出设备LEDJMP addr 0100 0000 ;addrPCMOV 0101RS RD ;RS:(RS)(RD)NADD 0110RSRD ;(RS)+(RS)(RD)AND 0111RS RD ;(RS)and (RD)(RD)OR 1000RS RD ;(RS)or (RD)(RD)XOR 1001RS RD ;(RS)xor (RD)(RD)说明: 十条指令分别为外设输入指令(IN)、二进制

9、加法指令(ADD)、存数指令(STA)、输出到外设指令(OUT)、无条件转移指令(JMP)、寄存器间传数指令(MOV)、新加法指令(NADD)、与指令(AND)、或指令(OR)、异或指令(XOR)。为要读写的主存储器单元的二进制地址码。2. 根据基本模型机的指令画流程图(1)、(2)01PC ARPC+1 02RAM BUSBUS IRP(1)测试XORORANDNANDMOVJMPOUTSTAADDIN17181916151413121110RSDR1RSDR1RSDR1RSDR1RSRDPCARPC+1PCARPC+1PCARPC+1SWR0PCARPC+1 1C 1A 0E0D03090

10、7(DR1+DR1)RDRAMBUSBUSARRAMBUSBUSARRAMBUSBUSAR010CRDDR2RDDR2RDDR2RAMBUSBUSPCC01 1B 0F0A 1D01RAMBUSBUSDR1R0BUSBUSRAM0804(DR1与DR2) RDRAMBUSBUSDR2(DR1异或DR2) RD(DR1或DR2) RD010B05R0 DR101DR1LED01010106(DR1+DR2)R00101 流程图(1) 01PCBLDARLDPC02CE有效W/R=0LDIRP(1)测试XORORANDNADDMOVJMPOUTSTAADDIN1718191615141312111

11、0RSBLDDR1RSBLDDR1RSBLDDR1RSBLDDR1RSBLDRiPCBLDARLDPCPCBLDARLDPCPCBLDARLDPCSWB有效LDRiPCBLDARLDPC0D031C1A0E0907ALU做新加法 LDRiALUB010CCE有效W/R=0LDARRDBLDDR2RDBLDDR2RDBLDDR2CE有效W/R=0LDARCE有效W/R=0LDAR01CE有效W/R=0LOAD0A1D1B0F080401CE有效W/R=0LDDR2ALU做“异或”LDRiALUBALU做“或”LDRiALUBALU做“与”LDRiALUBCE有效W/R=0LDDR1R0BCE有效

12、W/R=1010B05R0B有效LDDR101ALUBLEDBALU=AW/R=101010106ALU做加法LDRiALUB0101 流程图(2)3. 根据基本模型机微指令格式按流程图顺序写出微程序代码:编写的机器指令代码如下:01:10 02:0003:0004:0105:1006:0107:0008:0109:100A:110B:01 0C:010D:010E:11 0F:01 10:0111:1112:1113:0114:0015:01 16:01 17:10 18:1019:00 1A:11 1B:01 1C:01 1D:01下面是利用该软件设计的微程序编码及各条微指令的功能分析:2

13、4 23 22 21 20 1918 17 1615 14 1312 11 109 8 7 6 5 4 3 2 1S3 S2 S1 S0 M CnWEB1 B0 A BCuA6 uA5 uA4 uA3 uA2 uA101: 无效111无效110LDAR110 PCB110LDPC转微地址:0202: 无效001从主存读100LDIR000无效001P(1)转微地址:NA(41位)或IR(85位)03: 无效001从主存读110LDAR000无效000无效转微地址:0404: 无效001从主存读011LDDR2000无效000无效转微地址:0505: 无效111无效010LDDR1010RDB0

14、00无效转微地址:0606:ALU作加法111无效001LDRi101ALUB000无效转微地址:0107: 无效001从主存读110LDAR000无效000无效转微地址:0808: 无效101向主存写000无效001RSB000无效转微地址:0109: 无效001从主存读110LDAR000无效000无效转微地址:0A0A: 无效001从主存读010LDDR1000无效000无效 转微地址:0B0B:ALU=A110向LED写000无效101 ALUB000无效转微地址:010C:无效001从主存读101LOAD000无效000无效转微地址:010D:ALU(A+A)111无效001LDRi

15、101ALUB000无效转微地址:010E:无效111无效011LDDR2010RDB000无效 转微地址:0F0F:ALU与111无效001LDRi101ALUB000无效转微地址:0110: 无效000从SW读001LDRi000无效000无效转微地址:0111: 无效111无效110LDAR110PCB110LDPC转微地址:0312: 无效111无效110LDAR110PCB110LDPC转微地址:0713: 无效111无效110LDAR110PCB110LDPC转微地址:0914: 无效111无效110LDAR110PCB110LDPC转微地址:0C15: 无效111无效001LDR

16、i001 RSB000无效转微地址:0116: 无效111无效010LDDR1001 RSB000无效转微地址:0D17: 无效111 无效010LDDR1001RSB000无效转微地址:0E18: 无效111无效010LDDR1001RSB000无效 转微地址:1A19: 无效111无效010LDDR1001 RSB000无效转微地址:1C1A:无效111无效011LDDR2010RDB000无效 转微地址:1B1B:ALU或111无效001LDRi101ALUB000无效 转微地址:011C:无效111无效011LDDR2010RDB000无效转微地址:1D1D:ALU异或111无效001

17、LDRi101 ALUB000无效转微地址:014. 根据已经写好的微程序指令编写测试的机器指令程序编码:00H: ;IN R0:SW-R0 验证IN指令,将SW状态赋给寄存器R0,此时R0=0 01H: ;ADD R0+31-R0 验证AND指令,将寄存器R0里的数据和0E地址内 容相加送给R0 ,此时R0=3102H: ;地址0EH03H: ;STA R0-10H 验证STA指令,将R0里的内容送到地址10H04H: ;地址 0FH05H: ;OUT(0FH) 验证STA指令,将地址10H内容输出到外设06H: ;地址0FH07H: ;MOV R0-R1 验证STA指令,将寄存器R0里的数

18、据赋给寄存器 R0,此时R0=31,R1=3108H: ;NADD R1+R1-R0 验证NADD指令,将寄存器R1里的数据加上自身后 赋给寄存器R0,此时R0=6209H: ;(R0 and R1)-R0 验证AND指令,将R0与R1内容赋给R0,此时R0=20 0AH: ;(R0 or R1)-R0 验证OR指令,将R0或R1内容赋给R0,此时R0=310BH: ;(R0 xor R1)-R0 验证OR指令,将R0异或R1内容赋给R0,此时R0=00CH: ;JMP-00H 验证JMP指令,将地址0D的内容无条件转移给PC0DH:0EH: ;31H0FH:三. 课程设计总结通过这次一个多星期的课程设计,使我对计算机组成原理这门课程有了深刻的理解。在课程设计过程中,通过对各种指令代码的设计以及相应指令微程序的设计是我对计算机内部结构有了更深的理解,特别是运算器,存储器,微程序控制器的运行和实现过程有了比较深刻的认识。在这次课程设计的过程中也遇到了一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论