基于恢复余数法定点原码一位除法器的设计课程设计报告.doc
《基于恢复余数法定点原码一位除法器的设计课程设计报告.doc》由会员分享,可在线阅读,更多相关《基于恢复余数法定点原码一位除法器的设计课程设计报告.doc(25页珍藏版)》请在三一办公上搜索。
1、沈阳航空航天大学课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码一位除法器的设计院(系):计算机学院专 业:计算机科学与技术班 级:学 号:姓 名:姜鹏指导教师:周大海完成日期:2014年01月10日目 录第1章 总体设计方案21.1 设计原理21.2 设计思路41.3 设计环境4第2章 详细设计方案42.1 总体方案的设计与实现62.1.1总体方案的逻辑图62.1.2计算算法总流程图72.2 功能模块的设计与实现82.2.1 操作数预处理模块的设计与实现82.2.2 上商置0模块的设计与实现92.2.3 上商置1模块的设计与实现92.2.4 商符运算模块的设计
2、与实现10第3章 测试结果123.1 程序仿真123.2 仿真测试123.2.1 仿真测试一两个正数除法运算123.2.2 仿真测试二一个正数一个负数除法运算163.2.3 仿真测试三两个负数除法运算18参考文献20附 录(源程序清单)21第1章 总体设计方案1.1 设计原理原码一位除,即两个原码数相除,商的符号位运算为除数和被除数的符号异或值。这里采用的算法为恢复余数法,而且除数和被除数规定为4位。实验的数据从试验箱的开关输入,而且运算的结果在OUT寄存器中显示出来。整个过程通过汇编语言编写实现。恢复余数法定点原码一位除法器工作原理大致如下:设: X=X7X6X5X4X3X2X1X0Y=Y7
3、Y6Y5Y4Y3Y2Y1Y0其中高四位X7X6X5X4和Y7Y6Y5Y4为符号位,低四位X3X2X1X0和Y3Y2Y1Y0为数据位。则: X/Y=K*|X|/|Y|其中,|X|和|Y|为X和Y的绝对值,K为X和Y的符号位的异或值。|X|/|Y|利用恢复余数法求的,商根据余数的符号是正或负来判断。当为负时,上商为0,同时还应该把除数再加到差上去,恢复余数为原来的正值之后再左移一位。若差为0或为正值时,就没有恢复余数的操作,上商为1,余数左移一位。下面通过一道例题详细理解恢复余数法定点原码一位除法器的工作原理。详细过程如表1.1所示。例:已知 :X= -0.1011Y= -0.1101 求:X/Y
4、原 解:由X= 0.1011, Y= -0.1101得 X原=1.1011,X*=0.1011 Y原=1.1101,Y*=0.1101,-Y*补=1.0011 下面表1.1列出了商值得整个求解过程。被除数(余数)商说 明 0.1011+ 1.00110.0000+-|y|补(减去除数) 1.1110+0.11010.0000余数为负,上商0恢复余数+|y|补 0.1011 1.0110+ 1.10110.00000.0000被恢复的被除数 1位+-|y|补(减去除数) 0.1001 1.0010+ 1.00110.00010.0010余数为正,上商1 1位+-|y|补(减去除数) 0.0101
5、 0.1010+ 1.00110.00110.0110余数为正,上商1 1位+-|y|补(减去除数) 1.1101+0.11010.0110余数为负,上商0恢复余数+|y| 0.0101 1.0100+ 1.00110. 01100. 1100被恢复的被除数 1位+-|y|补(减去除数)0.01110. 1101余数为正,上商1表1.1恢复余数定点原码一位除法器功能表故:商值为0.1101商的符号位为:X0Y0=11=0所以 X/Y原 =0.1101由此例可见,共左移4次,上商5次,第一次上的商在商的整数位上,这对小数除法而言可用它作溢出判断。即当该位为“1”时,表示此除法溢出,不能进行,应由
6、程序进行处理;当为“0”时,说明除法合法,可以进行。 1.2 设计思路基于恢复余数法的定点原码一位除法器的设计主要包含如下4个部分:求X* 和Y*:即去掉除数和被除数的符号位,运算过程中把除数和被除数都按照正数进行运算。只需要将除数和被除数都和“0FH(00001111)”进行“与”运算即可;上商1,减去余数:用被除数减去除数,如果运算结果大于0(符号位为0),则上商1,将运算结果左移一位,同时商值也左移一位,下步操作为减掉除数;上商0,恢复余数:用被除数减去除数,如果运算结果小于0(符号位为1),则上商0,马上加上除数也就是恢复余数至上一步状态,再将运算结果和商值分别左移1位;商值的符号位运
7、算:在最原始状态下输入得到的被除数和除数分别保存在两个内存中,在上述三步运算过程完全结束后,再从内存中读出最原始的除数和被除数进行符号位异或运算,运算结果在与商值进行相应运算即可得到最终运算结果。1.3 设计环境伟福COP2000实验箱,用汇编语言编程实现定点原码一位除法器COP2000 计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成。实验平台上有寄存器组R0-R3、运算单元、累加器A、暂存器W、直通/左移/右移单元、 地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展座、总线插孔区、微动开关/指示灯、逻
8、辑笔、脉冲源、20 个按键、字符式LCD、RS232 口。COP2000集成调试软件(即仿真测试软件)共分为6部分:(1) 主菜单区 实现实验仪的各项功能的菜单,包括文件编辑汇编运行帮助五大项,各项线面做详细介绍 。(2) 快捷图标区 快速实现各项功能按键(3) 源程序/机器码区 在此区域有源程序窗口,反汇编窗口,EM程序代码窗口。源程序用于输入,显示,编辑汇编源程序:反汇编窗口显示程序编译后的机器码及反汇编的程序;EM程序代码窗口用数据方式机器码。(4) 机构图/逻辑波形区 结构图能结构化显示模型机的各部件,以及运行时数据走向寄存器值;逻辑波形图能显示模型机运行时所有信号的程序。(5) 微程
9、序/跟踪区 微程序表格用来显示程序运行时微程序的时序,及每个时钟脉冲各控制位的状态,跟踪表用来记录显示程序及微程序执行的轨迹,指令系统可以帮助你设计新的指令系统。(6) 寄存器状态区 用来显示程序执行时各内部寄存器的值。 图1.1 COP2000计算机组成原理试验系统模拟软件界面示意图 第2章 详细设计方案2.1 总体方案的设计与实现定点原码一位除,算法为恢复余数法,当余数为负时,需加上除数,将其恢复城原来的余数。商值的确定是通过比较被除数和除数绝对值的大小,即”X”-”Y”实现的,而计算机内只设加法器,所以需要将”X”-”Y”操作变为|X|补+|Y|补得操作。2.1.1总体方案的逻辑图 R0
10、 被除数BUBUFENJI8位加法器R2 商R1除数移位和加控制右移OUT 输出结果移位4次左移加法器图2.1 定点原码一位除法器整体设计框图如上逻辑框图2.1中所示,R0、R1、R2均是8位的寄存器。R1中保存的是被除数。R2中保存的是除数。R3中保存的为商,另外R4寄存器可以作为计时器用来控制左移的次数。左移运算就是除法运算过程中逐位运算的过程,右移运算主要是在符号位运算过程中获取除数和被除数符号位所用,最终结果在OUT中输出。2.1.2计算算法总流程图开始初始化被除数R0,除数R1,商R2,计数器R3被除数R0减 除数R1被除数R00除数R1为0NY处理加上|y|补商R2左移一位加0,加
11、上-y的补。商R2左移一位加1被除数R0左移一位计数器R3减1被除数R0左移一位计数器R3减1计数器R3为0计数器R3为0YN被除数R0加除数R1YN被除数R0减除数R1被除数R00Y余数R00Y恢复除数R2商符判断结束NN被除数R00NYYN图2.2 定点原码一位除法器计算算法过程流程图算法流程图如图2.2所示。除法开始前,R2寄存器被清0,准备接收商,被除数的原码放在R0寄存器中,除数的原码放在R1寄存器中,计数器R3中存放需要移位的次数。除法开始后,首先判断除数是否为0,若除数为0则进行处理,若不为0,则用被除数减去除数,若运算结果大于0,商上1。若结果小于0,商上0。然后被除数左移一位
12、,计数器减1。当计数器R3内容为0时,运算结束。2.2 功能模块的设计与实现主要模块包括:操作数预处理模块、上商置0模块、上商置1模块、商符运算模块四大模块。2.2.1 操作数预处理模块的设计与实现2.2.1.1 功能描述操作数预处理模块的主要功能是对操作数的初始化及预处理。具体包括下面两个方面的处理:1、将输入的除数和被除数保存在某个内存中备份,备份的原始数据以便将来进行符号位的运算。2、求输入的除数和被除数的数据位,也就是将除数和被除数全部转化为正数进行后面的计算,具体做法就是将除数和被除数分别与“00001111(0FH)”进行“与”运算,保证运算过程中的初始数据均为正数。2.2.1.2
13、 流程图开始初始化:R0被除数R1 除数R2 商值R3 计数器R0和R1数据分别保存在内存9F和9E中备份AND R0,0FH被除数与0FH“与”AND R1,0FH除数与0FH“与”结束图2.3 操作数预处理模块流程图2.2.2 上商置0模块的设计与实现2.2.2.1 功能描述上商置0模块中要进行恢复余数,原码一位除法器恢复余数法进行计算,区别于加减交替算法。当余数为负时,将商的最后一位添0,这时,需要进行恢复,余数加上Y*补,再将得到的余数和商同时左移一位,然后余数再加上Y*补存到R2上,再判断余数的正负,如果余数为负时,循环进行上商置0的操作,否则,进行上商置1的操作。2.2.2.2 流
14、程图开始余数为负,商置0恢复余数 +Y*补左移一位减去余数 +-Y*补结束图2.4 上商置0模块流程图2.2.3 上商置1模块的设计与实现2.2.3.1 功能描述 上商置1的算法比较简单,不存在不同的算法,原码一位除法都是相同的计算。当余数为正时上商置1,这时,再将得到的余数和商同时向左移一位,然后余数加上Y*补存到R2上,在判断余数的正负。如果余数为正时,循环进行上商置1的操作,否则,进行上商置0的操作。2.2.3.2 流程图开始余数为正,商置1结束左移一位减去除数 +-Y*补图2.5 上商置1模块流程图2.2.4 商符运算模块的设计与实现2.2.4.1 功能描述商的符号计算原码一位除法和原
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 恢复 余数 法定 点原码 一位 法器 设计 课程设计 报告
链接地址:https://www.31ppt.com/p-3028288.html