资源预览内容
第1页 / 共54页
第2页 / 共54页
第3页 / 共54页
第4页 / 共54页
第5页 / 共54页
第6页 / 共54页
第7页 / 共54页
第8页 / 共54页
第9页 / 共54页
第10页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机组成原理计算机组成原理计算机组成原理计算机组成原理计算机组成原理计算机组成原理计算机组成原理计算机组成原理 课程组课程组课程组课程组课程组课程组课程组课程组计算机组成与结构计算机组成与结构计算机组成与结构计算机组成与结构本科生课程教学本科生课程教学本科生课程教学本科生课程教学计算机学院计算机组成与结构计算机组成与结构本课程主要讲授计算机系统的硬件和软件构成方法,包括 硬件系统中运算器、控制器、存储器、输入设备和输出设 备和总线系统的构成原理等;并与当代先进的计算机技术 相结合。是计算机科学与技术本科专业核心课程。 本课程着重计算机系统组成与结构方面的教学和研究。本课程着重计算机系统组成与结构方面的教学和研究。计算机结构定义为系统程序员所能见到的计算机硬件特性; 计算机组成是指计算机硬件的具体实现。计算机学院第三章第三章 运算方法和运算部件运算方法和运算部件 数据的表示方法和转换带符号数的表示方法及加减运算二进制乘法运算二进制乘法运算二进制除法运算二进制除法运算浮点数的运算方法浮点数的运算方法运算部件数据校验码计算机学院3.3 3.3 二进制乘法运算二进制乘法运算一、定点数一位乘法一、定点数一位乘法 1 1 1 1、定点原码一位乘法、定点原码一位乘法用原码实现乘法运算十分方便,在定点运算中,完成两个 原码表示得数相乘时,乘积得符号由两数得符号位按位相 加(异或)得到,而乘积得数值部分则是两个数得绝对值 之积。可以表示为:被除数 X原=Xs.X1X2Xn 乘 数 Y原=Ys.Y1Y2Yn 乘 积 Z原 =(XsYs).(0.X1X2.Xn)(0.Y1Y2.Yn)计算机学院3.3 3.3 二进制乘法运算二进制乘法运算符号法则:符号法则:同号相乘为正(0),异号相乘为负(1),( XsYs=00,01,10,11),所以积得符号可按“异或” 运算得到。数值部分运算法则:数值部分运算法则:与普通十进制小数乘法相似。计算机学院3.3 3.3 二进制乘法运算二进制乘法运算例,X=0.1101,Y=0.1011,求X*Y=?手工方法 机器方法0.1101(X) 0.11010.1011(Y) 0.10111101 P1 0.0000 11011101.P2 0.0001 1010000P3 0.0000 00+ 1101.P4 + 0.0110 110001111P 0.1000 1111计算机学院3.3 3.3 二进制乘法运算二进制乘法运算机器运算与手工运算方法区别在于:(1) 机器一次只能进行两个数相加,所以 P1+P2+P3+P4必须分步进行:P1+P2; (P1+P2)+P3; (P1+P2)+P3+P4。(2) 每做完一次加运算,把部分积右移一位(相当于把被 加数右移,而不是左移),移出得数码不参加运算,故机 器的位数可以固定。 由此可以分析出机器乘法运算得基本规律。计算机学院3.3 3.3 二进制乘法运算二进制乘法运算原码机器乘法规律:原码机器乘法规律:当所乘得乘数为1时,则上次所得的部分积(最初为0)加 被乘数右移一位,而得新的次一部分积;若所乘的乘数为0 时,则上次所得的部分积加0右移一位后就是新的次一部分 积。如此反复,直到乘数各位都乘完为止。计算机学院3.3 3.3 二进制乘法运算二进制乘法运算例,X=0.1101,Y=0.1011,求X*Y=?机器算法如下:0000 初始化值y=1 + 11011101110 1 .P1y=1 + 110110011 11001 11P2y=0 + 00001001 11100 111 .P3y=1 + 110110001 1111000 1111 P4=P计算机学院3.3 3.3 二进制乘法运算二进制乘法运算一般而言,设被乘数X,乘数Y都是小于1的n位定点正数:X=0. X1 X2. XnY=0. Y1Y2. Yn其乘积为:X*Y=X(0. Y1Y2Yn)=X(Y12-1+Y22-2+.+Yn2-n)=2-1(Y1X+2-1(Y2X+2-1(+2-1(Yn-1X+2-1(YnX+0)计算机学院3.3 3.3 二进制乘法运算二进制乘法运算令Pi表示第i次的部分积,则上式可写成如下递推公式:P0=0,P1=2-1(YnX+P0),P2=2-1(Yn-1X+P1),Pi=2-1(Yn-i+1X+Zi-1),Pn=X*Y=2-1(Y1X+Pn-1)此处的P0,P1Pn-1为部分积,Pn为最终的乘积P。计算机学院3.3 3.3 二进制乘法运算二进制乘法运算上述乘法运算的递推算法可用流程图来表示:(P83图3.6)开始Pi=0, i=0Yn=1Pi+0Pi+XPi,Y右移一位,i=i+1i=n?结束YNNY计算机学院3.3 3.3 二进制乘法运算二进制乘法运算实现原码一位乘法的逻辑电路图(P82图3.5)。C C C Cx x x x+1+1+1+1S S S SR R R RT T T Ti i i iQ Q Q QLDRLDRLDRLDR1 1 1 1LDRLDRLDRLDR0 0 0 0部分积部分积Z Z Z Z乘数乘数Y Y Y Y计数器计数器i i i iY/2Y/2Y Y/2/2Z Z乘 法 启乘 法 启 动动Y Y Y Yn n n nY Y Y Yn n n nY Y Y Yn n n nR R R R1 1 1 1Z Z Z Zs s s sX X X Xs s s sY Y Y Ys s s sT T T T1 1 1 1 , T , T , T , T2 2 2 2, , , , R R R R0 0 0 0R R R R0 0 0 0被乘数被乘数X X X X加数加数 器器计算机学院3.3 3.3 二进制乘法运算二进制乘法运算2 2 2 2、定点补码一位乘法、定点补码一位乘法 原码乘法的主要问题是符号位不能参加运算。补码乘法可以实现 符号位直接参加运算。(1) (1) (1) (1) 补码与真值的转换关系补码与真值的转换关系设 X补=X0.X1X2.Xn当 X=0时,X0=0(符号位为0)尾数部分为真值XXXXXXXnii in= =1212.0补计算机学院3.3 3.3 二进制乘法运算二进制乘法运算当X=0,表 示够减,商上“1”;如果ri+1000.1110+-y补 11.0101 q2=100.0011 r2000.0110+-y补 11.0101 q3=011.1011 r30计算机学院3.4 3.4 二进制除法运算二进制除法运算不恢复余数法(加减交替法)不恢复余数法(加减交替法)基本规则:基本规则:当余数为正时,商上“1”,余数左移一位,减除数;当余数为负时,商上“0”,余数左移一位,加除数。恢复余数法与不恢复余数法的区别:恢复余数法与不恢复余数法的区别:当余数ri为正时:恢复余数法为,+ri*2-y,商为“1”不恢复余数法为,+ri*2-y,商为“1”当余数ri为负时:恢复余数法为,(-ri+y)*2-y=-2ri+y,商为 “1”不恢复余数法为,-ri*2+y,商为“0”计算机学院3.4 3.4 二进制除法运算二进制除法运算例,X=0.1001,Y=0.1011,用不恢复余数法求X/Y=? X原X补=0.1001,Y原Y补0.1011,-Y补 1.0101X/Y Q00.1001+-Y补 11.0101 q0=011.1110 r0000.1110+-Y补 11.0101 q2=100.0011 r2000.0110+-Y补 11.0101 q3=011.1011 r30计算机学院3.4 3.4 二进制除法运算二进制除法运算2 2 2 2、定点补码一位除法、定点补码一位除法 补码加减交替法补码加减交替法法则:法则:(1) 被除数与除数同号,被除数减去除数;被除数与除数异 号,被除数加上除数。(2) 余数与除数同号,商为“1”,余数左移一位,下次减除 数;余数与除数异号,商为“0”,余数左移一位,下次加除 数。(3) 重复步骤(2),包括符号位在内,共做n+1步。计算机学院3.4 3.4 二进制除法运算二进制除法运算商的校正:商的校正: 补码一位除法的算法是在商的末位“恒置1”的舍入条件下推 导的,按照这种算法所得到的有限位商为负数时,是反码 形式,而正确需要得到商是补码形式,两者之间相差末位 的一个“1”,所以最后加校正量“1”。例,X=-0.1001,Y=+0.1101,求X/Y补? 解:X补=1.0111,Y补=0.1101,-Y补 1.0011计算机学院3.4 3.4 二进制除法运算二进制除法运算X/Y Q 操作说明11.0111+Y补 00.1101 X补与Y补异号00.0100 r0 余数r1与除数同号00.1000 左移,商1,减除数+-Y补 11.0011 q0=111.1011 r1 余数r2与除数异号11.0110 左移,商0,加除数+Y补 00.1101 q1=000.0011 r2 余数r3与除数同号00.0110 左移,商1,减除数+-Y补 11.0011 q2=111.1001 r3 余数r4与除数异号11.0010 左移,商0,加除数+Y补 00.1101 q3=011.1111 r4 余数r5与除数异号,商左移 ,q4=0 商0,余数不左移。 所以,Q补1.0100+0.0001=1.0101, R补=1.1111计算机学院3.4 3.4 二进制除法运算二进制除法运算二、提高除法运算速度的方法二、提高除法运算速度的方法 跳跳0 0 0 0跳跳1 1 1 1除法除法根据余数前几位代码值再次求得几位同位1或0得商。 规则:规则:(1) 余数R=0,且R的高K个数位均为0,则本次直接得商 1,后跟K-1个0,R左移K位后,减除数Y,得新得余数。(2) 余数R0,且R的高K个数位均为1,则本次直接得商0 ,后跟K-1个1,R左移K位后,加除数Y,得新得余数。(3) 不满足(1)、(2)中条件时,按一位除法上商。参见P96例3.43。计算机学院
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号