计算机组成与结构习题讲解(1)WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU计算机的逻辑部件„2.4设计用若干个全加器和若干个与门、或门实现的8421码十进制加法器单元电路。„分析与解答:„BCD码:0000-1001„二进制:0000-1111WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU计算机的逻辑部件+6WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU计算机的逻辑部件„何时要对结果作修正?„当二进制加法的结果为1010、1110、1210、1310、1410、1510时„二进制结果有进位时„由卡诺图,得到:„结果=E3•E2+E3•E1WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU计算机的逻辑部件WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU计算机的算术运算„4.1用32位二进制2的补码表示法表示数51210„分析与解答:„51210„=(1000000000)2„=(00000000000000000000001000000000)2WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU计算机的算术运算„4.2用32位二进制2的补码表示法表示数-102310„分析与解答:„„-102310„=-(1111111111)2„=(10000000000000000000001111111111)原„=(11111111111111111111110000000001)补WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU计算机的算术运算„4.4给出如下用二进制2的补码表示法表示的数的十进制数:111111111111111111111110000011002„分析与解答:„(11111111111111111111111000001100)补„=(10000000000000000000000111110011)反„=(10000000000000000000000111110100)原„=-(111110100)2„=-500WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU计算机的算术运算„4.8给出二进制数110010101111111011111010110011102的十六进制数„分析与解答:„(Hex)0-F=(B)0000-1111„110010101111111011111010110011102„=(1210151415101214)„=(CAFEFACE)16WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU计算机的算术运算„4.14二进制数的各个数位本身并不是天生就有某种特定的含义。请考虑如下的二进制位串:10001111111011111100000000000000若它分别表示如下所示的三种数,那么他们的含义各是什么?„2的补码表示的整数„无符号整数„单精度浮点数WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU计算机的算术运算„分析与解答:„2的补码表示的整数„(10001111111011111100000000000000)补„=(11110000000100000100000000000000)原„=-(1110000000100000100000000000000)„=-188011315210„无符号整数„(10001111111011111100000000000000)„=+(10001111111011111100000000000000)„=+241485414410WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU计算机的算术运算„单精度浮点数„10001111111011111100000000000000SEF„S=(-1)1=-1„E=00011111=3110„F’=110+(11011111100000000000000)2„单精度浮点数=S×F’×2EWANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU计算机的算术运算„4.26请根据IEEE754标准,写出10.510分别为单、双精度浮点数时,其二进制形式„分析与解答:„规格化:10.510=(1010.1)2=(1.0101)2×232„单精度浮点数公式(S:1位,E:8位,F:23位)„移码偏移值=127„S=0„E’=3=E=3+127=130=(10000010)2„F’=(1.0101)2=F=F’-1=(0101)2„01000001001010000000000000000000WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU计算机的算术运算„10.510=(1010.1)2=(1.0101)2×232„双精度浮点数公式(S:1位,E:11位,F:53位)„移码偏移值=1023„S=0„E’=3=E=3+1023=1026=(10000000010)2„F’=(1.0101)2=F=F’-1=(0101)2„01000000001001010000000000000000...WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU运算方法和运算部件„3.9设机器字长16位。定点表示时,数值15位,符号位1位;浮点表示时,阶码6位,其中阶符1位,尾数10位,其中,数符1位;阶码底为2。试求:„1)定点原码整数表示时,最大正数、最小负数各是多少?„2)定点原码小数表示时,最大正数、最小负数各是多少?„3)浮点原码表示时,最大浮点数和最小浮点数各是多少?绝对值最小的呢(非0)?估算表示的十进制值的有效数字位数。WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU运算方法和运算部件„分析与解答:„1)定点整数:数值15位,符号位1位15140115„-11•••111~+11•••111„-(215-1)10~+(215-1)10„2)定点小数:数值15位,符号位1位„-0.11•••111~+0.11•••111„-(1-2-15)10~+(1-2-15)10WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU运算方法和运算部件„3)浮点:阶码6位,其中阶符1位,尾数10位,其中数符1位15149801519„„„+2(+25-1)×(1-2-9)=+231×(1-2-9)-2(+25-1)×(1-2-9)=-231×(1-2-9)2(-(25-1))×2-9=2-31×2-9=2-40WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU运算方法和运算部件„3.12写出下列各数的移码„+01101101„-11001101„-00010001„+00011101WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU运算方法和运算部件„分析与解答:原码反码补码移码+01101101001101101001101101101101101(001101101)-11001101100110010100110011000110011(111001101)-00010001111101110111101111011101111(100010001)+00011101000011101000011101100011101(000011101)WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU运算方法和运算部件„3.19用补码一位乘计算X=0.1010,Y=-0.0110的积X•Y„分析与解答:„X=0.1010-(00.1010)原-(00.1010)补„Y=-0.0110-(10.0110)原-(11.1010)补„-X=-0.1010-(10.1010)原-(11.0110)补WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU运算方法和运算部件[X•Y]补=1.11000100[X•Y]=-0.00111100补码一位乘andArchitecture,Copyright2004TJU运算方法和运算部件„3.21X=0.10110,Y=0.11111,用加减交替法补码一位除计算X/Y的商„分析与解答:„X=0.10110-(00.10110)原„Y=0.11111-(00.11111)原„-Y=-0.11111-(10.11111)原-(11.00001)补WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU运算方法和运算部件++[-Y]补+[Y]+补+[-Y]补++[Y]+补+[-Y]补++[-Y]补++[X]补=00.10110[Y]补=00.11111[-Y]补=11.00001[X/Y]补=0.10111[X/Y]=0.10111OrganizationandArchitecture,Copyright2004TJU运算方法和运算部件„3.27设某运算器只由一个加法器和A、B两个D型边沿寄存器组成,A、B均可接收加法器输出,A还可接收外部数据,如图。WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU运算方法和运算部件„问:„1)外部数据如何才能传送到B?„2)如何实现A+B-A和A+B-B?„3)如何估算加法执行时间?„4)若A、B均为锁存器,实现A+B-A和A+B-B有何问题?WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU运算方法和运算部件„分析与解答:„1)外部数据如何才能传送到B?WANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU运算方法和运算部件„2)实现A+B-A„LoadD„S=1:D-A„CPA、CPB脉冲:A+B-Sum„S=0:Sum-A10„同理:实现A+B-BWANGWei,ComputerOrganizationandArchitecture,Copyright2004TJU运算方法和运算部件„3.28今有一串行加法器,计算两个n位数据之和,已知相加两数存放在A、B寄存器中,请画出能实现(A)+(B)-A的逻辑图。图中只准用一个一位加法器,逐位进行计算„分析与解答:„一位加法器=各位串行计算„寄存器要有移位功能„i位进位和i+1位的操作数一起计算=全加器„n位数据加法=使用计数器确定加法是否完成WANGWei,ComputerOrganizationandArc