COP2000实现原码一位除法_第1页
COP2000实现原码一位除法_第2页
COP2000实现原码一位除法_第3页
COP2000实现原码一位除法_第4页
COP2000实现原码一位除法_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈阳航空航天大学课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:COP2000实现原码一位除法院(系):计算机学院专 业:计算机科学与技术班 级:24010103学 号:2012040101012姓 名:程院指导教师:杨华完成日期:2015年01月15日沈阳航空航天大学课程设计报告 目 录第1章 总体设计方案21.1设计原理21.2设计思路21.3设计环境2第2章 详细设计方案42.1 总体方案的设计与实现42.1.1总体方案的逻辑图42.1.2算法流程图52.2 功能模块的设计与实现62.2.1 模块的设计与实现6第3章 验证测试93.1 验证测试9参考文献10附录(

2、源代码)11-13-沈阳航空航天大学课程设计报告 第1章 总体设计方案第1章 总体设计方案1.1设计原理原码一位除,即两个原码数相除,商的符号为除数和被除数的符号异或值。采用汇编语言实现定点原码一位除法器,算法为恢复余数法。利用恢复余数的方法来进行运算。1.2设计思路算法为恢复余数法,先用被除数减去除数,如果结果为正数商1,然后左移,如果是负数商0然后加上Y的补,继续运算。实验开始时将实验数据从实验箱的开关输入到R0,R1,R2三个寄存器中,R0为被除数,R1为除数,R2为商。运算过程采用恢复余数法。主要判断被除数减去除数的商值。如果为负,商0然后加除数然后左移。如果商值为正商1,左移。数据都

3、存放在寄存器中,最后结果在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 位,根据指令类

4、型的不同,可以有0 到2 个操作数。指令码的最低两位用来选择R0-R3 寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。ADD A, R?-将寄存器R?的值加入累加器A中ADD A,#II- 立即数#II加入累加器A中SUB A,#II-从累加器中减去立即数后加入累加器A中AND A,#II-累加器A“与”立即数II(2)数据传送指令MOV A,R?-将寄存器R?的值送到累加

5、器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中数据输出到输出端口沈阳航空航天大学课程设计报告 第2章 详细设计方案第2章 详细设计方案2.1 总体方案的设计与实现定点原码一位除,算法为恢复余数法,当余数为负时,需加上除数,将其恢复城原来的余数。商值的确定是通过比较被除数和除数的绝对值的大小,即x”-y”实现的

6、,而计算机内只设加法器,所以需要将x”-y”操作变为|x|补+|y|补得操作。2.1.1总体方案的逻辑图 R0 被除数BUBUFENJI8位加法器R2 商R1除数移位和加控制OUT 输出结果移位7次左移加法器 图2.1如上逻辑框图2.1.1中所示,R0、R1、R2均是8位的寄存器。R0是被除数,R1是除数,R2为商。其结果在OUT中输出。2.1.2算法流程图开始初始化被除数R0,除数R1,商R2,计数器R3被除数R0减 除数R1被除数R0小于0除数R1为0NY处理加上|y|补商R2左移一位加0,加上-y的补。商R2左移一位加1被除数R0左移一位计数器R3减1被除数R0左移一位计数器R3减1计数

7、器R3为0计数器R3为0YN被除数R0加除数R1YN被除数R0减除数R1被除数R0小于0Y余数R0为负Y恢复除数R2,余数R0加除数R2结束NN被除数R0小于0NYYN图2.2 算法流程图算法流程图如图2.3所示。除法开始前,R2寄存器被清0,准备接收商,被除数的原码放在R0寄存器中,除数的原码放在R1寄存器中,计数器R3中存放需要移位的次数。除法开始后,首先判断除数是否为0,若除数为0则进行处理,若不为0,则用被除数减去除数,若运算结果大于0,商上1。若结果小于0,商上0。然后被除数左移一位,计数器减1。当计数器R3内容为0时,结束运算。2.2 功能模块的设计与实现2.2.1 模块的设计与实

8、现2.2.1.1 功能描述主要模块包括:循环控制模块、加减运算模块、商符运算模块。循环控制模块:通过计数器内容控制运算过程。若计算器大于0,继续进行运算;若计算器为0,结束运算。主要应用恢复余数过程。 开始被除数减去除数大于0直接左移加上-Y的补,左移 输出商值 图2.3 循环模块流程图加减运算模块:实现加减运算功能,当余数为正时,商加1 ,当余数为负时,商加0。 结束 开始输入数据到寄存器R1,R2,用R1减去R2得到差值 图2.4加减模块流程图商符运算模块:通过异或运算求出商的符号。 开始结 束商左移7次寄存器上的数得到商结果OUT寄存器输出结果 图2.5商结果显示流程图本设计可以进行定点

9、原码一位除法运算。通过以上几个关键模块实现。主要方法是恢复余数法,在运算过程中主要是判断被除数和除数之间的差来决定运算过程的。移位模块流程2.2.1.2 数据输入流程图结束输入被除数R0输入除数R1开始 图2.6数据输入流程图 沈阳航空工业学院课程设计报告 参考文献 第3章 验证测试3.1 验证测试输入被除数:A3H输入除数 :07H 图2.7验证参考文献1 李景华. 可编程程逻辑器件与EDA技术M.北京:东北大学出版社,20012 COP2000 实验指导书3 唐朔飞.计算机组成原理(第二版)M.北京:高等教育出版社,20084 王冠.Verilog HDL与数字电路设计M.北京:机械工业出

10、版社,20055 江国强.EAD技术习题与实验M.北京:电子工业出版社,20056 杜建国.Verilog HDL硬件描述语言M.北京:国防工业出版社,2004附 录(源代码)MOV R0,#82H MOV R1,#04H MOV R2,#00H MOV R3,#07H ; 数据执行次数 MOV A,R0 MOV 9FH,A MOV A,R1 MOV 9EH,A MOV A,R0 ; 数据存入 AND A,#7FH ; 去掉符号 MOV R0,A MOV A,R1 AND A,#7FH MOV R1,A MOV A,R1 SUB A,#00H ; 断定除数是否为零 JZ OVERFLOW MO

11、V A,R0 SUB A,R1 MOV R0,ALOOP: JZ NEXT AND A,#80H SUB A,#00H JZ S1 SUB A,#80H JZ S2S1: ;为正上“1” MOV A,R0 RL A SUB A,R1 MOV R0,A MOV A,R2 RL A ADD A,#01H MOV R2,A MOV A,R3 SUB A,#01H JZ NEXT MOV R3,A MOV A,R0 JMP LOOP S2: ;为负上“0” MOV A,R0 ADD A,R1 RL A SUB A,R1 MOV R0,A MOV A,R2 RL A MOV R2,A MOV A,R3

12、SUB A,#01H JZ NEXT MOV R3,A MOV A,R0 JMP LOOPNEXT: ;根据最后的余数断定上0或上1 MOV A,R0 MOV R3,A AND A,#80H SUB A,#00H JZ OUT1 SUB A,#80H JZ OUT2OUT1: ;为正上1 MOV A,R2 RL A ADD A,#01H AND A,#7FH ;7位表示 MOV R2,A JMP F OUT2: ; 为负上0 MOV A,R2 RL A ADD A,#00H AND A,#7FH ;7位表示 MOV R2,A JMP FF: ;断定符号为正负 MOV A,9FH AND A,#

13、80H MOV R0,A MOV A,9EH AND A,#80H SUB A,R0 SUB A,#00H JZ FF2 JMP FF1FF1: ;异号 结果为1 MOV A,R2 OR A,#80H MOV R2,A OUT JMP OVERFF2: ;同号 结果为0 MOV A,R2 OR A,#00H MOV R2,A OUT JMP OVEROVER: JMP OVEROVERFLOW: END课程设计总结:本次课程设计让我收获颇丰,起初拿到课程设计题目,不知道如何去实现设计要求,经过前几天查阅资料,老师帮助,我对这次课程设计要求有了更深的了解,知道了具体应该怎样操作,怎样去实现原码一位除法器,怎样去操作Cop2000实验箱。我想说本次课程设计不但使我们复习了计算机组成原理课程的内容,还让我们复习并应用了算法设计与分析以及汇编语言课程的内容,我们加深了对计算机系统概念的理解。我衷心感谢学校和老师给我们安排了这次课程设计,我们平时在享受信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论