《CSAPP》(第3版)答案(第六章)(一)
P22
x = 1 2 x=\frac{1}{2} x=21
P23
T
a
v
g
_
s
e
e
k
=
4
m
s
T_{avg\_seek} = 4ms
Tavg_seek=4ms
T
a
v
g
_
r
o
t
a
t
i
o
n
=
1
2
∗
1
15000
∗
60
s
/
m
i
n
∗
1000
m
s
/
s
=
2
m
s
T_{avg\_rotation} = \frac{1}{2} *\frac{ 1}{15000} * 60s/min * 1000ms/s = 2ms
Tavg_rotation=21∗150001∗60s/min∗1000ms/s=2ms
T
a
v
g
_
t
r
a
n
s
f
e
r
=
1
15000
∗
1
800
∗
60
s
/
m
i
n
∗
1000
m
s
/
s
=
0.005
m
s
T_{avg\_transfer} = \frac{1}{15000} * \frac{1}{800} * 60s/min * 1000ms/s = 0.005ms
Tavg_transfer=150001∗8001∗60s/min∗1000ms/s=0.005ms
→
\to
→
T
a
c
c
e
s
s
=
6.005
m
s
T_{access} = 6.005ms
Taccess=6.005ms
P24
- A
文件块存储在同一柱面且连续存储。只需要一次寻道。
T a v d _ s e e k = 4 m s T_{avd\_seek}=4ms Tavd_seek=4ms T a v g _ r o t a t i o n = 2 m s T_{avg\_rotation}=2ms Tavg_rotation=2ms
文件大小2MB,块大小512B,总计4000块。每个磁道1000块,所以总计转4转,即:
T t r a n s f e r = T r o t a t i o n = T m a x _ r o t a t i o n ∗ 4 = 16 m s T_{transfer}=T_{rotation}=T_{max\_rotation}*4=16ms Ttransfer=Trotation=Tmax_rotation∗4=16ms所以, T t o t a l = 22 m s T_{total}=22ms Ttotal=22ms - B
最坏情况:所有块随机分布 T t o t a l = 4000 ∗ ( T a v g _ s e e k + T a v g _ r o t a t i o n ) = 24 s T_{total} = 4000 * (T_{avg\_seek} + T_{avg\_rotation}) = 24s Ttotal=4000∗(Tavg_seek+Tavg_rotation)=24s
P25
Cache | 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 |
P26
Cache | 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 |
P27
- A
t=0x45, 地址范围:0x08A4~0x08A7
t=0x38, 地址范围:0x0704~0x0707 - B
0x1238~0x123B
P28
- A
没有。🐴 - B
0x18F0-0x18F3
0x00B0-0x00B3 - C
0x0E34-0x0E37 - D
0x1BDC-0x1BDF
P29
- A
- B
read/write | addr | hit? | value(or unknown) |
---|---|---|---|
read | 0x834 | No | - |
write | 0x836 | Yes | unknown |
read | 0xFFD | Yes | 0xC0 |
P30
- A
C = E ∗ B ∗ S = 128 B C = E * B * S = 128B C=E∗B∗S=128B - B
P31
- A
- B
param | value |
---|---|
CO | 0x02 |
CI | 0x06 |
CT | 0x38 |
hit? | Yes |
return | 0xEB |
P32
- A
- B
param | value |
---|---|
CO | 0x00 |
CI | 0x02 |
CT | 0xB7 |
hit? | No |
return | – |
P33
0x1788-0x178B
0x16C8-0x16CB
P34
dst array:
c0 | c1 | c2 | c3 | |
---|---|---|---|---|
r0 | m | m | m | m |
r1 | m | m | m | m |
r2 | m | m | m | m |
r3 | m | m | m | m |
src array:
c0 | c1 | c2 | c3 | |
---|---|---|---|---|
r0 | m | m | h | m |
r1 | m | h | m | h |
r2 | m | m | h | m |
r3 | m | h | m | h |
P35
dst array:
c0 | c1 | c2 | c3 | |
---|---|---|---|---|
r0 | m | h | h | h |
r1 | m | h | h | h |
r2 | m | h | h | h |
r3 | m | h | h | h |
src array:
c0 | c1 | c2 | c3 | |
---|---|---|---|---|
r0 | m | h | h | h |
r1 | m | h | h | h |
r2 | m | h | h | h |
r3 | m | h | h | h |