欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    模型机实验报告(共18页).docx

    • 资源ID:5284732       资源大小:576.70KB        全文页数:18页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    模型机实验报告(共18页).docx

    精选优质文档-倾情为你奉上哈尔滨工程大学实 验 报 告实验名称: 复杂模型机设计与实现班 级: 学 号: 姓 名: 实验时间: 成 绩: 指导教师: 程旭辉 附小晶实验室名称: 计算机专业实验中心一、 实验名称: 复杂模型机的设计与实现二、 实验目的:1综合运用所学计算机原理知识,设计并实现较为完整的计算机。2设计指令系统。3编写简单程序,在所设计的复杂模型计算机上调试运行。三、实验设备: GW-48CPP系列计算机组成原理实验系统。四、实验原理:1数据格式模型机采用定点补码表示法表示数据,字长为8位,其格式如下:7符号尾数其中第7位为符号位,数值表示范围是:-11。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为位移量(正负均可),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条,输入/输出指令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 rs00M01rdDrd E00M10rdDE PC00M11rdD当CY=1或Z=1时,E PCIN addr,rdOUT addr,rd010001rdaddr rd010110rdrd addrHALT01100000停机本模型机的数据通路框图如图7-1。根据机器指令系统要求,设计微程序流程图及确定微地址,如图7-2。图7-2 微程序流程图五、实验内容:按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件。微代码定义如表7-1所示。2423222120191817169 8 7654321S3S2S1S0MCnWEA9A8ABCuA5uA4uA3uA2uA1uA0微程序$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 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 $M3E $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:移位寄存器:SHEFT 和控制移位器的进位:说明:移位寄存器的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,时,表示运算器运算是带进位的运算,若上次的运算FC=1,若选中AR则,表示本次的运算时带进位的运算,则在T2周期时,Q=1,那么ALU_CN的输出是0,将结果输入到ALU的进位控制端,控制本次的进位运算。4通过编程控制可编码寄存器的选择:.内部结构:说明:这是通过两个2-4译码器组合而成的选择器,根据decoder_b产生的控制信号,并且在编程时编写的I0I3指令来控制,RS,RD,RI.寄存器的选择。为了方便起见,在实验过程中用一一对应的实现:R0àRS;R1àRD;R2àRI;七、程序表设计:表7-2微指令格式121110选择000001RS-B010RD-B011RI-B100299-B101ALU-B110PC-B987选择000001P(1)010P(2)011P(3)100P(4)101AR110LDPC151413选择000001LDRi010LDDR1011LDDR2100LDIR101LOAD110LDARA字段B字段C字段实验程序如下:根据框图的设计以及书中的指令系统功能表,在编码的时候考虑到的情况主要是用指令指定哪个寄存器,以及在实现LDA,STA,JMP,BZC,是选用的哪种寻址方式,为了全面的测试框图实现功能的正确性,在设计程序流程的时候所有的功能,以及所有的寻址方式都用到了,下面就是我设计的实验程序:地址数据16进制表示助记符0041IN:SW->RD(27)0140IN:SW->RS(26)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->RD 1159OUT:RD=>LED1242IN:SW=>RI (存入的数:10H)1301LDA:RAM=>RD141E把1E里的数送到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,这是通过实验验证的。在SE-5的控制下,产生SE信号,控制微代码的后六位是否发生改变,从而判定是否发生跳转,产生的微地址送到uaddr中,指示到下一条的指令。2. 每一条微代码,通过decodera,decoderb,decoderc,decoder2-4产生相应的控制信号,在观察了四个器件的的内部结构后,得出decodera选中的信号是输出1,得出decoderb选中的信号是输出0,得出decoderc选中的信号是输出1,decoder2-4输出0,这样在结合74148优先权编码器后才能完整的控制总线以及相应的输出。3. reg_3是可编程寄存器,利用指令可以选用不同的寄存器,在此模型机自己设计了一个DECODERREG部件通过,RD_B, RD_B, RD_B,以及I3-I0来控制选用相应的寄存器。为了方便起见,在实验过程中用一一对应的实现:R0àRS;R1àRD;R2àRI;4. 在微程序流程图中在进行相对寻址时框图47是错误的应该是:PC àBUS,BUSàDR2;波形图分析: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.执行ADC(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指令(),将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.八、实验结果中遇到的问题:实验结果中遇到的问题:在刚开始的时候,在看流程图时,在刚开始的时候,明白微地址的跳转是如何实现的,但是每个框图的具体实现却搞得不是很明白,在看明白了decodea, decodeb, decodec,和74148以及reg_3的内部结构,才明白了具体的电路,以及最终的信号输出的正负,如何控制总线的选择,在不同的时钟周期,实现不同的功能。在复杂的模型机设计的时候,对于可编码寄存器的选择,以及ALU以及SHEFT的进位控制端的控制信号的实现。在设计程序表的时候花的时间比较多,对于实现JMP跳转的时候,对于它的跳转煞费苦心,要实现原来书本中提到的断点跳转功能。九、实验体会:通过模型机的实验,对于计算机五大部件的协同工作,以及微命令的产生和控制信号的控制的具体实现,在实验中遇到困难和问题时与队友惊醒商量,互相提出方案,设计部件,实现要得到的功能。专心-专注-专业

    注意事项

    本文(模型机实验报告(共18页).docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开