CSAPP 第六章課後習題

Stephen_X_x發表於2019-06-19

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
快取記憶體 m C B E S t s b
1 32 1024 4 4 64 24 6 2
2 32 1024 4 256 1 30 0 2
3 32 1024 8 1 128 22 7 3
4 32 1024 8 128 1 29 0 3
5 32 1024 32 1 32 22 5 5
6 32 1024 32 4 8 24 3 5
6.26
快取記憶體 m C B E S t s b
1 32 2048 8 1 256 21 8 3
2 32 2048 4 4 128 23 7 2
3 32 1024 2 8 64 25 6 1
4 32 1024 32 2 16 23 4 5
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.

12 11 10 9 8 7 6 5 4 3 2 1 0
CT CT CT CT CT CT CT CT CT CI CI CO CO
B.

操作 地址 命中? 讀出的值(或者未知)
讀 0x834 未命中 未知
寫 0x836 命中 未知
讀 0xFFD 命中 C0
6.30
A.
C = B E S = 128

B.

12 11 10 9 8 7 6 5 4 3 2 1 0
CT CT CT CT CT CT CT CT CI CI CI CO CO
6.31
A.

12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 1 1 0 0 0 1 1 0 1 0
B.

引數 值
快取記憶體塊偏移 CO 0x2
快取記憶體組索引 CI 0x6
快取記憶體標記 CT 0x38
快取記憶體命中? 是
返回的快取記憶體位元組 0xEB
6.32
A.

12 11 10 9 8 7 6 5 4 3 2 1 0
1 0 1 1 0 1 1 1 0 1 0 0 0
B.

引數 值
快取記憶體塊偏移 CO 0x0
快取記憶體組索引 CI 0x2
快取記憶體標記 CT 0xB7
快取記憶體命中? 否
返回的快取記憶體位元組 -
6.33
CT=B6或BC

0x1788 ~ 0x178B
0x16C8 ~ 0x16CB

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章