1、计算机学院(许先斌)计算机学院(许先斌)计算机组成与结构 本科生课程教学计算机学院计算机组成与结构q 本课程主要讲授计算机系统的硬件和软件构成方法,包括硬件系统中运算器、控制器、存储器、输入设备和输出设备和总线系统的构成原理等;并与当代先进的计算机技术相结合。是计算机科学与技术本科专业核心课程。q 本课程着重计算机系统组成与结构方面的教学和研究。 计算机结构定义为系统程序员所能见到的计算机硬件特性; 计算机组成是指计算机硬件的具体实现。计算机学院第三章 运算方法和运算部件 q 数据的表示方法和转换q 带符号数的表示方法及加减运算q 二进制乘法运算q 二进制除法运算q 浮点数的运算方法q 运算部
2、件q 数据校验码计算机学院3.3 二进制乘法运算一、定点数一位乘法1、定点原码一位乘法q 用原码实现乘法运算十分方便,在定点运算中,完成两个原码表示得数相乘时,乘积得符号由两数得符号位按位相加(异或)得到,而乘积得数值部分则是两个数得绝对值之积。可以表示为:q 被除数 X原 =Xs.X1X2 Xnq 乘 数 Y原 =Ys.Y1Y2 Ynq 乘 积 Z原 =(XsYs).(0.X1X2.Xn)(0.Y1Y2. Yn)计算机学院3.3 二进制乘法运算q 符号法则: 同号相乘为正 (0),异号相乘为负 (1),(XsYs=00,01,10,11),所以积得符号可按 “异或 ” 运算得到。q 数值部分
3、运算法则: 与普通十进制小数乘法相似。计算机学院3.3 二进制乘法运算q 例, X=0.1101, Y=0.1011, 求 X*Y=?手工方法 机器方法0.1101(X) 0.11010.1011(Y) 0.10111101P1 0.0000 11011101.P2 0.0001 1010000P3 0.0000 00+ 1101.P4 + 0.0110 110001111P 0.1000 1111计算机学院3.3 二进制乘法运算q 机器运算与手工运算方法区别在于:(1) 机器一次只能进行两个数相加,所以 P1+P2+P3+P4必须分步进行: P1+P2; (P1+P2)+P3; (P1+P2
4、)+P3+P4。(2) 每做完一次加运算,把部分积右移一位(相当于把被加数右移,而不是左移),移出得数码不参加运算,故机器的位数可以固定。q 由此可以分析出机器乘法运算得基本规律。计算机学院3.3 二进制乘法运算q 原码机器乘法规律:当所乘得乘数为 1时,则上次所得的部分积(最初为 0)加被乘数右移一位,而得新的次一部分积;若所乘的乘数为 0时,则上次所得的部分积加 0右移一位后就是新的次一部分积。如此反复,直到乘数各位都乘完为止。计算机学院3.3 二进制乘法运算q 例, X=0.1101, Y=0.1011, 求 X*Y=?机器算法如下:0000 初始化值y=1 + 11011101110 1.P1y=1 + 110110011 11001 11 P2y=0 + 00001001 11100 111.P3y=1 + 110110001 1111000 1111P4=P计算机学院3.3 二进制乘法运算q 一般而言,设被乘数 X, 乘数 Y都是小于 1的 n位定点正数:X=0. X1 X2. XnY=0. Y1Y2. Yn其乘积为:X*Y=X(0. Y1Y2 Yn)=X(Y12-1+Y22-2+.+Y n2-n)=2-1(Y1X+2-1(Y2X+2-1(+2 -1(Yn-1X+2-1(YnX+0)