欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    精品计算机组成原理毕业论文报告40江苏大学适用于软件工程41Word格式文档下载.docx

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

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

    精品计算机组成原理毕业论文报告40江苏大学适用于软件工程41Word格式文档下载.docx

    1、007,是直接寻址方式,最后是执行阶段,007-044-047-072-000,将结果mov到内存里。2、立即寻址,寄存器0761 5678 MOV #5678H,R1018-007,是寄存器寻址方式,最后是执行阶段,007-046-000,将结果mov到寄存器里。由GRS可以看出最终结果由0000变成了5678。4、设计中遇到的问题及解决办法 才开始的时候,对软件的应用不是很熟悉,遇到一些麻烦,在同学的帮助下,解决了软件应用问题。第二天 运算指令的微程序设计与调试 设计并调试运算指令的微程序。二、运算指令微程序入口地址指令助记符指 令 编 码入口地址(H)FEDCBA987654321MOV

    2、 src, dst源地址码目的地址码044ADD src, dst048ADDC src, dst04CSUB src, dst050SUBB src, dst054CMP src, dst058AND src, dst05COR src, dst060XOR src, dst064TEST src, dst068INC dst0A4DEC dst0A8NOT dst0AC三、运算类指令微程序微地址(H)微指令(H)微命令BMNA注释007OPXXX指令执行入口TRoe, ADD, Sce, PSWce06FADD98B0006FTRoe,ADDC,SV,PSWceADDC98F0006FTR

    3、oe,SUB,SV,PSWceSUB00000E70070存结果Soe,GRSce000ALU运算,结果送寄存器071Soe,DRce072结果送存储器DRoe,ARoe,WR四、测试程序、数据及运行结果ADD运算00020761 56780B61 F000ADD #F000, R1 从微地址可以看出,第一阶段先是取第一条指令(MOV #5678H,R1)001-在GRS可以看出由0000变成了5678。第二阶段先是取第二条指令(ADD #F000, R1)001-048-04F-070-000,是ADD运算,结果存放在寄存器GRS中,可以看出结果为4678,并且产生进位,SZOC=0001,

    4、正确。五、设计中遇到的问题及解决办法 指令的入口地址开始时没看懂,在同学的点拨下明白了。再是写微程序阶段,完成微程序的输入后,输入时由于不太仔细有一些错误,经过调试发现并改正了错误。经过对每条运算的测试,一些结果不对,在自己的一步一步的查找中,通过和同学的微程序的对照,一一弄懂并改正了。第三天 CPU硬件的初级设计与验证一、设计目标 在运算器实验的基础上对硬件进行扩充,建立初级CPU的数据通路,构造一个只支持运算指令的初级CPU。二、硬件设计1、PC模块设计(加上适当注释)module PC(d,q,n_reset,clk,ce,PCinc); input 15:0 d; input n_re

    5、set,clk,ce; input PCinc; output 15:0 q; reg 15:0 data; always (posedge clk or negedge n_reset) begin if (!n_reset) data = 0; else if (ce) data = d; else if(PCinc) data = data+1; end assign q = data;endmodule2、IR模块设计module IR #( parameter DATAWIDTH=16) (input wire DATAWIDTH-1:0 d, input wire clk, inp

    6、ut wire ce, input n_reset, output reg DATAWIDTH-1:0 q);always(posedge clk or negedge n_reset) begin q = 0; q = d;endDR:module DR #(0 data_IB, input wire DATAWIDTH-1:0 data_DB, input wire DRce_IB, input wire DRce_DB, if(! q=0; else if(DRce_IB) q=data_IB; else if(DRce_DB) q=data_DB;3、顶层模块设计(自己增加的设计部分)

    7、TRTR寄存器的实例化R #(DATAWIDTH) TR(.q(TR_out),.d(IB),.clk(clock),.ce(TRce),.n_reset(n_reset);buffer #(DATAWIDTH) reg_buffer(.q(IB), .d(TR_out), .oe(TRoe); ARAR寄存器的实例化R #(DATAWIDTH) AR(.q(AR_out),.d(IB),.clk(clock),.ce(ARce),.n_reset(n_reset);buffer #(ADDRWIDTH) AR_AB(.q(AB), .d(AR_out), .oe(ARoe_AB);buffe

    8、r #(ADDRWIDTH) AR_IB(.q(IB), .d(AR_out), .oe(ARoe_IB);IRIR寄存器的实例化R #(DATAWIDTH) IR(.q(IR_out),.d(IB),.clk(clock),.ce(IRce),.n_reset(n_reset);PCPC PC(.d(IB), .q(PC_out), .n_reset(n_reset), .clk(clock), .ce(PCce), .PCinc(PCinc);buffer #(DATAWIDTH) PC_buffer(.q(IB), .d(PC_out), .oe(PCoe);DRDR #(DATAWID

    9、TH) DR(.q(DR_out), .data_IB(IB), .data_DB(DB), .clk(clock), .DRce_IB(DRce_IB), .DRce_DB(DRce_DB), .n_reset(n_reset);buffer #(DATAWIDTH) DR_DB(.q(DB), .d(DR_out), .oe(DRoe_DB);buffer #(DATAWIDTH) DR_IB(.q(IB), .d(DR_out), .oe(DRoe_IB);三、验证结果和第二天的一样,说明硬件扩充正确。四、设计中遇到的问题及解决办法 在写TR,AR,IR的实例化代码时,没注意是用寄存器模

    10、块R实例化得到的,经过报错和仔细看书后,发现了问题,成功改正过来了。完成程序运行出了问题,经过查找发现是DR模块出了问题,if(!n_reset)q=0;else if(DRce_IB)q=data_IB;else if(DRce_DB)q=data_DB;这一句被我写成了if(!else q=data_DB。第四天 为CPU扩充转移指令一、设计要求 在初级CPU的基础上进行功能扩充,使其支持转移类指令二、硬件uAG模块设计(自己修改的设计部分,加上适当注释)3d3:uAGout = NA8:1,BM3_uAR0; 3,根据条件转移指令操作码PSW的ZF,OF,SF,CF状态标志决定微地址第四

    11、天 always(SZOC, IR) begin case(IR7:6) 条件转移类指令 2b00: Flag_MUX=SZOC0; 2b01:=SZOC1; b10:=SZOC2; b11:=SZOC3; default:Flag_MUX第三阶段,进入JC指令,因为C=1,有进位,所以条件满足,执行的是075-077-000,正确。 程序中误将赋值符号=写成了=, 被同学发现,及时修改,并成功得到解决。第五天 为CPU扩充移位指令 在前面的CPU的基础上扩充硬件,使其支持移位指令。1、SHIFTER模块设计wire data_lsb; wire data_ data_lsb = 1b0 ;

    12、assign data_ case (SL, SR) 3 q = d0; q = d15; default:q = Cout; endcase3、IR_DECODE模块设计(自己增加修改的设计部分)2BM4_uA003再是取目的操作数,006-01B-092-06F-070,执行SAR指令。由下一条指令可以看出结果变成了03B0,为右移后的结果,正确。 在实例化两个四选一多路器时,给data_lsb,data_reset); parameter DATAWIDTH=16; output DATAWIDTH-1: input DATAWIDTH-1: input clk,ce,n_reset;

    13、reg DATAWIDTH-1:always (posedge clk or negedge n_reset)if (!n_reset) q =16 h003F; 当复位信号有效时,SP的输出为03Felse if (ce) 当使能信号有效时,输出就是输入的内容q = d; end2、顶层模块设计(自己增加修改的设计部分)SP #(DATAWIDTH) SP(.d(IB), .q(SP_out), .clk(clock), .ce(SPce), .n_reset(n_reset);buffer #(DATAWIDTH) SP_IB(.q(IB),.d(SP_out),.oe(SPoe);三、P

    14、USH、POP、CALL、RET指令微程序的设计PUSH(堆栈指令)0C0F43000C1SPoe,Ace,SV0C1取sp62B300C2Soe,DEC,SV,DRce0C2Sp-17C0800C3Soe, SPce, ARce0C3Sp-1后的地址DRoe, ARoe, WR将内容写入sp-1所指向的内存中POP(压栈指令)0C8B00000C9ARoe, TRce0C9将目标地址先存放在暂存器中F40800CASPoe, ARce, Ace0CA取sp 027610CBRD, ARoe, DRce, INC,SV0CB读出sp所指向的内容,sp-1800800CCTRoe, ARce0C

    15、C取目标地址7C052000ARoe,DRoe,WR,Soe,SPce将sp中的内容写入目标地址CALL(子程序调用指令)0D0F40000D1SPoe, Ace0D1栈顶单元减一,并保存原PC内容B2B000D2DEC,SV, ARoe, TRce0D27C0800D3Soe,ARce,SPce0D3将sp-1送入SP和AR中200300D4PCoe,DRce0D4将PC内容放入DRARoe,DRoe,WR,TRoe,PCce写入栈顶单元RET(返回指令)03CF408003D03D03FDRoe, PCce0407C000000Soe, SPce031A 0004PUSH 0004H007,是直接寻址方式,最后是执行阶段,0C0-0C1-0C2-0C3-000,执行PUSH指令。DR中为0004H里的内容5EE2。同时可以看出SP始终为3F。PUSH指令正确。POP(压栈指令) 033A 0008HPOP 0004H007,是直接寻址方式,最后是执行阶段,0C8-0C9-0CA-0CB-0CC-000,执行POP指令。SP减一变为3E。在内存中可以看出,0008H中的内容变成了0004H中的内容5EE2。POP指令执行正确。


    注意事项

    本文(精品计算机组成原理毕业论文报告40江苏大学适用于软件工程41Word格式文档下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开