计算机组成原理_原码阵列除法器
- 格式:doc
- 大小:145.40 KB
- 文档页数:12
1. 写出下列各数的原码、反码、补码、移码(用8位二进制表示),其中MSB是最高位(符号位),LSB是最低位。
如果是小数,则小数点在MSB之后;如果是整数,则小数点在LSB之后。
(1)-59/64 (2)27/128 (3)-127/128 (4)用小数表示-1(5)用整数表示-1 (6)-127 (7)35 (8)-1282. 设[x]补=x0.x1x2x3x4,其中x i取0或1,若要使x>-0.5,则x0、x1、x2、x3、x4的取值应满足什么条件?3. 若32位定点小数的最高位为符号位,用补码表示,则所能表示的最大正数为,最小正数为,最大负数为,最小负数为;若32位定点整数的最高位为符号位,用原码表示,则所能表示的最大正数为,最小正数为,最大负数为,最小负数为。
4. 若机器字长为32位,在浮点数据表示时阶符占1位,阶码值占7位,数符占1位,尾数值占23位,阶码用移码表示,尾数用原码表示,则该浮点数格式所能表示的最大正数为,最小正数为,最大负数为,最小负数为。
5. 某机浮点数字长为18位,格式如图2.35所示,已知阶码(含阶符)用补码表示,尾数(含数符)用原码表示。
(1)将(-1027)10表示成规格化浮点数;(2)浮点数(0EF43)16是否是规格化浮点数?它所表示的真值是多少?图2.35 浮点数的表示格式6. 有一个字长为32位的浮点数,格式如图2.36所示,已知数符占1位;阶码占8位,用移码表示;尾数值占23位,尾数用补码表示。
图2.36 浮点数的表示格式请写出:(1)所能表示的最大正数;(2)所能表示的最小负数;(3)规格化数所能表示的数的围。
7. 若浮点数x的IEEE754标准的32位存储格式为(8FEFC000)16,求其浮点数的十进制数值。
8. 将数(-7.28125)10转换成IEEE754标准的32位浮点数的二进制存储格式。
9. 已知x=-0.x1x2…x n,求证:[x]补=+0.00…01。
沈阳航空工业学院课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:阵列除法器的设计院(系):计算机学院专业:计算机科学与技术班级:7401101学号:*****************指导教师:***完成日期:2010年1月15日沈阳航空工业学院课程设计报告目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (2)1.3设计环境 (3)第2章详细设计方案 (6)2.1顶层方案图的设计与实现 (6)2.1.1创建顶层图形设计文件 (6)2.1.2器件的选择与引脚锁定 (7)2.1.3编译、综合、适配 (8)2.2功能模块的设计与实现 (8)2.3仿真调试 (10)第3章编程下载与硬件测试 (12)3.1编程下载 (12)3.2硬件测试及结果分析 (12)参考文献 (14)附录(电路原理图) (15)第1章总体设计方案1.1 设计原理阵列除法器的功能是利用一个可控加法/减法(CAS)单元所组成的流水阵列来实现的。
它有四个输出端和四个输入端。
当输入线P=0时,CAS作加法运算;当P=1时,CAS作减法运算。
可控加法/减法(CAS)单元的逻辑电路图如图1.1所示。
图1.1可控加法/减法(CAS)单元的逻辑图CAS单元的输入与输出关系可用如下一组逻辑方程来表示:S i=A i ⊕(B i ⊕P) ⨁CC i+1=(A i+C i) ∙(B i ⊕P)+A i C i当P=0时,就得到我们熟悉的一位全加器(FA)的公式:S i=A i ⊕B i ⊕C iC i+1=A i B i+B i C i+A i C i当P=1时,则得求差公式:S i=A i ⨁B i '⨁C iC i+1=A i B i '+B i 'C i+A i C i其中B i '=B i⨁1。
在减法情况下,输入C i称为借位输入,而C i+1称为借位输出。
不恢复余数的除法也称加减交替法。
课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:阵列除法器设计与实现院(系):计算机学院专业:班级:学号:姓名:指导教师:完成日期:2016年1月12日目录第1章总体设计方案 01。
1设计原理 01.2设计思路 (2)1.3设计环境 (2)第2章详细设计方案 (4)2.1功能模块的设计与实现 (4)2。
1。
1细胞模块的设计与实现 (4)2.1.2除法器模块的设计与实现 (6)2.2仿真调试 (8)参考文献 (10)附录(电路原理图).11第1章总体设计方案1.1 设计原理在原码除法中,原码除法符号位是单独处理的,商符由两数符号位进行异或运算求得,商值由两数绝对值相除求得.原码除法中由于对余数的处理不同,又可分为恢复余数法和不恢复余数法(加减交替法)。
在机器操作中通常采用加减交替法,因为加减交替法机器除法时间短,操作规则。
加减交替法的运算规则如下:(1)当余数为正时,上商1,余数左移一位后减去除数得下一位余数.(2)当余数为负时,上商0,余数左移一位后加上除数得下一位余数.阵列除法器是一种并行运算部件,采用大规模集成电路制造,与早期的串行除法器相比,阵列除法器不仅所需的控制线路少,而且能提供令人满意的高速运算速度。
阵列除法器有多种形式,如不恢复余数阵列除法器、补码阵列除法器等等。
本实验设计的是加减交替阵列除法器。
本实验利用的细胞单元是一个可控加法/减法CAS单元,利用它组成的流水阵列来实现四位小数的除法.CAS单元有四个输入端、四个输出端。
其中有一个控制输入端P,当P=0时,CAS作加法运算;当P=1时,CAS作减法运算。
逻辑结构图如图1。
1所示。
图1。
1 可控加法/减法(CAS)单元逻辑结构图CAS单元的输入与输出的关系可用如下逻辑方程来表示:Si=Ai⊕(Bi⊕P)⊕CiCi+1=(Ai+Ci)(Bi⊕P)+AiCi当P=0时,CAS单元就是一个全加器,如下:Si=Ai⊕B⊕iCiCi+1=AiBi+BiCi+AiCi当P=1时,则得求差公式:Si=Ai⊕B⊕iCiCi+1=AiBi+BiCi+AiCi其中有Bi=Bi⊕1在减法中,输入称为借位输入,而称为借位输出。
沈阳航空航天大学课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码一位除法器的设计院(系):计算机学院专业:计算机科学与技术班级:94010101学号:2009040101013姓名:胡桂林指导教师:周大海完成日期:2012年1月13日沈阳航空航天大学课程设计报告目录第1章总体设计方案 (1)1.1设计环境 (1)1.2设计原理 (2)第2章详细设计方案 (4)2.1总流程图 (4)2.2上商置0模块流程图 (6)2.3上商置1模块流程图 (6)2.4商的符号流程图 (7)第3章测试结果 (9)3.1程序仿真 (9)3.2仿真测试一 (9)3.3仿真测试二 (10)附录 (11)参考文献 (14)第1章总体设计方案1.1 设计环境伟福COP2000实验箱,用汇编语言编程实现定点原码一位除法器COP2000 计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成。
实验平台上有寄存器组R0-R3、运算单元、累加器A、暂存器W、直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展座、总线插孔区、微动开关/指示灯、逻辑笔、脉冲源、20 个按键、字符式LCD、RS232 口。
COP2000集成调试软件(即仿真测试软件)共分为6部分:(1)主菜单区实现实验仪的各项功能的菜单,包括[文件][编辑][汇编][运行][帮助]五大项,各项线面做详细介绍。
(2)快捷图标区快速实现各项功能按键(3)源程序/机器码区在此区域有源程序窗口,反汇编窗口,EM程序代码窗口。
源程序用于输入,显示,编辑汇编源程序:反汇编窗口显示程序编译后的机器码及反汇编的程序;EM程序代码窗口用数据方式机器码。
(4)机构图/逻辑波形区结构图能结构化显示模型机的各部件,以及运行时数据走向寄存器值;逻辑波形图能显示模型机运行时所有信号的程序。
第2章作业参考答案1、(1) -35(=23)16 (2)127 (3)-127 (4)-1 [-35]原=10100011 [127]原=01111111 [-127]原=11111111 [-1]原=10000001 [-35]反=11011100 [127]反=01111111 [-127]反=10000000 [-1]反=11111110 [-35]补=11011101 [127]补=01111111 [-127]补=10000001 [-1]补=11111111 2当a 7=0时,x ≥0,满足x>-0.5的条件,即:若a 7=0,a 6~ a 0可取任意值 当a 7=1时,x<0,若要满足x>-0.5的条件,则由补码表示与其真值的关系,可知:7061524334251676022222221)2(1--------=*+*+*+*+*+*+*+-=*+-=∑a a a a a a a a x i i i 要使x>-0.5 ,所以要求a 6=1,并且a 5~a 0不能全部为0所以,要使x>-0.5,则要求a 7=0;或者a 7= a 6=1,并且a 5~a 0至少有一个为1 3、由题目要求可知,该浮点数的格式为:M(23位)不必存储符号位,只需存小数点后面的有效数值位即可。
(1)最大数的二进制表示为:0 11111111 1111……111(23个1) (2)最小数的二进制表示为:1 11111111 0000……000(23个0)(3)非IEEE754标准的补码表示的规格化数是指其最高有效位与符号位相反 故有:最大正数为:0 11111111 1111……111(23个1)=+(1-2-23)⨯2127 最小正数为:0 00000000 1000……000(22个0)=+0.5⨯2-128最大负数为:1 00000000 0111……111(22个1)=-(0.5+2-23)⨯2-128最小负数为:1 11111111 0000……000(23个0)=-1⨯2127所以其表示数的范围是:+0.5⨯2-128~+(1-2-23)⨯2127以及-1⨯2127~-(0.5+2-23)⨯2-1284、IEEE754标准32位浮点的规格化数为X=(-1)S⨯1.M⨯2E-127(1)27/6427/64=27⨯2-6=(11011)2⨯2-6=(1.1011)2⨯2-2所以S=0,E=e+127=125=(01111101)2,M=101132位的规格化浮点数为:00111110 11011000 00000000 00000000,即十六进制的(3ED80000)16 (2)-27/64-27/64=-(1.1011)2⨯2-2所以S=1,E=e+127=125=(01111101)2,M=101132位的规格化浮点数为:10111110 11011000 00000000 00000000,即十六进制的(BED80000)16 5、[x+y]补=[x]补+[y]补(1)x=11011,y=00011[x+y]补=0011011+0000011=0011110;没有溢出,x+y=11110(2)x=11011,y=-10101[x+y]补=0011011+1101011=0000110;0 0 1 1 0 1 1+ 1 1 0 1 0 1 10 00 0 1 1 0没有溢出,x+y=00110(3)x=-10110,y=-00001[x+y]补=1101010+1111111=1101001;没有溢出,x+y=-101116、[x-y]补=[x]补+[-y]补(1)x=11011,y=-11111[-y]补=0011111[x-y]补=0011011+0011111=0111010;0 0 1 1 0 1 1+ 0 0 1 1 1 1 10 1 1 1 0 1 0正溢出,x-y=+111010(2)x=10111,y=11011[-y]补=1100101[x-y]补=0010111+1100101=1111100;0 0 1 0 1 1 1+ 1 1 0 0 1 0 11 1 1 1 1 0 0没有溢出,x-y=-00100(3)x=11011,y=-10011[-y]补=0010011[x-y]补=0011011+0010011=0101110;正溢出,x-y=+101110 7、(1)x=11011,y=-11111用原码阵列乘法器1 1 0 1 1⨯ 1 1 1 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 0 0 0 1 0 1[x⨯y]符号=0⊕1=1所以[x⨯y]原=1 1101000101用直接补码阵列乘法器:[x]补=011011,[y]补=100001(0) 1 1 0 1 1⨯(1) 0 0 0 0 1(0) 1 1 0 1 1(0) 0 0 0 0 0(0) 0 0 0 0 0(0) 0 0 0 0 0(0) 0 0 0 0 00 (1) (1) (0) (1) (1)0 (1) (1) 0 (1) (1) 1 1 0 1 1将乘积中的符号位用负权表示,其他的负权位化为正权,得:[x⨯y]补=1 0010111011 (2) x=-11111,y=-11011用原码阵列乘法器1 1 1 1 1⨯ 1 1 0 1 11 1 1 1 11 1 1 1 10 0 0 0 01 1 1 1 11 1 1 1 11 1 0 1 0 0 0 1 0 1[x⨯y]符号=1⊕1=0所以[x⨯y]原=0 1101000101用直接补码阵列乘法器:[x]补=100001,[y]补=100101(1) 0 0 0 0 1 ⨯(1) 0 0 1 0 1(1) 0 0 0 0 1(0) 0 0 0 0 0(1) 0 0 0 0 1(0) 0 0 0 0 0(0) 0 0 0 0 01 (0) (0) (0) (0) (1)1 0 0 (1) (1) 0 0 0 1 0 1将乘积中的符号位用负权表示,其他的负权位化为正权,得:[x⨯y]=0 1101000101补8、(1) x=11000,y=-11111用原码阵列除法器计算,符号位单独处理,商的符号位=0⊕1=1设a=(|x|⨯2-5),b=(|y|⨯2-5),则a,b均为正的纯小数,且x÷y的数值=(a÷b);余数等于(a÷b)的余数乘以25下面用不恢复余数法的原码阵列除法器计算a÷b[a]补=[|x|⨯2-5]补=0.11000,[b]补=[|y|⨯2-5]补=0.11111,[-b]补=1.00001过程如下:0. 1 1 0 0 0+[-b]补 1. 0 0 0 0 11. 1 1 0 0 1 ——余数为负,商为01. 1 0 0 1 0 ——余数和商左移一位(0)+[b]补0. 1 1 1 1 10. 1 0 0 0 1 ——余数为正,商为11. 0 0 0 1 0 ——余数和商左移一位(01)+[-b]补 1. 0 0 0 0 10. 0 0 0 1 1 ——商为10. 0 0 1 1 0 ——(011)+[-b]补 1. 0 0 0 0 11. 0 0 1 1 1 ——商为00. 0 1 1 1 0 ——(0110)+[b]补0. 1 1 1 1 11. 0 1 1 0 1 ——商为00. 1 1 0 1 0 ——(01100)+[b]补0. 1 1 1 1 11. 1 1 0 0 1 ——商为0——(011000)即:a÷b的商为0.11000;余数为1.11001⨯2-5,因为1.11001为负数,加b处理为正数,1.11001+b=1.11001+0.11111=0.11000,所以a÷b的余数为0.11000⨯2-5所以,(x÷y)的商=-0.11000,原码为:1.11000;余数为0.11000(2) x=-01011,y=11001商的符号位=1⊕0=1设a=|x|⨯2-5,b=|y|⨯2-5,则a,b均为正的纯小数,且x÷y的数值=a÷b;余数等于(a÷b)的余数乘以25下面用不恢复余数法的原码阵列除法器计算a÷b[a]补=[|x|⨯2-5]补=0.01011,[b]补=[|y|⨯2-5]补=0.11001,[-b]补=1.00111过程如下:0. 0 1 0 1 1+[-b]补 1. 0 0 1 1 11. 1 0 0 1 0 ——余数为负,商为01. 0 0 1 0 0 ——余数和商左移一位(0)+[b]补0. 1 1 0 0 11. 1 1 1 0 1 ——余数为负,商为01. 1 1 0 1 0 ——余数和商左移一位(00)+[b]补0. 1 1 0 0 10. 1 0 0 1 1 ——商为11. 0 0 1 1 0 ——(001)+[-b]补 1. 0 0 1 1 10. 0 1 1 0 1 ——商为10. 1 1 0 1 0 ——(0011)+[-b]补 1. 0 0 1 1 10. 0 0 0 0 1 ——商为10. 0 0 0 1 0 ——(00111)+[-b]补 1. 0 0 1 1 11. 0 1 0 0 1 ——商为0——(001110)即:a÷b的商为0.01110;余数为1.01001⨯2-5,因为1.01001为负数,加b处理为正数,1.01001+b=1.01001+0.11001=0.00010,所以a÷b的余数为0.00010⨯2-5所以,(x÷y)的商=-0.01110,原码为:1.01110;余数为0.000109、(1)x=2-011⨯0.100101,y=2-010⨯(-0.011110)E X=-011,E y=-010,所以[E X]补=1101,[E y]补=1110M X=0.100101,M y=-0.011110,所以[M X]补=0.100101,[M y]补=1.100010 [x]浮=1101 0.100101,[y]浮=1110 1.100010E X<E y,E y-E X = E y+(-E X)=1110+0011=0001对阶后[x]浮=1110 0.010010(1),[y]浮=1110 1.100010对阶后的尾数相加:M X+M y=0.010010(1)+1.1000100. 0 1 0 0 1 0 (1)+ 1. 1 0 0 0 1 01. 1 1 0 1 0 0 (1)x+y=1.110100(1)⨯21110,化为规格化数(左移2位)为:x+y=1.010010⨯21100,即:x+y=-0.101110⨯2-4对阶后的位数相减:M X-M y=M X+(-M y)=0.010010(1)+0.0111100. 0 1 0 0 1 0 (1)+ 0. 0 1 1 1 1 00. 1 1 0 0 0 0 (1)x-y=0.110000(1)⨯21110,已经是规格化数,采用0舍1入法进行舍入处理:x-y=0.110001⨯21110,即:x-y=0.110001⨯2-2(2)x=2-101⨯(-0.010110),y=2-100⨯(0.010110) E X =-101,E y =-100,所以 [E X ]补=1011,[E y ]补=1100M X =-0.010110,M y =0.010110,所以[M X ]补=1.101010,[M y ]补=0.010110 [x]浮=1011 1.101010,[y]浮=1100 0.010110 E X <E y ,E y -E X = E y +(-E X )=1100+0101=0001对阶后[x]浮=1100 1.110101(0),[y]浮=1100 0.010110 对阶后的尾数相加:M X +M y =1.110101+0.010110 1. 1 1 0 1 0 1 + 0. 0 1 0 1 1 0 0. 0 0 1 0 1 1x+y=0.001011⨯21100,化为规格化数(左移2位)为:x+y=0.101100⨯21010,即: x+y=0.101100⨯2-6对阶后的位数相减:M X -M y =M X +(-M y )=1.110101+1.101010 1. 1 1 0 1 0 1 + 1. 1 0 1 0 1 0 1. 0 1 1 1 1 1x-y=1.011111⨯21100,已经是规格化数,所以 x-y=-0.100001⨯2-4 10、(1) ⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-⨯⨯⎪⎭⎫ ⎝⎛⨯16921613243M x =110100.021*******4=⨯=-,Ex=0011 M y =100100.0210011694-=⨯-=--,Ey=0100Ex+Ey=0011+0100=0111[x ⨯y]符=0⊕1=1,乘积的数值=|M x |⨯|M y |: 0. 1 1 0 1 ⨯ 0. 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 0 0 0 0 0 1 1 1 0 1 0 1所以,x ⨯y =-0.01110101⨯20111,规格化处理(左移一位),并采用0舍1入法进行舍入:x ⨯y =-0.111011⨯20110 即:⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-⨯⨯⎪⎭⎫ ⎝⎛⨯16921613243=-0.111011⨯26(2) ⎪⎭⎫ ⎝⎛⨯÷⎪⎭⎫ ⎝⎛⨯-161523213232将x 、y 化为规格化数: M x =011010.021********=⨯=-,Ex=1110M y =111100.02111116154=⨯=-,Ey=0011Ex-Ey=Ex+(-Ey)=1110+1101=1011[x ÷y]符=0⊕0=0,下面用加减交替法计算尾数M x ÷M y : [Mx]补=0.011010,[My]补=0.111100,[-My]补=1.0001000. 0 1 1 0 1 0+[-My]补 1. 0 0 0 1 0 01. 0 1 1 1 1 0 ——余数为负,商为00. 1 1 1 1 0 0 ——余数和商左移一位(0)+[My]补 0. 1 1 1 1 0 01. 1 1 1 0 0 0 ——余数为负,商为0 1. 1 1 0 0 0 0 ——余数和商左移一位(00) +[My]补 0. 1 1 1 1 0 00. 1 0 1 1 0 0 ——余数为正,商为11. 0 1 1 0 0 0 ——余数和商左移一位(001) +[-My]补 1. 0 0 0 1 0 00. 0 1 1 1 0 0 ——商为1 0. 1 1 1 0 0 0 ——(0011) +[-My]补 1. 0 0 0 1 0 01. 1 1 1 1 0 0 ——商为0 1. 1 1 1 0 0 0 ——(00110) +[My]补 0. 1 1 1 1 0 00. 1 1 0 1 0 0 ——商为1 1. 1 0 1 0 0 0 ——(001101) +[-My]补 1. 0 0 0 1 0 00. 1 0 1 1 0 0 ——商为1 1. 0 1 1 0 0 0 ——(0011011) +[-My]补 1. 0 0 0 1 0 00. 0 1 1 1 0 0 ——商为1——(00110111) Mx ÷My 的商为0.0110111,余数为0.011100⨯2-7,由于x 化为0.01101(Mx)是尾数右移2位才得到,所以x ÷y 真正的余数是0.011100⨯2-7再尾数左移2位,即0.011100⨯2-9=0.111000⨯2-10 所以,x ÷y 的商为:0.0110111⨯21011,规格化处理后为:0.110111⨯21010=0.110111⨯2-6,余数为0.111000⨯2-10 11、不考虑181ALU的函数发生器,而是从简单的全加器出发,则:若设4位的二进制数为A=A3A2A1A0,B=B3B2B1B0,并设G i=A i B i,P i=A i⊕B i,由全加器进位输出的逻辑函数C i+1=A i B i+C i(A i⊕B i)可知:(由于进位输出函数还可以写成C i+1=A i B i+C i(A i+B i),故P i=A i+B i也可)(1) 串行进位方式:C1=A0B0+C0(A0⊕B0)=G0+P0C0C2=A1B1+C1(A1⊕B1)=G1+P1C1C3=A2B2+C2(A2⊕B2)=G2+P2C2C4=A3B3+C3(A3⊕B3)=G3+P3C3(2) 并行进位方式:C1=G0+P0C0C2=G1+P1C1=G1+P1(G0+P0C0)=G1+P1G0+P1P0C0C3=G2+P2C2=G2+P2(G1+P1G0+P1P0C0)=G2+P2G1+P2P1G0+P2P1P0C0C4=G3+P3C3=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C012、(1) -5-5=-(101)2=-(1.01)2⨯22所以S=1E=e+127=2+127=129=(81)16=(10000001)2M=(010 0000 0000 0000 0000 0000)2故浮点格式为:1 10000001 010 0000 0000 0000 0000 0000,用十六进制表示为:(C0A00000)16(2) -1.5-1.5=-(1.1)2=-(1.1)2⨯20所以S=1E=e+127=0+127= (7F)16=(01111111)2M=(100 0000 0000 0000 0000 0000)2故浮点格式为:1 01111111 100 0000 0000 0000 0000 0000,用十六进制表示为:(BFC00000)16 (3) 384384=(180)16=(1 1000 0000)2=(1.1)2⨯28所以S=0E=e+127=8+127=135= (87)16=(10000111)2M=(100 0000 0000 0000 0000 0000)2故浮点格式为:0 10000111 100 0000 0000 0000 0000 0000,用十六进制表示为:(43C00000)16 (4) 1/161/16= (1.0)2⨯2-4所以S=0E=e+127=-4+127= (7B)16=(01111011)2M=(000 0000 0000 0000 0000 0000)2故浮点格式为:0 01111011 000 0000 0000 0000 0000 0000,用十六进制表示为:(3D800000)16 (5) -1/32-1/32=-(1.0)2⨯2-5所以S=1E=e+127=-5+127= (7A)16=(01111010)2M=(000 0000 0000 0000 0000 0000)2故浮点格式为:1 01111010 000 0000 0000 0000 0000 0000,用十六进制表示为:(BD000000)16 13、(1) 1 10000011 110 0000 0000 0000 0000 0000S=1E=(83)16=131 e=E-127=131-127=41.M=(1.11)2所以,该浮点数为-(1.11)2⨯24=-(11100)2=-28(2) 0 01111110 101 0000 0000 0000 0000 0000S=0E=(7E)16=126 e=E-127=126-127=-11.M=(1.101)2所以,该浮点数为(1.101)2⨯2-1=(0.1101)2=0.812514、IEEE754标准中,32位二进制数仍然有232种不同的组合,但是由于在IEEE754标准中,阶码为全1并且尾数为非0的情况不表示一个数。
河北大学计算机组成原理实验报告学院年级专业学号姓名实验日期实验地点指导老师实验项目不恢复余数阵列除法器成绩一、实验目的:理解除法器的原理。
二、实验原理:这次实验实现原码不恢复余数法的阵列除法器算法(余数左移除数固定),详细计算过程如下。
例题:X=0.10110,y=0.111,求[x/y]原。
则[x]补=0.10110,[y*]补=0.111,[-y*]补=1.001由于除数被除数都为正,因此最后结果为正,直接在最后的结果加上“+”,商为+0.110,但是由于除数在计算的过程中被逻辑左移了3次,所以要乘以2^-5进行恢复,故余数为0.000 010 000。
原码不恢复余数法原理说明:①符号位单独处理,参加运算的是除数和被除数的绝对值的补码,除数的绝对值用y*表示;②合法的除法运算中,被除数必须小于除数,因此第一次上商肯定是r6=0,否则溢出,停止运算;③原码恢复余数法来源于手算的竖式除法。
若余数为正,表示够减,商上1,左移一位,减去[y*]补,也就是加上[-y*]补;若余数为负,表示不够减,商上0,恢复余数(加上除数),变成减去除数之前的结果,继续左移一位,加上[-y*]补。
④原码不恢复余数法建立在原码恢复余数法的基础之上,假设当前的余数为R。
当余数大于0时,下一步余数是先左移一位再减去除数,即下一步余数应该为R’=2R-y*;当余数小于0时先恢复余数,然后再左移一位再减去除数,假设当前余数为R,那么下一步余数应该为R’=2(R+y*)-y*=2R+y*。
以上两个式子将恢复余数法的步骤定量化了,也就是说,要么左移一位加上y*,要么左移一位减去y*,这就是加减交替的含义。
⑤除数和被除数具有3位尾数的合法的除法,需要逻辑移位3次,上商3+1=4次。
可以设置一个计数器count来控制循环次数,达到3次就停止。
⑥若最后一步为负,表示不够减,商上0,需要恢复余数,即加上除数,否则不需要。
接下来介绍原码不恢复余数阵列除法器①可控加法/减法(CAS)单元原理是利用一个可控加法/减法 CAS 单元所组成的流水阵列来实现的它有四个输出端和四个输入端。
第一章1.比较数字计算机和模拟计算机的特点。
解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的;数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行。
两者主要区别见P1 表1.1。
2.数字计算机如何分类?分类的依据是什么?解:分类:数字计算机分为专用计算机和通用计算机。
通用计算机又分为巨型机、大型机、中型机、小型机、微型机和单片机六类。
分类依据:专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。
通用机的分类依据主要是体积、简易性、功率损耗、性能指标、数据存储容量、指令系统规模和机器价格等因素。
4.冯. 诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?解:冯. 诺依曼型计算机的主要设计思想是:存储程序和程序控制。
存储程序:将解题的程序(指令序列)存放到存储器中;程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完成运算任务。
主要组成部分有:控制器、运算器、存储器、输入设备、输出设备。
5.什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?解:存储容量:指存储器可以容纳的二进制信息的数量,通常用单位KB、MB、GB来度量,存储容量越大,表示计算机所能存储的信息量越多,反映了计算机存储空间的大小。
单元地址:单元地址简称地址,在存储器中每个存储单元都有唯一的地址编号,称为单元地址。
数据字:若某计算机字是运算操作的对象即代表要处理的数据,则称数据字。
指令字:若某计算机字代表一条指令或指令的一部分,则称指令字。
6.什么是指令?什么是程序?解:指令:计算机所执行的每一个基本的操作。
程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。
7.指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?解:一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的信息即为数据信息。
8.什么是内存?什么是外存?什么是CPU?什么是适配器?简述其功能。
Xxxxxxxxx课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:阵列除法器的设计院(系):xxxxxxxxx专业:xxxxxxxxx班级:xxxxxxxxx学号:xxxxxxxxxxx姓名:xxxxxxxxxxxxx指导教师:xxxxxxxxxxxx完成日期:xxxxxxxxxxxxxxx沈阳航空工业学院课程设计报告目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (3)1.3设计环境 (4)第2章详细设计方案 (7)2.1顶层方案图的设计与实现 (7)2.1.1创建顶层图形设计文件 (7)2.1.2器件的选择与引脚锁定 (8)2.1.3编译、综合、适配 (9)2.2功能模块的设计与实现 (9)2.3仿真调试 (11)第3章编程下载与硬件测试 (14)3.1编程下载 (14)3.2硬件测试及结果分析 (14)参考文献 (16)附录(电路原理图) (17)第1章总体设计方案1.1 设计原理阵列除法器是一种并行运算部件,采用大规模集成电路制造,与早期的串行除法器相比,阵列除法器不仅所需的控制线路少,而且能提供令人满意的高速运算速度。
阵列除法器有多种形式,如不恢复余数阵列除法器、补码阵列除法器等等本实验设计的是加减交替阵列除法器。
原理是利用一个可控加法/减法CAS单元所组成的流水阵列来实现的它有四个输出端和四个输入端。
当输入线P=0时,CAS作加法运算;当P=1时,CAS作减法运算。
逻辑结构图如图1.1所示。
图1.1不恢复余数阵列除法器的逻辑结构图CAS单元的输入与输出的关系可用如下一组逻辑方程来表示:S i=A i⊕(B i⊕P)⊕CC i+1=(A i+C i)·(B i⊕P)+A i C i当P=0时,就是一个全加器,如下式:S i=A i⊕B i⊕C iC i+1=A i B i+B i C i+A i C i当P=1时,则得求差公式:S i=A i⊕B i⊕C iC i+1=A i B i+B i C i+A i C i其中B i=B i⊕1。
计算机组成原理专周报告
成都电子机械高等专科学校计算机工程系
`
目录
一、项目名称 (1)
二、实验目的 (1)
三、不恢复余数的阵列除法器介绍 (1)
四、逻辑流程图及原理 (3)
算法流程 (3)
粗框图 (4)
CSA逻辑结构图 (4)
原理分析 (5)
五、实例结果及求解过程 (8)
实例结果图 (8)
实例求解过程 (9)
六、心得体会: (10)
计算机组成原理专周报告
一、项目名称
原码阵列除法器
二、实验目的
1)理解原码阵列除法运算的规则。
2)掌握原码阵列除法器设计思想,设计一个原码阵列除法器。
3)熟悉proteus 7 professional软件的使用。
4)复习巩固课堂知识,将所学知识运用于实际,做到学以致用。
三、不恢复余数的阵列除法器介绍
阵列式除法器是一种并行运算部件,采用大规模集成电路制造,与早期的串行除法器相比,阵列除法器不仅所需的控制线路少,而且能提供令人满意的高速运算速度。
阵列除法器有多种多样形式,如不恢复余数阵列除法器,补码阵列除法器等等。
我们所用到的就是不恢复余数的阵列除法器。
设:所有被处理的数都是正的小数(仍以定点小数为例)。
不恢复余数的除法也就是加减交替法。
在不恢复余数的除法阵列中,每一行所执行的操作究竟是加法还是减法, 取决于前一行输出的符号与
被除数的符号是否一致。
当出现不够减时,部分余数相对于被除数来说要改变符号。
这时应该产生一个商位“0”,除数首先沿对角线右移,然后加到下一行的部分余数上。
当部分余数不改变它的符号时, 即产生商位“1”,下一行的操作应该是减法。
图(四)示出了 (4位÷4位)的不恢复余数阵列除法器的逻辑原理图。
由图看出,该阵列除法器是用一个可控加法/减法(CAS)单元所组成的流水阵列来实现的。
推广到一般情况,一个(n+1)位除(n+1)位的加减交替除法阵列由(n+1)2个CAS单元组成,其中两个操作数(被除数与除数)都是正的。
单元之间的互连是用n=3的阵列来表示的。
这里被除数X是一个6位的小数(双倍长度值):X=0.A1A2A3A4A5A6它是由顶部一行和最右边的对角线上的垂直输入线来提供的。
除数Y是一个3位的小数:Y=0.B1B2B3 它沿对角线方向进入这个阵列。
这是因为,在除法中所需要的部分余数的左移,可以用下列等效的操作来代替:即让余数保持固定,而将除数沿对角线右移。
商Q是一个3位的小数:Q=0.Q1Q2Q3 它在阵列的左边产生。
余数r是一个6位的小数:r=0.00r0r1r2r3 它在阵列的最下一行产生。
四、逻辑流程图及原理
算法流程
图(一)原码阵列除法器算法流程图
粗框图
CSA 逻辑结构图
图(二)原码阵列除法器逻辑粗框 余数r= r0 r1 r2 r3 CAS CAS CAS CAS CAS CAS CAS CAS CAS CAS
CAS CAS CAS CAS CAS CAS B0
B1 B2 B3 A0 A1 A2 A3 A4 A5 A6 Q1
Q2 Q3
Q0
Q3Q2Q1Q0 r3r2r1r0 图(三)CSA 逻辑结构图
原理分析
可控加法/减法(CAS)单元,包含一个全加器和一个控制加减的异或门,也就是电路图上的一个74ls86和一个7482的组合,它用于并行除法流水逻辑阵列中,它有四个输出端和四个输入端。
本位输入Ai及Bi,低位来进位(或借位)信号Ci,加减控制命令P;输出本位和(差)Si及进位信号Ci+1,除数Bi要供给各级加减使用,所以又输往下一级。
当输入线P=0时,CAS作加法运算;当P=1时,CAS 作减法运算。
CAS单元的输入与输出的关系可用如下一组逻辑方程来表示:
Si=Ai⊕(Bi⊕P)⊕Ci
Ci+1=(Ai+Ci)•(Bi⊕P)+AiCi (1)
当P=0时,方程式(2.32)就等于式(2.23),即得我们熟悉的一位全加器(FA)的公式:
Si=Ai⊕Bi⊕Ci
Ci+1=AiBi+BiCi+AiCi
当P=1时,则得求差公式:
Si=Ai⊕Bi⊕Ci
Ci+1=AiBi+BiCi+AiCi
其中Bi=Bi⊕1
在减法情况下,输入Ci称为借位输入,而Ci+1称为借位输出。
为说明CAS单元的实际内部电路实现,将方程式(1)加以变换,可得如
下形式:
Si=Ai⊕(Bi⊕P)⊕Ci
=AiBiCiP+AiBiCiP+AiBiCiP+AiBiCiP
+AiBiCiP +AiBiCiP+AiBiCiP+AiBiCiP
Ci+1=(Ai+Ci)(Bi⊕P)+AiCi
=AiBiP+AiBiP+BiCiP+BiCiP+AiCi
在这两个表达式中,每一个都能用一个三级组合逻辑电路(包括反向器)来实现。
因此每一个基本的CAS单元的延迟时间为3T单元。
原码除法先取绝对值相除,A0与B0同号,均为0,第一行应执行0.A1A2A3-0.B1B2B3,所以该行的控制电位P1=1,并将这个1作为第一行末位的初始进位输入。
因为|X|<|Y|,所以相减后符号位的进位输出为0,即商符为0(如果是异号相除,以后再加负号)。
第二行的P2=0,作加法操作,并补充一位被除数A2,以后的各行操作与此相似。
假设第i行够减,在高位将有进位输出,相应的Qi=1;这个1又作为下一行的P。
若第i行不够减,则高位无进位输出,相应的Qi=0,下一行做减法。
说明:
1.最上面一行所执行的初始操作通常是减法(P=1),因此最上面一行的控制线P固定置成“1”。
2.减法是+[-y]补的运算来实现。
这时右端各CAS单元上的反馈线用作初始的进位输入。
3.每一行最左边的单元的进位输出决定着商的数值。
将当前的商反馈到下一行,我们就能确定下一行的操作。
(由于最高进位输出信号指示出当前的部分余数的符号,因此,它可决定下一行的操作将进行加法还是减法)
4.在进行运算时,沿着每一行都有进位(或借位)传播,同时所有行在它们的进位链上都是串行连接。
而每个CAS单元的延迟时间为3T单元.因此, 考虑最大情况下的信号延迟,其除法执行时间为:
td=(n+1)2×3T 其中n为尾数位数。
五、实例结果及求解过程实例结果图
此例便是使用原码阵列除法器进行除法运算的例子。
我们看到,当被除数21H和除数05H送到阵列除法器输入端后,经过3(n+1)2T时间延迟,便在除法器输出端得到稳定的商数6和余数E(调整后为5)的信号电平。
实例求解过程
X=21H=00100001,Y=05H=0101,求X/Y=?
A=|X|=00010101,B=|Y|=00101,-B=11011
被除数A 00100001
-B 11011
余数为负11111<0 Q3=0
移位 11110
+B 00101
余数为正 00011>0 Q2=1
移位 00110
-B 11011
余数为正 00001>0 Q1=1
移位00011
-B 11011
余数为负11110<0 Q0=0
图(四)实例结果图
+B 00101
恢复余数00011
故得商=1Q3Q2Q1Q0=00110(第一位是符号位)=6(16进制)余数=00011=3(16进制)
六、心得体会:
在这个专周刚刚开始的时候,为了从四个项目中选出最适合自己的项目,刚开始那两天就在对四个项目进行分析,本来决定做补码乘法器的,但因为中途项目被分配到各个同学手中,所以最终以原码阵列除法器为设计项目,进行分析处理。
虽然在项目分析处理的过程中遇到了各种各样的问题,但是有其他同学的帮助,所有的问题也都迎刃而解了,最终,在同学的帮助下,完成了原码阵列除法器的分析处理。
在这个专周里面不仅仅是深刻了解原码阵列除法器,对补码阵列乘法器、补码乘法器、原码阵列乘法器也有了很深刻的认识;对他们的设计思想、工作原理、算法都熟练掌握了;对四则运算过程的了解也深入了很多;也了解了自己目前的水平,为期末的检测打了一针预防针;总的来说,此次专周,收获颇丰,不仅因为收获了成功,也因为收获了不足。
最后,我对曾经帮助过我的同学表示深深的感谢!我以后一定会继续努力,完善自己。