计算机组成原理课程设计报告-乘法器

计算机组成原理课程设计报告-乘法器

ID:12079366

大小:6.10 MB

页数:16页

时间:2018-07-15

计算机组成原理课程设计报告-乘法器_第1页
计算机组成原理课程设计报告-乘法器_第2页
计算机组成原理课程设计报告-乘法器_第3页
计算机组成原理课程设计报告-乘法器_第4页
计算机组成原理课程设计报告-乘法器_第5页
资源描述:

《计算机组成原理课程设计报告-乘法器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机组成原理课程设计报告班级:计算机/物联网1504班姓名:杨杰铭学号:20154530完成时间:2018.1.1一、课程设计目的1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3.培养综合实践及独立分析、解决问题的能力。二、课程设计的任务针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设

2、计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。三、课程设计使用的设备(环境)1.硬件lCOP2000实验仪lPC机2.软件lCOP2000仿真软件四、课程设计的具体内容(步骤)1.详细了解并掌握COP2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点:该模型机指令系统的操作码由8位机器码组成,前6位机器码用于区分操作类型,后2位机器码是在操作中涉及通用寄存器时提供通用寄存器的寻址。进位跳转指令JC要求倒数第3、4位为00零跳转指令JZ要求倒数第3、4位为01无条件跳转指令JMP要求倒数第3、4位为11

3、该模型机微指令系统的特点(包括其微指令格式的说明等):该模型机的微指令寄存器地址为00H-0FFH,共256*30位,每条微指令的控制字段部分有30位,控制方式采用的是直接控制而非编码控制,即一位对应一个逻辑开关的状态。可惜的是,此微指令无跳转方式和下指字段,因而仅通过微指令无法在微指令寄存器中跳转,即在一条机器指令所对应的微程序中,只有顺序执行操作。原系统中每条机器指令最多四个周期(当然不是必须的,可以通过机器指令的机器码的设置使一个机器指令包含更多微指令),即此模型机中每个微程序最多四条微指令,多余的空位则浮空处理。2.计算机中实现乘法和除法的原理(1)

4、无符号乘法①算法流程图:乘法采用移位相加的操作来完成,由于位数限制,无溢出可能因为积德长度限定在8位以内,由于需要储存中间结果及初始被乘数的指,乘数还需要在过程中进行移位,即两个寄存器无法完成此工作。由上可知,完成乘法操作需要存取操作数,移位操作,测试标志位跳转,加法操作,同时为了调用加法程序,还需要子程序调用及返回操作。②硬件原理框图:寄存器A与R0,R3,EM通信寄存器W与R2,EM通信通用寄存器组R0,R1,R2与EM皆可通信(2)无符号除法①算法流程图:使用余数恢复法。先用减测试进行测试若够减,则进行减法操作,不够减直接进行移位操作。②硬件原理框图:

5、3.对应于以上算法如何分配使用COP2000实验仪中的硬件(初步分配,设计完成后再将准确的使用情况填写在此处)ST:减测试/位测试时需使用A/W:运算时使用L/D/R:ROR/ROL时使用乘法R0:乘数R1:被乘数R2:中间结果/乘积除法R0:除数R1:被除数/余数R2:商R3:除法次数4.在COP2000集成开发环境下设计全新的指令/微指令系统设计结果如表所示(可按需要增删表项)(1)新的指令集(如果针对乘除法设计了两个不同指令集要分别列表)助记符机器码1机器码2指令说明ROR对A寄存器的右移操作,不改变标志位ROL对A寄存器的左移

6、操作,不改变标志位SUBTA,#II减测试,将A减去#II改变标志位,但不改变A值TESTA,#II位测试,用A与II相与,但不改变A值MOVR?,#II将立即数II送入R?MOVA,#II将立即数II送入A?MOVA,R?将寄存器R?的值取到A中MOVR?,A将寄存器A的值放到R?中ADDA,R?A与R?相加,结果存入A中SUBA,R?A与R?相减,结果存入A中JMPMM跳转到MM标注的位置JZMM根据零标志跳转到MM位置JCMM根据进位标志跳转到MM位置PUSHA将A压栈POPA将A弹栈LOOPMM当寄存器R3的值不为0时,跳转至MM(1)新的微指令集其

7、中减测试与位测试均占用5个节拍5.用设计完成的新指令集编写实现无符号二进制乘法、除法功能的汇编语言程序(1)乘法4位乘法的算法流程图与汇编语言程序清单:将乘数放在R0,被乘数放在R1中MOVR0,#04H;乘数MOVR1,#0AH;被乘数MUL:MOVR2,A;将中间结果暂存入R2保护MOVA,R1;得到被乘数TESTA,#0FH;被乘数为0?JZEND;为0结束TESTA,#01H;被乘数末位为0?ROR;右移,不产生标志MOVR1,A;将被乘数保存MOVA,R2;得到乘数JZMUL1;此处为TESTA,#01H的判断结果ADDA,R0;末位不为0,则加上

8、乘数MUL1:ROL;中间结果左移JMPMUL;循环

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。