计算机组织与系统结构第四章习题答案

计算机组织与系统结构第四章习题答案
计算机组织与系统结构第四章习题答案

第 4 章 习 题 答 案

3. 已知某机主存空间大小为64,按字节编址。要求: (1)若用1K×4位的芯片构成该主存储器,需要多少个芯片? (2)主存地址共多少位?几位用于选片?几位用于片内选址? (3)画出该存储器的逻辑框图。 参考答案: (1)64 / 1K×4位 = 64×2 = 128片。

(2)因为是按字节编址,所以主存地址共16位,6位选片,10位片内选址。

(3)显然,位方向上扩展了2倍,字方向扩展了64倍。下图中片选信号为高电平有效。

A 15

A 10A 9

A 0

D 0

D 7

WE

4. 用64K×1位的芯片构成256K×8位的存储器。要求:

(1) 计算所需芯片数,并画出该存储器的逻辑框图。

(2) 若采用异步刷新方式,每单元刷新间隔不超过2,则产生刷新信号的间隔是多少时间?若采用

集中刷新方式,则存储器刷新一遍最少用多少读写周期? 参考答案:

(1)256 / 64K×1位 = 4×8 = 32片。存储器逻辑框图见下页(图中片选信号为高电平有效)。

(2)因为每个单元的刷新间隔为2,所以,采用异步刷新时,在2内每行必须被刷新一次,且仅被刷

新一次。因为芯片存储阵列为64256×256,所以一共有256行。因此,存储器控制器必须每隔2256=7.8μs 产生一次刷新信号。采用集中刷新方式时,整个存储器刷新一遍需要256个存储(读写)周期,在这个过程中,存储器不能进行读写操作。

A 17

A 16A 15

A 0

D 0

D 7

……

5. 用8K×8位的芯片组成32K×16位的只读存储器,试问:

(1)数据寄存器最少应有多少位? (2) 地址寄存器最少应有多少位? (3) 共需多少个芯片? (4) 画出该只读存储器的逻辑框图。 参考答案:

(1)数据寄存器最少有16位。

(2)地址寄存器最少有:15位(若按16位的字编址);16位(若按字节编址)。 (3)共需要 32K×16位 / 8K×8位= 4×2 = 8片。

(4)该只读存储器的逻辑框图如下(假定按字编址,图中片选信号为高电平有效)。

A 14A 13A 12

A 0

D 0

D 15

WE

D 8D 7

6. 某计算机中已配有0000H ~7的区域,现在再用8K×4位的芯片形成32K×8位的存储区域,地址总线

为A015,数据总线为D07,控制信号为(读/写)、(访存)。要求说明地址译码方案,并画出芯片、芯片与之间的连接图。假定上述其他条件不变,只是地址线改为24根,地址范围000000H ~007为区,剩下的所有地址空间都用8K×4位的芯片配置,则需要多少个这样的芯片? 参考答案:

地址线共16位,故存储器地址空间为0000H ~,其中,8000H ~为区,共215=32K 个单元,其空间大小为32,故需8K×4位的芯片数为328K×4位= 4×2 = 8片。

因为区在0000H~7,区在8000H~,所以可通过最高位地址A15来区分,当A15为0时选中芯片;

为1时选中芯片,此时,根据A14和A13进行译码,得到4个译码信号,分别用于4组字扩展芯片的片选信号。(图略,可参照图4.15)

若地址线为24位,区为000000H~007,则区大小为32,总大小为16214512×32,所以区大小为511×32,共需使用芯片数为511×328K×4位=511×4×2个芯片。

7.假定一个存储器系统支持4体交叉存取,某程序执行过程中访问地址序列为3, 9, 17, 2, 51, 37, 13, 4, 8, 41,

67, 10,则哪些地址访问会发生体冲突?

参考答案:

对于4体交叉访问的存储系统,每个存储模块的地址分布为:

0: 0、4、8、12、16 … …

1: 1、5、9、13、17…37…41…

2: 2、6、10、14、18 … …

3: 3、7、11、15、19...51 (67)

如果给定的访存地址在相邻的4次访问中出现在同一个内,就会发生访存冲突。所以,17和9、37和17、13和37、8和4发生冲突。

8.现代计算机中,一般用于实现快速小容量的,而用于实现慢速大容量的主存。以前超级计算机通常不

提供,而是用来实现主存(如,巨型机),请问:如果不考虑成本,你还这样设计高性能计算机吗?为什么?

参考答案:

不这样做的理由主要有以下两个方面:

①主存越大越好,主存大,缺页率降低,因而减少了访问磁盘所需的时间。显然用芯片比用芯

片构成的主存容量大的多。

②程序访问的局部性特点使得的命中率很高,因而,即使主存没有用快速的芯片而是用芯片,

也不会影响到访问速度。

9.分别给出具有下列要求的程序或程序段的示例:

(1)对于数据的访问,几乎没有时间局部性和空间局部性。

(2)对于数据的访问,有很好的时间局部性,但几乎没有空间局部性。

(3)对于数据的访问,有很好的空间局部性,但几乎没有时间局部性。

(4)对于数据的访问,空间局部性和时间局部性都好。

参考答案(略):

可以给出许多类似的示例。例如,对于按行优先存放在内存的多维数组,如果按列优先访问数组元素,则空间局部性就差,如果在一个循环体中某个数组元素只被访问一次,则时间局部性就差。

10.假定某机主存空间大小1,按字节编址。的数据区(即不包括标记、有效位等存储区)有64,块大小为

128字节,采用直接映射和全写()方式。请问:

(1)主存地址如何划分?要求说明每个字段的含义、位数和在主存地址中的位置。

(2)的总容量为多少位?

参考答案:

(1)主存空间大小为1,按字节编址,说明主存地址为30位。共有64128512行,因此,行索引(行号)为9位;块大小128字节,说明块内地址为7位。因此,30位主存地址中,高14位为标志

();中间9位为行索引;低7位为块内地址。

(2)因为采用直接映射,所以中无需替换算法所需控制位,全写方式下也无需修改()位,而标志位和有效位总是必须有的,所以,总容量为512×(128×8+14+1)=519.5K位。

11.假定某计算机的共16行,开始为空,块大小为1个字,采用直接映射方式。执行某程序时,依次访问以

下地址序列:2,3,11,16,21,13,64,48,19,11,3,22,4,27,6和11。要求:

(1)说明每次访问是命中还是缺失,试计算访问上述地址序列的命中率。

(2)若数据区容量不变,而块大小改为4个字,则上述地址序列的命中情况又如何?

参考答案

(1)采用直接映射方式,其数据区容量为16行×1字/行=16字;主存被划分成1字/块,所以,主存块号= 字号。因此,映射公式为:行号= 主存块号16 = 字号16。

开始为空,所以第一次都是,以下是映射关系(字号行号)和命中情况。

2-2: ,3-3: ,11-11: ,16-0: , 21-5: ,13-13: ,64-0: 、,

48-0: 、,19-3: 、,11-11: , 3-3: 、,22-6: ,

4-4: ,27-11: 、,6-6: 、,11-11: 、。

只有一次命中!

(2)采用直接映射方式,数据区容量不变,为16个字,每块大小为4个字,所以,共有4行;主存被划分为4个字/块,所以,主存块号= [字号/4]。因此,映射公式为:行号= 主存块号 4 = [字号/4] 4。

以下是映射关系(字号-主存块号行号)和命中情况。

2-0-0: ,3-0-0: ,11-2-2: ,16-4-0: 、,21-5-1、13-3-3: ,

64-16-0、48-12-0、19-4-0: , ,11-2-2: ,3-0-0: 、,

22-5-1: ,4-1-1: 、,27-6-2: 、,6-1-1: ,11-2-2: 、。

命中4次。

由此可见,块变大后,能有效利用访问的空间局部性,从而使命中率提高!

12.假定数组元素在主存按从左到右的下标顺序存放。试改变下列函数中循环的顺序,使得其数组元素的

访问与排列顺序一致,并说明为什么修改后的程序比原来的程序执行时间短。

( a[N][N][N])

{

i, j, k, 0;

(0; i < N; )

(0; j < N; )

(0; k < N; ) [k][i][j];

;

}

参考答案:

( a[N][N][N])

{

i, j, k, 0;

(0; k < N; )

(0; i < N; )

(0; j < N; ) [k][i][j];

;

}

修改后程序的数组元素的访问与排列顺序一致,使得空间局部性比原程序好,故执行时间更短。

13.分析比较以下三个函数的空间局部性,并指出哪个最好,哪个最差?

参考答案:

对于函数1,其数组访问顺序与在内存的存放顺序完全一致,因此,空间局部性最好。

对于函数2,其数组访问顺序在每个数组元素内跳越式访问,相邻两次访问的单元最大相差3个型变量(假定()=4,则相当于12B),因此空间局部性比1差。若主存块大小比12B小的话,则大大影响命中率。

对于函数3,其数组访问顺序与在内存的存放顺序不一致,相邻两次访问的单元都相差6个型变量(假定()=4,则相当于24B)因此,空间局部性比2还差。若主存块大小比24B小的话,则大大影响命中率。

14.以下是计算两个向量点积的程序段:

( x[8], y[8])

{

= 0.0;

i,;

(i = 0; i < 8; ) x[i] * y[i];

;

}

要求:

(1)试分析该段代码中数组x和y的时间局部性和空间局部性,并推断命中率的高低。

(2)假定该段程序运行的计算机的数据采用直接映射方式,其数据区容量为32字节,每个主存块大小为16字节。假定编译程序将变量和i分配给寄存器,数组x存放在00000040H开始的32字节的连续存储区中,数组y紧跟在x后进行存放。试计算该程序数据访问的命中率,要求说明

每次访问的命中情况。

(3)将上述(2)中的数据改用2-路组相联映射方式,块大小改为8字节,其他条件不变,则该程序数据访问的命中率是多少?

(4)在上述(2)中条件不变的情况下,如果将数组x定义为[12],则数据访问的命中率是多少?

参考答案:

(1)数组x和y都按存放顺序访问,不考虑映射的情况下,空间局部性都较好,但都只被访问一次,故没有时间局部性。命中率的高低与块大小、映射方式等都有关,所以,无法推断命中率的高

低。

(2)采用直接映射方式,块大小为16字节,数据区大小为32字节,故共有2行。数组x的8个元素(共32B)分别存放在主存40H开始的32个单元中,共有2个主存块,其中x[0] ~ x[3]在第

4块,x[4] ~ x[7]在第5块中;数组y的8个元素(共32B)分别在主存第6块和第7块中。所

以,x[0] ~ x[3]和y[0] ~ y[3]都映射到第0行;

每调入一块,装入4个数组元素,因为x[i]和y[i]总是映射到同一行,相互淘汰对方,故每次都

不命中,命中率为0.

(3)改用2路组相联,块大小为8B,则共有4行,每组两行,共两组。

数组x有4个主存块,x[0] ~ x[1]、x[2] ~ x[3],x[4] ~ x[5],x[6] ~ x[7]分别在第8~11块中;

数组y有4个主存块,y[0] ~ y[1]、y[2] ~ y[3],y[4] ~ y[5],y[6] ~ y[7]分别在第12~15块中;

每调入一块,装入两个数组元素,第二个数组元素的访问总是命中,故命中率为50%。

(4)若(2)中条件不变,数组x定义了12个元素,共有48B,使得y从第7块开始,因而,x[i]和y[i]就不会映射到同一个行中,即:x[0] ~ x[3]在第4块,x[4] ~ x[7]在第5块,x[8] ~ x[11]在第6

块中,

每调入一块,装入4个数组元素,第一个元素不命中,后面3个总命中,故命中率为75%。

15.以下是对矩阵进行转置的程序段:

[4][4];

( , )

{

i, j;

(i = 0; i < 4; )

(j = 0; j < 4; )

[j][i] = [i][j];

}

假设该段程序运行的计算机中()=4,且只有一级,其中L1 的数据区大小为32B,采用直接映射、写回方式,块大小为16B,初始为空。数组从地址0000C000H开始存放,数组从地址0000C040H开始

存放。填写下表,说明数组元素[][]和[][]映射到的哪一行,其访问是命中()还是失效()。若L1 的数据区容量改为128B时,重新填写表中内容。

参考答案:

从程序来看,数组访问过程如下:

[0] [0]、[0] [0]、[0] [1]、[1] [0]、[0] [2]、[2] [0]、[0] [3]、[3] [0]

[1] [0]、[0] [1]、[1] [1]、[1] [1]、[1] [2]、[2] [1]、[1] [3]、[3] [1]

[2] [0]、[0] [2]、[2] [1]、[1] [2]、[2] [2]、[2] [2]、[2] [3]、[3] [2]

[3] [0]、[0] [3]、[3] [1]、[1] [3]、[3] [2]、[2] [3]、[3] [3]、[3] [3]

因为块大小为16B,每个数组元素有4个字节,所以4个数组元素占一个主存块,因此每次总是调入4个数组元素到的一行。

当数据区容量为32B时,L1 中共有2行。数组元素[0][i]、[2][i] 、[0][i]、[2][i] (0~3)都映射到第0行,数组元素[1][i]、[3][i] 、[1][i]、[3][i] (0~3)都映射到第1行。因此,从上述访问过程来看,

[0][0]所在的一个主存块(即存放[0][i] (0~3)四个数组元素)刚调入后,[0][0]所在主存块又把[0][0]

替换掉了。……

当数据区容量为128B时,L1 中共有8行。数组元素[0][i]、[1][i] 、[2][i]、[3][i]、[0][i]、[1][i]、

[2][i]、[3][i] (0~3) 分别映射到第0、1、2、3、4、5、6、7行。因此,不会发生数组元素的替换。

每次总是第一个数组元素不命中,后面三个数组元素都命中。

16.通过对方格中每个点设置相应的值就可以将方格图上相应的颜色。以下三个程序段都可实现对一个

8×8的方格中图上黄色的功能。

程序段A 程序段B 程序段C 假设的数据区大小为512B,采用直接映射,块大小为32B,存储器按字节编址,()=4。编译时变量i 和j分配在寄存器中,数组按行优先方式存放在000008C0H开始的连续区域中,主存地址为32位。要求:(1)对三个程序段A、B、C中数组访问的时间局部性和空间局部性进行分析比较。

(2)画出主存中的数组元素和中行的对应关系图。

(3)计算三个程序段A、B、C中的写操作次数、写不命中次数和写缺失率。

参考答案:

(1)对于时间局部性来说:

程序段A、B和C中,都是每个数组元素只被访问一次,所以都没有时间局部性;

对于空间局部性来说:

程序段A访问顺序和存放顺序一致,所以,空间局部性好;

程序段B访问顺序和存放顺序不一致,所以,空间局部性不好;

程序段C虽然访问顺序和存放顺序一致,但同一个主存块有两次访问,所以空间局部性不好;(2)的行数为5123216;数组首地址为0000 0C80H,因为0000 0C80H正好是主存第1100100B(100)块的起始地址。所以数组从主存第100块开始存放,一个数组元素占4×416B,所以每2个数组元素占用一个主存块。8×8的数组共占用32个主存块,正好是数据区大小的2倍。

主存中的数组元素与行的映射关系图如下:

(3)对于程序段A :

每两个数组元素(共涉及8次写操作)装入到一个行中,总是第一次访问时未命中,后面7次都命中,所以,总的写操作次数为64 × 4 = 256次,写不命中次数为256×1/8 = 32次,因而写缺失率为12.5%。 对于程序段B :

每两个数组元素(共涉及8次写操作)装入到一个行中,但总是只有一个数组元素(涉及4次写操作)在被淘汰之前被访问,并且总是第一次不命中,后面3次命中。即写不命中次数为256×1/4 = 64次,因而写缺失率为25%。 对于程序段C :

第一个循环共64次访问,每次装入两个数组元素,第一次不命中,第二次命中;第二个循环,共访问64×3次,每两个数组元素(共涉及6次写操作)装入到一个行中,并且总是第一次不命中,后面5次命中。所以总的写不命中次数为32+(3×64)×1/6 = 64次,因而总缺失率为25%。

17. 假设某计算机的主存地址空间大小为64,采用字节编址方式。其数据区容量为4,采用4路组相联映射

方式、替换和回写( )策略,块大小为64B 。请问:

(1)主存地址字段如何划分?要求说明每个字段的含义、位数和在主存地址中的位置。 (2)该的总容量有多少位?

(3)若初始为空,依次从0号地址单元顺序访问到4344号单元,重复按此序列共访问16次。若命中时

间为1个时钟周期,缺失损失为10个时钟周期,则访存的平均时间为多少时钟周期? 参考答案:

(1)的划分为:4 = 212B = 24组×22行/组×26字节/行,所以,组号(组索引)占4位。

主存地址划分为三个字段:高16位为标志字段、中间4位为组号、最低6位为块内地址。 即主存空间划分为:64 = 226B = 216组群×24块/组群×26字节/块

(2)共有64行,每行中有16位标志、1位有效位、1位修改()位、2位位,以及数据64B 。故总容

量为64×(16+1+1+2+64×8)=34048位。

(3)因为每块为64B ,访问的单元范围为0~4344,共4345个单元,4345/64=67.89,所以访问的是

主存块号 100# 101# 102# 103#

128# 129# 130# 131#

0# 1# 2# 3# 15#

4# 5#

115# 114# 116#

行号

主存前68块(第0~67块),也即的访问过程是对前68块连续访问16次,总访存次数为16×4345 = 69520。

共有16组,每组4行,采用算法的替换情况如下图所示:

根据图中所示可知,第一次循环的每一块只有第一次未命中,其余都命中;以后15次循环中,有20块的第一字未命中,其余都命中。所以命中率p 为(69520–68–15×20)/69520 = 99.47%

平均访存时间为: + (1–p) ×

=1+10×(1–p) = 1+0.0053×10 = 1.053个时钟周期

18. 假定某处理器可通过软件对高速缓存设置不同的写策略,那么,在下列两种情况下,应分别设置成什

么写策略?为什么?

(1)处理器主要运行包含大量存储器写操作的数据访问密集型应用。

(2)处理器运行程序的性质与(1)相同,但安全性要求高,不允许有任何数据不一致的情况发生。 参考答案:

(1)采用 策略较好,可减少访存次数。

(2)采用 策略较好,能保证数据的一致性。

19. 已知1采用直接映射方式,共16行,块大小为1个字,缺失损失为8个时钟周期;2也采用直接映射方式,

共4行,块大小为4个字,缺失损失为11个时钟周期。假定开始时为空,采用字编址方式。要求找出一个访问地址序列,使得2具有更低的缺失率,但总的缺失损失反而比1大。 参考答案:

假设1和2的缺失次数分别为x 和y ,根据题意,x 和y 必须满足以下条件: 11×y > 8×x 且 x > y ,显然,满足该条件的x 和y 有许多,例如,4,3、5,4等等。 对于以下的访问地址序列:0,1,4,8,1缺失4次,而2缺失3次;

对于以下的访问地址序列:0,2,4,8,12,1缺失5次,而2缺失4次;

对于以下的访问地址序列:0,3,4,8,12,16,20,1缺失7次,而2缺失6次; 如此等等,可以找出很多。

0 63

1

4344

128 4288 64 16次

1#

2#

67#

0# 65

68#

4352

20.提高关联度通常会降低缺失率,但并不总是这样。请给出一个地址访问序列,使得采用替换算法的2-

路组相联映射比具有同样大小的直接映射的缺失率更高。

参考答案:

2-路组相联的组数是直接映射的行数的一半,所以,可以找到一个地址序列A、B、C,使得:A映射到某一个行,B和C同时映射到另一个行,并且A、B、C映射到同一个组。这样,如果访存的地址序列为A、B、C、A、B、C、A、B、C …,则对于直接映射,其命中情况为:… 命中率可达33.3%。

对于组相联,因为A、B、C映射到同一个组,每组只有2行,采用替换算法,所以,每个地址处的数据刚调出就又被访问到,每次都是,命中率为0。

例如:假定直接映射为4行×1字/行,同样大小的2-路组相联为2组×2行/组×1字/行

当访问序列为:0、2、4、0、2、4、0、2、4、…(局部块大小为3)时,则出现上述情况。

当访问的局部块大于组的大小时,可能会发生“颠簸”现象:刚被替换出去的数据又被访问,导致缺失率为100%!

21.假定有三个处理器,分别带有以下不同的:

1:采用直接映射方式,块大小为1个字,指令和数据的缺失率分别为4%和6%;

2:采用直接映射方式,块大小为4个字,指令和数据的缺失率分别为2%和4%;

3:采用2-路组相联映射方式,块大小为4个字,指令和数据的缺失率分别为2%和3%。

在这些处理器上运行相同的程序,该程序的为2.0,其中有一半是访存指令。若缺失损失为(块大小+6)个时钟周期,处理器1和处理器2的时钟周期都为420,带有3的处理器3的时钟周期为450。请问:哪个处理器因缺失而引起的额外开销最大?哪个处理器执行速度最快?

参考答案:

假设所运行的程序共执行N条指令,每条访存指令仅读写一次内存数据,则在该程序执行过程中各处理器因缺失而引起的额外开销和执行时间计算如下。

对于处理器1:

额外开销为:N×(4% + 6%×50%)×(1+6) = 0.49 N个时钟周期

执行程序所需时间为:(N×2.0 +0.49N)×420 = 1045.8N

对于处理器2:

额外开销为:N×(24%×50%)×(4+6) = 0.40N个时钟周期

执行程序所需时间为:(N×2.0+0.40N)×4201008N

对于处理器3:

额外开销为:N×(23%×50%)×(4+6) = 0.35N个时钟周期

执行程序所需时间为:(N×2.0+0.35N)×4501057.5N

由此可见,处理器1的缺失引起的额外开销最大,处理器2的执行速度最快。

22.假定某处理器带有一个数据区容量为256B的,其块大小为32B。以下C语言程序段运行在该处理器上,

() = 4,编译器将变量i, j, c, s都分配在通用寄存器中,因此,只要考虑数组元素的访存情况。若采用直接映射方式,则当64和63时,缺失率分别为多少?若采用2-路组相联映射方式,则当64和63时,缺失率又分别为多少?

i, j, c, s, a[128];

……

( i = 0; i < 10000; )

( j = 0; j < 128; )

c = a[j];

参考答案:

已知块大小为32B,容量为256B = 8行×8字/行× 4字,仅考虑数组访问情况。

1) 直接映射,64: 访存顺序为a[0]、a[64] , a[0]、a[64], … … ,共循环10000次。这两个元素被映射

到同一个行中,每次都会发生冲突,因此缺失率为100%。

2) 直接映射,63: 访存顺序为a[0]、a[63]、a[126], a[0]、a[63]、a[126], … …共循环10000次。这三

个元素中后面两个元素因为映射到同一个行中,因此每次都会发生冲突,而a[0]不会发生冲突,故缺失率为67%。

3) 2-路组相联,64: 访存顺序为a[0]、a[64] , a[0]、a[64], … …, 共循环10000次。这两个元素虽然

映射到同一个组中,但可以放在该组不同行中,所以不会发生冲突,缺失率为0。

4) 2-路组相联,63: 访存顺序为a[0]、a[63]、a[126], a[0]、a[63]、a[126], … …共循环10000次。这

三个元素中后面两个元素虽映射到同一个组中,但可放在不同行中, 而a[0]不会发生冲突,故缺失率为0。

23.假定一个虚拟存储系统的虚拟地址为40位,物理地址为36位,页大小为16,按字节编址。若页表中有

有效位、存储保护位、修改位、使用位,共占4位,磁盘地址不在页表中,则该存储系统中每个进程的页表大小为多少?如果按计算出来的实际大小构建页表,则会出现什么问题?

参考答案:

因为每页大小有16,所以虚拟页数为240162(40-14)=226页。

物理页面和虚拟页面大小相等,所以物理页号的位数为36–14=22位。

页表项位数为:有效位+保护位+修改位+使用位+物理页号位数=4+22=26位。

为简化页表访问,每项大小取32位。因此,每个进程的页表大小为:226×32256。

如果按实际计算出的页表大小构建页表,则页表过大而导致页表无法一次装入内存。

24.假定一个计算机系统中有一个和一个L1 。该系统按字节编址,虚拟地址16位,物理地址12位;页大

小为128B,为四路组相联,共有16个页表项;L1 采用直接映射方式,块大小为4B,共16行。在系统运行到某一时刻时,、页表和L1 中的部分内容(用十六进制表示)如下:

组号标记页框号有效位标记页框号有效位标记页框号有效位标记页框号有效位

1

2

3

(a)(四路组相联):四组、16个页表项

虚页号页框号有效位行索引标记有效位字节3 字节2 字节1 字节0

00 0

01 1

02 2

03 3

04 4

05 5

06 6

07 7

08 8

09 9

0A A

0B B

0C C

0D D

0E E

0F F

(b) 部分页表:(开始16项)(c) L1 :直接映射,共16行,块大小为4B

请回答下列问题:

(1)虚拟地址中哪几位表示虚拟页号?哪几位表示页内偏移量?虚拟页号中哪几位表示标记?哪几位表示索引?

(2)物理地址中哪几位表示物理页号?哪几位表示页内偏移量?

(3)主存(物理)地址如何划分成标记字段、行索引字段和块内地址字段?

(4)从地址067中取出的值为多少?说明读取地址067中内容的过程。

参考答案:

(1)16位虚拟地址中低7位为页内偏移量,高9位为虚页号;虚页号中高7位为标记,低2位为组索引。

(2)12位物理地址中低7位为页内偏移量,高5位为物理页号。

(3)12位物理(主存)地址中,低2位为块内地址,中间4位为行索引,高6位为标记。

(4)地址0670000 0110 0111 1010B,所以,虚页号为0000011 00B,映射到的第00组,将000001103H 与第0组的四个标记比较,虽然和其中一个相等,但对应的有效位为0,其余都不等,所以缺失,需要访问主存中的慢表。直接查看0000011 00B =00处的页表项,有效位为1,取出物理页号

1911001B,和页内偏移111 1010B拼接成物理地址:11001 111 1010B。根据中间4位1110直接

找到第14行(即:第E行),有效位为1,且标记为33110011B,正好等于物理地址高6位,故

命中。根据物理地址最低两位10,取出字节2中的内容401001010B。

25.缓冲区溢出是指分配的某个内存区域(缓冲区)的大小比存放内容所需空间小。例如,在栈()中分配

了一块空间用于存放某个过程中的一个字符串,结果字符串长度超过了分配空间的大小。黑客往往会利用缓冲区溢出来植入入侵代码。请说明可以采用什么措施来防止缓冲区溢出漏洞。

计算机系统结构课后答案

1、数据结构和机器的数据表示之间是什么关系?确定和引入数据表示的基本原则是什么? 答:数据表示是能由硬件直接识别和引用的数据类型。数据结构反映各种数据元素或信息单元之间的结构关系。数据结构要通过软件映象变换成机器所具有的各种数据表示实现,所以数据表示是数据结构的组成元素。不同的数据表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性不同。数据表示和数据结构是软件、硬件的交界面。 除基本数据表示不可少外,高级数据表示的引入遵循以下原则:(1)看系统的效率有否提高,是否养活了实现时间和存储空间。(2)看引入这种数据表示后,其通用性和利用率是否高。 2、标志符数据表示与描述符数据表示有何区别?描述符数据表示与向量数据表示对向量数据结构所提供的支持有什么不同? 答:标志符数据表示指将数据类型与数据本身直接联系在一起,让机器中每个数所都带类型樗位。其优点是:(1)简化了指令系统和程序设计;(2)简化了编译程序;(3)便于实现一致性校验;(4)能由硬件自动变换数据类型;(5)支持数据库系统的实现与数据类型无关;(6)为软件调试和应用软件开发提供支持。缺点是:(1)会增加程序所点的主存空间;(2)在微观上对机器的性能(运算速度)不利。 数据描述符指数据的描述与数据分开存放,描述所访问的数据是整块还是单个的,及访问该数据块或数据元素的地址住处它具备标志符数据表示的优点,并减少了标志符数据表示所占的空间,为向量和数组结构的实现提供支持。 数据描述符方法优于标志符数据表示,数据的描述与数据分开,描述所访问的数据是整块还是单个的,及访问该数据块或数据元素的地址信息,减少了樗符数据表示所占的窨。用描述符方法实现阵列数据的索引比用变址方法实现要方便,且便于检查出程序中的阵列越界错误。但它不能解决向量和数组的高速运算问题。而在有向量、数组数据表示的向量处理机上,硬件上设置有丰富的赂量或阵列运算指令,配有流水或阵列方式处理的高速运算器,不仅能快速形成向量、数组的元素地址,更重要的是便于实现把向量各元素成块预取到中央处理机,用一条向量、数组指令流水或同时对整个向量、数组高速处理.如让硬件越界判断与元素运算并行。这些比起用与向量、阵列无关的机器语言和数据表示串行实现要高效的多。 3、堆栈型机器与通用寄存器型机器的主要区别是什么?堆栈型机器系统结构为程序调用的哪些操作提供了支持? 答:有堆栈数据表示的机器称为堆栈机器。它与一般通用寄存器型机器不同。通用寄存器型

计算机组成原理第四版课后习题答案完整版

第一章 1.比较数字计算机和模拟计算机的特点 解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的; 数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行。 两者主要区别见P1 表1.1。 2.数字计算机如何分类?分类的依据是什么? 解:分类:数字计算机分为专用计算机和通用计算机。通用计算机又分为巨型机、大型机、 中型机、小型机、微型机和单片机六类。 分类依据:专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。 通用机的分类依据主要是体积、简易性、功率损耗、性能指标、数据存储容量、 指令系统规模和机器价格等因素。

3.数字计算机有那些主要应用? (略) 4.冯. 诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分? 解:冯. 诺依曼型计算机的主要设计思想是:存储程序和程序控制。 存储程序:将解题的程序(指令序列)存放到存储器中; 程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完成运算任务。 主要组成部分有:控制器、运算器、存储器、输入设备、输出设备。 5.什么是存储容量?什么是单元地址?什么是数据字?什么是指令字? 解:存储容量:指存储器可以容纳的二进制信息的数量,通常用单位KB、MB、GB来度量,存储容 量越大,表示计算机所能存储的信息量越多,反映了计算机存储空间的大小。 单元地址:单元地址简称地址,在存储器中每个存储单

元都有唯一的地址编号,称为单元地 址。 数据字:若某计算机字是运算操作的对象即代表要处理的数据,则称数据字。 指令字:若某计算机字代表一条指令或指令的一部分,则称指令字。 6.什么是指令?什么是程序? 解:指令:计算机所执行的每一个基本的操作。 程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。 7.指令和数据均存放在内存中,计算机如何区分它们是指令还是数据? 解:一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的 信息即为数据信息。 8.什么是内存?什么是外存?什么是CPU?什么是适配器?简述其功能。

计算机系统结构 第四章(习题解答)

1. 假设一条指令的执行过程分为“取指令”、“分析”和“执行”三段,每一段的时间分别是△t 、2△t 和3△t 。在下列各种情况下,分别写出连续执行n 条指令所需要的时间表达式。 ⑴ 顺序执行方式。 ⑵ 仅“取指令”和“执行”重叠。 ⑶ “取指令”、“分析”和“执行”重叠。 答: 1 2 3 4 ...... 1 2 3 4 1 2 3 4 T =6△t +∑=1 -n 1 i i )t (执行=6△t +(n-1)(3△t)=(3n +3)△t △t 2△t 3△t

2. 一条线性流水线有4个功能段组成,每个功能段的延迟时间都相等,都为△t。开始5个任务, 每间隔一个△t向流水线输入一个任务,然后停顿2个△t,如此重复。求流水线的实际吞吐率、加速比和效率。 答: n→ I1:R1←A1+A2 I2:R2←A3+A4 I3:R3←A5+A6 I4:R4←A7+A8 I5:R5←A9+A10 I6:R6←R1+R2 I7:R7←R3+R4

I8:R8←R5+R6 I9:F←R7+R8 这并不是唯一可能的计算方法。假设功能段的延迟为Δt。时空图如下(图中的数字是指令号): I4:R3←A3*B3 I11:R10←R6+R7 I5:R4←A4*B4 I12:R11←R8+R9 I6:R5←A5*B5 I13:F←R10+R11 I7:R6←A6*B6 假设功能段的延迟为Δt。时空图如下(图中的数字是指令号): 1 2 3 4 5 6 7 8 9 10 11 12 13

1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 9 10 11 12 13 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 222324 整个计算过程需要24Δt,所以吞吐率为: 5. S 2 ⑴ ⑵ ⑶ 答: ⑴ 下表: ⑵ 每间隔两个△t向流水线的输入端连续输入新任务(如见下表所示)可获得最佳性能。

计算机系统结构课后答案unit3

第3章总线、中断与输入输出系统 3.1.简要举出集中式串行链接,定时查询和独立请求3种总线控制方式的优缺点。同时分析硬件产生故障时通讯的可靠性。 答:集中式串行链连接方式。其过程为: ①所有部件都经公共的“总线请求”线向总线控制器发使用总线申请。 ②当“总线忙”信号未建立时,“总线请求”才被总线控制器响应,送出“总线可用”信号,它串行地通过每个部件。 ③如果某部件未发过“总线请求”,则它将“总线可用”信号往下一部件转,如果某部件发过“总线请求”,则停止“总线可用”信号的传送。 ④该部件建立“总线忙”,并除去“总线请求”,此时该部件获得总线使用权,准备传送数据。 ⑤数据传送期间,“总线忙”维持“总线可用”的建立。 ⑥传送完成后,该部件去除“总线忙”信号和“总线可用”信号。 ⑦当“总线请求”再次建立时,就开始新的总线分配过程。 优点:①选择算法简单;②控制总线数少;③可扩充性好;④可靠性高。 缺点:①对“总线可用”线及其有关电路失效敏感,②不灵活;③总线中信号传送速度慢。 集中式定时查询方式,过程: ①总线上每个部件通过“总线请求”发请求。 ②若“总线忙”信号未建立,则计数器开始计数,定时查询个部件,以确定是谁发的请求。 ③当查询线上的计数值与发出请求的部件号一致时,该部件建立“总线忙”,计数停止,查询也停止。除去“总线请求”,该部件获得总线使用权。 ④“总线忙”维持到数据传送完毕。 ⑤数据传送完,去除“总线忙”。 ⑥当“总线请求”线上有新的请求,就开始下一个总线分配过程。 优点:①优先次序灵活性强;②可靠性高。 缺点:①控制线数较多;②扩展性较差;③控制较为复杂;④总线分配受限于计数信号,不能很高。 集中式独立请求方式,过程:

计算机组成原理练习题答案

一、选择题 1、完整的计算机系统应包括运算器、存储器、控制器。 一个完整的计算系统应该是:硬件系统和软件系统,硬件系统应该包括运算器,控制器,存储器,输入设备和输出设备,软件系统包括系统软件和应用软件.而你给的答案中B和D是可以排除的,也就是不能选,A和C两个中A的可能性最大,答案只能选A. 3、冯. 诺依曼计算机工作方式的基本特点是按地址访问并顺序执行指令。 4、移码表示法主要用于表示浮点数中的阶码。 5、动态RAM的刷新是以行为单位的。 8、在定点运算器中产生溢出的原因是运算的结果的超出了机器的表示范围。 10、在指令的地址字段中,直接指出操作数本身的寻址方式,称为立即寻址。 11、目前的计算机,从原理上讲指令和数据都以二进制形式存放。 13、计算机问世至今,新型机器不断推陈出新,不管怎样更新,依然保有“存储程序”的概念,最早提出这种概念的是冯. 诺依曼。 16、在CPU中,跟踪后继指令地址的寄存器是程序计数器。 20、系统总线中地址总线的作用是用于选择指定的存储单元或外设。 21、计算机中的主机包含运算器、控制器、存储器。 23、原码一位乘运算,乘积的符号位由两个操作数的符号进行异或运算。 24、对于真值“0”表示形式唯一的机器数是移码和补码。 25、若[X]补=0.0100110,则[X]反= 0.0100110。--x为正数 26、在CPU中,存放当前执行指令的寄存器是指令寄存器。 保存当前正在执行的指令的寄存器称为(指令寄存器)。 指示当前正在执行的指令地址的寄存器称为(程序计数器或指令计数器)。 27、下列编码中通常用作字符编码的是ASCII码。 ASCII ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。 28、在下列存储器中,半导体存储器可以作为主存储器。 30、在CPU中跟踪指令后继地址的寄存器是PC。 31、EPROM是指光擦除可编程的只读存储器。

完整版计算机体系结构课后习题原版答案_张晨曦著

第1章计算机系统结构的基本概念 (1) 第2章指令集结构的分类 (10) 第3章流水线技术 (15) 第4章指令级并行 (37) 第5章存储层次 (55) 第6章输入输出系统 (70) 第7章互连网络 (41) 第8章多处理机 (45) 第9章机群 (45) 第1章计算机系统结构的基本概念 1.1 解释下列术语 层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。 虚拟机:用软件实现的机器。 翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。

解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。 计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。 在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。 计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。 计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。 系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。 Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。 程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。包括时间局部性和空间局部性。

计算机组成与结构习题及答案

第一章:概述 一、选择题 1.完整的计算机系统应包括__ ___。 A. 运算器、存储器、控制器 B. 外部设备和主机 C. 主机和实用程序 D. 配套的硬件设备和软件系统 2.至今为止,计算机中的所有信息仍以二进制方式表示的理由是_ __。 A. 节约元件 B. 运算速度快 C. 物理器件的性能决定 D. 信息处理方便3.从系统结构看,至今绝大多数计算机仍属于__ __型计算机。 A. 并行 B. .诺依曼 C. 智能 D. 实时处理 4.计算机外围设备是指__ ___。 A. 输入/输出设备 B. 外存储器 C. 远程通讯设备 D. 除CPU和存以外的其他设备 5.在微型机系统中,外围设备通过___ ___与主板的系统总线相连接。 A. 适配器 B. 译码器 C. 计数器 D. 寄存器 6.·诺依曼机工作的基本方式的特点是__ ____。 A. 多指令流单数据流 B. 按地址访问并顺序执行指令 C. 堆栈操作 D. 存贮器按容选择地址 7.微型计算机的发展一般是以_____技术为标志。 A. 操作系统 B. 微处理器 C. 磁盘 D. 软件 8.下列选项中,___ ___不属于硬件。 A. CPU B. ASCII C. 存 D. 电源 9.对计算机的软、硬件进行管理是__ ____的功能。 A. 操作系统 B. 数据库管理系统 C. 语言处理程序 D. 用户程序 10.下面的四个叙述中,只有一个是正确的,它是____。 A.系统软件就是买的软件,应用软件就是自己编写的软件 B.外存上的信息可以直接进入CPU被处理 C.用机器语言编写的程序可以由计算机直接执行,用高级语言编写的程序必须经过编译(解释)才能执行 D.如果说一台计算机配置了FORTRAN语言,就是说它一开机就可以用FORTRAN 语言编写和执行程序 答案:1.D 2C. 3.B. 4.D. 5.A. 6B 7.B 8. B 9. A 10. C 二、判断题 1.在微型计算机广阔的应用领域中,会计电算化应属于科学计算应用方面。 2.决定计算机计算精度的主要技术指标一般是指计算机的字长。 3.计算机“运算速度”指标的含义是指每秒钟能执行多少条操作系统的命令。 4.利用大规模集成电路技术把计算机的运算部件和控制部件做在一块集成电路芯片上,这样的一块芯片叫做单片机。 答案:1.答案:错。2.答案:对。3.答案:错。4.答案:错。

(完整版)计算机系统结构试题及答案

计算机系统结构复习题 单选及填空: 计算机系统设计的主要方法 1、由上往下的设计(top-down) 2、由下往上的设计(bottom-up) 3、从中间开始(middle-out) Flynn分类法把计算机系统的结构分为以下四类: (1)单指令流单数据流 (2)单指令流多数据流 (3)多指令流单数据流 (4) 多指令流多数据流 堆栈型机器:CPU 中存储操作数的单元是堆栈的机器。 累加器型机器:CPU 中存储操作数的单元是累加器的机器。 通用寄存器型机器:CPU 中存储操作数的单元是通用寄存器的机器。 名词解释: 虚拟机:用软件实现的机器叫做虚拟机,但虚拟机不一定完全由软件实现,有些操作可以由硬件或固件(固件是指具有软件功能的固件)实现。 系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。 兼容机:它是指由不同公司厂家生产的具有相同系统结构的计算机。 流水线技术:将一个重复的时序过程,分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其它子过程同时执行。 单功能流水线:指流水线的各段之间的连接固定不变、只能完成一种固定功能的流水线。 多功能流水线:指各段可以进行不同的连接,以实现不同的功能的流水线。 顺序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序完全相同。 乱序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序可以不同,允许后进入流水线的任务先完成。这种流水线又称为无序流水线、错序流水线、异步流水线。 吞吐率:在单位时间内流水线所完成的任务数量或输出结果的数量。 指令的动态调度:

是指在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。是由硬件在程序实际运行时实施的。 指令的静态调度: 是指依靠编译器对代码进行静态调度,以减少相关和冲突。它不是在程序执行的过程中、而是在编译期间进行代码调度和优化的。 超标量: 一种多指令流出技术。它在每个时钟周期流出的指令条数不固定,依代码的具体情况而定,但有个上限。 超流水:在一个时钟周期内分时流出多条指令。 多级存储层次: 采用不同的技术实现的存储器,处在离CPU不同距离的层次上,各存储器之间一般满足包容关系,即任何一层存储器中的内容都是其下一层(离CPU更远的一层)存储器中内容的子集。目标是达到离CPU最近的存储器的速度,最远的存储器的容量。 写直达法: 在执行写操作时,不仅把信息写入Cache中相应的块,而且也写入下一级存储器中相应的块。写回法: 只把信息写入Cache中相应块,该块只有被替换时,才被写回主存。 集中式共享多处理机: 也称为对称式共享存储器多处理SMP。它一般由几十个处理器构成,各处理器共享一个集中式的物理存储器,这个主存相对于各处理器的关系是对称的, 分布式共享多处理机: 它的共享存储器分布在各台处理机中,每台处理机都带有自己的本地存储器,组成一个“处理机-存储器”单元。但是这些分布在各台处理机中的实际存储器又合在一起统一编址,在逻辑上组成一个共享存储器。这些处理机存储器单元通过互连网络连接在一起,每台处理机除了能访问本地存储器外,还能通过互连网络直接访问在其他处理机存储器单元中的“远程存储器”。 多Cache一致性: 多处理机中,当共享数据进入Cache,就可能出现多个处理器的Cache中都有同一存储器块的副本,要保证多个副本数据是一致的。 写作废协议: 在处理器对某个数据项进行写入之前,它拥有对该数据项的唯一的访问权 。 写更新协议: 当一个处理器对某数据项进行写入时,它把该新数据广播给所有其它Cache。这些Cache用该新数据对其中的副本进行更新。 机群:是一种价格低廉、易于构建、可扩放性极强的并行计算机系统。它由多台同构或异构

计算机系统结构_课后答案

习题一 1、解释下列术语 计算机系统的外特性:通常所讲的计算机系统结构的外特性是指机器语言程序员或编译程序编写者所看到的外特性,即由他们所看到的计算机的基本属性(概念性结构和功能特性)。 计算机系统的内特性:计算机系统的设计人员所看到的基本属性,本质上是为了将有关软件人员的基本属性加以逻辑实现的基本属性。 模拟:模拟方法是指用软件方法在一台现有的计算机上实现另一台计算机的指令系统。 可移植性:在新型号机出台后,原来开发的软件仍能继续在升级换代的新型号机器上使用,这就要求软件具有可兼容性,即可移植性。可兼容性是指一个软件可不经修改或只需少量修改,便可由一台机器移植到另一台机器上运行,即同一软件可应用于不同环境。 Amdahl 定律:系统中对于某一部件采用某种更快的执行方式所能获得的系统性能改进程度,取决于这种执行方式被使用的频度或占总执行时间的比例。 虚拟机(Virtual Machine ):指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。 6、 7、假定求浮点数平方根的操作在某台机器上的一个基准测试程序中占总执行时间的20%,为了增强该操作的性能,可采用两种不同的方法:一种是增加专门的硬件,可使求浮点数平方根操作的速度提高为原来的20倍;另一种方法是提高所有浮点运算指令的速度,使其为原来的2倍,而浮点运算指令的执行时间在总执行时间中占30%。试比较这两种方法哪一种更好些。 答:增加硬件的方法的加速比23.120 /2.0)2.01(1 1=+-= p S , 另一种方法的加速比176.12 /3.0)3.01(1 2=+-=p S ,经计算可知Sp1>Sp2第一种方 法更好些。 9、假设高速缓存Cache 的工作速度为主存的5倍,且Cache 被访问命中的概率

计算机组成原理练习题及参考答案

1.10111000当做无符号数的值为多少,当做整数的值为多少,当做定点小数的值为多少?(十进制数) 无符号:2^7+2^5+2^4+2^3=128+32+16+8=184 整数:10111000 定点小数:10111000 11000111(取反) 11000111(取反) + 1 + 1 11001000 11001000 -(2^3+2^6)=-72 -(1/2+1/16)=-9/16 2.已知接受到的信息为001100001111,其中有效数据位为8位,运用海明码检测,问信息传输是否有错?8位的数据值是多少? 编号 检测位 数据位 12 1100 0 M8 C1=M1⊕M2⊕M4⊕M5⊕M7=0 11 1011 0 M7 C2=M1⊕M3⊕M4⊕M6⊕M7=0 10 1010 1 M6 C4=M2⊕M3⊕M4⊕M8=0 9 1001 1 M5 C8=M5⊕M6⊕M7⊕M8=0 8 1000 0 C8 7 0111 0 M4 发:0111 6 0110 0 M3 收:0000 5 0101 0 M2 发 ⊕收=0111 4 0100 1 C4 即M4出错则数据实为00111001 3 0011 1 M1 2 0010 1 C2 1 0001 1 C1 3.已知原始报文为1111,生成多项式为G (x )=x 4+x 2 +x+1,求编码后的报文 (1):将生成多项式为G (x )=x 4+x 2 +x+1,转换成对应的二进制为10111 (2)生成多项式为5(R+1)位,将原始报文左移4(R)位为11110000 (3)进行模2除 _______00011__________ ______ 10111________________00010100_____________10111_______________010010________ 10111_____1101 11110000 10111 (4)编码CRC 码为11110011 4.采用IEEE754标准的32位短浮点数格式,即0-22位为尾数,23-30位为阶码位,第1位为数符,其中阶码偏置为127,试求出32位浮点代码CC9E23AF 的真值(结果可用任何进

计算机体系结构课后答案

计算机体系结构课后答案

计算机体系结构课后答案 【篇一:计算机体系结构习题(含答案)】 1、尾数用补码、小数表示,阶码用移码、整数表示,尾数字长p=6(不包括符号位),阶码字长q=6(不包括符号位),为数基值rm=16,阶码基值re=2。对于规格化浮点数,用十进制表达式写出如下数据(对于前11项,还要写出16进值编码)。 (1)最大尾数(8)最小正数 (2)最小正尾数(9)最大负数 (3)最小尾数(10)最小负数 (4)最大负尾数(11)浮点零 (5)最大阶码(12)表数精度 (6)最小阶码(13)表数效率 (7)最大正数(14)能表示的规格化浮点数个数 2.一台计算机系统要求浮点数的精度不低于10-7.2,表数范围正数不小于1038,且正、负数对称。尾数用原码、纯小数表示,阶码用移码、整数表示。 (1) 设计这种浮点数的格式 (2) 计算(1)所设计浮点数格式实际上能够表示的最大正数、最大负数、表数精度和表数效率。 3.某处理机要求浮点数在正数区的积累误差不大于2-p-1 ,其中,p是浮点数的尾数长度。 (1) 选择合适的舍入方法。

(2) 确定警戒位位数。 (3) 计算在正数区的误差范围。 4.假设有a和b两种不同类型的处理机,a处理机中的数据不带标志符,其指令字长和数据字长均为32位。b处理机的数据带有标志符,每个数据的字长增加至36位,其中有4位是标志符,它的指令数由最多256条减少到不到64条。如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。对于一个由1000条指令组成的程序,分别计算这个程序在a处理机和b处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发? 5.一台模型机共有7条指令,各指令的使用频率分别为35%,25%,20%,10%,5%,3%和2%,有8个通用数据寄存器,2个变址寄存器。 (1) 要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。 6.某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令3类,并假设每个地址字 段的长度均为6位。 (1) 如果双地址指令有15条,单地址指令和零地址指令的条数基本相同,问单地址指令和零地址指令各有多少条?并且为这3类指令分配操作码。 (2) 如果要求3类指令的比例大致为1:9:9,问双地址指令、单地址指令和零地址指令各有多少条?并且为这3类指令分配操作码。 7.别用变址寻址方式和间接寻址方式编写一个程序,求c=a+b,其中,a与b都是由n个元素组成的一维数组。比较两个程序,并回答下列问题: (1) 从程序的复杂程度看,哪一种寻址方式更好?

计算机组成原理习题解答全解

《计算机组成原理》习题解答 第1章 1. 解释概念或术语:实际机器、虚拟机器,机器指令、机器指令格式,主机、CPU、主存、I/O、PC、IR、ALU、CU、AC、MAR、MDR,机器字长、存储字长、指令字长、CPI、T C、主频、响应时间、吞吐量、MIPS、MFLOPS。 答:略 2. 如何理解计算机系统的层次结构?说明高级语言、汇编语言及机器语言的差别与联系。 答:⑴计算机系统是由软件和硬件结合而成的整体。为了提高计算机系统的好用性,程序设计语言的描述问题能力越来越强,各种程序设计语言大体上是一种层次结构,即高等级编程语言指令包含低等级编程语言指令的全部功能。 对于使用不同层次编程语言的程序员来说,他们所看到的同一计算机系统的属性是不同的,这些属性反映了同一计算机系统的不同层次的特征,即同一计算机系统可划分成多个层次结构,不同层次的结构反映的计算机系统的特征不同而已。 ⑵机器语言是能够被计算机硬件直接识别和执行的程序设计语言,机器语言是一种面向硬件的、数字式程序设计语言;汇编语言和高级语言均用符号表示机器语言指令,指令很容易阅读和编写、但不能被硬件直接识别和执行,它们均是一种面向软件的、符号式程序设计语言;相对于汇编语言而言,高级语言描述问题的能力更强;高级语言和汇编语言程序必须翻译成机器语言程序后,才能在计算机硬件上执行。 3. 计算机系统结构、计算机组成的定义各是什么?两者之间有何关系? 答:计算机系统结构是指机器语言程序员或编译程序编写者所看到的计算机系统的属性,包括概念性结构和功能特性两个方面。主要研究计算机系统软硬件交界面的定义及其上下的功能分配。 计算机组成是指计算机硬件设计人员所看到的计算机系统的属性。主要研究如何合理地逻辑实现硬件的功能。 计算机组成是计算机系统结构的逻辑实现。 4. 冯·诺依曼模型的存储程序原理包含哪些内容、对计算机硬件和软件有哪些要求?冯·诺依曼模型计算机的特点有哪些? 答:存储程序原理是指程序和数据预先存放在存储器中,机器工作时自动按程序的逻辑顺序从存储器中逐条取出指令并执行。 存储程序原理要求存储器是由定长单元组成的、按地址访问的、一维线性空间结构的存储部件;要求软件指令支持用地址码表示操作数在存储器中的地址,指令长度为存储单元长度的倍数,编程语言中必须有转移型指令,以实现程序存储顺序到程序逻辑顺序的转变。 冯·诺依曼模型计算机的特点可归纳为如下几点: ⑴计算机由运算器、控制器、存储器、输入设备和输出设备组成; ⑵存储器是由定长单元组成的、按地址访问的、一维线性空间结构; ⑶程序由指令组成,指令和数据以等同地位存放在存储器中; ⑷机器工作时自动按程序的逻辑顺序从存储器中逐条取出指令并执行; ⑸指令由操作码和地址码组成,操作码用于表示操作的性质,地址码用于表示操作数在

《计算机系统结构》与参考答案

2.以下各类中断中,属于自愿中断的是 C. A. 外部中断 B. I/O中断 C. 执行“访管”指令 D. 机器校验中断 3.高速外部设备磁盘机适合连接于 C. A. 选择通道或字节多路通道 B. 数组多路通道或字节多路通道 C.数组多路通道或选择通道 D.任意一种通道 4.页式虚拟存储器页表的作用是 A . A. 反映虚页在主存的存储情况 B.仅反映虚页是否调入主存 C. 反映主存实页与Cache 的对应关系 D. 反映虚页在辅存的存储情况5.软件和硬件的功能在逻辑上是C的 . A.固件优于软件 B.不等价 C.等价 D.软件优于固件 6.计算机中最优化的操作码编码方法是D. A.BCD 码 B.ASCII码 C.扩展操作码 D.哈夫曼编码 7.从计算机系统执行程序的角度看,并行性等级由低到高分为四级A. A .指令内部——指令之间——进程之间——程序之间 B .指令之间——指令内部——进程之间——程序之间 C.进程之间——指令之间——指令内部——程序之间 D .程序之间——进程之间——指令之间——指令内部 8.计算机系统多级层次结构中,操作系统机器级的直接上层是D. A .传统机器级 B .高级语言机器 C.应用语言机器级D.汇编语言机器级 9.全相联地址映像是指A. A. 任何虚页都可装入主存中任何实页的位置 B.一个虚页只装进固定的主存实页位置 C.组之间是固定的,而组内任何虚页可以装入任何实页位置 D.组间可任意装入,组内是固定装入 10.对于同一系列机,必须保证软件能够C. A .向前兼容,并向上兼容 B .向前兼容,并向下兼容C.向后兼容,力争向上兼容D .向后兼容,力争向下兼容11.设有 16 个处理单元的并行处理机系统, 采用共享主存的方式. 若同时存取16 个数据 , 为避免存储器访问冲突, 共享主存的多体数量应该为C才合理 . A. 15 B. 16 C. 17 D. 19 12.软件兼容的根本特征是C. A.向前兼容 B.向后兼容 C. 向上兼容 D. 向下兼容 13.在下列机器中,能够实现软件兼容的机器是 B. A.完全不同种类的机型 B.系统结构相同的机器 C. 宿主机和目标机 D.虚拟机 14.输入输出系统硬件的功能对C是透明的。 A. 操作系统程序员 B. 所有类别的程序员 C. 应用程序员 D. 系统结构设计师 15.在下列各项选择中,对于机器( 汇编 ) 语言程序员透明的是 D. A.通用寄存器 B. 条件码 C.中断字 D.主存储器地址寄存器 一、单项选择题 1.在流水机器中,全局性相关是指 B. A.指令相关 B. 由条件转移指令引起的相关 C “先读后写”相关 D.“先写后读”相关 2.以下不属于多处理机操作系统类型的是A. A .Windows 操作系统B.主从型操作系 C.浮动型操作系统 D .各自独立型操作系统 3.下列不是数据流计算特点的是D. A. 设置状态 B.没有指令计数器 C.没有变量的概念 D.操作结果不产生副作用 4.若输入流水线的指令既无局部性相关,也不存在全局性相关,则B. A. 可获得高的吞吐率和效率 B.出现瓶颈 C.流水线的效率和吞吐率恶化 D.可靠性提高 5.消除“一次重叠”中的“指令相关”最好方法是B. A. 不准修改指令 B.设置相关专用通路 C.推后分析下条指令 D.推后执行下条指令 6.流水线的技术指标不包括A. A. 数据宽度 B.吞吐率 C.加速比 D.效率 7.按照弗林对处理机并行性定义的分类原则,阵列机ILLIAC IV属于B. A.SISD B.SIMD C.MISD D.MIMD 8.设 8 个处理器编号分别为0,1, 2,?,7 用 Cube0 互联函数时,第7 号处理机可以与第D号处理机相联 . A. 0 B. 2 C. 4 D. 6 9.多端口存储器适合于连接 B. A .松耦合多处理机B.紧耦合多处理机C.机数很多的多处理机 D .机数可变的多处理机 10.以下不属于堆栈型替换算法的是A. A .先进先出法B.近期最久未用过法 C.近期最少使用法D.页面失效频率法 11.解决主存空间数相关的办法是C. A.基址值一次相关直接通路法 B.基址值二次相关直接通路法 C.通用寄存器组相关专用通路相关法 D. 推后读法 12. 一般来说 , 以下替换算法中 , 效果最优的替换算法是C. A. LRU 替换算法 B. FIFO 替换算法 C. OPT 替换算法 D. RAND替换算法

计算机体系结构课后习题

第1章 计算机系统结构的基本概念 试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。 答:如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。选择存储芯片类型、微组装技术、线路设计等属于计算机实现。 计算机组成是计算机系统结构的逻辑实现。计算机实现是计算机组成的物理实现。一种体系结构可以有多种组成。一种组成可以有多种实现。 计算机系统设计中经常使用的4个定量原理是什么?并说出它们的含义。 答:(1)以经常性事件为重点。在计算机系统的设计中,对经常发生的情况,赋予它优先的处理权和资源使用权,以得到更多的总体上的改进。(2)Amdahl 定律。加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。(3)CPU 性能公式。执行一个程序所需的CPU 时间 = IC ×CPI ×时钟周期时间。(4)程序的局部性原理。程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。 计算机系统中有三个部件可以改进,这三个部件的部件加速比为: 部件加速比1=30; 部件加速比2=20; 部件加速比3=10 (1) 如果部件1和部件2的可改进比例均为30%,那么当部件3的可改进比例为多少时,系统加速比才可以达到10? (2) 如果三个部件的可改进比例分别为30%、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少? 解:(1)在多个部件可改进情况下,Amdahl 定理的扩展: ∑∑+-= i i i n S F F S )1(1 已知S 1=30,S 2=20,S 3=10,S n =10,F 1=,F 2=,得: ) ()(10/20/0.330/0.30.30.3-11 1033F F +++++= 得F 3=,即部件3的可改进比例为36%。 (2)设系统改进前的执行时间为T ,则3个部件改进前的执行时间为:(++)T = ,不可改进部分的执行时间为。 已知3个部件改进后的加速比分别为S 1=30,S 2=20,S 3=10,因此3个部件改进后的执行时间为: T T T T T n 045.010 2.020 3.0303.0'=++= 改进后整个系统的执行时间为:Tn = + = 那么系统中不可改进部分的执行时间在总执行时间中占的比例是: 82.0245.02.0=T T 假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。具体数据如下表所示: 操作类型 程序中的数量 (百万条指令) 改进前的执行时间 (周期) 改进后的执行时间 (周期)

计算机组成原理习题及答案

1、计算机硬件能直接执行的只有() A、符号语言 B、机器语言 C、机器语言和汇编语言 D、汇编语言 2、完整的计算机系统应包括 A、运算器、存储器、控制器 B、外部设备和主机 C、主机和实用程序 D、配套的硬件设备和软件系统 3、下列数中最大的数为 A、(10010101)2 B、(227)8 C、(101001)BCD D、(233)16 9、运算器虽有许多部件组成,但核心部分是 A、数据总线 B、算术逻辑运算单元 C、多路开关 D、通用寄存器 10、四片74181ALU和一片74182CLA器件相配合,具有如下进位传递功能: A、行波进位 B、组内先行进位,组间先行进位 C、组内先行进位,组间行波进位 D、组内行波进位,组间先行进位 11、在定点数运算中产生溢出的原因是 A、运算过程中最高位产生了进位或错位 B、参加运算的操作数超出了机器的表示范围 C、运算的结果的操作数超出了近期的表示范围 D、寄存器的位数太少,不得不舍弃最低有效位 12、存储器是计算机系统中的记忆设备,它主要用来 A、存放数据 B、存放程序 C、存放数据和程序 D、存放微程序 13、存储周期是指 A、存储器的读出时间 B、存储器的写入时间 C、存储器进行连续读和写操作所允许的最短时间间隔 D、存储器进行连续写操作所允许的最短时间间隔 14、某单片机字长16位,它的存储量64KB,若按字编址,那么它的寻址范围是 A、64K B、32K C、64KB D、32KB 15、某DRAM芯片,其存储容量为512K X 16位,该芯片的地址线盒数据线的数目是 A、8,512 B、512,8 C、18,8 D、19,8 16、交叉存储器实质上是一种存储器,它能执行独立的读写操作 A、模块式,并行,多个 B、模块式,串行,多个 B、整体式,并行,多个 D、整体式,串行,多个 17、主存储器和CPU之间增加cache的目的是 A、解决CPU和主存光之剑的速度匹配问题 B、扩大主存储器的容量 C、扩大CPU中通用寄存器的数量 D、既扩大主存容量又扩大CPU通用寄存器数量 18、下列因素下,与chahe的命中率无关的是 A、主存的存取时间 B、块的大小 C、cache的组织方式 D、cache的容量 19、寄存器间接寻址方式中,操作数处在 A、通用寄存器 B、主存单元 C、程序计数器 D、堆栈 20、下列几项中,不符合RISC指令系统的特点是

计算机体系结构课后习题原版答案 张晨曦著

第1章计算机系统结构的基本概念 1.1 解释下列术语 层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。 虚拟机:用软件实现的机器。 翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。 解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。 计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。 透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。 计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。 计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。 系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。 Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。 程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。包括时间局部性和空间局部性。 CPI:每条指令执行的平均时钟周期数。 测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。 存储程序计算机:冯·诺依曼结构计算机。其基本点是指令驱动。程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。 系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。 软件兼容:一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。差别只是执行时间的不同。 向上(下)兼容:按某档计算机编制的程序,不加修改就能运行于比它高(低)档的计算机。向后(前)兼容:按某个时期投入市场的某种型号计算机编制的程序,不加修改地就能运行于在它之后(前)投入市场的计算机。 兼容机:由不同公司厂家生产的具有相同系统结构的计算机。 模拟:用软件的方法在一台现有的计算机(称为宿主机)上实现另一台计算机(称为虚拟机)的指令系统。 仿真:用一台现有计算机(称为宿主机)上的微程序去解释实现另一台计算机(称为目标机)的指令系统。 并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。只要在时间上相

计算机组成习题及解答.

第1章计算机系统概论 一、选择题 1.在下列四句话中,最能准确反映计算机主要功能的是。 A.计算机可以存储大量信息 B.计算机能代替人的脑力劳动 C.计算机是一种信息处理机 D.计算机可实现高速运算 解:答案为C。 2.1946年2月,在美国诞生了世界上第一台电子数字计算机,它的名字叫ENIAC ,1949年研制成功的世界上第一台存储程序式的计算机称为EDV AC 。 3.计算机硬件能直接执行的只能是。 A.符号语言 B.机器语言 C.汇编语言 D.机器语言和汇编语言 解:答案为B。 4.运算器的核心部件是。 A.数据总线 B.数据选择器 C.累加寄存器 D.算术逻辑运算部件 解:答案为D。 5.存储器主要用来。 A.存放程序 B.存放数据 C.存放微程序 D.存放程序和数据 解:答案为D。 6.目前我们所说的个人台式商用机属于。 A.巨型机 B.中型机 C.小型机 D.微型机 解:答案为D。 7.至今为止,计算机中所含所有信息仍以二进制方式表示,其原因是。 A.节约元件 B.运算速度快 C.物理器件性能决定 D.信息处理方便 解:答案为C。 8.对计算机软、硬件资源进行管理,是的功能。 A.操作系统 B.数据库管理系统 C.语言处理程序 D.用户程序 解:答案为A。 9.企事业单位用计算机计算、管理职工工资,这属于计算机的应用领域。 A.科学计算 B.数据处理 C.过程控制 D.辅助设计 解:答案为B。 10.微型计算机的发展以技术为标志。 A.操作系统 B.微处理器 C.硬盘 D.软件 解:答案为B。 二、填空题 1.操作系统是一种(1),用于(2),是(3)的接口。 (1)A.系统程序 B.应用程序 C.用户程序 D.中间件 (2)A.编码转换 B.操作计算机 C.管理和控制计算机的资源 D.把高级语言程序翻译成机器语言程序

计算机体系结构第四章练习题参考解答

第 四 章 4.52 浮点数系统使用的阶码基值r e =2,阶值位数q=2,尾数基值r m =10,尾数位数p ′=1,即按照使用的二进制位数来说,等价于p=4。计算在非负阶、正尾数、规格化情况下的最小尾数值、最大尾数值、最大阶值、可表示的最小值和最大值及可表示数的个数。 解: 最小尾数值:r m -1 = 10-1 = 0.1 最大尾数值:1- r m -p ′ =1-10-1 = 0.9 最大阶值:2q -1=3 可表示数的最小值:1×r m -1 = 10-1 = 0.1 可表示数的最大值:r m 2q-1×(1- r m -p ′)=103(1-10-1)= 900 可表示数的个数:2q ×r m p ′(r m -1)/r m = 22×101(10-1)/10 = 36 4.53 一台机器要求浮点数的字长的精度不低于10-7.2,表数的范围正数不小于1038,且 正负对称。尾数用原码、纯小数表示,阶码用移码、整数表示。设计这种浮点数的格式。 解 依题意,取表数范围N =1038,表数精度δ=10-7.2。 由式(4-4)得:37log(log10log 21) log 2 q +> = 6.99,上取整,得到阶码字长q=7。 由式(4-5)得: 16 log1053.2 log 2 p --> =,上取整,得到尾数字长p=24。 从而加上一个尾数符号位和一个阶码符号位,浮点数的总字长为:p+q+2=24+7+2=33。 实际浮点数总字长应为8的倍数,故取浮点数总字长为40位。多出的7位可以加到尾数字长p 中用于提高浮点数的表数精度,也可以加到阶码字长q 中来扩大浮点数的表数范围。暂且让p 增加6位,q 增加1位,即p=30,q=8。如图4-8所示是设计出来的浮点数格式。 图4-8 例4.2浮点数的设计格式 4.58 用于文字处理的某专用机,每个文字符用4位十进制数字(0~9)编码表示,空格用︼表示。在对传送的文字符和空格进行统计后,得出它们的使用频度如下: ︼:0.20 0:0.17 1:0.06 2:0.08 3:0.11 4:0.08 5: 0.05 6:0.08 7:0.13 8:0.03 9:0.01 (1)若对数字0~9和空格采用二进制编码,试设计编码平均长度最短的编码。 (2)若传送106个文字符号,且每个文字符号后均自动跟一个空格,按最短的编码,共需传送多少个二进制位?若传送波特率为9600bPS ,共需传送多少时间? (3)若对数字0~9和空格采用4位定长码编码,重新计算问题(2)。 解:(1)∵操作码编码的平均长度最短为Huffman 编码,生成的Huffman 树,如图所示,

相关文档
最新文档