5.(1)浮点数系统使用的阶基rp=2,阶值位数p=2,尾数基值rm=10,以rm为基的尾数位数m''=1,按照使用的倍数来说,等价于m=4, 试计算在非负阶、正尾数、规格化情况下的最小尾数值、最大尾数值、最大阶值、可表示的最小值和最大值及可表示数的个数。
(2)对于rp=2,p=2,rm=4,m'=2,重复以上计算。
解: 依题意列下表:
p=2,rm=10,m'=1 | p=2,rm=4,m'=2 | |
最小尾数值 | 10^-1=0.1 | 4^-1=0.25 |
最大尾数值 | 1-10^-1=0.9 | 1-4^-2=15/16 |
最大阶值 | 2p^-1=3 | 3 |
可表示的最小值 | 0.1 | 0.25 |
可表示的最大值 | 10^3*0.9=900 | 4^3*15/16=60 |
可表示数的个数 | 36 | 48 |
题中“按照使用的倍数来说,等价于m=4,” 这个m=4,因为2^3<10<2^4,等价为实际要4个二进制位,表示RM=10为基的一位
6.由4位数(其中最低位为下溢附加位)经ROM查表舍入法,下溢处理成3位结果,设计使下溢处理平均误差接近于零的ROM表,列出ROM编码表地址与内容的对应关系。
解: ROM编码表地址与内容的对应关系
地址 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
内容 | 000 | 001 | 001 | 010 | 010 | 011 | 011 | 100 | 100 | 101 | 101 | 110 | 110 | 111 | 111 | 111 |
7.变址寻址和基址寻址各适用于何种场合?设计一种只用6位地址码就可指向一个大地址空间中任意64个地址之一的寻址机构。
答:基址寻址是对逻辑地址空间到物理地址空间变换的支持,以利于实现程序的动态再定位。变址寻址是对数组等数据块运算的支持,以利于循环。将大地址空间64个地址分块,用基址寄存器指出程序所在块号,用指令中6位地址码表示该块内64 个地址之一,这样基址和变址相结合可访问大地址任意64个地址之一。比如地址空间很大,为0-1023,只用6位地址码就可以指向这1024个地址中的任意64个。
剖析:比如地址空间很大,1024,就是分成16个块,块号放在寄存器中,块内地址放在地址位中,寄存器内容和地址位结合,就能达到要求了。
8.经统计,某机器14条指令的使用频度分别为:0.01,0.15,0.12,0.03,0.02,0.04,0.02,0.04,0.01,0.13,0.15,0.14,0.11,0.03。分别求出用等长码、Huffman码、只有两种码长的扩展操作码3种编码方式的操作码平均码长。
解:等长操作码的平均码长=4位;Huffman编码的平均码长=3.38位;只有两种码长的扩展操作码的平均码长=3.4位。