900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > [第六章] 深入理解计算机系统第三版 家庭作业参考答案

[第六章] 深入理解计算机系统第三版 家庭作业参考答案

时间:2020-08-23 17:47:55

相关推荐

[第六章] 深入理解计算机系统第三版 家庭作业参考答案

6.22

磁道数 d 与 r - x * r 成正比

设 d = k(r - x * r) = kr(1 - x)

总容量 c = 2πxk(r^2)(1 - x) = 2πk(r^2)(x - x^2)

上式实际上是关于 x 的二次式,其对称轴为 1/2,即当 x = 1/2 时取最大值

6.23

平均旋转延迟:

T_arg_rotation = 1/2 * T_max_rotation = 1/2 * 60s/15000 RPM * 1000ms/s = 2ms

平均传送时间:

T_arg_tranfer = 60s/15000 RPM * 1/800扇区/磁道 * 1000ms/s = 0.005ms

总时间:

T_access = T_arg_rotation + T_arg_tranfer + T_arg_seek = 6.005ms

6.24

和书上6.4一样,但是我不懂为什么 1MB / 512B = 2000,有大佬给我解释一下么?按照我的理解,可能是近似。

这儿按照书上的做法 2MB/512B = 4000,即需要 4000 个逻辑块,所以是 4 整圈

T_max_rotation = 60s/15000 RPM * 1000ms/s = 4ms,T_arg_seek = 4ms, T_arg_rotation = 1/2 * T_max_rotation = 2ms

A.

T = T_max_rotation * 4 + T_arg_rotation + T_arg_seek = 22ms

B.

T = 4000(T_arg_rotation + T_arg_seek) = 24000ms

6.25

6.26

6.27

A.

标记位为 45 时:

CT = 01000101 CI = 001 CO = XX

因此地址为 0x08A4 ~ 0x08A7

标记位为 38 时:

CT = 00111000 CI = 001 CO = XX

因此地址为 0x0704 ~ 0x0707

B.

0x1238 ~ 0x123B

6.28

A.

全都不命中

B.

0x18F0 ~ 0x18F3

0x00B0 ~ 0x00B3

C.

0x0E34 ~ 0x 0E37

D.

0x1BDC ~ 0x1BDF

6.29

A.

B.

6.30

A.

C = B * E * S = 128

B.

6.31

A.

B.

6.32

A.

B.

6.33

CT=B6或BC

0x1788 ~ 0x178B

0x16C8 ~ 0x16CB

6.34

dst数组:

src数组:

6.35

dst数组:

src数组:

6.36

A.

x[0]的地址是 0,x[1] 的地址是 512,因此 x[0][i]、x[1][i] 会映射到同一块。

不命中率为 100%

B.

不会发生覆盖,一个缓存块为 16 字节,能放 4 个 int,仅有第一个 int 不命中,其余 3 个都命中,因此不命中率为 25%

C.

和 B 差不多

D.

不会,高速缓存再大,第一个 int 都不会命中

E.

会,这样的话,后几个 int 会命中,自然不命中率会降低

6.37

N=64,很简单,不写了。

N=60,A比较简单,总是第一次不命中,后三次命中;BC情况较复杂,建议写程序解决,不过我们手写一下也是可以的。

4KB/16B=256,即 256 个缓存块,我们给这些块命名 1、2、3 … 256,可以写出 B 的访问序列:

1 16 31 46 61 76 91 106 121 136 151 166 181 196 211 226 241 256

15 30 45 60 75 90 105 120 135 150 165 180 195 210 225 240 255

14 29 44 59 74 89 104 119 134 149 164 179 194 209 224 239 254

13 28 43 58 73 88 103 118

上面是从 a[0][0] 到 a[60][0] 的访问序列,全不命中。但是访问 a[0][1] 到 a[60][1] 、a[0][2] 到 a[60][2]、a[0][3] 到 a[60][3] 都会命中(因为 四个为一组 存放在同一个缓存块中,而且不会被覆盖)。很容易将其推广,四次访问命中三次,因此不命中率为 25%。

C 的访问序列虽与 B 有些差别,但是高速缓存的行为类似。

6.38

A.16 * 16 * 4 = 1024

B.1024 / 8 = 128

C.1/8

6.39

A.1024

B.1024 / 4 = 128

C.1/4

6.40

A.1024

B.2^7 + 2^7 = 2^8

C.1/4

6.41

1/4

6.42

1/4

6.43

100%

6.44

6.45

6.46

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。