乘法器计组课设.docVIP

  • 23
  • 0
  • 约4.21千字
  • 约 16页
  • 2018-01-10 发布于四川
  • 举报
计算机组成原理课程设计报告 班级:计算机/物联网 1504 班 姓名: 杨杰铭 学号: 完成时间: 2018.1.1 一、课程设计目的 1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系; 2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念; 3.培养综合实践及独立分析、解决问题的能力。 二、课程设计的任务 针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。 三、 课程设计使用的设备(环境) 1.硬件 COP2000实验仪 PC机 2.软件 COP2000仿真软件 四、课程设计的具体内容(步骤) 1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现 该模型机指令系统的特点: 该模型机指令系统的操作码由8位机器码组成,前6位机器码用于区分操作类型,后2位机器码是在操作中涉及通用寄存器时提供通用寄存器的寻址。 进位跳转指令JC要求倒数第3、4位为00 零跳转指令JZ要求倒数第3、4位为01 无条件跳转指令JMP要求倒数第3、4位为11 该模型机微指令系统的特点(包括其微指令格式的说明等): 该模型机的微指令寄存器地址为00H-0FFH,共256*30位,每条微指令的控制字段部分有30位,控制方式采用的是直接控制而非编码控制,即一位对应一个逻辑开关的状态。 可惜的是,此微指令无跳转方式和下指字段,因而仅通过微指令无法在微指令寄存器中跳转,即在一条机器指令所对应的微程序中,只有顺序执行操作。 原系统中每条机器指令最多四个周期(当然不是必须的,可以通过机器指令的机器码的设置使一个机器指令包含更多微指令),即此模型机中每个微程序最多四条微指令,多余的空位则浮空处理。 2. 计算机中实现乘法和除法的原理 (1)无符号乘法 ①算法流程图: 乘法采用移位相加的操作来完成,由于位数限制,无溢出可能 因为积德长度限定在8位以内,由于需要储存中间结果及初始被乘数的指,乘数还需要在过程中进行移位,即两个寄存器无法完成此工作。 由上可知,完成乘法操作需要存取操作数,移位操作,测试标志位跳转,加法操作,同时为了调用加法程序,还需要子程序调用及返回操作。 ②硬件原理框图: 寄存器A与R0,R3,EM通信 寄存器W与R2,EM通信 通用寄存器组R0,R1,R2与EM皆可通信 (2)无符号除法 ①算法流程图: 使用余数恢复法。先用减测试进行测试若够减,则进行减法操作,不够减直接进行移位操作。 ②硬件原理框图: 3.对应于以上算法如何分配使用COP2000实验仪中的硬件 (初步分配,设计完成后再将准确的使用情况填写在此处) ST:减测试SUBT/位测试TEST时需使用 A/W:运算时使用 L/D/R:ROR/ROL时使用 乘法 R0:乘数 R1:被乘数 R2:中间结果/乘积 除法 R0:除数 R1:被除数/余数 R2:商 R3:除法次数 4.在COP2000集成开发环境下设计全新的指令/微指令系统 设计结果如表所示(可按需要增删表项) 新的指令集 (如果针对乘除法设计了两个不同指令集要分别列表) 助记符 机器码1 机器码2 指令说明 ROR 对A寄存器的右移操作,不改变标志位 ROL 对A寄存器的左移操作,不改变标志位 SUBT A,#II 减测试,将A减去#II改变标志位,但不改变A值 TEST A,#II 位测试,用A与II相与,但不改变A值 MOV R?,#II 将立即数II送入R? MOV A,#II 将立即数II送入A? MOV A,R? 将寄存器R?的值取到A中 MOV R?,A 将寄存器A的值放到R?中 ADD A,R? A与R?相加,结果存入A中 SUB A,R? A与R?相减,结果存入A中 JMP MM 跳转到MM标注的位置 JZ MM 根据零标志跳转到MM位置 JC MM 根据进位标志跳转到MM位置 PUSH A 将A压栈 POP A 将A弹栈 LOOP MM 当寄存器R3的值不为0时,跳转至MM 新的微指令集 其中减测试与位测试均占用5个节拍 5.用设计完成的新指令集编写实现无符号二进制乘法、除法功能的汇编语言程序 (1)乘法 4位乘

文档评论(0)

1亿VIP精品文档

相关文档