1.某计算机系统中,16位浮点数的表示格式如图1所示。其中阶码4位(含1位符号)为定点整数,尾数12位(含1位符号)为定点小数。
图 1
设一个数机器码为1110 0010 1000 0000,若阶码为移码且尾数为原码,则其十进制数真值为 (1) 。
(1) A.20
B.25
C.0.078 125
D.20.969 375
参考答案:(1)A。
解析:为了充分利用尾数来表示更多的有效数字,即提高数据的表示精度,通常采用规格化浮点数。规定浮点数在运算结束将运算结果存到计算机中时,必须是规格化的浮点数。规格化浮点数尾数的最高数值位是有效数字,即正尾数0.5≤F<1,负尾数-1
对于本试题的解答思路是,对给定的机器码按浮点数格式得到阶码和尾数,然后将阶码变为十进制数,最后得到浮点数的十进制真值。如果给定的浮点数机器码不是用规格化表示的,则可将其表示为规格化的机器码。规格化时,先看给定的浮点数机器码的尾数是用什么码表示的,然后再看是否已是规格化数,如果不是,将尾数小数点移位,但要注意,为保持浮点数的真值不变,阶码一定要进行相应的调整。在解答此类题目时,一定要注意题目条件中给出的阶码和尾数是用什么码表示的,否则很容易出错,而得不到正确的计算结果。
针对本题,对所给机器码1110 0010 1000 0000,按所规定的浮点数表示形式,可知阶码为1110(最高位为阶符1),尾数为0010 1000 0000(最高位为尾符0)。
0.0101B= 010100B=20。?① 若阶码为移码,1110表示为十进制数加6,尾数为原码表示加0.0101B,所以浮点数为26
② 0.101B,阶码-3的补码为1101,因为浮点数规格化要求尾数最高数据位为有效数据位,即尾数绝对值大于等于0.5。?0.0101B=2-3?0.0101B=0.000101B=0.078125D。将此浮点数用规格化数形式表示:2-2?若阶码为补码,1110表示为十进制数减2,尾数为补码,因该尾数为正数,即加0.0101,该浮点数为2-2
2.某计算机主存按字节摘取cache的地址变换采用组相联映像方式(即组内全相联,组间直接映像)。高速缓存分为2组,每组包含4块,块的大小为512B,主存容量为1MB。构成高速缓存的地址变换表相联存储器容量为 (2) bit。每次参与比较的存储单元为 (3) 个。
(2) A.4×10
B.4×11
C.8×10
D.8×11
(3) A.2
B.4
C.8
D.16
参考答案:(2)C;(3)B。
解析:某计算机主存按字节编址,主存与高速缓存Cache的地址变换采用组相联映像方式(即组内全相联,组间直接映像)。高速缓存分为2组,每组包含4块,块的大小为512B,主存容量为1MB。① 由于主存容量为1MB=220,高速缓存分为2=21组(即区内组号为1位),每组包含4=22块(即组内块号为2位),块的大小为512B=29(即块内地址为9位),因此主存区号=20-1-2-9=8位。
② 主存与高速缓存Cache的地址变换采用组相联映像方式(即组内全相联,组间直接映像),高速缓存的地址变换表的相联存储器中存放的用于比较的是8位的主存区号和2位的组内块号,因此,相联存储器的一个单元应存放10位二进制数。
③ 由于高速缓存共有8块,因此,高速缓存的地址变换表的相联存储器容量应为8×10位。
④ 由于组间采用直接映像,不需要进行比较,但组内采用全相联映像,需要在一组的4块内进行比较,故每次参与比较的存储单元为4个。
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |