6.22

磁道数 d 与 r - x * r 成正比
设 d = k(r - x * r) = kr(1 - x)
总容量 c = 2πxk(r^2)(1 - x) = 2πk(r^2)(x - x^2)
上式实际上是关于 x 的二次式,其对称轴为 1/2,即当 x = 1/2 时取最大值

6.23

平均旋转延迟:
T_arg_rotation = 1/2 * T_max_rotation = 1/2 * 60s/15000 RPM * 1000ms/s = 2ms
平均传送时间:
T_arg_tranfer = 60s/15000 RPM * 1/800扇区/磁道 * 1000ms/s = 0.005ms
总时间:
T_access = T_arg_rotation + T_arg_tranfer + T_arg_seek = 6.005ms

6.24

和书上6.4一样,但是我不懂为什么 1MB / 512B = 2000,有大佬给我解释一下么? 按照我的理解,可能是近似。
这儿按照书上的做法 2MB/512B = 4000,即需要 4000 个逻辑块,所以是 4 整圈
T_max_rotation = 60s/15000 RPM * 1000ms/s = 4ms,T_arg_seek = 4ms, T_arg_rotation = 1/2 * T_max_rotation = 2ms
A.
T = T_max_rotation * 4 + T_arg_rotation + T_arg_seek = 22ms
B.
T = 4000(T_arg_rotation + T_arg_seek) = 24000ms

6.25

高速缓存 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

6.26

高速缓存 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

6.27

A.
标记位为 45 时:
CT = 01000101 CI = 001 CO = XX
因此地址为 0x08A4 ~ 0x08A7

标记位为 38 时:
CT = 00111000 CI = 001 CO = XX
因此地址为 0x0704 ~ 0x0707

B.
0x1238 ~ 0x123B

6.28

A.
全都不命中

B.
0x18F0 ~ 0x18F3
0x00B0 ~ 0x00B3

C.
0x0E34 ~ 0x 0E37

D.
0x1BDC ~ 0x1BDF

6.29

A.

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

B.

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

6.30

A.
C = B * E * S = 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

A.

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

B.

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

6.32

A.

12 11 10 9 8 7 6 5 4 3 2 1 0
1 0 1 1 0 1 1 1 0 1 0 0 0

B.

参数
高速缓存块偏移 CO 0x0
高速缓存组索引 CI 0x2
高速缓存标记 CT 0xB7
高速缓存命中?
返回的高速缓存字节 -

6.33

CT=B6或BC

0x1788 ~ 0x178B
0x16C8 ~ 0x16CB

6.34

dst数组:

列0 列1 列2 列3
行0 m m m m
行1 m m m m
行2 m m m m
行3 m m m m

src数组:

列0 列1 列2 列3
行0 m m h m
行1 m h m h
行2 m m h m
行3 m h m h

6.35

dst数组:

列0 列1 列2 列3
行0 m h h h
行1 m h h h
行2 m h h h
行3 m h h h

src数组:

列0 列1 列2 列3
行0 m h h h
行1 m h h h
行2 m h h h
行3 m h h h

6.36

A.
x[0]的地址是 0,x[1] 的地址是 512,因此 x[0][i]、x[1][i] 会映射到同一块。
不命中率为 100%

B.
不会发生覆盖,一个缓存块为 16 字节,能放 4 个 int,仅有第一个 int 不命中,其余 3 个都命中,因此不命中率为 25%

C.
和 B 差不多

D.
不会,高速缓存再大,第一个 int 都不会命中

E.
会,这样的话,后几个 int 会命中,自然不命中率会降低

6.37

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

N=64,很简单,不写了。

N=60,A比较简单,总是第一次不命中,后三次命中;BC情况较复杂,建议写程序解决,不过我们手写一下也是可以的。
4KB/16B=256,即 256 个缓存块,我们给这些块命名 1、2、3 … 256,可以写出 B 的访问序列:
1 16 31 46 61 76 91 106 121 136 151 166 181 196 211 226 241 256
15 30 45 60 75 90 105 120 135 150 165 180 195 210 225 240 255
14 29 44 59 74 89 104 119 134 149 164 179 194 209 224 239 254
13 28 43 58 73 88 103 118
上面是从 a[0][0] 到 a[60][0] 的访问序列,全不命中。但是访问 a[0][1] 到 a[60][1] 、a[0][2] 到 a[60][2]、a[0][3] 到 a[60][3] 都会命中(因为 四个为一组 存放在同一个缓存块中,而且不会被覆盖)。很容易将其推广,四次访问命中三次,因此不命中率为 25%。

C 的访问序列虽与 B 有些差别,但是高速缓存的行为类似。

6.38

A. 16 * 16 * 4 = 1024
B. 1024 / 8 = 128
C. 1/8

6.39

A. 1024
B. 1024 / 4 = 128
C. 1/4

6.40

A. 1024
B. 2^7 + 2^7 = 2^8
C. 1/4

6.41

1/4

6.42

1/4

6.43

100%

6.44

6.45

6.46

[第六章] 深入理解计算机系统第三版 家庭作业参考答案相关推荐

  1. [第五章] 深入理解计算机系统第三版 家庭作业参考答案

    5.13 A. 画图: 关键路径为第三幅图加粗部分 B. 下界为浮点加法的延迟界限,CPE 为 3.00 C. 整数加法的延迟界限,CPE 为 1.00 D. 关键路径上只有浮点加法 5.14 voi ...

  2. [第三章] 深入理解计算机系统第三版 家庭作业参考答案

    人非圣贤孰能无过,欢迎大家提问与纠错 3.58 long decode2(long x, long y, long z) {y -= z;x *= y;return ((y << 63) ...

  3. 《数据库原理与应用》(第三版)习题参考答案

    第 1 章 数据库概述 1. 试说明数据.数据库.数据库管理系统和数据库系统的概念. 答:数据是描述事物的符号记录. 数据库是长期存储在计算机中的有组织的.可共享的大量数据的集合. 数据库管理系统是一 ...

  4. CSAPP第五章家庭作业参考答案

    (CSAPP第三版系列)导航篇传送门 5.14编写5.13的6*1循环展开版本 代码如下: /* Inner product. Accumulate in temporary */ void inne ...

  5. CSAPP第二章家庭作业参考答案

    (CSAPP第三版系列)导航篇传送门 2.56 用不同的示例值运行show_bytes的代码. #include <stdio.h>typedef unsigned char *byte_ ...

  6. 《深入理解计算机系统》(原书第三版)家庭作业第三章(3.63)解答

    原题目: **3.63 伪代码分析: x rdi ;n rsi n=n-0x3c(60); if(n>5){-->4005c3 } else{ goto:*(8n+0x4006f8) n= ...

  7. 深入理解计算机系统(第三版)

    300M+ 超级清楚 这本书我觉得很棒 最近在自学它 很基础的东西 百度网盘:https://pan.baidu.com/s/1rUHIzjvPZFbWiia-NUHnhQ passwd: 2gsp ...

  8. CSAPP第7章家庭作业参考答案

    7.6 buf 有 m.o 外部 .data bufp0 有 swap.o 全局 .data bufp1 有 swap.o 局部 .bss incr 有 swap.o 局部 .text count 有 ...

  9. CSAPP第4章家庭作业参考答案

    4.45 不正确 push %rsp的指令会将rsp减8之前的old value压栈 应该是如下代码: movq REG, -8(%rsp) sub $8, %rsp 4.46 不正确 应该改为 ad ...

最新文章

  1. 如果优美的将pytorch的卷积为自己所用
  2. 解决eclipse中出现Resource is out of sync with the file system问题
  3. docker 安装redis第三方集群方案 codis
  4. MATLAB已知坐标均匀取电,基于MATLAB带钢卷取电液伺服控制系统的分析(word文档良心出品)(11页)-原创力文档...
  5. 「日常训练」 Genghis Khan the Conqueror(HDU-4126)
  6. 下载丨Linux+Oracle 11g+RAC+12cc+adg国内业界最详细生产系统下实施文档
  7. 计算机图形学E9——裁剪——固定矩形窗口裁剪多边形(凸多边形/凹多边形)
  8. 万人请愿别让贝索斯重返地球 还有人建议带上马斯克
  9. python 多线程 全局锁_python的多线程+GIL全局解释器锁+其他LOCK
  10. 机器学习中的 Shapley 值怎么理解?
  11. ffmpeg过滤器系列:序章,什么是ffmpeg过滤器?ffmpeg过滤器可以用来做什么
  12. FUNCTION count does not exist
  13. c语言 proteus 延迟2秒_几种延时的汇编执行代码对比与总结
  14. 计算机网络-学习笔记
  15. 计算机模拟人脑的智能行为叫,模拟人脑结构方可实现强人工智能目标
  16. webapp通过点击调用高德地图或百度地图导航
  17. 为战而生的联想拯救者Pro,你值得拥有的手游神器
  18. UnityShader 表面着色器简单例程集合
  19. 代价函数,损失函数,目标函数区别
  20. 动态网站要怎么通过CDN实现加速?

热门文章

  1. ./ 当前目录 ../ 父级目录 / 根目录
  2. 如何查看tensorflow lite toco编译时的各个参数
  3. Linux 命令(203)—— tracepath 命令
  4. java html页面转pdf大全
  5. Hexo+yilia主题实现文章目录和添加视频
  6. Minifilter Eop漏洞 CVE-2020-17103复现
  7. Bugku WEB sodirty
  8. JavaScript转义字符
  9. 服务器管理和维护建议
  10. 安卓自定义View实现加载gif图片