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
能命中的八个地址为:
-
0x1788
-
0x1789
-
0x178A
-
0x178B
-
0x1B88
-
0x1B89
-
0x1B8A
-
0x1B8B