CS:APP 第六章作业

CS:APP 第六章作业

6.23

$$15000RPM=15000/60=250r/s$$.

转一圈时间$1/250=4ms$.

平均时间为 $4+0.5*4+4/800=6.005ms$.

6.24

顺序读取:

块数: $2*2^{20}/2^{9}=4096$

平均寻道: $4ms$.

旋转一圈: $4ms$.

读一个扇区: $4ms/1000=0.004ms$.

总平均时间: $4+0.52+0.0044096=22.384ms$.

随机读取:

读一个块的时间为 $6.004ms$.

读 $4096$ 个块的总时间为 $6.004*4096=24592ms$.

6.29

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

(不知道为什么书中写了13个格子,这里不管最左边那个12了)

操作 地址 命中? 读出的值(或者未知)
0x834 否 (Miss) 未知
0x836 否 (Miss)
0xFFD 是 (Hit) 0xC0

6.30

A: 高速缓存的大小为 $C=S\times E \times B = 8\times 4\times 4=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

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
参数
高速缓存块偏移 (CO) 0x 2
高速缓存组索引 (CI) 0x 6
高速缓存标记 (CT) 0x 38
高速缓存命中? (是/否)
返回的高速缓存字节 0x EB

6.33

能命中的八个地址为:

  1. 0x1788

  2. 0x1789

  3. 0x178A

  4. 0x178B

  5. 0x1B88

  6. 0x1B89

  7. 0x1B8A

  8. 0x1B8B