




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成原理课程设计报告专业名称: 网络工程班级学号: 网络1002学生姓名: 张珍丽指导教师:丁伟设计时间: 2012年 6 月11 日 2012年 6 月 20 日第一天 取操作数微程序的设计和调试一、设计目标 设计并调试取操作数的微程序二、取操作数微流程三、测试程序、数据及运行结果格式如下:1、测试内容:立即数寻址测试指令(或程序):MOV #1234H,R1 机器码: 内存地址(H)机器码(H)汇编指令00000761 1234HMOV #1234H,R1运行结果及分析:分析:首先查看微指令流程,如果执行的微地址依次是:00100200300400B00F016006018007004046000(后面的MOV指令的EXE微指令是由老师提供的),根据前面指令微流程的设计,所执行的微指令次序是正确的。在上图中,测试指令微程序最后一条微指令的地址为046,微指令是88000000,所代表的微操作应该是TRoe,GRSce。执行后GRS=0000,而执行后的结果都是存放在GRS当中的,这里好像出错了。但在下一条微指令时GRS=1234,这是因为GRS的装入使能信号GRSce受时钟信号的影响,内容在微指令周期结束时才被保存,所以观察到的数据慢了一步。四、设计中遇到的问题及解决办法1.编写取源操作数的指令微程序时,输入微指令经常出错用软件的时候,忘记设置输出装载方式,导致输出结果不完全,而且对软件UniDebugger的操作也不太熟悉。搞不清楚取操作数入口的微程序是由什么组成。2.解决办法:预习工作要做好,输入微指令的时候要对照设计指导书,一步一步进行。在使用软件之前,要先知道自己的目标,不能盲目的做。逐步熟悉软件步骤,在验证之前设置好输出与装载设置,在输入微指令的时候不能贪快,以保证输入的数据是正确的以及软件的顺畅使用。认真复习课本上内容,可以知道原来取操作数的入口的微命令是空的(NOP)。第二天 运算指令的微程序设计与调试一、设计目标 设计并调试运算指令的微指令二、运算指令微程序入口地址指令助记符指 令 编 码入口地址(H)FEDCBA9876543210MOVsrc, dst000001源地址码目的地址码044ADDsrc, dst000010源地址码目的地址码048ADDCsrc, dst000011源地址码目的地址码04CSUB src, dst000100源地址码目的地址码050SUBBsrc, dst000101源地址码目的地址码054CMPsrc, dst000110源地址码目的地址码058ANDsrc, dst000111源地址码目的地址码05COR src, dst001000源地址码目的地址码060XOR src, dst001001源地址码目的地址码064TESTsrc, dst001010源地址码目的地址码068INC dst00000010001目的地址码0A4DEC dst00000010010目的地址码0A8NOT dst00000010011目的地址码0AC三、运算类指令微程序微地址(H)微指令(H)微命令BMNA注释00700000800NOP4*指令执行入口0489870006FTRoe, ADD, Sv, PSWce006FADD04C98B0006FTRoe,ADDC,Sv,PSWce006FADDC098F0006FTRoe,SUB,SV,PSWce006FSUB06F00000070NOP7070存结果07068000000Soe,GRSce0000ALU运算,结果送寄存器07160030072Soe,DRce0072结果送存储器07200052000DRoe,ARoe,WR0000四、测试程序、数据及运行结果1、测试内容:AND #1234,R1运行数据:机器码:1F61,1234H结果为:分析:此指令的执行的微指令依次是:001002003000B0F00007006F07000根据前面指令过程微流程的设计,所执行的微指令次序是正确的INC(0001) 运行数据 :0239 0001H结果为:分析:此INC指令的执行的微指令依次是:00100200300601B01F0240250260070A406F071072000根据前面指令过程微流程的设计,所执行的微指令次序是正确的自增之后为,显示是对的ADD #1234,1234运行数据:结果为:分析:此指令的执行的微指令依次是:001002003000B0F00250260070406F071072000根据前面指令过程微流程的设计,所执行的微指令次序是正确的,运行数据为:结果为:分析:此指令的执行的微指令依次是:001002003000B0F00250260070000根据前面指令过程微流程的设计,所执行的微指令次序是正确的五、设计中遇到的问题及解决办法问题:没有理解入口地址的意思对于时的原理也不太理解解决:听老师讲授课程之后,我知道了入口地址怎么理解了。双操作数的入口地址为:,【:】,uAR,其中指的是前三位数为,【:】指的是中间四位数由各操作指令编码的第十位到底是三位组成,指的是最后俩位数为,根据这些理解,很快就能写出ADDC:04C、SUB: 050、SUBB: 054、CMP: 058、AND: 05C、OR: 060 、XOR: 064、DEC: 0A8、NOT: 0AC等操作的入口地址。而当时,由硬件完成,当结果送寄存器时,【:】,uAR,当结果送存储器时,【:】,uAR。第三天 CPU硬件的初级设计与验证1、 设计目标 在运算器实验的基础上对硬件进行扩充,建立初级CPU的数据通路,构造一个只支持运算指令的初级CPU。二、硬件设计、PC模块设计 /*程序计数器PC与R模块一样采用异步复位,当n_reset有效时,PC清0,否则在时钟信号clk的上升沿如果数据装入使能ce有效则dq,如果自加信号PCinc有效则q+1q。PC通过三态门与IB相连。*/、 IR模块设计/* DR连接内部总线IB和系统总线的DB;DR有两路数据输入data_IB、data_DB,分别来自IB、DB,相应的有两个装入使能信号DRce_IB、DRce_DB,输出端q分别通过两个三态门连到IB、DB。DR采用异步复位,复位时DR清0,否则在时钟信号的上升沿,当DRce_IB有效时则data_IBq,当DRce_DB有效时则data_DBq。*/、 顶层模块设计(自己增加的设计部分)TR寄存器的实例化: R #(DATAWIDTH) TR(.q(TR_out),.d(IB), .clk(clock), .ce(TRce), .n_reset(n_reset); /TR的输出连接到三态门上,输出即为CPU.v中已经定义好的TR_out /TR的输入是从IB总线上输入的,因此连接IB /TR的时钟信号,以及复位信号,都是顶层模块中的统一时钟信号和复位信号 /TR的使能信号即为CPU.v中定义的TRce。AR寄存器的实例化 R #(ADDRWIDTH) AR(.q(AR_out), .d(IB), .clk(clock), .ce(ARce), .n_reset(n_reset); /AR的输出连接到三态门上,输出即为CPU.v中已经定义好的AR_out /AR的输入是从IB总线上输入的,因此连接IB /AR的时钟信号,以及复位信号,都是顶层模块中的统一时钟信号和复位信号 /AR的使能信号即为CPU.v中定义的ARce。IR寄存器的实例化 R #(DATAWIDTH) IR(.q(IR_out), .d(IB), .clk(clock), .ce(IRce), .n_reset(n_reset); /IR的输出连接到三态门上,输出即为CPU.v中已经定义好的IR_out /IR的输入是从IB总线上输入的,因此连接IB /IR的时钟信号,以及复位信号,都是顶层模块中的统一时钟信号和复位信号 /IR的使能信号即为CPU.v中定义的IRce。3、 验证AND #1234,R1运行数据:1F61,1234HINC(0001) 运行数据 :0239 0001HADD #1234,1234运行数据:,运行数据为:分析:因为这次的验证数据及操作都和第二天的一样,所以当俩天的结果都相同的时候,就说明第三天硬件设计成功了4、 设计中遇到的问题及解决办法问题:截图后发现自增的特别快,例如下图所示:在验证硬件的时候老是出现各种各样的错,导致无法配置和生成解决:-自增的特别快是因为一开始在模块中把语句()写成了(!),导致无法自动清零,上一次的操作结束之后,下一次操作当中的会在原基础上继续增,所以自增很快,所以得把括号里的!去掉验证的时候出现的错误,主要有语句结束的分号丢失、字母输入大小写混淆、以及模块当中的语句写错。得仔细输入代码以及认真检查,写语句的时候按照设计指导书上的提示写,弄清楚各个信号的表示方式以及功能再写。第四天 为CPU扩充转移指令一、设计要求 在初级CPU的基础上进行功能扩充,使其支持转移类指令二、硬件uAG模块设计3d3: uAGout=NA8:1,BM3_uAR0;case(IR7:6)/ 条件转移类指令 * 2b00: Flag_MUX=1b0; 2b01:Flag_MUX=1b0; / 添加第四天的代码,参照指导书图210 2b10: Flag_MUX=1b0; / 根据标志位正确生成BM3_uAR0 2b11: Flag_MUX=1b0; default:Flag_MUX=1b0; endcase三、转移指令微程序的设计四、测试程序、数据及运行结果、测试内容: MOV #H, R1 MOV #H, R0 ADD #H, R0 JZ (R1)运行数据:0761 0760 0B60 0189 运行结果及分析:将送人到R1中, 将送入到R0中,将与R0中的进行加法运算得到结果为存入到R0中,而相加结果不产生进位,CF=0,条件不满足,不执行JC,PC的值顺序执行2、测试内容: MOV #H, R1 MOV #0001H, R2 ADD #FFFFH, R2 JZ (R1)运行数据:0761 0762 0001 0B62 FFFF 0189 运行结果及分析:把存入R1中,把0001存入R2中,将FFFF与R2中的相加,相加之后产生进位,CF=1,且结果为零,ZF=1,满足条件uAR0=1,可执行JC,PC的值由007直接跳转至。五、设计中遇到的问题及解决办法问题不知道怎么验证微程序执行满足条件的指令,但是怎么也没有跳转解决用俩个数据相加,如果有溢出,则会由自增跳转到另一地址,这样就可以验证微程序是否正确了满足溢出的微指令,没有溢出,经过仔细检查发现是机器码输入错误了,所以还是得仔细。第五天 为CPU扩充移位指令一、设计目标 在前面CPU的就出上扩充硬件,使其支持移位指令二、硬件设计1、SHIFTER模块设计、CF模块设计、IR_DECODE模块设计(自己增加修改的设计部分)2b00: BM4_uA=5b01001,IR7:5,1b0;/移位类指令微程序的入口地形成规则 、顶层模块设计(增加自己修改的设计部分)/CF实例化,ALU_out15:输入,来自移位数据的最高位;ALU_out0:输入,来自移位数据的最低位;Cout:输入,来自ALU的进位输出;SL:输入,SHIFTER移位器的左移信号;SR:输入,SHIFTER移位器的右移信号;q:输出,来自进位的输出。三、移位指令微程序的设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F90921810006F0 6010000006FSR,PSWce0941820006F06020000006FSL,PSWce0961810006F06010000006FSR,PSWce0981820006F06020000006FSL,PSWce09A1810006F06010000006FSR,PSWce09C1820006F06010000006FSL,PSWce09E1810006F06010000006FSR,PSWce四、测试程序、数据及运行结果1、测试内容:运行数据:运行结果及分析:四、设计中遇到的问题及解决办法第六天 为CPU扩充堆栈类指令一、设计目标 二、硬件设计1、SP模块设计(加上适当注释)2、顶层模块设计(自己增加修改的设计部分)三、PUSH、POP、CALL、RET指令微程序的设计微地址(H)微指令(H)微命令BMNA注释四、测试程序、数据及运行结果1、测试内容:运行数据:运行结果及分析:四、设计中遇到的问题及解决办法第七天 为CPU扩充中断系统一、设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025国家基础地理中心招聘工作人员(北京)考前自测高频考点模拟试题及完整答案详解1套
- 2025建融金服(河南)科技服务有限公司甘肃分公司招聘30人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025贵州黔东南州台江县民族中医院第二次长期招聘备案制专业技术人员1人模拟试卷及答案详解(历年真题)
- 2025内蒙古能源集团所属单位招聘30人模拟试卷完整答案详解
- 档案证考试题库及答案
- 动物生物考试题库及答案
- 师范认定考试题库及答案
- 安全教育培训云平台课件
- 电焊工考试题及答案题库
- 2025年新疆汽车销售奖励合同范本
- 沈阳停车收费管理办法
- 2025版小学语文新课程标准
- 2025年 无锡市工会社会工作者招聘考试笔试试题附答案
- 小学保护洱海教学课件
- 地铁车站装修安全文明施工专项方案及措施
- 金属冶炼安全培训课件
- 3D打印车间粉尘防爆管理体系
- 剪映入门培训课件
- 新能源汽车充电桩工程物资供应措施
- 基于大数据的国际广播媒体发展模式比较分析-洞察阐释
- DB32-T 5108-2025 科技服务机构星级评定规范
评论
0/150
提交评论