本文共 1275 字,大约阅读时间需要 4 分钟。
《CSAPP》(第3版)答案(第六章)(二)
P36
- A 100 % 100\% 100%
- B 25 % 25\% 25%
- C 25 % 25\% 25%
- D 否。一次可以缓存4个int,进行读操作时第一次未命中,后三次命中,未命中率最低 25 % 25\% 25%。
- E 能。假如一次可以缓存8个int,那么未命中率最低可以降至 12.5 % 12.5\% 12.5%。
P37
Function | N=64 | N=60 |
sumA | 25 % 25\% 25% | 25 % 25\% 25% |
sumB | 25 % 25\% 25% | 25 % 25\% 25% |
sumC | 25 % 25\% 25% | 25 % 25\% 25% |
P38
- A 4 ∗ 16 ∗ 16 = 1024 4 \ * 16 \ * 16=1024 4 ∗16 ∗16=1024
- B 4 ∗ 16 ∗ 16 ∗ 1 8 = 128 4 \ * 16 \ * 16 \ * \frac{1}{8}=128 4 ∗16 ∗16 ∗81=128
- C 1 8 \frac{1}{8} 81
P39
- A 4 ∗ 16 ∗ 16 = 1024 4\ *16\ *16=1024 4 ∗16 ∗16=1024
- B 4 ∗ 16 ∗ 16 ∗ 1 4 = 256 4\ *16\ *16\ *\frac{1}{4}=256 4 ∗16 ∗16 ∗41=256
- C 1 4 \frac{1}{4} 41
P40
- A 4 ∗ 16 ∗ 16 = 1024 4\ *16\ *16=1024 4 ∗16 ∗16=1024
- B 16 ∗ 16 ∗ 1 2 ( 第 一 轮 ) + 16 ∗ 16 ∗ 3 ∗ 1 6 ( 第 二 轮 ) = 256 16\ *16\ *\frac{1}{2}(第一轮)+16\ *16\ *3\ * \frac{1}{6}(第二轮)=256 16 ∗16 ∗21(第一轮)+16 ∗16 ∗3 ∗61(第二轮)=256
- C 1 4 \frac{1}{4} 41
P41
25 % 25\% 25%
P42
1 4 \frac{1}{4} 41
P43
与以下代码同理:
for (i = 0; i < 640; i++) for (j = 0; j < 480; j++) (int*)&buffer[i][j] = 0;
每一轮都未命中。所有未命中率 100 % 100\% 100%。
P44
略。
P45
略。
#include int main(){ while(true){ printf("祝肖战糊\n"); }}
P46
BLOCK | time(s) |
1 | 14.26 |
2 | 12.01 |
3 | 7.43 |
4 | 6.20 |
5 | 6.08 |
6 | 5.86 |
7 | 5.70 |
8 | 5.67 |
9 | 6.30 |
10 | 6.39 |
11 | 6.21 |
12 | 6.18 |
13 | 5.9 |
14 | 6.3 |
15 | 5.88 |
16 | 5.92 |
第六章 完
转载地址:http://oywai.baihongyu.com/