《模型机实验报告》由会员分享,可在线阅读,更多相关《模型机实验报告(18页珍藏版)》请在人人文库网上搜索。

1、哈尔滨工程大学实 验 报 告实验名称: 复杂模型机设计与实现班 级: 学 号: 姓 名: 实验时间: 成 绩:指导教师: 程旭辉 附小晶实验室名称: 计算机专业实验中心一、 实验名称: 复杂模型机的设计与实现二、 实验目的:1综合运用所学计算机原理知识,设计并实现较为完整的计算机。2设计指令系统。3编写简单程序,在所设计的复杂模型计算机上调试运行。三、实验设备: GW-48CPP系列计算机组成原理实验系统。四、实验原理:1数据格式模型机采用定点补码表示法表示数据,字长为8位,其格式如下:7符号尾数其中第7位为符号位,数值表示范围是:-11。2指令格式所设计的指令分为四大类共十六条,其中包括算术。

2、逻辑指令、I/O指令、访问、转移指令和停机指令。(1)算术逻辑指令设计9条算术逻辑指令并用单字节表示,采用寄存器直接寻址方式,其格式如下:7654 3210OP-CODErsrd其中,OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:Rs或rd选定的寄存器000110R0R1R2(2)访问指令及转移指令访问指令有2条,即存数(STA)、取数(LDA);2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为:7654321000MOP-CODErdD其中,OP-CODE为操作码,rd为目的寄存器地址(用于LDA、STA指令)。D为位移量(正负均可),。

3、M为寻址模式,其定义如下:寻址模式M有效地址E说明00011011E=DE=(D)E=(RI)+DE=(PC)+D直接寻址间接寻址RI变址寻址相对寻址在本模型机中规定变址寄存器RI为寄存器R2。(3)I/O指令输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:76543210OP-CODEaddrrd其中,addr=01时选中“INPUT DEVICE”中的键盘输入设备,addr=10时,选中“OUTPUT DEVICE”中的LCD点阵液晶屏作为输出设备。(4)停机指令指令格式如下:76543210OP-CODE00003指令系统共有16条基本指令,其中算术逻辑指令7条,访问内存指令。

4、和程序控制指令4条,输入/输出指令2条,其他指令1条。各条指令的格式、汇编符号、功能如表7-1所示。助记符号指令格式功能CLR rdMOV rs,rdADC rs,rdSBC rs,rdINC rdAND rs,rdCOM rdRRC rs,rdRLC rs,rd011100rd0 rd1000rsrdrs rd1001rsrdrs + rd + cy rd1010rsrdrs rd cy rd1011rdrd + 1 rd1100rdrs rd rd1101rd rd1110rd1111rdLDA M,D,rdSTA M,D,rdJMP M,DBZC M,D00M00rdDE rs00M01。

5、rdDrd E00M10rdDE PC00M11rdD当CY=1或Z=1时,E PCIN addr,rdOUT addr,rd010001rdaddr rd010110rdrd addrHALT01100000停机本模型机的数据通路框图如图7-1。根据机器指令系统要求,设计微程序流程图及确定微地址,如图7-2。图7-2 微程序流程图五、实验内容:按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件。微代码定义如表7-1所示。2423222120191817169 8 7654321S3S2S1S0MCnWEA9A8。

6、ABCuA5uA4uA3uA2uA1uA0微程序$M00 $M01 01ed82$M02 00c050$M03 00a004$M04 00e0a0$M05 00e006$M06 00a007$M07 00e0a0$M08 00ed8a$M09 00ed8c$M0A 00a030$M0B $M0C 00202f$M0D 00a00e$M0E 01b60f$M0F 95ea25$M10 00ed83$M11 00ed85$M12 00ed8d$M13 00eda6$M14 $M15 $M16 $M17 3d9a01$M18 $M19 01a22a$M1A 03b22c$M1B 01a432$M1C。

7、 01a233$M1D 01a426$M1E $M1F $M20 $M21 $M22 05db81$M23 0180e4$M24 $M25 95aaa0$M26 00a027$M27 01bc28$M28 95ea29$M29 95aaa0$M2A 01b42b$M2B 959b41$M2C 01a42d$M2D 65ab6e$M2E 059a01$M2F 078a09$M30 050a08$M31 $M32 059a01$M33 01b435$M34 05db81$M35 b99a41$M36 0d9a01$M37 $M38 $M39 $M3A $M3B 070a08$M3C $M3D $M。

8、3E $M3F 六、实验框图设计:模型机设计主要是包括:控制器、存储器、运算器、输入、输出。主要的设计是SE-5是根据FC,FZ,T4,P4.1,SWA,SWB,I7.2来控制输出的SE1.6,控制地址的跳转。当SE输出0时Q输出1,当SE输出1时,Q输出D;SE-5:(SE 6-1):在波形图中实现跳转的时候,会出现如图:刚开始对此变化不理解,自习观察SE6-1时,SE6.1作为控制端,SE为1时Q输出D,SE为0时Q输出1,达到跳转的功能,但是还隐含一个细节是:在SE有0的时候,SE不用T2的时钟触发,地址会直接会发生跳转,所以会出现如图微地址由20直接跳到31。1和3:移位寄存器:SHE。

9、FT 和控制移位器的进位:说明:移位寄存器的M位有M20来控制,S1.0由M22.21来控制,控制进位由SHE_C0来控制,假设上次的移位器有进位,那么上次的SHEFT_CN输出1,在控制移位器进位的器件上,当需要进位时,即:AR=1,(通过观察微指令开看AR进位时才选中)那么会有进位,此时在下一次带进位的移位时,SHE_C0=1;2.控制ALU进位的器件:说明:在此器件中,AR为控制端,上次的进位溢出位FC连到D0上M19与Q非的或,连接到ALU_CN,当M19=1时表示不带进位的运算,那么ALU_CN的结果肯定是1,在下次运算时肯定是不带进位的运算。当M19=0,时,表示运算器运算是带进位。

10、的运算,若上次的运算FC=1,若选中AR则,表示本次的运算时带进位的运算,则在T2周期时,Q=1,那么ALU_CN的输出是0,将结果输入到ALU的进位控制端,控制本次的进位运算。4通过编程控制可编码寄存器的选择:.内部结构:说明:这是通过两个2-4译码器组合而成的选择器,根据decoder_b产生的控制信号,并且在编程时编写的I0I3指令来控制,RS,RD,RI.寄存器的选择。为了方便起见,在实验过程中用一一对应的实现:R0RS;R1RD;R2RI;七、程序表设计:表7-2微指令格式121110选择000001RS-B010RD-B011RI-B100299-B101ALU-B110PC-B9。

11、87选择000001P(1)010P(2)011P(3)100P(4)101AR110LDPC151413选择000001LDRi010LDDR1011LDDR2100LDIR101LOAD110LDARA字段B字段C字段实验程序如下:根据框图的设计以及书中的指令系统功能表,在编码的时候考虑到的情况主要是用指令指定哪个寄存器,以及在实现LDA,STA,JMP,BZC,是选用的哪种寻址方式,为了全面的测试框图实现功能的正确性,在设计程序流程的时候所有的功能,以及所有的寻址方式都用到了,下面就是我设计的实验程序:地址数据16进制表示助记符0041IN:SW-RD(27)0140IN:SW-RS(2。

12、6)02A1SBC:(RD-RS)=RD0359OUT:RD=LED0491ADC:(RD+RS)=RD0559OUT:RD=LED06B1INC:RD+1=RD0759OUT:RD=LED08C1AND:(RD)AND(RS)=RD0959OUT:RD=LED0AD1COM:RD取反=RD0B59OUT:RD=LED0CE1RRC:将RS中的数循环左移0D59OUT:RD=LED0EF1RLC:将RS中的数循环右移0F59OUT:RD=LED1081MOV:RS-RD1159OUT:RD=LED1242IN:SW=RI (存入的数:10H)1301LDA:RAM=RD141E把1E里的数送到。

13、RD中1515STA:RD=RAM161F将RD中的数存到1F的地址中去172AJMP:1811在变址寻址中用到(10H+11H)193DBZC:1A03没有用到1B60HALT:停机指令1C00没有用到1D00没有用到1E0F在执行LDA是会用到0F1F0F在执行STA时会存到此地址2000在执行LDA存到此位置21OUT读出RD中的数222AJMP:跳回到断点位置2309执行JMP时用到此数将设计好的程序表写入到内存中,然后读内存,然后执行程序。七、实验过程分析:模型机过程分析:1. 首先在ROM中已经存入了微代码,这里,在实验中发现35是错误的,正确的应该是:01A426,这是通过实验验。

14、证的。在SE-5的控制下,产生SE信号,控制微代码的后六位是否发生改变,从而判定是否发生跳转,产生的微地址送到uaddr中,指示到下一条的指令。2. 每一条微代码,通过decodera,decoderb,decoderc,decoder2-4产生相应的控制信号,在观察了四个器件的的内部结构后,得出decodera选中的信号是输出1,得出decoderb选中的信号是输出0,得出decoderc选中的信号是输出1,decoder2-4输出0,这样在结合74148优先权编码器后才能完整的控制总线以及相应的输出。3. reg_3是可编程寄存器,利用指令可以选用不同的寄存器,在此模型机自己设计了一个DE。

15、CODERREG部件通过,RD_B, RD_B, RD_B,以及I3-I0来控制选用相应的寄存器。为了方便起见,在实验过程中用一一对应的实现:R0RS;R1RD;R2RI;4. 在微程序流程图中在进行相对寻址时框图47是错误的应该是:PC BUS,BUSDR2;波形图分析:1. 开始执行程序,执行指令是40,执行的是IN指令,将27存入了指定的寄存器RD。说明:为编程方便用I0,I1,I2,I3,来控制选取:2. 此时指令是:40,将26存入RS:3.指令:A1:(RD-RS)=27-26=01,将结果存入RD中。4.将RD中的结果输出到led中显示:此时的指令是(OUT:59)。5.执行AD。

16、C(91)指令:()()存入中:.执行OUT指令,将中的结果输出:执行INC指令,并将加的结果输出到中:.执行AND(C1)指令,(RD)AND(RS)=(28 AND26)=20,然后执行OUT(59)指令,并将结果输出到led中显示:9.执行COM取反指令,RD中的值是20取反后为DF,并执行OUT指令后在led中显示:10.执行RRC指令,RS中值是26循环右移后的结果是13,并执行OUT指令,在led中显示:11.执行RLC指令,将RS中的26循环左移后的结果是4C并将结果在led中显示:12.执行MOV指令(RS-RD)=26,并执行OUT指令,在led中显示:13.先执行IN指令(。

17、),将10存入到指定的RI寄存器中,然后执行LDA指令,将指令中的0F存入到RD中。14.通过间接寻址方式执行STA(15)存数指令,将RD中的0F存入到RAM中:15.通过变址寻址方式执行JMP指令,跳到21执行OUT指令,读出LDA中RD中的数:16.执行OUT指令,将RD中的数读出来,然后执行JMP指令跳回到断点地址继续执行。17.通过相对寻址方式,执行BZC指令:在PC 值为1A时将PC送到AR,此时RAM里的值是03H,并送入DR1,在执行完微地址为23后,PC的值变为1B,将1BH送入DR2中,03H与1BH相加,相加后FC与FZ的值都不为1,所以在进行P(3)测试后跳到了44.八。

18、、实验结果中遇到的问题:实验结果中遇到的问题:在刚开始的时候,在看流程图时,在刚开始的时候,明白微地址的跳转是如何实现的,但是每个框图的具体实现却搞得不是很明白,在看明白了decodea, decodeb, decodec,和74148以及reg_3的内部结构,才明白了具体的电路,以及最终的信号输出的正负,如何控制总线的选择,在不同的时钟周期,实现不同的功能。在复杂的模型机设计的时候,对于可编码寄存器的选择,以及ALU以及SHEFT的进位控制端的控制信号的实现。在设计程序表的时候花的时间比较多,对于实现JMP跳转的时候,对于它的跳转煞费苦心,要实现原来书本中提到的断点跳转功能。九、实验体会:通过模型机的实验,对于计算机五大部件的协同工作,以及微命令的产生和控制信号的控制的具体实现,在实验中遇到困难和问题时与队友惊醒商量,互相提出方案,设计部件,实现要得到的功能。

bzc计算机组成原理,模型机实验报告相关推荐

  1. 计算机组成原理复杂机实验总结,计算机组成原理复杂模型机设计_课程设计报告.doc...

    成绩: 计算机组成原理课程设计实验报告 复杂模型机设计 姓 名 _ 曾凯杨 班 级 _ 计算机102 学 号 _ 40 实验地点 _ 计算机实验室四楼 实验时间 _ 3月6日 指导教师 刘晶 概述 这 ...

  2. 计算机组成原理模型机设计实验总结,计算机组成原理课程设计实验报告-基本模型机设计与实现.docx...

    计算机组成原理课程设计实验报告-基本模型机设计与实现 计 算 机 组 成 原 理 实 验 报 告 评 语: 成绩 教 师: 年 月 日 班 级: 1403011 学 号: 140301124 姓 名: ...

  3. 计算机模型机设计实验报告,计算机组成原理课程设计实验报告-基本模型机设计与实现...

    计算机组成原理课程设计实验报告-基本模型机设计与实现 (12页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 计 算 机 组 成 原 理实 ...

  4. 计算机组成原理实验箱使能开关,计算机组成原理微程序计数器实验报告

    计算机组成原理微程序计数器实验报告 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 洛阳理工学院实验报告系别计算机与信息工程学院班级学号 ...

  5. 计算机组成原理整机实验报告,计算机组成原理加器实验报告.doc

    计算机组成原理加器实验报告 课程设计任务书 学 院信息学院专 业计算机科学与技术学生姓名学 号设计题目研制一台多累加器结构的实验计算机 内容及要求: 利用EL-JY-II型计算机组成原理实验仪提供的硬 ...

  6. 计算机组成原理移位图,计算机组成原理移位运算实验报告.doc

    计算机组成原理移位运算实验报告.doc 计算 机组成原理实验五 移 位运算实验 姓名 陈衍席 学号1205110125 网工 1202 [实验环境][实验环境] 1. Windows 2000 或 W ...

  7. 计算机原理汇编程序实验报告的总结,计算机组成原理及汇编实验报告

    计算机组成原理及汇编实验报告 (13页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 17.90 积分 中南大学中南大学计算机组成原理及汇编实验报告计算机组 ...

  8. 计算机组成原理微控制设计实验总结,计算机组成原理微程序控制器实验报告.doc...

    计算机组成原理微程序控制器实验报告.doc 计算机组成原理实验报告三:微程序控制器实验?? 2011-05-06 01:00:09|??分类: 实验报告 |??标签:实验??微程序??字段??微指令? ...

  9. 计算机组成原理寄存推实验报告,计算机组成原理移位寄存实验报告.doc

    计算机组成原理移位寄存实验报告 计算机组成原理实验二 移位寄存实验 一.实验目的: 1.了解移位寄存器的硬件电路,验证移位控制与寄存的组合功能. 2.利用寄存器进行数据传输. 二.实验要求: 实现寄存 ...

最新文章

  1. java多线程同步与死锁,廖雪峰Java11多线程编程-2线程同步-3死锁
  2. linux 查看各目录(文件夹)下文件大小
  3. maven 文件上传下载_使用Maven将文件上传和下载到S3
  4. Web编码乱码解决原理方案
  5. VMware vSAN6.7 设计和优化 vSAN 主机 vSAN 6.5带来七大更新 解读VMware超融合增长秘诀
  6. iOS 数据存储 FMDB
  7. 华为机试HJ38:求小球落地5次后所经历的路程和第5次反弹的高度
  8. python人门指南小说-Python入门深度学习完整指南
  9. 分布式,项目发布管理
  10. 原生交互(mPass)
  11. 【Java 8 新特性】Java Consumer示例
  12. mysql 错误 1548_mysql报1548错误-Cannot load from mysql.proc. The table is probably corrupted
  13. matlab求对数正态的均值和标准差,matlab – 从变量的均值,系数生成对数正态分布随机数...
  14. 喜报!中国工商银行长春分行荣获吉林省“巾帼建功”先进集体称号
  15. hadoop实战(二)
  16. css中创建主轴方向,flex-direction
  17. strtotime() PHP中的其他用途 上月下月时间不准确
  18. 【云原生 | 从零开始学Docker】一、Docker的安装,启动以及工作原理
  19. 提高晚上学习效率的10个方法
  20. niuke --abc

热门文章

  1. emoji表情符的处理
  2. linux设备上的Onvif 实现6:获取摄像头的流媒体地址完整流程
  3. 那些年薪百万的程序员“咸鱼翻身”没有透露的秘密
  4. section怎么制造图框_Section2014(地质图件制作软件) 4.5.2官方版_增强辅助制图
  5. Zigbee组网控制流程
  6. 扫码报修小程序-报修工单系统
  7. Java集合中有关有序,无序的概念
  8. 如何修改java运行环境版本
  9. 国内员工访问office365加速---高珊珊的博客
  10. IIS打不开ASP文件的完全解决方案