计算机组成原理习题课__1第一章•计算机系统有硬件系统和软件系统组成。硬件有运算器、控制器、存储器、输入设备和输出设备五大部件组成。•机器字长是指CPU一次能直接处理的二进制数的位数,它决定了寄存器、运算部件、数据总线的位数,字长越长,数的表示范围也越大,精度越高,但其相应的硬件成本也越高。第二章BACBCBBAF)CB(CA)AC(AB)A(ACB)C(CBACACBBAEFBBDCADEFGEFBBDCAADEFGEFBACEFBDCAABADEFGEFBACEFBDCAABDAADFBCDCAABDABFDECECBBCDABACF第三章•P61第5题、设浮点数的格式为:阶码6位移码,包含一位符号位,尾数6位原码,包含一位符号位,排列顺序为:则按上述浮点数的格式:–1、若数Z的浮点数的16进制形式为9F4H,求Z的十进制的真值。–2、若X=-25/64,Y=2.875,则求X和Y的规格化浮点数表示形式。P61第5题1、若数Z的浮点数的16进制形式为0C15DH,求Z的十进制的真值。100111110100B[EZ]移=1,00111B[MZ]原=1.101000BEZ=00111B=7MZ=-0.101000B所以,Z=MZ×2Ez=-0.101000B×27=-101000B=-809F4H=若X=-25/64,Y=2.875,则求X和Y的规格化浮点数表示形式。EX=-1[EX]补=1,11111B[EX]移=0,11111BMX=-0.11001B[MX]原=1.11001B所以,[X]浮=0,111111.11001B=7F9HX=-25/64=-(16+8+1)×2-6=-11001B×2-6=-0.11001B×2-1EY=2[EY]移=1,00010BMY=0.10111B[MY]原=0.10111B所以,[Y]浮=1,000100.10111B=897HY=2.875=2+0.5+0.25+0.125=10.111=0.10111×22P61第6题机器字长16位,求个机器数的十进制真值表示范围。1)无符号整数0~216-12)原码定点整数-(215-1)~215-13)补码定点整数-215~215-14)补码定点小数-1~1-2-15解:128-71-128-1-128-7-128-7-127127-7222222-22221MAX22-(1MAX-)()如果阶码为移码,尾数用原码表示呢?如果阶码为原码,尾数为补码呢?第四章•1、X=0.1101,Y=-0.0110•2、已知X和Y,用变形补码计算X+Y,X-Y,并判溢•(1)X=0.11011,Y=0.11111•(2)X=-0.1101,Y=0.0110•5.1)X=0.011111,Y=-0.11101•原码一位乘、BOOTH算法•运算器–概念题–证明题–计算题–分析题•存储器–第一题目录•某机器字长16位,采用两位比较法进行补码乘法运算,此时并行加法器应该是(17)位加法器,应该进行(16)次相加移位操作。•(多选题)在下面每小题所列出的若干个答案中,选取所有的正确答案(可能没有,也可能有一个或多个)•补码加法规则是()•A、所有的操作数都用补码表示,结果也用补码表示•B、若两数相同则做加法,异号则做减法。•C、符号位和操作数一样参与运算•D、结果的符号为1,表示溢出•某浮点机,采用规格化浮点数表示,阶码用移码表示(最高位代表符号位),尾数用原码表示,下列的表示中不是规格化的浮点数是()•A、阶码:1111111尾数:1.1000…00•B、阶码:0011111尾数:1.0111…01•C、阶码:1000001尾数:0.1111…01•D、阶码:0111111尾数:0.1000…10•(填空题)设阶码8位(含1位符号位),用移码表示,尾数24位(1位符号位),用规格化补码表示,则它所能表示的最大正数的阶码的十进制真值为(A),尾数的十进制真值为(B);绝对值最小的负数的阶码的二进制移码表示为(C),尾数的二进制补码表示为(D)。2321返回目录A.127B.C.00000000D.1.01111111111111111111111•1、设•求证:•根据定点小数补码的定义证明nYYY10[Y].补niiiYYY102证明题证明题•2、以定点小数为例证明:•3、以定点小数为例证明:•[0]补=[y-y]补补补Y][-Y][补补补Y]XY][X[][补补补补补Y][X2)(modYX22)(modYX22YX2)(modY2Y]2)(modX2X][][[][返回目录•已知x=-0.01111,y=+0.11001,•用变形补码求•[x]补,[-x]补,[2x]补,[x/2]补,[y]补,[-y]补,[2y]补,[y/4]补,•x+y=?,x–y=?•解:[x]原=11.01111[x]补=11.10001•[-x]补=00.01111[2x]补=01.00010[x/2]补=01.11000•[y]原=00.11001[y]补=00.11001•[-y]补=11.00111[y/4]补=00.001100•[x]补11.10001[x]补11.10001•+[y]补00.11001+[-y]补11.00111•[x+y]补00.01010[x-y]补10.11000••x+y=+0.01010符号位相异,结果溢出•x–y=-1.01000•设32位字长的浮点数,其中阶符1位,阶码7位,数符1位,尾数23位。分别写出机器数采用原码和补码表示时,所对应的最接近0的十进制负数。•分析:最接近0的十进制负数表示最大负数,即绝对值最小的负数,因此阶码取最小值,尾数为绝对值最小的非0负数。•解:1)原码表示:阶码范围-127127•尾数24位,绝对值最小的非0负数为•-0.00…01B(非规格化)=-2-23•最接近0的十进制负数为•2)补码表示:阶码范围-128127•尾数24位,绝对值最小的非0负数为•-0.00…01B(非规格化)=-2-23•最接近0的十进制负数为12823221272322•某机器字长为32位,浮点表示时,指数部分(即阶码)占8位补码(含1位符号位),尾数24位补码(1位符号位),问:•1)带符号定点小数的最大表示范围是多少?(补码小数)•-1•2)带符号定点整数的最大表示范围是多少?(补码整数)•3)浮点表示最大正数是多少?MAX+=•4)浮点表示最大负数是多少?•5)浮点表示最小的规格化正数是多少?•6)浮点表示最小负数是多少?MAX-=•浮点表示最小正数1272322(1)-312-131212311282322128250.12721-•已知浮点数运算的中间结果如下:•阶码:1,010尾数:1.0011101•其中,阶码是4位补码•1)如果尾数是8位原码,求其规格化的浮点数表示•2)如果尾数是8位补码,求其规格化的浮点数表示•解:1)尾数为原码,则不是规格化表示形式,要左规:尾数左移2位,尾数低位补0,阶码减2,[E]补=1000,•变换后的规格化浮点数为1,0001.1110100•2)如尾数为补码,已经是规格化浮点数1,01001.0011101•用32位表示一个数,阶码部分占8位(含一位符号位),尾数部分占24位(含1位符号位)。设,•试写出补码浮点数表示格式(规格化)。•0000100011.01111111110000000000000•=9BFE000H•111111110.11111110000000000000000•=0FF7F0000H2561275256/,.yx100000000102-.1B-10000000052569..x-1-821111111021111111256127./y计算题一、设浮点数的格式为:阶码5位,包含一位符号位,尾数5位,包含一位符号位,阶码和尾数均用补码表示,排列顺序为:则按上述浮点数的格式:–1、若数Z的浮点数的16进制形式为0EDH,求Z的十进制的真值。–2、若(X)10=13/64,(Y)10=―2﹒75,则求X和Y的规格化浮点数表示形式。–3、求[X+Y]浮(要求用补码计算,列出计算步骤)。–4、求[X―Y]浮(要求用补码计算,列出计算步骤)。–5、求[X*Y]浮(要求阶码用补码计算,尾数用补码Booth算法计算,列出计算过程和算式)。1、若数Z的浮点数的16进制形式为0EDH,求Z的十进制的真值。解:1、0EDH=0011101101B,[Z]浮=0,01110.1101,则[EZ]补=0,0111=+7[MZ]补=0.1101MZ=+13/16所以,Z=MZ×2Ez=+13/16×27=+13×8=+1042、若(X)10=13/64,(Y)10=―2﹒75,则求X和Y的规格化浮点数表示形式。解:2、(X)10=13/64(X)2=0.001101=0.1101×2-10EX=-10,则[EX]补=1,1110MX=0.1101,则[MX]补=0.1101则[X]浮=1,11100.1101(Y)10=-2.75,(Y)2=-10.11=-0.1011×2+10EY=+10,则[EY]补=0,0010MY=-0.1011,则[MY]补=1.0101则[Y]浮=0,00101.01013、求[X+Y]浮(要求用补码计算,列出计算步骤)解:•对阶ΔE=EX-EY=[EX]补+[-EY]补=11,1110+11,1110=11,1100ΔE=-40,则EX小,将MX右移4位,EX加4:[X]浮=0,00100.0000(1101)•尾数相加[MX]补00.00001101+[MY]补11.0101[MX+MY]补11.01011101•结果规格化:结果已规格化•舍入。•0舍1入:[MX+Y]补=1.0110。[X+Y]浮=0,00101.01104、求[X―Y]浮(要求用补码计算,列出计算步骤)。解:•对阶:同上。•尾数相减。•结果规格化:结果已规格化•舍入。•0舍1入:[MX-Y]补=0.1100。[X―Y]浮=0,00100.1100[MX]补00.00001101+[-MY]补00.1011[MX-MY]补00.101111015、求[X*Y]浮(要求阶码用补码计算,尾数用补码Booth算法计算,列出计算过程和算式)。解:•阶码相加。[EZ]补=[EX]补+[EY]补=11,1110+00,0010=00,0000•尾数相乘。[MX]补=0.1101[-MX]补=1.0011[MY]补=1.0101[EX]补11,1110+[EY]补00,0010[EX+EY]补00,0000部分积00.0000乘数MY(MYnMYn+1)1.01010操作说明MY4MY5=10,+[-MX]补11.0011+11.0011右移一位11.100111.0101MY3MY4=01,+[MX]补00.1101+00.0110右移一位00.0011011.010MY2MY3=10,+[-MX]补11.0011+11.0110右移一位11.10110011.0100.1101+00.1000右移一位00.010000011.0MY0MY1=10,+[-MX]补11.0011+11.01110001MY1MY2=01,+[MX]补[MX*Y]补=1.01110001•结果规格化:已规格化。•舍入。舍去:[MX*Y]补=1.0111[X*Y]浮=0,00001.0111返回目录某加法器进位链小组信号为C4C3C2C1,低位来的信号为C0,请分别按下述两种方式写出C4C3C2C1的逻辑表达式。(1)串行进位方式(2)并行进位方式•解:(1)串行进位方式:•C1=G1+P1C0其中:G1=