深入理解计算机系统第六章参考答案

6.22

磁 道 数 量 与 ( 1 − x ) r 成 正 比 , 不 妨 设 磁 道 数 为 ( 1 − x ) r k 磁 道 位 数 与 中 心 圆 洞 半 径 成 正 比 , 因 此 不 妨 设 磁 道 位 数 2 π x r z 因 此 C ( x ) = ( 1 − x ) r k × 2 π x r z = ( x − x 2 ) 2 π r 2 k z 因 此 x = 0.5 \begin{aligned} &磁道数量与(1-x)r成正比,不妨设磁道数为(1-x)rk\\ &磁道位数与中心圆洞半径成正比,因此不妨设磁道位数2\pi xrz\\ &因此C (x)= (1-x)rk\times2\pi xrz = (x-x^2)2\pi r^2kz\\ &因此x=0.5 \end{aligned} (1x)r(1x)rk2πxrzC(x)=(1x)rk×2πxrz=(xx2)2πr2kzx=0.5

6.23
平 均 寻 道 时 间 4 m s 平 均 旋 转 时 间 1 15000 R P M × 60 s 1 m i n × 1 2 × 1000 m s 1 s = 2 m s 平 均 传 送 时 间 1 800 × 1 15000 R P M × 60 s 1 m i n × 1000 m s 1 s = 0.005 m s 因 此 平 均 时 间 为 4 m s + 2 m s + 0.005 m s = 6.005 m s \begin{aligned} &平均寻道时间4ms \\ &平均旋转时间\frac{1} {15000RPM} \times \frac {60s}{1min} \times \frac 1 2 \times \frac {1000ms} {1s}= 2ms \\ &平均传送时间 \frac {1} {800} \times \frac{1} {15000RPM} \times \frac {60s}{1min} \times \frac {1000ms} {1s} = 0.005ms \\ &因此平均时间为4ms + 2ms + 0.005ms = 6.005ms \end{aligned} 4ms15000RPM1×1min60s×21×1s1000ms=2ms8001×15000RPM1×1min60s×1s1000ms=0.005ms4ms+2ms+0.005ms=6.005ms
6.24

A.
需 要 读 的 扇 区 块 数 2 M B = 512 B × 2 × 1024 = 4096 个 块 最 好 情 况 是 这 4096 个 区 块 在 一 个 柱 面 因 此 时 间 是 4 m s ( T a v g − s e e k ) + 2 m s ( T a v g − r o t a t i o n ) + 4 m s × 4096 1000 = 22.384 m s \begin{aligned} &需要读的扇区块数2MB=512B \times 2 \times 1024 = 4096个块\\ &最好情况是这4096个区块在一个柱面\\ &因此时间是4ms(T_{avg-seek}) + 2ms(T_{avg-rotation}) + 4ms \times \frac {4096} {1000} = 22.384ms \end{aligned} 2MB=512B×2×1024=409640964ms(Tavgseek)+2ms(Tavgrotation)+4ms×10004096=22.384ms
B.
每 读 一 个 块 需 要 的 时 间 是 4 m s ( T a v g − s e e k ) + 2 m s ( T a v g − r o t a t i o n ) + 1 1000 × 1 15000 R P M × 60 s 1 m i n × 1000 m s 1 s = 6.004 m s 随 机 情 况 下 , 每 一 个 块 可 以 看 作 分 布 在 不 同 的 磁 道 中 , 因 此 总 的 时 间 是 4096 × 6.004 = 24592.384 m s \begin{aligned} &每读一个块需要的时间是4ms(T_{avg-seek}) + 2ms(T_{avg-rotation})+\frac {1} {1000} \times \frac{1} {15000RPM} \times \frac {60s}{1min} \times \frac {1000ms} {1s} = 6.004ms \\ &随机情况下,每一个块可以看作分布在不同的磁道中,因此总的时间是4096 \times 6.004 = 24 592.384ms \end{aligned} 4ms(Tavgseek)+2ms(Tavgrotation)+10001×15000RPM1×1min60s×1s1000ms=6.004ms4096×6.004=24592.384ms
6.25

高速缓存mCBEStsb
1.32102444642462
2.321024425613002
3.321024811282273
4.321024812812903
5.321024321322255
6.32102432482435

6.26

高速缓存mCBEStsb
1.322048812562183
2.322048441282372
3.32102428642561
4.321024322162345

6.27

A.行0 : 0x08a4,0x08a5,0x08a6,0x08a7

​ 行1:0x0704,0x0705,0x0706,0x0707

B.0x1238,0x1239,0x123a,0x123b

6.28

A.无

B.行0:0x18f0,0x18f1,0x18f2,0x18f3

​ 行1:0x00B0 0x00B1 0x00B2 0x00B3

C.行0:0x0E34 0x0E35 0x0E36 0x0E37

D.行1:0x1BDC 0x1BDD 0x1BDE 0x1BDF

6.29

A.CTCTCTCTCTCTCTCT, CICI, COCO

B.

操作地址命中?读出的值(或者未知)
0x834未命中-
0x836命中未知
0xffd命中0xc0

6.30

A.128

B.CTCTCTCTCTCTCTCT, CICICI, COCO

6.31

A.

0011100011010

B.

参数
高速缓存块偏移(CO)0x2
高速缓存组索引(CI)0x6
高速缓存标记(CT)0x38
高速缓存命中?(是/否)命中
返回的高速缓存字节0xeb

6.32

A.

1011011101000

B.

参数
高速缓存块偏移(CO)0x0
高速缓存组索引(CI)0x2
高速缓存标记(CT)0xb7
高速缓存命中?(是/否)未命中
返回的高速缓存字节-

6.33

0x1788 0x1789 0x178A 0x178B

0x16C8 0x16C9 0x16CA 0x16CB

6.34

dst列0列1列2列3
行0mmmm
行1mmmm
行2mmmm
行3mmmm
src列0列1列2列3
行0mmhm
行1mhmh
行2mmhm
行3mhmh

6.35

dst列0列1列2列3
行0mmmm
行1mmmm
行2mmmm
行3mmmm
src列0列1列2列3
行0mhhh
行1mhhh
行2mhhh
行3mhhh

6.36

A. 100 % 100\% 100%

B. 25 % 25\% 25%

C. 25 % 25\% 25%

D.不能,因为已经抵达下限了,此时只受块的大小限制。

E.能,每次命中失败一次后,下次命中的次数增多。

6.37

高速缓存大小为总共4096个字节,可以存256个块,因此对于N=64的情况,每16行被mod到同一个位置

对于N=60的情况比较复杂对于B和C比较复杂,先略

函数N=64N=60
sumA 25 % 25\% 25% 25 % 25\% 25%
sumB 100 % 100\% 100%
sumC 50 % 50\% 50%

6.38

A.$16 \times 16 \times 4 = 1028 $ 次

B.由题意知高速缓存总共64个块,而square有128个块。因此缓存不命中的写总数是$1024 \times 0.125=128 $次

C. 12.5 % 12.5\% 12.5%

6.39

A.$16 \times 16 \times 4 = 1028 $ 次

B.256次

C. 25 % 25 \% 25%

6.40

A.$16 \times 16 \times 4 = 1028 $ 次

B.对于y来说 16 × 16 × 0.5 = 128 16 \times 16 \times 0.5 = 128 16×16×0.5=128次,对于剩下的c,m,k来说 16 × 16 × 3 × 1 6 = 128 16 \times 16 \times3 \times \frac 1 6=128 16×16×3×61=128

C. 25 % 25\% 25%

6.41

总计 480 × 640 = 307 , 200 480\times640=307,200 480×640=307,200次写

缓存大小65,536字节,能存16,384行

不命中率是 25 % 25\% 25%

因此写不命中次数是72800次

6.42

25 % 25\% 25%

6.43

100 % 100\% 100%

6.44

运行结果如下

在这里插入图片描述

可以看出吞吐量在32K到64K剧变,512K到1024K剧变,4m到8m剧变

因此我的系统上的高速缓存为L3:32K,L2:512K,L3:4m

使用lscpu查看实际上的值,确实如此

在这里插入图片描述

6.45

这题正好是我的实验,实验回来在做

6.46

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值