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

下载本文档

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

文档简介

计算机组成原理课程设计简单模型机的微程序设计学生姓名: 学号: 系 别: 班 级: 专 业: 指导教师: 5一. 课程设计的目的1. 计算机的硬件基本组成2. 计算机中机器指令的设计3. 计算机中机器指令的执行过程4. 微程序控制器的工作原理5. 微指令的格式设计原则在此基础上设计可以运行一些基本机器指令的微程序的设计二. 课程设计的内容和要求1.通过使用作者开发的微程序分析和设计仿真软件,熟悉介绍的为基本模型机而设计的微程序的执行过程。必须充分理解并正确解释下些问题:(1)微程序中的微指令的各个字段的作用。哪些字段是不译码的,哪些字段是直接译码的,哪些字段又可以看成是字段间接编码的。 答:直接译码的是A、B、C字段;不译码的是S3B0字段;而间接编码的是uA6uA1。(2)微程序中的微指令是否是顺序执行的,如果不是,那么次地址是如何产生的。什么情况下,次地址字段才是将要执行的微指令的地址。 答:微程序中的微指令不是顺序执行的,如果遇到P(1)P(4)测试时,则根据机械指令,uA5uA其他有关部件的内容,产生下一条微指令在空存中的微地址,是微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行等。例如遇到P(1)测试,则下一条微指令在空存中的微地址的41位是用次地址字段NA(41位)或指令寄存器IR(85位)所产生,下一条微指令的微地址仍为 NA字段的65位。如果没有遇到P(1)P(4)测试的话,那么次地址即为该微指令地址字段所指向的微地址。(3)在微程序中如何根据机器指令中的相关位实现分支,据此,在设计机器指令时应如何避免和解决与其它指令的微指令的微地址冲突。答:微程序中是根据测试程序的机器指令中的85位和微程序中后六位进行“或”运算来实现分支的。避免和解决与其它指令的微指令的微地址冲突的方法就是不用已经被其它微指令用过的微地址。(4)哪些微指令是执行所有指令都要用到的。答:00:00000101111011011000000101:000001001100000001000000(5)解释一条机器指令的微程序的各条微指令的微地址是否连续?这些微指令的微地址的安排的严重原则是什么?答:不连续。严重原则是将各条机器指令的入口微地址置于地址连续的地址单元中,避免其它微指令乱用这一段地址。(6)为什么读写一次内存总要用两条微指令完成?答:因为W/R只有两种状态,即要么是读,要么是写,所以,要完成一次读写总要用两条微指令完成。(7)机器程序中用到的寄存器是R0,是由机器指令中哪些位决定的?如果要用R1或R2,是否要改写微程序或改写机器指令?如果要,应如何改写?答:是由机器指令中的21位决定。如果要用到R1或R2,那么不需要改写微程序,但得改写机器指令的低两位,即21位,若要用到R1,则将其改为01,若要用R2,则将其改为10。2.设计要求 在原有的5条机械指令的基础上增加实现下述各功能的机械指令,试设计相应的机械指令的格式并改写原有的微程序使其可以运行所有的机械指令。新增加的机械指令的功能是: 寄存器间的数据传送指令 MOV RD,RS (RS)(RD) 减法指令 SUB R0,(ADDR):(R0)-(ADDR)(R0) 与指令 AND RD,RS:(RS)AND(RD)(RD) 或指令 OR RD,RS:(RS)OR(RD)(RD) 异或指令 XOR RD,RS:(RS)XOR(RD)(RD) 其中的RS、RD可以是R0、R1、R2中的任何一个。3.设计思想(如何实现各指令分支、如何安排各指令对应的微程序中的微指令的微地址、如何设计各微指令的编码):实现分支:每一条机器指令执行完之后,就进行一次P(1)测试,根据P(1)测试跳到下一条机器指令的微地址。机械指令执行中则是根据微指令的后六位来确定下一条微指令的地址。微地址的安排,将各条机械指令(IN、ADD、STA、OUT、JMP、MOV、SUB、AND、OR、XOR)通过P(1)测试,将每条机器指令的入口微地址的首位置为微指令01单元65位对应的数值。如微指令01单元61位为000000,则每条机器指令的入口微地址的首位为0,IN对应的为02,ADD对应的为03然后将完成各条指令的其它微指令的微地址设置为连续的在指令寄存器IR中的85位的数值则由微指令01单元的后六位和对应的机械指令的入口微地址推出。 微指令的编码:先分析各条机器指令的功能,然后针对其功能将其用微指令表示的微指令流程图画好(如下所示),最后针对图中每条微指令要完成的功能设计好编码。1).用微命令表示的微流程图如下:运行微程序00PCBLDARLDPC01CE有效W/R=0LDIRP(1)测试XORORANDSUBMOVJMPOUTSTAADDIN0A0B0908070605040302ROBLDDR1ROBLDDR1R2BLDDR1PCBLDARLDPCR0BLDRiPCBLDARLDPCPCBLDARLDPCPCBLDARLDPCSWB有效LDRiPCBLDARLDPC1E1C1A1612100C0015CE有效W/R=0LDARR2BLDDR2R1BLDDR2R1BLDDR2CE有效W/R=0LDARCE有效W/R=0LDARCE有效W/R=0LDAR00CE有效W/R=0LOAD1F1D1B1713110DCE有效W/R=0LDDR2ALU做“与”LDRiALUBALU做“或”LDRiALUBALU做“与”LDRiALUBCE有效W/R=0LDDR2CE有效W/R=0LDDR1R0BCE有效W/R=10018140ER0B有效LDDR1R0B有效LDDR100ALUBLEDBALU=AW/R=10000000F19ALU做加法LDRiALUBALU做减法LDRiALUB0000002).编写的机器指令代码如下:00H:00100000 ;IN R0:SW-R001H:00110000 ;ADD R0+29-R0=29H02H:00010011 ;03H:01000000 ;STA R0-17H=29H04H:00010111 ;05H:01110001 ;MOV R0-R106H:01000001 ;STA R1-18H=29H07H:00011000 ;08H:00110010 ;ADD R2+12-R2=1209H:000101000AH:10000000 ;SUB R0-12-R0=17H0BH:00010101 ;15H0CH:10011001 ;AND R1,R2-R1=00H0DH:10100100 ;OR R0,R1-R0=17H0EH:10110010 ;XOR R2,R0-R2=05H0FH:01010000 ;R0-LED10H:00010110 11H:01100000 ;JMP-00H12H:0000000013H:0010100114H:0001001015H:0001001016H:000101113).微指令代码如下:00:00000101111011011000000101:00000100110000000100000002:00000100000100000000000003:00000101111011011000110004:00000101111011011001000005:00000101111011011001001006:00000101111011011001010107:00000101100100100000000008:00000101111011011001011009:0000010110100010000110100A:0000010110100010000111000B:0000010110100010000111100C:0000010011100000000011010D:0000010010110000000011100E:0000010110100100000011110F:10010101100110100000000010:00000100111000000001000111:00000110100000100000000012:00000100111000000001001113:00000100101000000001010014:00000111000010100000000015:00000100110100011000000016:00000100111000000001011117:00000100101100000001100018:00000101101000100001100119:0110000110011010000000001A:0000010110110100000110111B:1011110110011010000000001C:0000010110110100000111011D:1110110110011010000000001E:0000010110110100000111111F:0110110110011010000000004)课程设计总结通过这次一个多星期的课程设计,使我对计算机组成原理这门课程有了深刻的理解,特别是对所学知识的运用,有着很重要的作用。在课程设计过程中,通过对各种指令代码的设计以及相应指令微程序的设计是我对计算机内部结构有了更深的理解,特别是运算器,存储器,微程序控制器的运行和实现过程有了比较深刻的认识。在这次课程设计的过程中也遇到了一些问题,比如在设计指令代码过程中各个指令按顺序编码设计,且在测试机器指令程序的时候,程序必须按顺序执行。在设计微程序的过程中,先根据微指令流程图写出每条微指令对应的微程序,通过P(1)测试找到下一条

温馨提示

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

评论

0/150

提交评论