计算机系统结构_第二章练习题 答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章练习题(1)
一、单项选择题
在下面各题的4个备选答案中,只有一个答案是正确的,请把正确答案的标号(A~D )填入题后面的括号中。

1.数据表示的含义是( B )。

A . 表示数据所采用的数制和码制
B . 硬件能够直接识别的数据类型
C . 数据类型
D . 浮点数的表示方式
2.浮点数表示的尾数的基r m =8,尾数长度p=2,可以表示的规格化最小正尾数的值是( C )。

A .0.5
B .0.25
C .0.125
D .0.015625
3.浮点数表示的尾数的基r m =16,尾数长度p=2,可以表示的规格化最大正尾数的值是( D )。

A .2
1 2 B .1615 C .2561 D .256
255 4.多维数组的自定义数据表示通常采用( B )。

A . 浮点数表示
B . 带数据描述符的数据表示
C . 带标志符的数据表示
D . 带标志符和数据描述符的数据表示
5.不需要编址的数据存储空间是( C )。

A . CPU 中通用寄存器
B . 主存储器
C . 堆栈
D . I/O 接口中的寄存器
6.平均码长最短的编码是( D )。

A . 定长码
B . 扩展码
C . 需要根据编码使用的频度计算平均码长后确定
D . Huffman 编码
7.下述4种编码中,不是2-4扩展编码的是( D )。

A . 1/12
B . 2/8
C . 3/4
D . 4/8
8. 2-4扩展编码最多可以得到的码点数是( D )。

A . 6
B . 9
C . 10
D . 13 00,01*4,10*4,11*4
9.RISC 执行程序的速度比CIRC 要快的原因是( C )。

A . RISC 的指令系统的指令数比较少
B . 程序在RIS
C 上编译生成的目标程序比较短
C . R ISC 的指令平均周期数比较少
D . RISC 只允许Load 指令和Store 指令访问存储器
10. RISC 采用交叉寄存器窗口技术,从而大大减少了( B )。

A . 绝大多数指令的执行时间
B . 程序调用引起的访问存储器的次数
C . 目标程序的指令条数
D . CPU 访问存储器的访问周期
二、填空题
1. 设计一种浮点数据表示方式需要确定的6个参数分别是:(尾数的基r m 的值),
(尾数的值m 的数制和码制), (尾数长度p ),(阶码的基r e 的值),(阶码的值e 的数制和码制), (阶码长度q )。

2.浮点数的表数范围是指(用有限的q 位阶码和 p 位尾数能够表示的浮点数的数值大小的范围)。

3. 可表示浮点数的正数区间:
规格化浮点数的最大正数值由尾数的(最大正数值)与阶码(最大正数值)组合而成; 规格化浮点数的最小正数值由尾数的(最小正数值)与阶码(最小负数值)组合而成。

规格化浮点数的最大负数值由尾数的(最大负数值)与阶码(最小负数值)组合而成; 规格化浮点数的最小负数值由尾数的(最小负数值)与阶码(最大正数值)组合而成。

4.若浮点数尾数的长度为p 位,尾数的基为r m ,那么,尾数的r m 进制数的位数是(m
r p 2log )。

5.若浮点数尾数的长度为p 位,尾数的基为r m ,那么,可以表示的规格化浮点数的表数精度是( )1(2
1--p m r )。

三、判断题
判断下列各题的叙述是否正确,正确的叙述在括号内打“√”;错误的叙述在括号内打“⨯”;并简述错误的理由。

1.指令系统和数据表示都是计算机系统的主要软件硬件分界面。

( √ )
2.浮点数表示可以表示实数范围内的所有实数。

( x )
浮点数表示的实数在实数轴上是不连续的,因此它只能表示有限的实数
3.带标志符的数据表示增大了数据字的字长,从而会增大目标程序在这种机器上运行时占用的存储空间。

( X )
数据的总存储量虽然加大了,但由于简化了指令系统,指令只需指出操作种类,不需指出数据类型等,每条指令的字长可以缩短。

只要设计合理,整个程序(包括指令和数据)的总存储量反而有可能减少,即使增加也不会增加得太多。

机器采用带标志符的数据表示使数据字增长,但是会使指令字缩短。

一般程序中的指令字要多于访问的数据字,因此,目标程序运行时占用的存储空间会减少。

4.带标志符的数据表示简化了指令系统,加快了指令的执行速度。

(X)带标志符的数据表示简化了指令系统,但降低了指令的执行速度。

P69
指令执行时需要对数据字2逐个进行识别,判断是否与指令规定的操作相容,因此,指令执行更费时了
5.在引入带标志符的数据表示的机器中,数据的“标志符”对高级语言程序员是透明的。

(√)
P66
6.因为寄存器的位数大于主存储器单元的位数,所以,在把存储空间组织为2个地址空间的组织方式中,把CPU通用寄存器和I/O接口寄存器“编址”为1个地址空间,主存单独编址为另一个存储空间。

(X )
由于寄存器的存储容量比主存储器要小得多,所以,寄存器所要求的地址长度更短。

在把存储空间组织为2个地址空间的组织方式中,把主存储器与输入输出设备统一编址为1个地址空间,而把通用寄存器独立编址为另一个存储空间。

在2个地址空间的组织方式中,CPU通用寄存器“单独编址”为1个地址空间,主存和I/O接口寄存器“统一编址”为另一个地址空间。

7.对给定的频度分布{p i},由哈夫曼算法生成的哈夫曼树的结构是唯一的,因此,得出哈夫曼编码的“平均码长”是唯一的。

(X)
对给定的频度分布{p i},哈夫曼树的结构并不是唯一的,但平均码长是唯一的。

由哈夫曼算法生成的哈夫曼树时,如果当前的频度集合有2个以上的结点可供选择,则不同的选择会生成结构不同的哈夫曼树,由此得出的哈夫曼编码也不同,但“平均码长”是相同的。

8.扩展编码要求所有的“短码”都不能是“长码”的前缀,否则会产生解码不唯一的问题。

(√)
9.2-4扩展编码和2/4扩展编码是同一种扩展编码的2种表示。

(X)2-4扩展编码要求短码为两位长度,长码为四位长度,不限定短码和长码分别有多少种。

2/4扩展编码只是要求短码有两种,长码有四种,但并不限定短码和长码的长度。

2-4扩展编码是“码长”的表示方式,2/4扩展编码是“码点”的表示方式,它们一般表示的“扩展码”不相同。

10.由于RISC简化了指令系统,因此,RISC上的目标程序比CISC上的目标程序短一些,程序运行的时间就会少一些。

(X )
CISC通过使用硬件加快使用频度高的指令的执行,并用一条新的指令代替那些使用频度高的指令串,简化了目标程序的代码。

因此CISC上的目标程序比RISC上的目标程序短一些。

RISC简化了指令系统,通过一系列技术使得程序运行时间比CISC的少一些。

RISC上的目标程序一般会比CISC上的目标程序长一些,但是,RISC的指令平均周期数
CPI比CISC的CPI要小得多,因此,RISC上的目标程序运行的时间会少一些。

四、应用题
1.一个处理机有I1~I10共10条指令,经过统计,各指令在程序中的使用频度分别为:p1=0.25,p2=0.20,p3=0.15,p4=0.10,p5=0.08,p6=0.08,p7=0.05,p8=0.04,p9=0.03,p10=0.02。

(1)计算这10条指令的操作码编码的最短“平均码长”。

(2)写出这10条指令的操作码的哈夫曼编码,并计算编码的“平均码长”和信息冗余量。

(3)采用3/7扩展编码和2/8扩展编码写这10条指令的操作码,并分别计算“平均码长”和信息冗余量。

问哪一种扩展编码比较好?并说明其理由。

解:(1)平均码长最短的编码是Huffman编码:P92
最短平均码长为:H=
0.25*2+0.2*2.32+0.15*2.73+0.1*3.32+0.08*3.64+0.08*3.64+0.05*4.32+0.04*4.64+0.03*5.05+0 .02*5.64=2.96
(2))根据给出的使用频度,在应用哈夫曼算法构造哈夫曼树的过程中,选择2个频度最小的结点合并时,有2个以上的结点可供合并,因此,可生成结构不同的哈夫曼树。

给出2棵哈夫曼树,分别如图A和图B所示:
可见,哈夫曼编码不是唯一的。

计算2种哈夫曼编码的“平均码长”分别为:
()()(位)
(位)99.2602.0603.0504.0405.0408.04
08.0310.0315.0220.0225.099.2502.0503.0504.0505.0408.04
08.0310.0315.0220.0225.010
110
1=⨯+⨯+⨯+⨯+⨯+⨯+⨯+⨯+⨯+⨯===⨯+⨯+⨯+⨯+⨯+⨯+⨯+⨯+⨯+⨯==∑∑==i bi i b i ai i a L p L L p L
可见,尽管哈夫曼编码不是唯一的,但平均码长却是唯一的。

2种哈夫曼编码的信息冗余量分别为:
%0.1%10099.296.21%1001%0.1%10099.296.21%1001=⨯⎪⎭⎫ ⎝⎛-=⨯⎪⎪⎭⎫ ⎝
⎛-==⨯⎪⎭⎫ ⎝⎛-=⨯⎪⎪⎭⎫ ⎝⎛-=b b a a L H R L H R 显然,应当有:R a =R b 。

(3)采用3/7扩展编码和2/8扩展编码写这10条指令的操作码,并分别计算“平均码长”和信息冗余量。

采用在2-5不等长扩展:
3/7扩展编码:
00
01
10
11000
11001。

11110
平均码长:(0.25+0.20+0.15)*2+(0.1+0.08+0.08+0.05+0.04+0.03+0.02)*5=3.2 信息冗余量:1-2.96/3.2=7.5%
2/8扩展编码:
00
01
1000
1000。

10111
平均码长:(0.25+0.20)*2+(0.15+0.1+0.08+0.08+0.05+0.04+0.03+0.02)*4=3.1 信息冗余量:1-2.96/3.1=4.5%
通过比较2/8扩展码比较好,因为它的信息冗余量比3/7的小。

相关文档
最新文档