COP2000实现原码一位除法

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

沈阳航空航天大学

课程设计报告

课程设计名称:计算机组成原理课程设计

课程设计题目:COP2000实现原码一位除法

院(系):计算机学院

专业:计算机科学与技术

班级:24010103

学号:2012040101012

姓名:程院

指导教师:杨华

日15月01年2015完成日期:

沈阳航空航天大学课程设计报告

目录

第1章总体设计方案 (2)

1.1设计原理 (2)

1.2设计思路 (2)

1.3设计环境 (2)

第2章详细设计方案 (4)

2.1总体方案的设计与实现 (4)

2.1.1总体方案的逻辑图 (4)

2.1.2算法流程图 (5)

2.2功能模块的设计与实现 (6)

2.2.1 模块的设计与实现 (6)

第3章验证测试 (9)

3.1验证测试 (9)

参考文献 (10)

附录(源代码)…………………………………………………………………………111--

沈阳航空航天大学课程设计报告错误!未指定书签。第1章

总体设计方案

第1章总体设计方案

1.1设计原理

原码一位除,即两个原码数相除,商的符号为除数和被除数的符号异或值。采用汇编语言实现定点原码一位除法器,算法为恢复余数法。利用恢复余数的方法来进行运算。

1.2设计思路

算法为恢复余数法,先用被除数减去除数,如果结果为正数商1,然后左移,如果是负数商0然后加上Y的补,继续运算。

实验开始时将实验数据从实验箱的开关输入到R0,R1,R2三个寄存器中,R0为被除数,R1为除数,R2为商。运算过程采用恢复余数法。主要判断被除数减去除数的商值。如果为负,商0然后加除数然后左移。如果商值为正商1,左移。数据都存放在寄存器中,最后结果在OUT寄存器中显示。

1.3设计环境

COP2000 模型机包括了一个标准CPU 所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。其中运算器和中断控制电路以及跳转控制电路用CPLD 来实现,其它电路都是用离散的数字电路组成。微程序控制部分也可以用组合逻辑控制来代替。

模型机的指令码为8 位,根据指令类型的不同,可以有0 到2 个操作数。指令码的最低两位用来选择R0-R3 寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实2--沈阳航空航天大学课程设计报告错误!未指定书签。第1章总体设计方案

现模型机的各种功能。

ADD A, R?------------将寄存器R?的值加入累加器A中

ADD A,#II---------- 立即数#II加入累加器A中

SUB A,#II-----------从累加器中减去立即数后加入累加器A中

AND A,#II-----------累加器A“与”立即数II

(2)数据传送指令

MOV A,R?------------将寄存器R?的值送到累加器A中

MOV R?,#II------------将立即数II存放到寄存器R?中

MOV R?,A------------将累加器A中的值送到寄存器A中

(3)移位指令

RR A----------------累加器A右移

RL A----------------累加器A左移

(4)跳转指令

JZ MM---------------若零标志位置1,跳转到MM地址

JMP MM---------------跳转到MM

(5)位运算

AND A,R?------------累加器A“与”寄存器R?的值

(6)输入输出

OUT--------------------将累加器A中数据输出到输出端口

3--

沈阳航空航天大学课程设计报告错误!未指定书签。第2章详细设计方案

第2章详细设计方案

2.1 总体方案的设计与实现

定点原码一位除,算法为恢复余数法,当余数为负时,需加上除数,将其恢复城原来的余数。商值的确定是通过比较被除数和除数的绝对值的大小,即x”-y”实现的,而计算机内只设加法器,所以需要将x”-y”操作变为|x|补+|y|补得操作。

总体方案的逻辑图 2.1.1

除数R1 被除数R0

左移位加法器移位7次8 移位和加控制加法器商R2

输出结果OUT

2.1图

,R1R0是被除数8R1、、R2均是位的寄存器。R02.1.1如上逻辑框图中所示,OUT 为商。其结果在中输出。,R2是除数4--

沈阳航空航天大学课程设计报告错误!未指定书签。第2章详细设计方案

2.1.2算法流程图

处N1

左移一位R左移一被除R1R计数R计数0N R1减除被除R N被除R Y

2.2 图算法流程图5--

沈阳航空航天大学课程设计报告错误!未指定书签。第2章详细设计方案

算法流程图如图2.3所示。除法开始前,R2寄存器被清0,准备接收商,被除数的原码放在R0寄存器中,除数的原码放在R1寄存器中,计数器R3中存放需要移位的次数。除法开始后,首先判断除数是否为0,若除数为0则进行处理,若不为0,则用被除数减去除数,若运算结果大于0,商上1。若结果小于0,商上0。然后被除数左移一位,计数器减1。当计数器R3内容为0时,结束运算。

2.2 功能模块的设计与实现

2.2.1 模块的设计与实现

2.2.1.1 功能描述

主要模块包括:循环控制模块、加减运算模块、商符运算模块。

循环控制模块:通过计数器内容控制运算过程。若计算器大于0,继续进行运算;若计算器为0,结束运算。主要应用恢复余数过程。

开始被除数减去除0

数大于的-Y加上补,左移直接左移

输出商值循环模块流程图2.3 图

相关文档
最新文档