习题(3)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第三章习题3.7已知,X=0.1011,Y=-0.0101,求:[X]补,[-X]补,[Y]补,[-Y]补,[X/2]补,[X/4]补,[2X]补,[Y/2]补,[Y/4]补,[-2Y]补解:[X]补=0.1011[X/4]补=0.0010[-X]补=1.0101[2X]补=0.1011(溢出)[Y]补=1.1011[Y/2]补=1.1101[-X]补=0.0101[Y/4]补=1.1110[X/2]补=0.0101[-2Y]补=1.0110第三章习题3.8设十进制数X=(+128.75)×2-10:解:(1)(X)2=(10000000.11)×(0.0000000001)=0.01000000011(2)21位浮点数,阶码5位,阶符1位,尾数16位,符号1位,底数2。尾数和阶码用原码表示的机器数。对(X)2规格化,(X)2=0.1000000011×2-11阶码=10011,(-11的原码表示)尾数=0.1000000011浮点数表示:0100111000000011000000第三章习题(3)尾数和阶码用反码表示的机器数。对(X)2规格化,(X)2=0.1000000011×2-11阶码=11100,(-11的反码表示)尾数=0.1000000011浮点数表示:0110001000000011000000(3)尾数和阶码用补码表示的机器数。对(X)2规格化,(X)2=0.1000000011×2-11阶码=10100,(-11的补码表示)尾数=0.1000000011浮点数表示:0101001000000011000000第三章习题3.9假设机器字长16位,定点表示,数值15位,符号1位;浮点数表示,阶码6位,阶符1位,尾数10位,其中数符1位,底数2。(1)定点原码整数表示,最大正数,最小负数?最大正数:(0111111111111111)2=(215-1)10=(32767)10.最小负数:(1111111111111111)2=(-215+1)10=(-32767)10.(2)定点原码小数表示,最大正数,最小负数?最大正数:(0.111111111111111)2=(1–2-15)10.最小负数:(1.111111111111111)2=(-1+2-15)10.第三章习题(3)浮点原码表示,最大正数,最小负数,绝对值最小的数(非0)?最大正数:0011111111111111可表示:(1-2-9)×2+31最小负数:1011111111111111可表示:-(1-2-9)×2+31绝对值最小的数(非0)规格化:0111111100000000可表示:(0.1)×2-31非规格化:0111111000000001可表示:(2-9)×2-31第三章习题(4)有效位数?尾数表示的有效位数,9位二进制数据,有效位数29,假设对应的10进制是n位,则有:29=n10两边都取以10为的对数:log10(29)=log10(10n)得:n=9×log102=9×0.301=2.709部分积乘数说明0000001011+001101末位为1,加X0011010001101101右移1位+001101末位为1,加X0100110010011110右移1位+000000末位为0,加00010010001001111右移1位+001101末位为1,加X0100010010001111右移1位[X*Y]原=(1⊕0).10011111=1.10001111,X*Y=-0.10001111.3.18用原码一位乘法计算X=0.1101,Y=-0.1011的积X*Y。部分积乘数说明0000001010+000000末位为0,加00000000000000101右移1位+001010末位为1,加X0010100001010010右移1位+000000末位为0,加00001010000101001右移1位+001010末位为1,加X0011000001100100右移1位+110110Y0=1,加[-X]修正11.11000100[X*Y]补=1.11000100X*Y=-0.001111003.19用补码一位乘法计算X=0.1010,Y=-0.0110的积X*Y。补码一位乘法,[X]补=00.1010,[-X]补=11.0110,[Y]补=1.1010部分积乘数附加位说明000000110100+00000000,加0000000000000011010右移1位+11011001,加[-X]补110110111011001101右移1位+00101010,加[X]补000101000010100110右移1位+11011001,加[-X]补111000111100010011右移1位+00000011,加01111000100[X*Y]补=1.11000100,X*Y=-0.001111003.19用补码一位乘法计算X=0.1010,Y=-0.0110的积X*Y。布斯法,[X]=00.1010,[-X]=11.0110,[Y]=1.1010部分积乘数附加位说明000000001.011010+00010011010,加[X]补0001001100000100111.0110右移2位+11101101110,加[-X]补111100011111110001111.01右移2位+11101101111,加[-X]补1110100111110100101111.1右移1位[X*Y]补=1.1010010111,3.23用补码两位乘法计算[X]补=0.10011,[Y]补=1.01101的积[X*Y]补。布斯法,[2X]补=001.00110,[-X]补=111.01101,[-2X]补=110.11010,海明码的特点就是,冗余校验位的位数r,可以进行2r编码,指出2r个不同的状态,其中00…0表示没有错误,剩余的2r-1状态,可以指出2r-1个错误位置,因此,编码的位数应该大于总位数+1,即:2r≥k+r+1如果需要检测和自动校正一位错,检测两位错,则:2r-1≥k+rk=16,当r=6时,不等式成立.25=3216+6=223.30设有16个信息位,如果采用海明校验,至少需要设置多少个校验位,应该放在那些位置?校验码位置的安排,应该使得校验码出错时和数据位出错时,影响的结果不同。设22位海明码的位号为:H22…H1,其中数据位用D16…D1表示,校验位用P6…P1表示。由于校验码出错只影响本身,所以被安排在位号为2i-1的位置,从位号低的位置向位号高的位置安排6个校验码P6…P1。H22H21H20H19H18H17H16H15H14H13H12H11H10H9H8H7H6H5H4H3H2H1P6D16D15D14D13D12P5D11D10D9D8D7D6D5P4D4D3D2P3D1P2P124-123-122-121-13.30设有16个信息位,如果采用海明校验,至少需要设置多少个校验位,应该放在那些位置?方案选择,检查和纠正一位错,检查两位错。按照海明码校验位的条件:2r-1≥k+rk=8,可得r=5.25-1=16≥8+5=13设海明码为:H13…H1,数据位为D8…D1校验位为P5…P1.H13H12H11H10H9H8H7H6H5H4H3H2H1P5D8D7D6D5P4D4D3D2P3D1P2P1P1=D1⊕D2⊕D4⊕D5⊕D7P2=D1⊕D3⊕D4⊕D6⊕D7P3=D2⊕D3⊕D4⊕D8P4=D5⊕D6⊕D7⊕D8P5=D1⊕D2⊕D3⊕D4⊕D5⊕D6⊕D7⊕D8⊕P1⊕P2⊕P3⊕P43.31设有8位有效信息,编制海明校验线路,说明编码方法,分析所选方案有怎样的检错与纠错能力。若8位信息是01101101,海明码是多少?S1=P1⊕D1⊕D2⊕D4⊕D5⊕D7S2=P2⊕D1⊕D3⊕D4⊕D6⊕D7S3=P3⊕D2⊕D3⊕D4⊕D8S4=P4⊕D5⊕D6⊕D7⊕D8P5=D1⊕D2⊕D3⊕D4⊕D5⊕D6⊕D7⊕D8⊕P1⊕P2⊕P3⊕P4若8位信息位是01101101,海明码如下:P1=1⊕0⊕1⊕0⊕1=1P2=1⊕1⊕1⊕1⊕1=1P3=0⊕1⊕1⊕0=0P4=0⊕1⊕1⊕0=0P5=1⊕0⊕1⊕1⊕0⊕1⊕1⊕0⊕1⊕1⊕0⊕0=1H13H12H11H10H9H8H7H6H5H4H3H2H1P5D8D7D6D5P4D4D3D2P3D1P2P110110011001113.31设有8位有效信息,编制海明校验线路,说明编码方法,分析所选方案有怎样的检错与纠错能力。若8位信息是01101101,海明码是多少?第四章习题4.5有一个512K×16的存储器,由64K×1的2164RAM(芯片内是4个128×128结构),问:(1)总共需要多少个RAM芯片?总共需要:(512K×16)/(64K×1)=128(2)采用分散刷新方式,单元刷新间隔不超过2ms,则刷新信号的周期是多少?刷新时,2164中4个128×128矩阵同时刷新(书上123页),所以每128行为单元的刷新次数,2ms内需要128个刷新周期,每个周期长:2ms/128=15.625μs第四章习题(3)采用集中刷新方式,设读写周期T=0.1μs,存储器刷新一遍最少需要多少时间?需要128×0.1μs=12.8μs第四章习题4.6某机器中,已知地址空间为0000H…1FFFH的ROM区域,现在再用RAM芯片(8K×4)形成一个16K×8的RAM区域,起始地址为2000H,假设RAM有CS#和WE#控制端。CPU地址总线为A15…A0,数据总线为D7…D0,控制信号为R/W#,MREQ#,要求画出逻辑图。解:1)地址空间分析:如果一个CPU的地址线是A15…A0,总地址空间为216,十六进制表示:0000H…FFFFH。ROM占用的地址空间为0000H…1FFFH,变为2进制:0000000000000000…0001111111111111空间的范围是213,就是23×210=8K的存储空间,CPU的地址线是D7…D0,8根,所以,ROM的容量是8K×8。第四章习题2)芯片数量和字位扩展:由于从RAM芯片容量小于RAM区容量,需要字扩展;由于RAM芯片数据线4位,小于RAM区字长8,需要位扩展。一个芯片的容量是8K×4,RAM区的容量是16K×8,所以共需要芯片:(16K×8)/(8K×4)=4片。扩展方法:将2个RAM芯片重叠,构成一组(2片)8K×8容量的RAM芯片组,实现位扩展。将2组RAM芯片,译码选择每组芯片,构成16K×8的RAM区,实现字扩展。第四章习题3)地址空间的分配芯片地址线是A12…A0,总地址空间为216。RAM区的容量是16K×8,RAM区的地址线是A13…A0,占用地址用十六进制表示:2000H…5FFFH=2000H…3FFFH(8KB)+4000H…5FFFH(8KB)译码最小单位确定,首先确定芯片的最小地址空间=A12…A0,为了今后扩充芯片的灵活性,将剩余的地址线全部参加译码,CPU地址线是A15…A0,减去芯片的地址线,剩余的地址线为A15、A14、A13,(如果剩余4根地址线,就采用4-16译码),采用3-8译码,所以将整个CPU的64KB(A15…A0)地址空间平均分割为8个8KB空间(8×8KB=64KB)。这样,每个芯片占用的地址空间如下:ROM芯片:0000H…1FFFH译码器输出:CS0#RAM(1#):2000H…3FFFFH译码器输出:CS1#RAM(2#):4000H…5FFFH译码器输出:CS2#空闲:6000H…FFFFH译码器输出:CS3#…CS7#4)连线图MREQ#A15A14A13A12…A0CPUD7…D0R/W#OE#译码器A15A14A13CS#ROM8K×8CS#RAM8K×4RAM8K×4CS#RAM8K×4RAM8K×4…CS0#CS1#CS2#CS7#

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功