第一章习题P154:冯诺依曼计算机的主要设计思想:存储程序并按地址顺序执行(P10)冯诺依曼计算机主要包括:存储器、运算器、控制器、输入和输出五部分组成13:P5第二章习题P621.8位二进制数表示原码、反码、补码真值原码反码补码-35-0100011101000111101110011011101-128-10000000超出8位无法表示-127-1111111111111111000000010000001-1-00000011000000111111110111111113•若a7=0,则X为正数,显然a0···a6取任何值均可。•若a7=1,则X为负数,[X]移=0.a6a5···a0∵-0.5D=-0.100000B,则[-0.5D]移=0.100000∴若要X-0.5,即等价于[X]移[-0.5D]移即0.a6a5···a00.100000,因此必须是a5···a0不全为0。•结论:–如果a7=0,a6···a0取任何值均可;–如果a7=1,必须满足a6=1且a5···a0不全为0。2.设[X]补=a7.a6a5···a0,其中ai取0或1,若要X-0.5,求a0a1a2···a7的取值。43.有一个字长为32位的浮点数,符号位1位;阶码8位,用移码表示;尾数23位,用补码表示;基数为2。请写出:(1)最大数的二进制表示,(2)最小数的二进制表示,(3)规格化数所能表示的数的范围。•设移码采用移128码,且机器数格式如下:①最大值(最大正数)–01111111111111111111111111111111–即x=(1-2-23)*2127–二进制表示:x=(1-0.00000000000000000000001)*21111111②最小值(最小负数)①11111111100000000000000000000000–即x=-1*2127–二进制表示:x=-1*21111111符号位S(1位)阶码E(8位)尾数M(23位)53.(3)规格化数所能表示的数的范围。•设移码采用移128码,且机器数格式如右:③规格化数表示范围–最大正数:01111111111111111111111111111111即x=(1-2-23)*2127–最小正数:00000000010000000000000000000000即x=2-1*2-128–最大负数:10000000001111111111111111111111即x=-(2-1+2-23)*2-128–最小负数:11111111100000000000000000000000即x=-1*2127•规格化的正数范围2-129~(1-2-23)*2127负数范围-2127~-(2-1+2-23)*2-128符号位S(1位)阶码E(8位)尾数M(23位)64.将下列十进制数表示成IEEE754标准的32位浮点规格化数。•27/64–27/64=0.011011=1.1011*2-2–e=-2,则E=e+127=125•-27/64–-27/64=-0.011011=-1.1011*2-2符号位阶码(8)尾数(23)00111110110110000000000000000000符号位阶码(8)尾数(23)101111101101100000000000000000007+[y]补00.000115.已知x和y,用变形补码计算x+y,同时指出结果是否溢出。①X=11011y=00011–[x]补=00.11011,[y]补=00.00011–[x+y]补=00.11110,未溢出x+y=+11110[x]补00.1101100.111108②X=11011y=-10101–[x]补=00.11011,[y]补=11.01011–[x+y]补=00.00110,未溢出x+y=+00110+[y]补11.01011[x]补00.1101100.001105.已知x和y,用变形补码计算x+y,同时指出结果是否溢出。9③x=-10110y=-00001–[x]补=11.01010,[y]补=11.11111–[x+y]补=11.01001,未溢出x+y=-10111+[y]补11.11111[x]补11.0101011.010015.已知x和y,用变形补码计算x+y,同时指出结果是否溢出。106.已知x和y,用变形补码计算x-y,同时指出结果是否溢出。①X=11011y=-11111–[X-Y]补=[x]补+[-y]补–[x]补=00.11011,[-y]补=00.11111–x-y溢出[x]补00.11011+[-y]补00.1111101.1101011②X=10111y=11011–[x]补=00.10111,[-y]补=11.00101–[x-y]补=11.11100,未溢出x-y=-00100[x]补00.10111+[-y]补11.0010111.111006.已知x和y,用变形补码计算x-y,同时指出结果是否溢出。12③X=11011y=-10011–[x]补=00.11011,[-y]补=00.10011–[x-y]补溢出[x]补00.11011+[-y]补00.1001101.011106.已知x和y,用变形补码计算x-y,同时指出结果是否溢出。137.用原码阵列乘法器计算x×y。①x=11011y=-111111.原码表示:[x]原=011011[y]原=1111112.符号位单独运算:0⊕1=13.乘法阵列:|x|×|y|=11010001014.x×y=-110100010111011110111101111011110111101000101×1111111011149.x=2-011×0.100101,y=2-010×(-0.011110),求[x+y]•设尾数阶码均使用双符号位的补码表示[x]浮=11101,00.100101[y]浮=11110,11.1000101)对阶(是小阶对大阶)△E=Ex-Ey=[Ex]补+[-Ey]补=11101+00010=11111修改后的x表示为:[x]浮=11110,0.010010(1)2)尾数求和M=11.110100(1)3)规格化处理执行2次左规处理,M=11.010010(0),E=11100(阶码减2)4)舍入处理:采用0舍1入法处理,则舍去05)判溢出:阶码符号位为11,不溢出故得最终结果为x+y=2-100×(-0.101110)00.010010+11.10001011.110100159.x=2-011×0.100101,y=2-010×(-0.011110),求[x-y]•设尾数阶码均使用双符号位的补码表示[x]浮=11101,00.100101[y]浮=11110,11.1000101)对阶△E=Ex-Ey=[Ex]补+[-Ey]补=11101+00010=11111修改后的x表示为:[x]浮=11110,0.010010(1)2)尾数求差M=Mx-My=00.110000(1)3)规格化处理4)舍入处理5)判溢出故得最终结果为x+y=2-010×0.11000100.010010+00.01111000.110000采用0舍1入法处理,则进位,M=00.110001阶码符号位为11,不溢出[-My]补[Mx]补不需规格化12.用IEEE32位浮点格式表示如下的数第三章习题P1111.具有20位地址和32位字长的存储器①该存储器能存储多少字节的信息?–存储容量=存储单元个数×每单元字节数=220×32bit=220×4Byte=4M字节②如果存储器有512K×8位SRAM芯片组成,需要多少片?–存储芯片的字位扩展:•位扩展:4片512K×8位芯片构成512K×32位的存储组;•字扩展:2组512K×32位存储组构成1M×32位的存储器;–因此,共需要2×4=8片SRAM芯片③需要多少位地址做芯片选择?–字扩展的是2个存储组,因此,需1位地址做片选。1.每个内存条为16Mx64位,需要几个内存条?解:64位机器的最大主存空间为226x64位,2.每个内存条内有几个DRAM芯片?3.主存共需要几个DRAM芯片,CPU如何选择各内存条?主存需要个DRAM芯片,共有4条内存,CPU可以使用26位地址线的最高两位,通过2:4路译码器对内存条进行选择,剩余地址线用于内存条内部单元的寻址。2.64位机器,地址码26位,DRAM芯片为4Mx819•由16K×8位的芯片扩展构成64K×32位的存储器;–位扩展:由4片16K×8位的芯片构成16K×32位的存储组;–字扩展:由4组16K×32位存储组构成64K×32位的存储器;–地址线分配:共需16个地址线,由最高两位地址A14和A15产生4组片选信号,剩余地址线用于组内寻址;3.用16K×8位的DRAM芯片构成64K×32位存储器,问:(1)画出该存储器的组成逻辑框图。203、用16K×8的DRAM芯片构成64K×32位存储器,要求:(2)设储器读/写周期为0.5μs,CPU在1μs内至少要访问一次。试问采用哪种方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?•假定16K×8位的DRAM芯片的存储矩阵是:128行×(128×8)列;(可以设刷新周期为2ms)–若集中刷新,则在2ms的最后,有128行×0.5us=64us的集中刷新时间,为死时间不能进行读写,不合适;–若分散刷新,则每1us只能访问一次主存,而cpu要求至少要访问一次,所以也不大合适;–所以,应采用异步式刷新方式。•假定DRAM芯片的刷新周期为2ms–两行的刷新操作的最大时间间隔为:2ms/128=15.625us•若取15.5us作为实际的刷新间隔–刷新一遍的实际时间为:15.5us×128=1984us=1.984ms;可见,采用异步刷新,每15.5us中用0.5us用于刷新,其余时间可进行访存,满足CPU在1us内至少访问一次的要求。1.总共需要多少芯片?需要个芯片,4片一组,共需8组。2.存储器组成框图3.异步刷新,单元刷新间隔不超过8ms,则刷新周期是多少?设128K×8的DRAM芯片的存储阵列为512x256x8,按行刷新,则刷新间隔为8ms/512行=15.625us,可取刷新周期为15.5us。4.有个1024Kx32位的存储器,由128K×8的DRAM芯片构成。5.用256K×16位的SRAM芯片组成1024K×32位的存储器1.总共需要多少芯片?需要1024K×32位/256K×16位=4x2=8个芯片,2片一组,共需4组。2.地址线分配:共需20位地址线,其中最高2位A18,A19通过2:4译码器确定组号,剩余地址用于组内单元寻址。3.存储器组成框图6.用32K×8位的EEPROM芯片组成128K×16位的存储器1.数据寄存器多少位?存储器为128K×16位,所以数据寄存器为16位。2.地址寄存器多少位?寻址128K×16位的存储器,共需17位地址线,所以地址寄存器为17位。3.共需多少个EEPROM?片,其中2片一组,共需4组。4.存储器组成框图7.0000H:00000000…0000(14个0)3FFFH:00111111…1111(14个1)寻址空间为4x212……6000H:RAM18Kx16(需要13位地址)01100000…0000(13个0)01111111…1111(13个1)8000H:RAM28Kx1610000000…0000(13个0)10011111…1111(13个1)A000H:RAM38Kx1610100000…0000(13个0)10111111…1111(13个1)C000H:RAM48Kx1611000000…0000(13个0)11011111…1111(13个1)E000H:RAM58Kx1611100000…0000(13个0)11111111…1111(13个1)RAM区域计算:40Kx168Kx8=5x2=102片一组,共5组7.总的存储空间为ROM+RAM=16K+